Скачать презентацию Операторы языка Паскаль 1 Оператор присваивания 2 Оператор Скачать презентацию Операторы языка Паскаль 1 Оператор присваивания 2 Оператор

Операторы языка Паскаль2011.pptx

  • Количество слайдов: 36

Операторы языка Паскаль 1. Оператор присваивания 2. Оператор перехода 3. Пустой оператор. Составной оператор Операторы языка Паскаль 1. Оператор присваивания 2. Оператор перехода 3. Пустой оператор. Составной оператор 4. Условный оператор 5. Оператор выбора 6. Оператор цикла с известным числом повторений 7. Операторы цикла итерационного типа 09. 02. 2018 Операторы языка 1

Оператор присваивания <переменная> : = <выражение>; - Одноместный минус - Операция NOT - Операции Оператор присваивания <переменная> : = <выражение>; - Одноместный минус - Операция NOT - Операции типа умножения - Операции типа сложения - Операции сравнения (отношения) 09. 02. 2018 Операторы языка 2

Операции <операции типа умножения> : : = * | / | div | mod Операции <операции типа умножения> : : = * | / | div | mod | and <операции типа сложения > : : = + | – | or | xor <операции сравнения> : : = = | <> | < | > | <= | >= | in 09. 02. 2018 Операторы языка 3

Примеры выражений (5. 6>5)and(5<8)=true {true} Not(1>5) {true} ((4+6)<(10 -3))=true {false} 'abc'<'abcd' {true} 'abc'<' abcd' Примеры выражений (5. 6>5)and(5<8)=true {true} Not(1>5) {true} ((4+6)<(10 -3))=true {false} 'abc'<'abcd' {true} 'abc'<' abcd' {false} 5>3 and 3<4 {ошибка} 09. 02. 2018 Операторы языка 4

Оператор перехода. Метки GOTO <метка>; < метка> : [<метка>: …] <оператор>; Label m 1, Оператор перехода. Метки GOTO <метка>; < метка> : [<метка>: …] <оператор>; Label m 1, 20, metka; … m 1: x: =5; … 20: metka: w: =10; ; 09. 02. 2018 Операторы языка 5

Составной оператор var a : array [1. . 100] of integer; max, i, n, Составной оператор var a : array [1. . 100] of integer; max, i, n, k : integer; begin write('n='); readln(n); for i : = 1 to n do begin write('a[', i, ']='); readln(a[i]); end; 09. 02. 2018 Операторы языка 6

Составной оператор max : = a[1]; for i : = 1 to n do Составной оператор max : = a[1]; for i : = 1 to n do if a[i]>max then max : = a[i]; k : = 0; for i : = 1 to n do if a[i] <> max then begin k : = k + 1; a[k] : = a[i]; end; for i : = 1 to k do write(a[i], ' '); end. 09. 02. 2018 Операторы языка 7

Условный оператор IF <логическое выражение> THEN <оператор 1> [ ELSE <оператор 2>] ; <следующий Условный оператор IF <логическое выражение> THEN <оператор 1> [ ELSE <оператор 2>] ; <следующий оператор>; 09. 02. 2018 Операторы языка 8

Условный оператор … IF A > 0 THEN P: = P + 1 ELSE Условный оператор … IF A > 0 THEN P: = P + 1 ELSE … IF A > 0 THEN BEGIN S: = S+ A; IF A < 0 THEN O: = O + 1 K: = K + 1 END ; … ELSE N: = N + 1 ; … 09. 02. 2018 Операторы языка 9

Оператор выбора CASE <селекторное выражение> OF <метка> , <метка> : <оператор 1> ; , Оператор выбора CASE <селекторное выражение> OF <метка> , <метка> : <оператор 1> ; , <метка>. . <метка> , <метка> : <оператор 2> ; , <метка>. . <метка> . . . <метка> , <метка> : <оператор n>; , <метка>. . <метка> [ ELSE <оператор>] END; 09. 02. 2018 Операторы языка 10

Оператор выбора cos x , k=3 sin x , Z= при k=2 ex , Оператор выбора cos x , k=3 sin x , Z= при k=2 ex , при k=1 ln x , при k=0 0 в остальных случаях … CASE K OF 0: Z: =LN(X); 1: Z: =EXP(X); 2: Z: =SIN(X); 3: Z: =COS(X) ELSE Z: =0 END; … 09. 02. 2018 Операторы языка 11

