- •§1. Начало программирования на языке Паскаль.
- •Краткое знакомство.
- •Функциональные клавиши Турбо Паскаль.
- •§2. Алфавит языка Паскаль. Переменные. Типы переменных Алфавит языка Паскаль.
- •Стандартные математические функции
- •Типы переменных
- •§3. Операторы присваивания.
- •Оператор ввода-вывода.
- •Арифметические операции.
- •Стандартные функции
- •Правила записи арифметических выражений.
- •Правила записи стандартных функций.
- •Оператор ввода .
- •Оператор вывода .
- •§4. Структура программы.
- •Первая программа.
- •Эксперименты с программой.
- •§5. Разветвляющие алгоритмы. Составной оператор
- •Оператор if или условный оператор
- •Блок-схема полного у словного оператора
- •Блок-схема неполного у да Условие словного оператора
- •§6. Оператор цикла с параметром Циклический алгоритм
- •Цикл с предусловием «Пока»
- •Цикл с постусловием «До»
- •Цикл с параметром «Для» Цикл с параметром «Для»
- •Блок-схема цикла «for»
- •§7. Базовые циклические алгоритмы
- •1. Алгоритм вычисления суммы чисел.
- •2. Подсчет количества чисел удовлетворяющих заданному условию.
- •3. Вычислить сумму чисел, кратных 3, из десяти чисел введенных с клавиатуры.
- •4. Алгоритм вычисления n!.
- •5. Алгоритм вычисления аn.
- •§8. Цикл с предусловием while
- •Блок-схема цикла «Пока»
- •§9. Оператор цикла с постусловием Repeat
- •Блок-схема цикла «До»
- •§10. Эксперимент с программой. Лабораторная работа
- •§11. Оператор варианта выбора
- •§12. Типы определенные пользователем Раздел описания типов
- •Перечислимый тип данных
- •§13. Вложенные циклы
- •§14. Одномерные массивы Работа с элементами
- •Способы задания значений элементов массива
- •Алгоритмы работы с массивами
- •Эксперименты с программой
- •§15. Обработка символьных массивов. Данные символьного типа.
- •Описание строковых переменных
- •Операции над строковыми переменными
- •§16. Двумерные массивы Работа с элементами
- •5.Вычисление суммы элементов всего двумерного массива.
- •6. Задача поиска максимального (минимального) элемента и его индексов.
- •7. Алгоритм поиска минимального элемента и его индексов для всего массива.
- •8. Квадратные матрицы.
- •Примеры решения задач
- •§17. Подпрограммы
- •Процедура в Паскале и ее формат.
- •Функции
- •§18. Примеры рекурсивного программирования
- •Задачи с рекурсивной формулировкой
- •Задачи, из постановки которых можно извлечь рекурсию
- •Задачи, которые можно решить как частный случай обобщенной
- •Задачи, в которых можно использовать характеристику или свойство функции
- •§19. Графика
- •Установка цвета и стиля заполнения
- •Процедуры создания графических примитивов
- •1. Текущий указатель.
- •2. Вывод точки
- •3. Вывод отрезка
- •4. Построение прямоугольника
- •5. Построение дуг, окружностей, эллипсов.
- •6. Построение закрашенного эллипса:
- •7. Заполнение внутренней или внешней области замкнутой фигуры.
- •Материалы для дополнительного чтения. §20. Файловый тип данных
- •Связь переменной файлового типа с файлом на диске.
- •Чтение из файла.
- •Закрытие файла
- •Признак конца файла
- •Запись в файл
- •Прямой доступ к элементам файла
- •§21. Текстовые файлы
- •§22. Множества
- •Операции над множествами
- •Операция определения принадлежности элемента множеству
- •Сравнение множеств
- •§23. Комбинированный тип данных (записи)
- •2. С использованием оператора присоединения.
- •§24. Приближенные вычисления.
- •§25. Основы структурного программирования
- •10. Комплексный пример
- •Содержание
§7. Базовые циклические алгоритмы
1. Алгоритм вычисления суммы чисел.
Вычислить сумму 12 целых чисел, введенных с клавиатуры.
PROGRAM summa;
VAR a: integer; {введенное число}
i: integer; {счетчик цикла}
S: integer; {сумма}
BEGIN
S:=0;
FOR i:=1 TO 12 DO
BEGIN
writeln(’задайте значение очередного слагаемого ’);
readln(a);
S:=S+a
END;
writeln(‘Сумма =’,S);
END.
2. Подсчет количества чисел удовлетворяющих заданному условию.
Подсчитать количество отрицательных чисел из 10, введенных с клавиатуры.
PROGRAM kol;
VAR a: integer; {входная переменная}
i: integer; {счетчик цикла}
K : integer; {счетчик отрицательных чисел}
BEGIN
K:=0;
FOR i:=1 TO 10 DO
BEGIN
write(’задайте значение переменной a: ’);
readln(a);
IF a<0 THEN K:=K+a
END;
IF K=0 THEN writeln(‘Отрицательных чисел нет»)
ELSE writeln(‘Количество отрицательных чисел’,K:4);
END.
3. Вычислить сумму чисел, кратных 3, из десяти чисел введенных с клавиатуры.
PROGRAM summa;
VAR a: integer; {введенное число}
i: integer; {счетчик цикла}
S: integer; {сумма}
K: integer; {счетчик чисел кратных 3}
BEGIN
S:=0; K:=0;
FOR i:=1 TO 10 DO
BEGIN
write(’задайте значение очередного слагаемого ’)
readln(a);
IF a mod 3=0 THEN
begin
K:=K+1;
S:=S+a;
end
END;
IF K=0 THEN writeln(‘чисел кратных 3 нет’)
ELSE writeln(‘сумма чисел кратных 3 =’, S:6)
END.
4. Алгоритм вычисления n!.
n!=1*2*3*...*n. 0!=1
PROGRAM N;
VAR F: integer;
i: integer;
BEGIN
F:=1;
FOR i:=1 TO 15 DO
F:=F*i;
writeln(’15! =’,F)
END.
5. Алгоритм вычисления аn.
PROGRAM step;
VAR a: integer; {основание}
n:integer; {показатель степени}
i: integer; {счетчик цикла}
W: integer; {результат}
BEGIN
write(‘задайте основание а’); readln(a);
write(‘введите показатель n’); readln(n);
W:=1;
FOR i:=1 TO n DO
W:=W*a;
writeln(a,’в степени ‘,n,’ равно ’,W:6)
END.
Вычислить : 1! + 2! + 3! + ... + n!, при n=5
.......
s:=0; F:=1;
For i:=1 to 5 do
begin
f:=f*i;
s:=s+f;
end;
§8. Цикл с предусловием while
Цикл с предусловием WHILE используется тогда, когда число повторений оператора цикла заранее не известно, а задается некоторое условие продолжение цикла.
Форма записи:
WHILE <лог выр-ние / условие> DO BEGIN операторы
циклической части
программы
END
WHILE ( пока ) DO ( выполнять )
Сначала выполняется значения условия . Пока оно истинно выполняются операторы циклической части . Когда только оно становится ложным, происходит выход из цикла. Если условие ложно то цикл не выполняется ни разу. Возможен случай , когда в циклической части стоит оператор перехода (EXIT, GOTO) передающий управление за пределы цикла. В такой ситуации цикл может завершиться до его естественного окончания.
Данная конструкция может работать, как конструкция цикла со счетчиком, но при этом необходимо изменять переменную, являющуюся счетчиком, с помощью оператора присваивания. В конструкции WHILE вы можете выбирать любой необходимый вам шаг.
Пример : a:=1;
n:=1;
WHILE 2-a<=3-n+1 DO
BEGIN
a:=a+2;
n:=n+1
END;
