Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Операторы ограничения и прерывания цикла

Операторы вывода данных

Операторы ввода данных с клавиатуры

Оператор выбора

Условный оператор

Оператор цикла

Оператор перехода к метке


Для сведения

Оператор присваивания:=

x:=1; a:=5. 02; b:= 32*a+Sin(x); S:= 'Иван Иваныч';

Составной оператор Begin "операторы" end;

Операторы вывода данных

Операторы вывода данных на экран

Write("список переменных"); или Writeln("список переменных");

Writeln(a); Writeln(b); Writeln(c); Write('Моя первая программа!');

 

Writeln(32 *a+Sin(x));

b:=32 *a+Sin(x); Writeln(b);

 

Writeln(a:5:2);

Writeln(i:8);

 

а:=5. 02;

Writeln('а=', a:6:2);

а= _ _ 5. 02

 

n:= '116'; s:= 'Школа N'; Writeln(s:7, n:6);

Школа N _ _ _ 116

Writeln('а=', a: -8:2);

а=5. 02

 

Writeln('а=', a);

a=5. 0200000000E+00 {тип Real, расчет без сопроцессора}

a=5. 02000000000000E+0000 {тип Double, расчет с сопроцессором}

 

Пример программы, выполняющей различные операции с переменными разного типа.

Program N_1; {работа с переменными разного типа}

var x, y, z: real; x0, y0: byte; {описание типов переменных}

x1, y1, z1: integer; xb, yb, zb: boolean;

c1, c2, c3: char; s1, s2, s3: string;

Begin

x:= 5. 8;y:= 3. 4; x1:= 43;y1:= 28; {присвоение значений}

c1:= 'Z'; c2:= 'S'; x0:= 65;

xb:= True; yb:= False;

s1:= 'Иванов _ '; s2:= 'Петров _ ';

Writeln('Математические операции:');Z:= x+y; { и т. д. }

Write('x:=', x:3:1, ' _ _ y:=', y:3:1);

Writeln(' _ _ Z:= x+y;', ' _ _ z=', z:5:2);

Writeln; z1:= x1 div y1; { и т. д. }

Write('x1:=', x1:3, ' _ _ y1:=', y1:3);

Writeln(' _ _ Z1:= x1 div y1;', ' _ _ z1=', z1:2);

Writeln; { Пустая строка }

readln; { Задержка экрана до нажатия Enter }

Writeln('Логические операции:');Zb:= xb and yb; { и т. д. }

Write('xb:=', xb, ' _ _ yb:=', yb);

Writeln(' _ _ Zb:= xb and yb;', ' _ _ zb=', zb);

Writeln; { Пустая строка }

readln; { Задержка экрана до нажатия Enter }

Writeln('Операции сравнения:'); Zb:= c1 > c2; { и т. д. }

{ символы сравниваются по номеру ASCII кода }

Write('c1:=', c1, ' _ _ c2:=', c2);

Writeln(' _ _ Zb:= c1 > c2;', ' _ _ zb=', zb); Writeln;

{строки сравниваются по номеру ASCII кода первых символов}

{если первые символы совпадают, то сравниваются вторые и т. д. }

Zb:= S1>S2; { и т. д. }

Write('s1:=', s1, ' _ _ s2:=', s2);

Writeln(' _ _ Zb:= s1 > s2;', ' _ _ zb=', zb);

Writeln; { Пустая строка }

readln; { Задержка экрана до нажатия Enter }

Writeln('Математические функции:');Z:= sin(x *Pi/180); { и т. д. }

Write('x:=', x:4:2);

Writeln(' _ _ Z:= sin(x *Pi/180);', ' _ _ z=', z:10:7);

Writeln; { Пустая строка }

readln; { Задержка экрана до нажатия Enter }

Writeln('Математические процедуры:');

Write('x1:=', x1); Inc(x1); { и т. д. }

Writeln(' _ _ Inc(x1);', ' _ _ x1=', x1);

Writeln; {Пустая строка}

readln; {Задержка экрана до нажатия Enter }

Writeln('Функции преобразования типов:'); c3:= Chr(x0); { и т. д. }

Write('x0:=', x0);

Writeln(' _ _ c3:=Chr(x0);', ' _ _ c3=', c3);

Readln { Задержка экрана до нажатия Enter }

end.


 

Операторы ввода данных с клавиатуры

Read("список переменных");

Readln("список переменных");

 

Write('введите значение а='); Readln(a);

введите значение а=.

 

Readln(a); Readln(b); Readln(c); или Readln(a, b, c);

 

Readln(с1, с2, с3, c4); {ожидает ввода значений символьных переменных с1, с2, с3, c4, например: "У", "Р", "А", "!" и нажатия Enter }

Writeln(с1, с2, с3, c4); выведет на экран надпись: УРА!

Пример программы возведения положительного числа “x” в степень”n”,

т. е. y=xn. Расчет производится по формуле: y=en*ln(x).

 

Program N_2; {возведение положительного числа в степень}

Const S='введите значение';

Var n, x, y: real;

BEGIN

Writeln('Программу разработал Иванов');

Writeln('Возведение положительного числа x степень n');

Writeln(S, ' аргумента х>0'); Readln(x);