Оператор выбора … VAR V : CHAR; OTVET : STRING; … CASE V OF Оператор выбора … VAR V : CHAR; OTVET : STRING; … CASE V OF 'D', 'd', 'Д', 'д': OTVET: ='YES'; 'N', 'n', 'Н', 'н': OTVET: ='NO' ELSE OTVET: = '' END; … 09. 02. 2018 Операторы языка 12

Оператор выбора … VAR V : CHAR; OTVET : STRING; … CASE V OF Оператор выбора … VAR V : CHAR; OTVET : STRING; … CASE V OF 'A'. . 'Z', 'a'. . 'z': OTVET: ='буква'; '0'. . '9': OTVET: ='цифра' ELSE OTVET: ='специальный символ' END; … 09. 02. 2018 Операторы языка 13

Операторы цикла - типа арифметической прогрессии - WHILE - REPEAT 09. 02. 2018 Операторы Операторы цикла - типа арифметической прогрессии - WHILE - REPEAT 09. 02. 2018 Операторы языка 14

Оператор цикла FOR <параметр цикла> : = <выраж. 1> TO <выраж. 2> DOWNTO < Оператор цикла FOR <параметр цикла> : = <выраж. 1> TO <выраж. 2> DOWNTO < оператор > ; 09. 02. 2018 Операторы языка 15

Оператор цикла FOR F: =1; FOR I: =1 TO N DO FOR I: =N Оператор цикла FOR F: =1; FOR I: =1 TO N DO FOR I: =N DOWNTO 1 DO F: =F*I; … … FOR SIM: = 'A' TO 'Z' DO WRITELN(SIM); 09. 02. 2018 Операторы языка … 16

Оператор цикла FOR {Сумма произведений по строкам} const n = 4; m = 5; Оператор цикла FOR {Сумма произведений по строкам} const n = 4; m = 5; var a : array [1. . n, 1. . m] of real; i, j : integer; p, y : real; begin for i : = 1 to n do for j : = 1 to m do read(a[i, j]); 09. 02. 2018 Операторы языка 17

Продолжение y : = 0; for i : = 1 to n do begin Продолжение y : = 0; for i : = 1 to n do begin p : = 1; for j : = 1 to m do p : = p * a[i, j]; y : = y + p; end; writeln('y=', y); end. 09. 02. 2018 Операторы языка 18

Оператор цикла WHILE <логическое выражение > DO <оператор>; … F: =1; I: =1; WHILE Оператор цикла WHILE <логическое выражение > DO <оператор>; … F: =1; I: =1; WHILE I<=N DO BEGIN F: =F*I; I: =I+1; END; … 09. 02. 2018 Операторы языка 19

Пример задачи 09. 02. 2018 Операторы языка 20 Пример задачи 09. 02. 2018 Операторы языка 20

Продолжение program sinx; var x, y, e, u, z : real; k : integer; Продолжение program sinx; var x, y, e, u, z : real; k : integer; begin readln(x, e); k : = 0; y : = 0; u : = x; z : = sqr(x); 09. 02. 2018 Операторы языка 21

Продолжение while abs(u) > e do begin y : = y + u; k Продолжение while abs(u) > e do begin y : = y + u; k : = k + 2; u : = -u*z / (k*(k+1)); end; writeln('sin(x)=', sin(x), ' end. 09. 02. 2018 Операторы языка y=', y); 22

Пример задачи Yi+1 =(Yi + X/ Y i ) /2 с точностью program sqrtx; Пример задачи Yi+1 =(Yi + X/ Y i ) /2 с точностью program sqrtx; var x : real; eps : real; y 0 : real; y 1 : real; a : real; begin readln(a, eps, if x > 0 then begin 09. 02. 2018 Yi+1 – Yi <= {аргумент} {точность вычисления} {предыдущее приближение} {очередное приближение} {начальное приближение} x); Операторы языка 23

