Скачать презентацию Инструкции READLN Read Переменная 1 Переменная 2 Скачать презентацию Инструкции READLN Read Переменная 1 Переменная 2

Лекция_3_TP.ppt

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

Инструкции READLN Read(Переменная 1, Переменная 2, . . . , Переменная N) ; где Инструкции READLN Read(Переменная 1, Переменная 2, . . . , Переменная N) ; где Переменная имя переменной, значение которой должно быть введено с клавиатуры во время выполнения программы. Примеры : Read(a) ; Read(Cena, Kol); 1

Одна инструкция READ позволяет получить значения нескольких переменных. В этом случае вводимые числа должны Одна инструкция READ позволяет получить значения нескольких переменных. В этом случае вводимые числа должны набираться в одной строке и разделяться пробелами. Например, если тип переменных a, b и c REAL, то в результате выполнения инструкции READ(a, b, c) и ввода с клавиатуры строки: 1. 2 32 0. 37 значения переменных будут следующими: a=1. 2, b=32. 0, c=0. 37. 2

Если в строке набрано больше чисел, чем задано переменных в инструкции, то оставшаяся часть Если в строке набрано больше чисел, чем задано переменных в инструкции, то оставшаяся часть строки будет обработана следующей инструкцией READ. Например, в результате выполнения инструкций Read(A, B) ; Read(C); и ввода с клавиатуры строки 34 62 25 как реакция на первую инструкцию, переменная A получит значение 34, B 62, а C 25. 3

В результате выполнения инструкций Read. Ln(A, B) ; Read(C) ; при наборе пользователем строки В результате выполнения инструкций Read. Ln(A, B) ; Read(C) ; при наборе пользователем строки 34 62 25 переменная A получит значение 34, B 62. После чего программа будет ожидать ввода нового числа, чтобы присвоить его переменной C. 4

Write. Ln(‘Введите исходные данные’) ; Write(‘Цена изделия’) ; Read. Ln(Cena) ; Write(‘Количество в партии’) Write. Ln(‘Введите исходные данные’) ; Write(‘Цена изделия’) ; Read. Ln(Cena) ; Write(‘Количество в партии’) ; Read. Ln(Kol) ; Write(‘Скидка’) ; Read. Ln(Skidka) ; runtime error 5

ОБЩАЯ СТРУКТУРА ПРОГРАММЫ • раздел объявлений и соглашений (декларационная часть); • раздел текстов процедур ОБЩАЯ СТРУКТУРА ПРОГРАММЫ • раздел объявлений и соглашений (декларационная часть); • раздел текстов процедур и функций; • раздел основного блока. 6

РАЗДЕЛ ОБЪЯВЛЕНИЙ И СОГЛАШЕНИЙ PROGRAM Заголовок программы; {$. . . } Глобальные директивы компилятора; РАЗДЕЛ ОБЪЯВЛЕНИЙ И СОГЛАШЕНИЙ PROGRAM Заголовок программы; {$. . . } Глобальные директивы компилятора; USES Подключаемые библиотеки; LABEL Подраздел объявления глобальных меток; CONST Подраздел объявления глобальных констант; TYPE Подраздел объявления глобальных типов; VAR Подраздел объявления глобальных переменных; 7

РАЗДЕЛ ТЕКСТОВ ПРОЦЕДУР И ФУНКЦИЙ PROCEDURE Заголовок процедуры (FUNCTION) (функции); LABEL Подраздел объявления локальных РАЗДЕЛ ТЕКСТОВ ПРОЦЕДУР И ФУНКЦИЙ PROCEDURE Заголовок процедуры (FUNCTION) (функции); LABEL Подраздел объявления локальных меток; CONST Подраздел объявления локальных констант; TYPE Подраздел объявления локальных типов; VAR Подраздел объявления локальных переменных; BEGIN Основной блок процедуры или функции; END 8

РАЗДЕЛ ОСНОВНОГО БЛОКА ПРОГРАММЫ BEGIN Основной блок программы; END. 9 РАЗДЕЛ ОСНОВНОГО БЛОКА ПРОГРАММЫ BEGIN Основной блок программы; END. 9

