ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.07.2024
Просмотров: 106
Скачиваний: 0
Алгоритмический язык Pascal
Тема 6. «Управляющие структуры в языке Паскаль»
1.Процедуры ввода/вывода
2.Операторы в языке Паскаль
3.Выбирающий оператор.
3.1Оператор условия if
3.2Оператор варианта Case
4.Операторы цикла в языке Паскаль
4.1Оператор цикла с предусловием
4.2Оператор цикла с постусловием
4.3Оператор цикла с параметром
4.4Примеры использования циклов
Тема 6. «Управляющие структуры в языке Паскаль»
Read (f, A1, A2, … AN ) |
Для ввода с клавиатуры f = input |
||||||||
или |
Read (input, A1, A2, … AN ) |
||||||||
Read ( A1, A2, … AN ) |
Readln ( A1, A2, … AN ) |
||||||||
Write (f, A1, A2, … AN ) |
Для вывода на экран f = output |
||||||||
Write (output, A1, A2, … AN ) |
|||||||||
или |
|||||||||
Write ( A1, A2, … AN ) |
Writeln ( A1, A2, … AN ) |
||||||||
Здесь Ai – переменная или выражение следующих типов: |
|||||||||
Целый, вещественный, символьный, логический, строковый |
|||||||||
Управление форматом числа |
|||||||||
Маска |
Вид |
Обращение |
Пример |
||||||
нет |
А |
Write (a) |
- 0.1451000000E+002 |
||||||
:n |
A:n |
Write(a:8) |
- 0.1451E+2 |
||||||
:n:m |
A:n:m |
Write (a:8:3) |
-14.510 |
||||||
Организация диалога в программах
Writeln(’введи числа x и y’); Readln(x, y);
Writeln (‘ Значение суммы равно – ‘, s:6:3 )
Тема 6. «Управляющие структуры в языке Паскаль»
Операторы в языке Паскаль.
I. Простые (:=, goto, Ø, вызова процедуры или функции);
II. Сложные (составной, выбирающий, цикла, присоединения).
Составной оператор
Begin S1; S2; … SN end
операторные скобки
Выбирающий оператор
I.Условный оператор If
II.Оператор варианта Case
Тема 6. «Управляющие структуры в языке Паскаль»
Условный оператор
If A then S else ;
If A then S1 else S2; или
If notA then else S;
Например: x = max(a,b)
If a> b then x:= a else x:=b;
Тема 6. «Управляющие структуры в языке Паскаль»
ì x + 5, |
при х ³10 |
ï |
|
z = íx2 , при 5 < x <10 |
|
ï |
при x £ 5 |
î sin x, |
|
If x>= 10 then z:=x+5 else
If x<5 then z:=sin(x) else z:= x*x;
Тема 6. «Управляющие структуры в языке Паскаль»
Оператор варианта Case
Case <выражение> of
<список меток 1>: <оператор 1>; <список меток 2>: <оператор 2>;
…
<список меток N>: <оператор N>; else <оператор N+1>;
end;
Например:
Case c of
‘+’: Writeln(‘Сложение’); ‘-’: Writeln(‘Вычитание’); ‘*’: Writeln(‘Умножение’); ‘/’: Writeln(‘Деление’);
else Writeln(‘Такой арифметической операции нет’); end;
Тема 6. «Управляющие структуры в языке Паскаль»
Операторы цикла
1.While (c предварительной проверкой условия)
2.Repeat (с последующей проверкой условия)
3. |
For-to |
(с параметром) |
|
4. |
For – downto |
||
While (c предварительной проверкой условия) Repeat (с последующей проверкой условия)
While A do S; |
Repeat S1; S2; …SN; until A; |
Тема 6. «Управляющие структуры в языке Паскаль»
Циклы с параметром
For-to |
For – downto |
For X:= X1 to X2 do S |
For X:= X2 downto X1do S |
Примеры решения задач
Составить программу на языке Turbo-Pascal для вывода таблицы функции y = f(x) на отрезке [a, b] c шагом h.
f (x) = x(1+ e - x2 ) , a = 2, b = 7, h = 0,5 .
Решение:
program tab1 (input,output); var a,b,x,y,h : real;
begin writeln('Введите значения a, b, h'); read(a,b,h);
x:=a;
While x <= b do begin y:=x*(1 + exp(-sqr(x))); writeln('x=',x,' y=',y); x:=x + h; end;
end.
program tab2 (input,output); var a,b,x,y,h : real;
begin writeln('Введите значения a, b, h'); read(a,b,h);
x:=a;
repeat y:=x*(1 + exp(-sqr(x))); writeln('x=',x,' y=',y);
x:=x + h; until x >= b end.
Примеры решения задач
n |
1 |
|||
Составить программу на языке Turbo-Pascal для вычисления суммы |
S = |
|||
i2 |
+ 5 |
|||
åi =1 |
Program TASK1 (input, output);
Uses CRT;
Var s: real; i, n: integer;
Begin
Clrscr:
Writeln(’Программа расчета суммы’);
Writeln(’Укажите необходимое число слагаемых’);
Write(’n = ’); read(n);
S:= 0
For i:=1 to n do
S:= S+1/(sqr(i)+5);
Writeln(’Сумма равна, S = ’,S:6:4);
Repeat Until Keypressed;
End.
Примеры решения задач
Составить программу на языке Turbo-Pascal для вычисления суммы
∞ |
1 |
|||
S = å |
, с точностью ε = 0,001. |
|||
i |
2 |
+ 5 |
||
i 1 |
||||
= |
Program TASK2 (input, output);
Uses CRT;
Сonst eps = 0.001;
Var a,s: real; i: integer;
Begin
Clrscr;
Writeln(’Программа расчета суммы’); i:= 1; S:= 0; a:= 1/(sqr(i)+5)
While a > eps do begin
S:= S +a; i:=i+1; a:= 1/(sqr(i)+5); end; Writeln(’Сумма равна, S = ’,S:6:4);
Repeat Until Keypressed; End.
Примеры решения задач
n |
(−1) |
i |
Рассчитать сумму при заданном натуральном значении n S = å |
||
i ! |
||
i =1 |
Решение |
||||||||||||||||||||||||
n |
(−1)i |
(−1)1 |
+ |
(−1)2 |
+ |
(−1)3 |
+ ... + |
(−1)n−1 |
+ |
(−1)n |
||||||||||||||
S = å |
i ! |
= |
1! |
2! |
3! |
(n -1) ! |
n ! |
|||||||||||||||||
i = 1 |
||||||||||||||||||||||||
a |
= |
(−1)1 |
, a |
= |
(−1) |
2 |
, ... a |
= |
(−1)n−1 |
, a |
n |
= |
(−1)n |
|||||||||||
1! |
2! |
(n -1)! |
n ! |
|||||||||||||||||||||
1 |
2 |
n-1 |
||||||||||||||||||||||
a х = ехр(х* ln( a))
(-1) i = ехр(i* ln( -1))