Файл: Алгоритмизация как обязательный этап разработки программы (Основные алгоритмические конструкции ).pdf
Добавлен: 13.03.2024
Просмотров: 32
Скачиваний: 0
Тело цикла
да
нет
Пример
алг Бочка
нач
пока бочка не полная
нц
наполнить ведро
вылить его содержимое в бочку
кц
кон
алг Бочка
нач
повторять
наполнить ведро
вылить его содержимое в бочку
до бочка полная
кон
Тело цикла с условием должно содержать команды, которые влияют на выполнение условия, в противном случае цикл может оказаться бесконечным. В приведенном примере следует обратить внимание на формулировки условия и на то, что исполнение тела цикла приближает момент выполнения условия в цикле повторять – до и момент его невыполнения в цикле пока.
То же самое можно проследить и в следующем примере.
Пусть требуется сложить квадраты натуральных чисел, не превышающие заданного числа (для определенности возьмем число 45).
алг Сумма
нач
S:=0 ;n:=1
покаn*n<= 45
нц
S:= S + n*n
n:= n + 1
кц
ВывестиS
кон
алг Сумма
нач
S:=0 ;n:=1
повторять
S:=S + n*n
n:= n + 1
доn*n> 45
Вывести S
кон
Если в данный алгоритм ошибочно не включить команду n:= n + 1, это приведет к бесконечному циклу, т.к. в цикле пока условие будет выполняться всегда, а в цикле повторять – до оно никогда не будет выполнено.
Если подобную ошибку допустить в алгоритме решения другой задачи сколько квадратов натуральных чисел надо сложить, чтобы их сумма не превышала 45,это приведет лишь к ошибочному ответу, но не к зацикливанию.
алг Сумма 2
нач
S:=0 ;n:=1
покаS<= 45
нц
S:= S + n*n
n:= n + 1
кц
Вывестиn - 1
кон
алг Сумма 2
нач
S:=0 ;n:=1
повторять
S:=S + n*n
n:= n + 1
доS> 45
Вывестиn - 1
кон
Цикл с предусловием является наиболее универсальным. Его можно применять для решения любых задач, предусматривающих повторение действий, ибо при определенных обстоятельствах тело цикла может не исполниться ни разу. Однако в ряде случаев цикл с постусловием более удобен. Примером такой задачи является анализ правильности ввода исходных данных, ибо прежде чем проверять исходные данные, надо их хотя бы раз ввести.
Фрагмент алгоритма таков:
повторять
ввод данных
до момента ввода правильных данных
В любом случае цикл с постусловием можно заменить циклом с предусловием, хотя не всегда это будет рационально.
Цикл с параметром также можно заменить циклом с предусловием, хотя запись станет более громоздкой и потребуется заботиться о присвоении параметру начального значения и о его изменении перед каждым исполнением тела цикла (что происходит автоматически, если используется собственно цикл с параметром).
< параметр > := < начальное значение >
пока < параметр ><=<конечное значение>
нц
< тело цикла >
< параметр > := < параметр > + < шаг >
кц
Теперь о реализации циклов с условием в языках программирования.
Рассмотрим только реализацию в языке Паскаль.
Цикл с предусловием
While< условие >do
< оператор >
Цикл с постусловием
Repeat
<оператор>
Until< условие >
Оператор, составляющий тело цикла, чаще всего составной, поэтому в цикле While необходимо использование операторных скобок. В цикле Repeat-Untilоператорные скобки не нужны, ибо тело цикла ограничивают сами служебные слова.
Цикл с условием является основным типом цикла в языке Паскаль: во-первых, потому, что это принципиально иная конструкция по сравнению с конструкцией следования, во-вторых, использование цикла с параметром в Паскале достаточно ограничено из-за того, что параметр может быть лишь переменной порядкового типа и изменяться только с единичным шагом. Это определено самой идеологией языка и является скорее достоинством, нежели недостатком.
В языке Паскаль возможна многократная вложенность циклов (как и других структур), т.е. один цикл может входить в тело другого цикла. Правило таково: цикл, начатый первым, заканчивается последним.
Заключение
Понятие алгоритм – одно из основных понятий информатики. Это фундаментальное «первоначальное» понятие, которому нельзя дать строгого определения в терминах более простых понятий. Существуют описательные определения алгоритма, каждое из которых уточняет это понятие.
Какая бы технология решения задач на компьютере ни использовалась, необходимым этапом будет алгоритмизация: проверяется соответствие полученных результатов ожидаемому в рамках построенной информационной модели задачи, а также оценивается, насколько полученный результат соотносится с реальной практикой.
На этом этапе выявляется, насколько построенная информационная модель соответствует реальности. Дело в том, что чем больше свойств объектов и явлений признано существенными и учтено, тем в большей степени модель отражает действительность. Однако учет большого числа характеристик ведет к усложнению модели, затруднениям в математическом выражении связей между характеристиками. Обычно стараются найти баланс между полнотой соответствия информационной модели реальному состоянию дел и ее сложностью в процессе уточнения модели (постепенного увеличения числа учитываемых существенных свойств).
Цель и задачи в данной работе достигнуты:
- определены содержание и характеристики основных понятий алгоритмизации как основного аспекта программирования;
- рассмотрены основные понятия алгоритма, его свойства и способы записи;
- рассмотрены основные конструкции построения алгоритмов.
Список использованных источников
- Безручко В. Т. Практикум по курсу «Информатика». Работа Windows’ 2000, Word, Excel. 2-е издание. – М.: Финансы и статистика, 2014. – 544 с.
- Информатика. Базовый курс: Учебник для вузов/ Под ред. С.В. Симоновича. – СПб.: Питер, 2014. – 640 с.
- Практикум по информатике/ А.А.Землянский, Г.А.Кретова, Ю.Р. Стратонович, Е.А. Яшкова; Под ред. А.А.Землянского. – М.: КолосС, 2014. – 384 с.
- Рудикова Л.В. MicrosoftExcel для студента. – СПб.: БХВ-Петербург, 2014. – 368 с.
- Саймон Дж. Анализ данных в Excel. – М.: Издательский дом «Вильямс», 2014. – 528 с.
- Фандрова Л.П., Шамсутдинова Т.М. Обработка табличных данных средствами электронных таблиц для анализа задач АПК: Учеб. пособие. - Уфа: БГАУ, 2014. - 90 с.
- Информатика. Базовый курс. Учебник для вузов /Под ред. Симоновича С.В. - СПб.: Питер. - 2014. - 640 с.
- Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. - М.: Нолидж. - 2014. - 576 с.
- Семашко Г.Л., Салтыков А.И. Программирование на языке Паскаль - М.: Наука, 2014. - 128 с.