Заголовок программы PROGRAM Имя программы ; Например: Program My_first_program; Program Prim 1; 10 Заголовок программы PROGRAM Имя программы ; Например: Program My_first_program; Program Prim 1; 10

Оператор USES Например: USES Crt, Graph, String, Overlay; 11 Оператор USES Например: USES Crt, Graph, String, Overlay; 11

Объявления глобальных меток, констант, типов и переменных • метки (LABEL); • константы (CONST); • Объявления глобальных меток, констант, типов и переменных • метки (LABEL); • константы (CONST); • определенные пользователем типы данных (TYPE); • переменные (VAR) 12

Раздел LABEL Например: LABEL 1, 7, 9999, N 4, Metka_20, 5 r 3 k; Раздел LABEL Например: LABEL 1, 7, 9999, N 4, Metka_20, 5 r 3 k; 13

Раздел CONST Например: CONST Year = 1999 ; Month = ‘Февраль’ ; Day = Раздел CONST Например: CONST Year = 1999 ; Month = ‘Февраль’ ; Day = ‘Четверг’ ; 14

Раздел TYPE Например: Type Dim 2 = array[1. . 2] of integer ; Dim Раздел TYPE Например: Type Dim 2 = array[1. . 2] of integer ; Dim 4= array[1. . 4, 1. . 3] of Dim 2 ; 15

