- •Лабораторная работа №1,2 Тема: Решение задач на работу с целым и вещественными типами данных.
- •Краткие сведения:
- •Задания:
- •Лабораторная работа №3 Тема:Решение задач на ввод, вывод данных.
- •Краткие сведения: Ввод данных
- •Вывод данных
- •Форматированный вывод
- •Задания:
- •Краткие сведения:
- •Оператор выбора Паскаля
- •Лабораторная работа №4 Тема: Решение задач на условный оператор и оператор выбора
- •Лабораторная работа №5 Тема: Решение задачи на работу с перечисляемым типом
- •Краткие сведения из теория:
- •Лабораторная работа №6,7 Тема: Решение задач с применением операторов цикла
- •Задания:
- •Контрольные вопросы:
- •Лабораторная работа №8
- •Задания:
- •Лабораторная работа №9
- •Задания:
- •Задания:
- •Лабораторная работа №11
- •Теория:
- •Решение задач на процедуры и функции
- •Лабораторная работа №13
- •Задания:
- •Лабораторная работа №14
- •Лабораторная работа № 15 Знакомство со средой Delphi.
- •Лабораторная работа № 16,17
- •Пример написания программы
- •Задание 1:
- •Лабораторная работа №18
- •Теория. Размещение многострочного окна вывода (tMemo)
- •Задания: Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4.
- •Вариант 5.
- •Лабораторная работа №19,20
- •Лабораторная работа №21
- •Примеры использования компонета StringGrid
- •Задания:
- •Контрольные вопросы
- •Лабораторная работа №22
- •Лабораторная работа №23
- •Лабораторная работа №25
- •Лабораторная работа №26.27
- •Лабораторная работа №28
- •Лабораторная работа №29
- •Обработка исключений
- •Лабораторная работа №30
Лабораторная работа №6,7 Тема: Решение задач с применением операторов цикла
Цель: Научиться использовать все виды операторов цикла при решении задач на языке Pascal и представлять алгоритм решения задачи в виде блок-схемы.
! Для задачи 1 использовать оператор цикла с постусловием, для задачи 2 – оператор цикла с предусловием, для задачи 3 – оператор цикла с известным числом повторений, для задачи
Оператор цикла с предусловием в Паскале
Оператор цикла с предусловием реализует следующую базовую конструкцию:
Формат записи: While L do OP; где: While - пока не; do – выполнить; L – выражение логического типа; OP – тело цикла; оператор (простой или составной).
Работа оператора: Вычисляется значение логического выражения, если вычисленное значение истинно, то выполняется оператор OP после чего повторяется проверка условия и выполнение операторов тела цикла. В противном случае осуществляется выход из цикла.
Вычисление значения логического выражения предшествует выполнению операторов тела цикла, поэтому этот оператор цикла называется циклом с предусловием.
Пример 9.3. Составить программу вычисления функции y для заданного значения x.
где: C=2,7; n=2; a=0.5; 0<t<1; Dt=0,1.
Program Ex_2; Uses crt; Var y, C, a, t :real; n :integer; Begin clrscr; Writeln('Введите C, a, n'); Read(C, a, n); Writeln('Результат:'); Writeln('t’:5,’y’:15); t:=0; While t<1 do Begin y:=C*exp(a*t)*cos(n*t); Writeln(t:4:1,’ ‘:5, y:10); t:=t+0.1; End; End.
Оператор цикла с постусловием в языке Паскаль
Оператор цикла с постусловием реализует следующую конструкцию:
Формат записи: Repeat OP Until L; где: Repeat - повторять; Until – пока не; L – выражение логического типа; OP – тело цикла; оператор (простой или составной).
Работа оператора: Выполняется оператор OP после чего вычисляется значение логического выражения L, если вычисленное значение False, то снова выполняется оператор OP в противном случае осуществляется выход из цикла.
Вычисление значения логического выражения следует после выполнения операторов тела цикла, поэтому этот оператор цикла называется циклом с постусловием.
В отличие от цикла с предусловием, в цикле с постусловием тело цикла выполняется о крайней мере один раз не зависимо от условия. В операторе цикла с постусловием ключевые слова Repeat и Until играют роль операторных скобок. Пример 9.4. Составить программу вычисления функции y для заданного значения x.
где:
C=2,7; n=2; a=0.5; 0<t<1;
Dt=0,1.
Program Ex_2; Uses crt; Var y, C, a, t :real; n :integer; Begin clrscr; Writeln('Введите C, a, n'); Read(C, a, n); Writeln('Результат:'); Writeln('t’:5,’y’:15); t:=0; Repeat y:=C*exp(a*t)*cos(n*t); Writeln(t:4:1,’ ‘:5, y:10); t:=t+0.1; Untile t>=1; End.
Оператор цикла с параметром в языке Паскаль
Оператор цикла с параметром реализует следующую базовую конструкцию:
Формат записи: 1. For P:=Pn to Pk do OP; 2. For P:=Pk downto Pn do OP; где: For - для; to – до; downto – уменьшая до do – выполнить; OP – тело цикла; оператор (простой или составной); P - параметр цикла, переменная порядкового типа; Pn, Pk – начальное и конечное значение параметра.
Работа оператора: Вычисляется начальное значение параметра цикла Pn и присваивается параметру P. Проверяется условие P>Pk, и если оно True выполняются операторы тела цикла OP . После чего наращивается значение P на единицу и опять проверяется условие P>Pk . Если условие False осуществляется выход из цикла. В операторе с downto шаг изменения параметра цикла равен –1.
Примеры записи:
For i:=1 to n do n:=sqr(i)+1; For s:=’A’ to ‘Z’ do R:=R+ord(s)/127; For L:=False to True do H:= (False or L) And Not (L);
Пример 9.5. Составить программу вычисления функции y для заданного значения n.
где: C=2,7; a=0.5; t=0,1; 0<n<10; Dn=1.
Program Ex_3; Uses crt; Var y, C, a, t :real; n :integer; Begin clrscr; Writeln('Введите C, a, t'); Read(C, a, n); Writeln('Результат:'); Writeln(‘n’:5,’y’:15); For n:=1 to 10 do Begin y:=C*exp(a*t)*cos(n*t); Writeln(n:4,’ ‘:5, y:10); end; End.
