- •«Основы пРограммирования на языке pAscal»
- •Лабораторная работа №1
- •1. Общие сведения
- •1.1. Введение
- •1.2 Алфавит языка Паскаль
- •1.3. Константы
- •1.3.1. Символьные константы
- •1.4. Переменные
- •1.5. Перечисляемые типы данных
- •1.6. Оператор присваивания
- •1.7. Выражения
- •1.8. Организация программы
- •1.9. Комментарии
- •1.10. Операторы ввода-вывода
- •1.10.1. Операторы ввода
- •1.10.2. Операторы вывода
- •1.10.3. Управление формой вывода данных
- •1.10.4 Вывод значений переменных
- •Лабораторная работа №2
- •1.Общие сведения.
- •1.1. Понятие циклического процесса.
- •1.2. Операторы цикла с параметром.
- •1.3. Оператор цикла с предусловием.
- •1.4. Оператор цикла с постусловием.
- •1.5. Вложенные циклы.
- •2. Задание
- •3. Содержание отчёта
- •4. Контрольные вопросы.
- •Лабораторная работа №3
- •1. Общие сведения.
- •2. Задание.
- •3. Содержание отчета.
- •4. Контрольные вопросы.
- •Лабораторная работа №4
- •1. Общие сведения.
- •1.1. Описание процедуры.
- •1.2. Функция.
- •1.3 Обращение к подпрограммам.
- •2. Задание
- •3. Содержание отчета.
- •4. Контрольные вопросы:
- •Лабораторная № 5
- •1.Общие сведения.
- •1.1. Установка графического режима.
- •1.2. Процедура
- •1.3. Координаты.
- •1.4. Цвета.
- •1.5. Линии и точки.
- •1.6. Многоугольники.
- •1.7. Дуги, окружности, эллипсы.
- •1.8. Заполнения.
- •1.9. Вывод текста.
Лабораторная работа №2
Тема: Организация циклических структур
Цель работы: Познакомиться с операторами цикла, научиться применять их при составлении программ.
1.Общие сведения.
1.1. Понятие циклического процесса.
Если вычислительный процесс содержит многократные вычисления по одним и тем же математическим зависимостям, но для различных значений входящих в них величин (переменных), то его называют циклическим. Многократно повторяемые участки вычислений называют циклами, а переменные, изменяющиеся в цикле, - переменными цикла. Алгоритм циклической структуры в общем виде должен содержать:
подготовку цикла: задание начальных значений переменным цикла перед первым его выполнением;
тело цикла: действия, повторяемые в цикле для различных значений переменных цикла;
модификацию (изменение) значений переменных цикла перед каждым новым его повторением;
управление циклом: проверку условия продолжения (или окончания) цикла и переход на начало тела цикла, если выполняется условие продолжения цикла (или выход из цикла по его окончании).
Программно цикл может быть реализован с помощью операторов присваивания, if, goto. Однако в языке Паскаль для этой цели существуют специальные операторы цикла, которые обеспечивают более компактную, наглядную запись алгоритма, позволяют создавать более эффективные программы.
1.2. Операторы цикла с параметром.
Различают циклы с заданным и заранее неизвестным числом повторений. Циклы первого типа называют также циклами с параметром (циклы типа ДЛЯ). Число повторений тела цикла в этом случае подсчитывается с помощью специальной переменной, для которой известны начальное и конечное значения, шаг её изменения. Управление циклом осуществляется на основании сравнения текущего значения счетчика с конечным. Переменную – счетчик именуют параметром цикла, а сам цикл – циклом с параметром.
Оператор цикла с параметром имеет следующий вид:
For i:=m1 to m2 do s
или
For i:=m1 downto m2 do s
Где for (для), to (до), downto (вниз до), do(выполнить) – служебные слова;
I – параметр цикла (переменная любого скалярного типа, кроме вещественного);
M1, m2 – начальное и конечное значения параметра цикла (тип, который должен совпадать с типом параметра цикла);
S – тело цикла, которое может содержать один или несколько операторов.
Работа оператора цикла при использовании служебного слова To заключается в следующем. Параметр цикла принимает начальное значение (m1) и сравнивается с конечным значением (m2). Если параметр цикла не превышает значения m2, то управление передаётся в тело цикла и операторы выполняются. Затем значение параметра цикла увеличивается на единицу, и работа повторяется. Выход из цикла выполнится после того, как значение параметра цикла превысит конечное значение m2.
При использовании в операторе цикла служебного слова Downto параметр цикла будет изменяться в обратном порядке: с шагом – 1.
Для схематического представления цикла с параметром используют специальный блок заголовка цикла (блок модификации), внутри которого указывают закон изменения параметра цикла. Схематическая запись циклического алгоритма в этом случае показана на рисунке 1.
Рисунок 2.1 – Цикл с параметром в виде блок-схем.
На схеме вход 1 в блок модификации – первоначальный вход в цикл, вход 2 – вход в цикл при его очередном повторении, выход 3 – из цикла по его окончании.
Оператор цикла for следует использовать во всех случаях, когда заранее известно число повторений или его можно подсчитать. Число повторений n можно подсчитать при изменении аргумента с постоянным шагом h в определённом интервале (от начального xn до конечного xk значения) по следующей формуле:
Квадратные скобки указывают на то, что результат округляется до целой части путём отбрасывания дробной.
Пример:
Составить
программу для вычисления и вывода
значений функции
при изменении x
от –4 до 4 с шагом 0,2.
Подсчитаем
число повторений
PROGRAM FUNY;
VAR X, Y: REAL;
K: INTEGER;
BEGIN
X: =-4;
FOR K: = 1 TO 41 DO
BEGIN {НАЧАЛО ЦИКЛА}
Y: =(X*X-2*X+2)/(X-1);
WRITE (X, Y);
X: = X+0,2
END {КОНЕЦ ЦИКЛА}
END.
При использовании циклов с параметрами необходимо помнить следующие правила организации цикла:
параметры цикла, начальное и конечное значения, должны быть одинакового типа, их тип может быть любым скалярным типом (стандартным, перечисляемым, ограниченным), кроме вещественного;
очередное значение параметра цикла вычисляется автоматически с помощью функции SUCC в сочетании с TO или PRED в сочетании с DOWNTO; в частности для целого типа шаг изменения значения параметра цикла равен 1 при TO и -1 при DOWNTO;
запрещено изменять внутри (в теле) цикла значение параметра цикла, начальное и конечное значение;
запрещено входить в цикл с помощью оператора GOTO, минуя оператор FOR, так как значение переменной параметра цикла, начальное и конечное значения будут неопределенны;
цикл не выполняется вообще, если начальное значение больше (при DOWNTO - меньше), чем конечное;
по окончанию выполнения цикла значение переменной параметра неопределенно и не может быть использовано в дальнейших вычислениях;
после служебного слова DO может стоять только один оператор; если в цикле нужно выполнить группу операторов, то их заключают в операторные скобки BEGIN-END;
из составного оператора, входящего в оператор цикла, можно выйти до окончания этого цикла с помощью GOTO, тогда последнее значение параметра цикла сохраняется.
Пример:
Вычислить
степень
вещественного
числа a
с натуральным показателем n.
Воспользуемся для вычисления следующей
формулой:
Компактно
такое произведение может быть записано
в виде:
Для вычисления указанного произведения целесообразно организовать цикл с параметром i, в котором осуществлялось бы постепенное накопление произведения y по следующему правилу: до начала цикла переменная y должна получить значение 1, на каждом шаге цикла (для y =1,2…..,)-y = y·a. Цикл с параметром i будет выполнен n раз.
Программа решения задачи имеет вид:
PROGRAM STEPEN;
VAR
A, Y: REAL;
I, N: INTEGER;
BEGIN {STEPEN}
READ (A, N);
Y: =1;
FOR I: =1 TO N DO
Y: =Y·A;
WRITELN (N,’СТЕПЕНЬ ЧИСЛА’, A);
WRITELN (‘РАВНА’, Y)
END.
