Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика / Тема 6

.pdf
Скачиваний:
17
Добавлен:
12.04.2015
Размер:
156.2 Кб
Скачать

Алгоритмический язык 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.

Соседние файлы в папке Информатика