ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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))