Раздел VAR Например: VAR I, J, N : Integer; {Переменным I, J, N присваивается Раздел VAR Например: VAR I, J, N : Integer; {Переменным I, J, N присваивается тип INTEGER} A, B : Real; { Переменным A, B присваивается тип REAL} 16

Процедуры и функции Например: PROCEDURE Summa (VAR Sum: INTEGER; VAR X, Y : BYTE) Процедуры и функции Например: PROCEDURE Summa (VAR Sum: INTEGER; VAR X, Y : BYTE) ; FUNCTION Sq. Geron(a, b, c: real): real ; 17

Основной блок программы состоит из последовательности операторов, причем работа программы начинается именно с первого Основной блок программы состоит из последовательности операторов, причем работа программы начинается именно с первого оператора основного блока программы. Тело основного блока программы ограничено операторами BEGIN и END с точкой, которая является признаком конца программы. 18

Пример. Программа, вычисляющая сумму квадратов двух чисел. PROGRAM EXAMPL 1 ; { заголовок программы Пример. Программа, вычисляющая сумму квадратов двух чисел. PROGRAM EXAMPL 1 ; { заголовок программы } Var { раздел объявления переменных } X, Y, Summa, : Real ; Begin { тело программы} Write(‘Введите числа X и Y ‘) ; { вывод сообщения на экран } Read. Ln(X, Y) ; { чтение двух чисел } Summa : = Sqr(X) +Sqr( Y ); { вычисление суммы квадратов } Write. Ln(‘Сумма чисел X и Y равна ‘, Summa){вывод результата} End. 19

УПРАВЛЯЮЩИЕ СТРУКТУРЫ Условие В языке Паскаль условие это выражение логического типа (BOOLEAN), которое может УПРАВЛЯЮЩИЕ СТРУКТУРЫ Условие В языке Паскаль условие это выражение логического типа (BOOLEAN), которое может принимать одно из двух значений: “истина” (TRUE) или “ложь” (FALSE). 20

Оператор Описание Значение выражения TRUE, если первый Больше > < Меньше = Равно операнд Оператор Описание Значение выражения TRUE, если первый Больше > < Меньше = Равно операнд больше второго, иначе FALSE TRUE, если первый операнд меньше второго, иначе FALSE TRUE, если первый операнд равен второму, иначе FALSE 21

Оператор Описани Значение е выражения Не равно TRUE, если первый <> >= <= операнд Оператор Описани Значение е выражения Не равно TRUE, если первый <> >= <= операнд не равен второму, иначе FALSE Больше TRUE, если первый или равно операнд больше или равен второму, иначе FALSE Меньше TRUE, если первый или равно операнд меньше или равен второму, иначе 22 FALSE

Логические операторы NOT отрицание, AND “логическое И”, OR “логическое ИЛИ”, XOR “логическое исключающее ИЛИ” Логические операторы NOT отрицание, AND “логическое И”, OR “логическое ИЛИ”, XOR “логическое исключающее ИЛИ” 23

24 24

Выбор действия в зависимости от выполнения условия может быть реализован при помощи инструкций IF Выбор действия в зависимости от выполнения условия может быть реализован при помощи инструкций IF и CASE 25

Условный оператор IF Оператор IF реализует алгоритмическую конструкцию РАЗВИЛКА и изменяет порядок выполнения операторов Условный оператор IF Оператор IF реализует алгоритмическую конструкцию РАЗВИЛКА и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия 26

Два варианта оператора IF If S then A else B ; { полная развилка Два варианта оператора IF If S then A else B ; { полная развилка } и If S then A ; { укороченная развилка }. В этих операторах: S некоторое логическое выражение, истинность которого проверяется; A оператор, который выполняется, если выражение S истинно; B оператор, который выполняется, если выражение S ложно. 27

Пример 1: Вычислить значение функции y, заданной выражением 28 Пример 1: Вычислить значение функции y, заданной выражением 28

Блок-схема 29 Блок-схема 29

Программа (полная развилка): Program Example_1 ; Var x, y : Real ; Begin Write Программа (полная развилка): Program Example_1 ; Var x, y : Real ; Begin Write (‘ Введите число x’) ; Read. Ln (x) ; If x > 0 then y : = ln(x) else If x = 0 then y : = 1 else y : = exp(x) ; Write. Ln(‘ Значение y=‘, y) End. 30

Программа (укороченная развилка): Program Example_1 ; Var x, y : Real ; Label 1, Программа (укороченная развилка): Program Example_1 ; Var x, y : Real ; Label 1, 2 , 3 ; Begin Write(‘ Введите число x’) ; Read. Ln (x) ; If ( x > 0 ) then Go to 1 ; If ( x = 0 ) then Go to 2 ; y : = exp(x) ; Go to 3; 1: y : = ln(x) ; Go to 3; 2: y : = 1 ; 3: Write. Ln(‘ Значение y=‘, y) End. 31

Условный оператор CASE Структура этого оператора в Turbo Pascal: Case S of C 1: Условный оператор CASE Структура этого оператора в Turbo Pascal: Case S of C 1: Instruction_1 ; C 2: Instruction_2 ; . . CN: Instruction_N ; else Instruction End; 32

В этой структуре: S выражение порядкового типа, значение которого вычисляется: C 1, C 2, В этой структуре: S выражение порядкового типа, значение которого вычисляется: C 1, C 2, . . . , CN константы, с которыми сравнивается значение выражения S; Instruction_1, Instruction_2, Instruction_N операторы, из которых выполняется тот, с константой которого совпадает значение выражения S; Instruction оператор, который выполняется, если значение выражения S не совпадает ни с одной из констант C 1, C 2, . . . , CN. 33

Пример 2: Program Example_2 ; Var i : Integer ; Begin Read. Ln( i Пример 2: Program Example_2 ; Var i : Integer ; Begin Read. Ln( i ) ; Case i of 0, 2, 4, 6, 8 : Write. Ln(‘Четная цифра ‘) ; 1, 3, 5, 7, 9 : Write. Ln(‘Нечетная цифра ‘) ; 10. . 100 : Write. Ln(‘Число от 10 до 100 ‘) ; else Write. Ln(‘Отрицательное число или больше 100 ‘) end. 34

Циклы • FOR • REPEAT • WHILE 35 Циклы • FOR • REPEAT • WHILE 35

Оператор цикла FOR организует выполнение одного оператора заранее известное число раз. Существует два варианта Оператор цикла FOR организует выполнение одного оператора заранее известное число раз. Существует два варианта оператора: For I : = I 1 to I 2 do Instruction ; For I : = I 1 downto I 2 do Instruction ; 36

В этих операторах: I параметр цикла, являющийся переменной порядкового типа; I 1 выражение, определяющее В этих операторах: I параметр цикла, являющийся переменной порядкового типа; I 1 выражение, определяющее начальное значение параметра цикла; I 2 выражение, определяющее конечное значение параметра цикла; Instruction выполняемый оператор. I 1 и I 2 должны быть совместимы для присваивания с параметром цикла. 37

Алгоритм, соответствующий инструкции FOR для первого варианта оператора представлен на рис. а), для второго Алгоритм, соответствующий инструкции FOR для первого варианта оператора представлен на рис. а), для второго варианта на рис. б). 38

Пример 3. Вычислить значения выражений при 39 Пример 3. Вычислить значения выражений при 39

Блок-схема 40 Блок-схема 40

Программа Program Example_3 ; Var I : Integer ; x, y, d, z : Программа Program Example_3 ; Var I : Integer ; x, y, d, z : Real ; Begin x : = 0. 2 ; For I : = 1 to 4 do Begin d : = sqr(x) + 1 ; y : = sqrt(d) / ln(abs(x)) ; z : = exp((1/3)*ln(d)) / exp(-sqr(x)) ; Write. Ln(‘x=‘, x, ’ y=‘, y); x : = x + 0. 2 ; end 41 end.

Пример 4. Вычислить значения функции при 42 Пример 4. Вычислить значения функции при 42

Блок-схема 43 Блок-схема 43

Программа Program Example_4 ; Var x : Integer ; y : Real ; Begin Программа Program Example_4 ; Var x : Integer ; y : Real ; Begin For x : = 6 downto 1 do Begin If ( x > 3 ) Then y : = sqr(sin(x)) else If ( x = 3 ) Then y : = 1 else y : = cos(x*sqr(x)) ; Write. Ln(‘x=‘, x, ’ y=‘, y); end. 44

Оператор цикла REPEAT Repeat P 1 ; P 2 ; . . . PN Оператор цикла REPEAT Repeat P 1 ; P 2 ; . . . PN until S ; В этой структуре: P 1, P 2, . . . , PN выполняемые операторы, составляющие тело цикла; S логическое выражение, истинность которого проверяется в конце каждой итерации. 45

Пример 5. Вычислить значения функции при 46 Пример 5. Вычислить значения функции при 46

Блок-схема 47 Блок-схема 47

Программа Program Example_5 ; Var x , y , a , b , h Программа Program Example_5 ; Var x , y , a , b , h : real ; Begin a : = 0. 9 ; b : = 1. 4 ; h : = 0. 1 ; x : = a ; repeat y : = x*x * exp(-x) * sin(x) ; Write. Ln(‘x=‘, x: 7: 1, ’ y=‘, y: 10: 5) ; x : = x + h ; until x > b ; End. 48

Оператор цикла WHILE S do Instruction ; В этой структуре: S логическое выражение, истинность Оператор цикла WHILE S do Instruction ; В этой структуре: S логическое выражение, истинность которого проверяется в начале каждой итерации; Instruction выполняемый оператор цикла. 49

Пример 6. Элементы последовательности вычисляются рекуррентно по формуле Составить программу для вычисления и печати Пример 6. Элементы последовательности вычисляются рекуррентно по формуле Составить программу для вычисления и печати числа элементов последовательности, удовлетворяющих неравенству если a значения i изменяются от 1 до 10. 50

Расчётные формулы: Пусть n - число вычисляемых элементов последовательности, k - число элементов, удовлетворяющих Расчётные формулы: Пусть n - число вычисляемых элементов последовательности, k - число элементов, удовлетворяющих условию Тогда - начальное значение k. 51

Блок-схема 52 Блок-схема 52

Программа Program Example_6 ; Var a 0, a : real ; i, n, k Программа Program Example_6 ; Var a 0, a : real ; i, n, k : integer ; Begin Write. Ln ; Write. Ln(' Введите n, a 0'); Read. Ln(n, a 0) ; Write. Ln('Введено число выполняемых элементов последовательности: ' , n: 4) ; Write. Ln(' Начальное значение : ', a 0: 6: 1) ; 53

Программа (продолжение) k : =0 ; i : =1 ; a : =a 0 Программа (продолжение) k : =0 ; i : =1 ; a : =a 0 ; while i <= n do begin a : = a / 3. 0 ; if a > 0. 7 then k : = k + 1 ; i : = i + 1 end ; Write. Ln ; Write. Ln(' k=', k: 4) ; End. 54