Write(S, ' показателя степени n='); Readln(n);

y:=exp(n*ln(x));

Writeln('результат y=', y:10:6); writeln('Нажмите Enter');

readln; {задержка экрана до нажатия Enter}

END.


Оператор выбора

Case "параметр" Of

"список помеченных операторов"

Else "оператор" End;

 

Пример операторов для определения порядка целого числа N от 0 до 999:

Case N of

0..9: writeln('однозначное');

10..99: writeln('двузначное');

100..999: writeln('трехзначное')

else writeln('Число "N" не входит в указанный диапазон') end;


Условный оператор

IF "условие" Then "оператор1" Else "оператор2";

 

Например, вычисление квадратного корня из числа "a" проводится при условии a>=0,

IF a >= 0 Then b:= Sqrt(a) Else begin WriteLn ('a<0'); Readln; Halt end;

Оператор Halt прекращает выполнение программы.

 

Пример программы: Автобус движется по заданному маршруту с объявлением названий остановок. Зная остановку, на которой надо выходить, вы принимаете определенное решение: Выхожу, либо - Еду дальше, которое выводится на экран.

PROGRAM octanovka;

CONST A1= 'Бульвар Славы'; A2= 'Горсовет'; { A1, A2, A3, A4 - названия }

A3= 'Спортивная'; A4= 'УГАТУ'; { остановок }

Y= 'Выхожу'; N= 'Еду дальше';

var A, A0: String; { A0 - текущая остановка }

 

BEGIN

writeln('Ввести нужную остановку из списка:');

writeln(A1:15, A2:15, A3:15, A4:15);

Writeln; readln(A); Writeln; { A - нужная остановка }

 

IF (A<>A1) and (A<>A2) and (A<>A3) and (A<>A4)

then begin Writeln('Нет такой остановки'); readln; Halt end;

A0:= A1; {объявление остановки }

IF A = A0 then begin writeln(Y, A:15); readln; Halt end

else writeln(A0:-15, N:12);

A0:= A2; {объявление остановки }

IF A = A0 then begin writeln(Y, A:15); readln; Halt end

else writeln(A0:-15, N:12);

A0:= A3; {объявление остановки }

IF A = A0 then begin writeln(Y, A:15); readln; Halt end

else writeln(A0:-15, N:12);

A0:= A4; {объявление остановки }

writeln(Y, A:15); readln;

END.


 

Для разложения целого числа на цифры удобно применять операции: MOD и DIV. Например, если дано трехзначное число "N" ("N" соответствует "X1X2X3"), то цифры: X1X2X3, составляющие это число определяются блоком операторов:

X3:= N mod 10; N:= N div 10;

X2:= N mod 10; N:= N div 10; X1:= N;

 

Если требуется определить, делится ли вещественное число "A" нацело на число "B", то можно применять функции Frac(x); и Int(x); например:

x:= A/B;

If Frac(x) = 0 then writeln('Число "A" делится нацело на число "B"');

If Int(x) = x then writeln('Число "A" делится нацело на число "B"');


Оператор цикла

С параметром

For i:= N1 To N2 Do "оператор";

For i:= N1 DownTo N2 Do "оператор";

 

Пример расчета конечной суммы последовательности:

12 + 32 + 52 +... + (2*N-1)2; SN = N*(4*N2-1)/3;

 

PROGRAM SUM_K; { расчет конечной суммы }

var a, S, Sn, i, N: word;

Begin

write('Введите число членов суммы N='); readln(N);

S:= 0;

For i:= 1 to N do begin { цикл суммирования }

a:= Sqr(2 * i-1); S:= S+a end;

Sn:= N * (4 * N * N-1) div 3;

Writeln('Конечная сумма S=', S:-10:2);

Writeln('Расчет конечной суммы по формуле Sn=', Sn:-10:2);

Writeln('Нажми Enter'); readln

End.


С условием

While "условие" DO "оператор";

Repeat "операторы" Until "условие";

"условие" - выражение логического типа (Boolean).

 

Расчет суммы членов бесконечного ряда с заданной погрешностью.

N:= 0; a:= 1; SN:= 1; e:= 2. 7182828; S:= (e2 + 1)/e;

repeat N:= N+1; k:= 1/((2 * N-1) * 2 * N); a:= a * k;

SN:= SN+a;

Writeln('Частичная сумма Sn=', Sn:-11:6, '_ _ n=', n:2);

until abs(S-Sn) < eps; { eps - допустимая погрешность расчетов}

Writeln('_ _ _ Сумма ряда S =', S:-11:6);

Операторы цикла с условием могут применяться для анализа правильности вводимых данных, например, необходимо ввести |X|<1 ("защита от дурака"):

 

Repeat Write('введите значение |х|<1;_ _x='); readln(x)

until abs(x)<1;

Операторы ограничения и прерывания цикла



<== предыдущая лекция | следующая лекция ==>
Операции и стандартные функции | Раздел первый. Психология зрелого возраста
Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 257 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Слабые люди всю жизнь стараются быть не хуже других. Сильным во что бы то ни стало нужно стать лучше всех. © Борис Акунин
==> читать все изречения...

2193 - | 2115 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.