Программирование линейных алгоритмов. Раздел операторов. Выполнение программы сводится к выполнению последовательности операторов, заключенных в операторные скобки begin….end. Операторы ввода – вывода Любая программа взаимодействует с окружающей средой с помощью операторов ввода–вывода. В Турбо Паскале связь программы с внешними устройствами осуществляется через файлы. В простейшем случае эти файлы связаны с клавиатурой (для ввода данных) и с экраном монитора (для вывода). Для ввода с клавиатуры используется оператор READ или READLN. Синтаксис (форма обращения, список ввода – имена вызов): переменных, разделенных запятыми. Если список ввода отсутствует, то ожидается READ [(список ввода)]; нажатие клавиши Enter. При поступлении в процессор оператора READ действие программы приостанавливается. Программа ожидает ввода значений указанных переменных. Если в списке несколько переменных, то их значения набираются через пробел. Число и тип данных должны соответствовать числу и типу переменных в списке ввода, в противном случае возникают ошибки. После набора всего списка ввода необходимо нажать Enter. Оператор Readln отличается от оператора Read тем, что после ввода значений в переменные происходит переход курсора на новую строку. Оператор Readln без параметров осуществляет переход на новую строку. Примеры: Что в программе Что с клавиатуры read ( as); одна переменная read ( a, b); две переменные readln ( num, x, y); три переменные, переход на сл. строку Чтобы знать, сколько и каких переменных необходимо ввести с клавиатуры, необходимо перед оператором READ поместить оператор вывода на экран с пояснением о количестве и типах вводимых переменных. Вывод на экран осуществляется с помощью операторов WRITE или WRITELN. Синтаксис вызов): (форма обращения, список вывода – список констант, переменных, выражений, разделенных запятыми. Если список вывода WRITE [(список вывода)]; отсутствует, то производится перевод строки. Работа оператора WRITELN отличается тем, что после вывода осуществляется переход на начало следующей строки. Примеры: Что в программе writeln (‘S’); writeln (S); Что на экране буква S значение переменной S в экспоненциальной форме Путь= и значение S в экспоненциальной форме значение выражения в скобках в экспоненциальной форме writeln (‘Путь=’,S ); writeln (2*t+sqrt(abs(t*t3*v*r))); writeln (‘Ответ =’, Ответ= значение S в формате 8:4 при t= S:8:4,’ при t=‘, t:3); значение t из 3 цифр Оператор присваивания Синтаксис: переменная:=выражение; переменная – имя переменной; := - знак присваивания; выражение – выражение того же типа, что и переменная. Допускается использование переменной вещественного типа с выражением целого типа. Значение выражения из правой части оператора присваивания заменяет текущее значение переменной из левой части этого же оператора. ПРИМЕРЫ: x := 15; x := x+1; Z := 0; F := SIN( Z )+SQRT( ABS( Z*Z - X) ); Sum := Sum + Fact; Пример 1. «Первая программа» Пример 2. «Целочисленные переменные» Замечание. Внимательно читайте Program Chisla; {Раздел описания переменных. Всегда комментарии в фигурных скобках. начинается со слова Var (Variable-переменная)} Program First; {Первая строка – заголовок программы. Program – служебное слово, First – имя программы, его вы придумываете сами. В конце строки стоит точка с запятой. При перечислении инструкций Паскаля между ними ставится «;». Дальше идет тело программы. Оно всегда начинается со слова Begin.} Begin {Здесь нет точки с запятой. Следующий оператор выводит на экран слово «Привет, ». После вывода курсор остается на той же строке в конце текста. Текст для вывода заключается в апострофы.} Write(‘Привет, ‘); {В конце строки обязательна точка с запятой. Следующий оператор выведет на экран слово «друзья!» и переведет курсор на следующую строку, т.к. символы ln в операторе writeln означают «line» - строка} Var A, B, C: Integer; {Имена в списке через запятую. В конце списка через двоеточие указывается тип данных: Integer- целый. } Begin {Начало тела программы} A := 5; {Это оператор присваивания. В переменную (ячейку) А поместили число 5.} Writeln(A); {Выводим на экран содержимое переменной А. Имя А не заключено в апострофы!} Writeln(‘A’); {Вывод на экран символа А} A := A + 1; {Запишем в переменную А число, которое до этого было в ней, но увеличенное на 1.} B := 7; C := C * B; {* - операция умножения} Writeln(‘Результат=’, C); {Вывод содержимого ячейки С с пояснительным Writeln(‘друзья‘); текстом.} Writeln(‘”Это вторая строка.‘); End. {Словом End заканчивается тело программы. End. В конце обязательно стоит точка.} Пример 3. Вычислить периметр треугольника и угол, если известны его стороны и два угла. PROGRAM perimeter ; VAR L1, L2, L3 : INTEGER; a, b, c, p : REAL ; BEGIN WRITELN (‘Введите три стороны’) ; READLN( a, b, c ) ; WRITELN (‘Введите два угла’) ; READLN( L1, L2 ) ; P := a + b + c ; WRITELN (‘Периметр=’, p:8:2) ; L3 := 180 – (L1+L2) ; WRITELN ( ‘Третий угол=’, L3 ) ; READLN; END.