Информатика / Тема 6
.pdfАлгоритмический язык 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.