- •Теоретический блок
- •Линейный алгоритм
- •Разветвляющийся алгоритм
- •Циклический алгоритм
- •Основы алгоритмизации задач
- •Тип переменных указывается после списка переменных через двоеточие ( : ). Числовые переменные можно описать по-разному, в зависимости от вида (целые, вещественные) и значности чисел:
- •Операторы управления
- •Оператор выбора
- •Операторы повторения
- •Оператор цикла с параметром
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
Операторы повторения
Очень часто приходится повторять определенную часть алгоритма для различных значений аргумента. Для организации таких процессов используется алгоритмы с циклической структурой. На языке программирования – операторы повторения. Они составляются по правилам на основе различных закономерностей. Для выполнения процессов повторения на языке Паскаль предусмотрены три вида операторов цикла: арифметический цикл (параметрический цикл) - FOR, цикл с предусловием – WHILE и цикл с постусловием – REPEAT.
Оператор цикла с параметром
Используется, когда известно, сколько раз выполняется циклическая часть программы.
Блок-схема оператора FOR
Формат записи: for <параметр цикла>:=<начало> to/downto <конец> do <оператор>;
для до делать
параметр цикла - числовая переменная типа integer
начало, конец - арифметическое выражение
to - используется когда начало меньше конца
downto - используется когда начало больше конца
оператор - тело цикла, любой оператор, в том числе и составной
Принцип работы:
Параметру присваивается значение начало;
Выполняется оператор - тело цикла;
Затем параметр сравнивается с концом;
Если параметр больше/меньше конца, то начинает работать следующий оператор за оператором цикла, в противном случае к параметру прибавляется/отнимается единица;
Снова выполняется оператор;
Так продолжается пока параметр не станет больше/меньше конца.
Оператор цикла с предусловием
Оператор While осуществляет повторение по предварительной проверке условий, а также с помощью ключевых слов While.
Блок-схема оператора WHILE
Формат записи: while <условие> do <оператор>;
пока делать
условие - логическое выражение
оператор (тело цикла) - любой оператор, в том числе и составной.
Здесь: while –«пока», do–«выполнить». А условие повторения – логическое выражение. Тело цикла – простой или составной оператор, которой выполняется с повторением. Перед каждом пвторением тела цикла вычисляется значение условия повторения.
Принцип работы:
Проверяется истинность условия;
Если условие истинно выполняется оператор;
Цикл работает, пока условие не станет ложным.
Оператор цикла с постусловием
Оператор Repeat аналогичен оператору While, с той разницей, что условие повторения цикла проверяется в конце цикла, поэтому тело цикла выполняется хотя бы один раз. Вторая особенность – тело цикла выполняется, если условие ложно, и прекращается, если условие истинно (в операторе While было наоборот).
Блок-схема оператора REPEAT.
Формат записи: repeat <операторы> until <условие>
повторять до тех пор пока
условие - логическое выражение
операторы (тело цикла)- любое количество любых операторов, в том числе и составной.
Этот оператор использует ключевые слова repeat – повторять и until – до тех пор пока. Оператор состоит из тела цикла и условия повторения.
Принцип работы:
Выполняются все операторы между repeat и until;
Проверяется ложность условия;
Цикл работает, пока условие не станет истинным.
Особенности и отличия операторов цикла
Вход в цикл возможен только через его начало;
Переменные оператора должны быть определены до входа в цикл;
Необходимо предусмотреть выход из цикла, чтобы он не повторялся бесконечно;
Оператор while repeat может ни разу не выполнится;
оператор repeat обязательно выполниться хотя бы раз.
Примеры программ
Написать программу, которая выводит на экран табл. умножения, например на 7. |
Program M4; Var m,n,p:integer; Begin For i:=1 to 10 do Writeln(7,’*’,I:2,’=’,7*I:2); end. |
Написать программу, которая выводит табличные значения функции у=x+2. Диапазон изменения аргумента от – 4 до 4, приращение аргумента - 0.5 |
Program M5; var x,y:real; begin clrscr; writeln('y':20,' : ','x':5); writeln(' --------------'); x:=-4; repeat y:=abs(x)+2; writeln(y:20:1,' : ',x:5:1); x:=x+0.5; until x>4; end. |
Написать программу, которая определяет максимальное число из введенной последовательности положительных чисел. Завершение ввода – 0. |
Program M6; Var a{очередное число},m{макс.число}:integer; Begin M:=0; Repeat Writeln(‘введи число’);Readln(a); If a>m then m:=a; Until a=0; Writeln(‘max=’,m); end. |
Контроль
Вопросы:
Что такое транслятор, компилятор, интерпретатор?
Как загрузить TurboPascal?
Назовите элементы главного меню редактора TurboPascal.
Перечислите основные понятия языка TurboPascal.
Нарисуйте структуру программы TurboPascal.
Назовите операторы ввода-вывода.
Назовите дополнительные арифметические операции и функции, преобразования числовых переменных.
Какие существуют типы данных?
Что такое порядковые типы переменных?
Как работать в среде TurboPascal?
Как нужно набирать, корректировать и отлаживать программы?
Как сохранять, загружать и корректировать программы?
Как преобразовываются числовые переменные?