Продолжение y 0 : = a; y 1 : = (y 0 + x/y Продолжение y 0 : = a; y 1 : = (y 0 + x/y 0) / 2; while abs(y 1 -y 0) > eps do begin y 0 : = y 1; y 1 : = (y 0 + x/y 0) / 2; end; writeln('y 1=', y 1, ' при x=', x); end else writeln('число ', x, 'меньше нуля '); end. 09. 02. 2018 Операторы языка 24

Оператор цикла REPEAT < оператор 1 > [; < оператор 2 >] [; … Оператор цикла REPEAT < оператор 1 > [; < оператор 2 >] [; … < оператор n >] UNTIL <логическое выражение>; 09. 02. 2018 Операторы языка 25

Оператор цикла REPEAT. . . F: =1; I: =1; Repeat F: =F*I; I: =I+1; Оператор цикла REPEAT. . . F: =1; I: =1; Repeat F: =F*I; I: =I+1; Until I>N; . . . 09. 02. 2018 Операторы языка 26

Пример задачи program rep; var a, k : integer; c : char; begin k Пример задачи program rep; var a, k : integer; c : char; begin k : = 0; repeat writeln('Введите очередное число'); readln(a); 09. 02. 2018 Операторы языка 27

Продолжение if a mod 7 = 0 then k : = k + 1; Продолжение if a mod 7 = 0 then k : = k + 1; write('Выйти из цикла? (д, y) '); readln(c) ; until (c='д') or (c='y'); writeln('Количество = ', k); end. 09. 02. 2018 Операторы языка 28

Пример задачи program obmen; var a: array [1. . 30, 1. . 30] of Пример задачи program obmen; var a: array [1. . 30, 1. . 30] of integer; i, j, m, n: integer; k 1, l 1, k 2, l 2: integer; t: integer; begin readln(m, n); for i: = 1 to m do for j: = 1 to n do readln(a[i, j]); k 1: = 2; l 1: = 1; k 2: = 2; l 2: = 1; 09. 02. 2018 Операторы языка 29

Продолжение i: = 2; while i<=m do begin for j: = 1 to n Продолжение i: = 2; while i<=m do begin for j: = 1 to n do if a[i, j] > a[k 1, l 1] then begin k 1: = i; l 1: = j; end else if a[i, j] < a[k 2, l 2] then begin k 2: = i; l 2: = j; end; 09. 02. 2018 Операторы языка 30

Продолжение i: = i + 2; end; t: = a[k 1, l 1]; a[k Продолжение i: = i + 2; end; t: = a[k 1, l 1]; a[k 1, l 1]: = a[k 2, l 2]; a[k 2, l 2]: = t; for i: = 1 to m do begin for j: = 1 to n do write(a[i, j]: 6); writeln; end. 09. 02. 2018 Операторы языка 31

Break и Continue program kon; var a: array [1. . 30] of integer; fl: Break и Continue program kon; var a: array [1. . 30] of integer; fl: boolean; i, n: integer; begin readln(n); for i: = 1 to n do readln(a[i]); 09. 02. 2018 Операторы языка 32

Продолжение fl: = false; for i: = 1 to n do begin if a[i] Продолжение fl: = false; for i: = 1 to n do begin if a[i] mod 10 <> 3 then continue; writeln('номер 1 числа на 3 - ', i); fl: = true; break; end; if not fl then writeln('нет чисел на 3'); end. 09. 02. 2018 Операторы языка 33

Примеры использования циклов var a, b, c: array [1. . 100] of byte; i, Примеры использования циклов var a, b, c: array [1. . 100] of byte; i, j, k, n, m : byte; begin write('n='); readln(n); write('m='); readln(m); for i: = 1 to n do begin write('a[', i, ']='); readln(a[i]); end; for j: = 1 to m do begin write('b[', j, ']='); readln(b[j]); end; 09. 02. 2018 Операторы языка 34

Примеры использования циклов k: = 0; i: = 1; j: = 1; while (i<=n) Примеры использования циклов k: = 0; i: = 1; j: = 1; while (i<=n) and (j<=m) do begin k: = k + 1; if a[i] < b[j] then begin c[k]: = a[i]; i: = i + 1; end else begin c[k]: = b[j]; j: = j + 1; end; 09. 02. 2018 Операторы языка 35

Примеры использования циклов for i: = i to n do begin k: = k Примеры использования циклов for i: = i to n do begin k: = k + 1; c[k]: = a[i]; end; for j: = j to m do begin k: = k + 1; c[k]: = b[j]; end; for i: = 1 to k do write(c[i], ' '); end. 09. 02. 2018 Операторы языка 36