- •Структура программы на Паскале.
- •Стандартные типы Паскаля.
- •Операторы в Паскале.
- •Цикл с параметром.
- •Типовые задачи на операторов цикла.
- •Операторы целочисленного деления.
- •Вложенные циклы.
- •Структурированные типы данных.
- •Массивы.
- •Многомерные массивы.
- •Строки.
- •Множества.
- •Записи.
- •Работа с текстовыми файлами.
- •Особенности работы с текстовым файлом:
- •Типизированные файлы.
- •Особенности работа с типизированными файлами.
- •Подпрограммы.
- •Структура подпрограмм.
- •1. Заголовок
- •2. Описательная часть
- •3. Тело подпрограммы
- •Оформление формальных параметров, которые определяет режим взаимодействия с основной программой.
- •Особенности передачи структурированных данных подпрограммы.
- •Опережающие описания.
- •Функциональный тип. Процедурный тип.
- •Сортировки.
- •Сортировка бинарными включениями.
- •Сортировка простых выборов.
- •Сортировки простым обменом.
- •Шейкер-сортировка.
- •Сортировка Шелла.
- •Модули.
- •Структура модуля.
- •Особенности компиляции программ с подключаемыми модулями.
- •Циклические ссылки модулей друг на друга.
- •Стандартные модули в Паскале.
- •Динамические переменные.
- •Динамические структуры.
- •Однонаправленные списки.
- •Формирование списков. Формирование очереди.
- •Формирование стека.
- •Классическое формирование очереди (по Вирту).
- •Работа со списками.
- •1) Проход по списку;
- •2) Добавление элемента в список;
- •Удаление элемента из списка.
- •«Древовидные структуры»
- •Удаление элемента из дерева
- •Самоупорядочивающийся список
- •Частотный словарь
- •Нерекурсивное формирование дерева
Цикл с параметром.
Особенность данного цикла – автоматизация контроля и изменение параметра цикла, т.е. в цикле указывается начальное и конечное значения параметра цикла, шаг изменяется «=+1 или - 1».
БП к Ц
ОПЕРАТОР
шаг +1
FOR p:=N1 to N2 DO операторы;
шаг -1
FOR p:=N1 downto N2 DO операторы;
Примечание:
1. Параметр цикла должен быть порядковым.
2. В теле цикла не рекомендуется блок модификации параметра цикла.
3. Если тело цикла состоит из нескольких операторов, необходимо использовать операторные скобки.
var n,p,y:integer;
begin
writeln(‘Введите n’);
read(n);
y:=1;
f
Y=1
writeln(N);
readln;
end.
Y=Y*P
По правилу хорошего тона программирования для каждого случая алгоритм выбора использования оператора цикла будет:
-
если шаг изменения параметра цикла +1 или -1:
заранее известно, что начальное и конечное значение параметра цикла – простые порядковые и заданные, тогда нужно использовать оператор цикла с параметром.
-
если шаг изменения параметра цикла не равен 1:
тогда по алгоритму решаемой задачи определяют, если хотя бы один раз тело цикла должно быть выполнено, то используется оператор цикла с постусловием. Иначе используется оператор цикла с предусловием. Выбор, какой оператор использовать, остается за программистом.
Типовые задачи на операторов цикла.
-
Логические задачи – задачи, в результате работы которых на каждом шаге работы цикла производится анализ вводимой информации, причем нет закона изменения параметра цикла.
Пример Из введенной последовательности целых чисел вывести max значение. Окончанием ввода последовательности считать введенный ноль, причем ноль в сравнениях не участвует.
MAX=X
var x,max:integer;
begin writeln (‘Введите первое число’);
readln(max);
if max <>0 then
begin writeln(‘Введите следующее число’);
readln(x);
while x <>0 do begin
if max<x then max:=x;
writeln(‘Введите следующее число’);
readln(x);
end;
writeln(‘max= ‘,max);
end
else writeln(‘Нет последовательности’);
end.
Операторы целочисленного деления.
DIV, MOD – арифметические операторы.
Все операторы, участвующие в целочисленном делении, должны быть целыми.
var a,b,c:integer;
begin
a:=b div c;
В результате целочисленного деления DIV в переменную a разместится целая часть без остатка в результате целочисленного деления b на c.
a:=b mod c;
Пример. В результате MOD в переменную a запишется остаток в виде целого числа, возникший при делении b на c.
var n,c:integer;
begin writeln(‘Введите n’);
r
C=N mod 10
repeat c:=n mod 10;
write(c);
n:=n div 10;
until n=0;
e
N=N div 10
Вложенные циклы.
Если оператором, входящим в тело цикла является оператор цикла, то в этом случае то этот оператор называется вложенным. Программист должен алгоритмически и затем программно контролировать, чтобы вложенный цикл завершался в теле цикла.
Пример.
Y=0
Var y,k,n: integer;
Begin y=0
For k:=1 to 20 do
For n:=10 to 35 do
Y:=y+(k*n);
Writeln(y);
Readln;
E
Y=Y+(K*N)