Программирование алгоритмов линейной структуры Текст программы в системе программирования Turbo Pascal представляет собой обычный текстовый файл, который Вы будете составлять в текстовом редакторе интегрированной инструментальной оболочки. Программа состоит из отдельных разделов или блоков, которые должны располагаться в следующем порядке: [ - заголовок программы; ] [ - раздел объявления меток; ] [ - раздел объявления констант; ] [ - раздел объявления типов; ] [ - раздел объявления переменных; ] [ - раздел объявления процедур и функций; ] - тело программы. Разделы, названия которых заключены в квадратные скобки, могут отсутствовать в программе. В данной лабораторной работе мы изучим назначение и правила описания только некоторых разделов программы. Заголовок программы состоит из зарезервированного слова program и имени программы, так называемого идентификатора. Завершается заголовок, так же как и любая другая строка программы, точкой с запятой. Заголовок программы необязателен и игнорируется компилятором. Идентификатор - это имя, свободно избираемое программистом для элементов программы (Процедур, Функций, Констант, Переменных и Типов данных). Идентификатор должен удовлетворять следующим условиям: - должен начинаться с латинской буквы или с символа подчёркивания; - TP не различает большие и малые буквы; - начиная со второй позиции можно применять наряду с буквами цифры; - пробел в TP является разделителем и не может присутствовать внутри идентификатора; - зарезервированные слова (такие как begin, end, program в качестве идентификатора не допускаются; - max длина идентификатора при сравнениях 63 символа. Тело программы начинается словом begin, которая является признаком конца программы. а заканчивается словом end с точкой, Раздел объявления переменных Переменными называются параметры программы, значения которых могут изменятся в процессе её выполнения. Все используемые в программе переменные должны быть определены с указанием их типов в разделе объявления переменных. Этот раздел начинается служебным словом Var Var <список переменных 1>: <тип 1>; <список переменных 2>: <тип 2>; Действительные переменные объявляются с помощью служебного слова real, целые - с помощью служебного слова integer. Например: VAR a: integer; bf14: real; В этом примере объявлено две переменных. Переменная "a" целого типа, и переменная "bf14" вещественного типа. Объявить целую переменную, это значит зарезервировать в памяти машины ячейку памяти для хранения любого целого числа. Обратиться к этой ячейке можно по имени (идентификатору) которое выбрано Вами в разделе объявления переменных. Операция присваивания применяется для записи информации в объявленную в программе переменную. Знак операции присваивания ":=" двоеточие равно. Например: а:=1996; При выполнении этой операции 1996 заносится в ячейку памяти под именем "а". Прочесть информацию из ячейки памяти "а" можно просто указав в программе имя этой переменной. Оператор ввода информации Занести информацию в ячейку памяти можно в ходе выполнения программы. Для этого используются так называемые операторы ввода информации. Readln(a); При выполнении этого оператора на экране монитора возникнет курсор. После этого Вы должны набрать на клавиатуре нужное число и нажать клавишу Enter. Операторы вывода информации Write, Writeln. С помощью этих операторов можно вывести любую информацию на экран. Для того, чтобы вывести текстовое сообщение на экран, его необходимо ограничить специальными кавычками, роль которых играет знак апострофа. Например: Write('Эта строка, от апострофа до апострофа, будет выведена.'); Можно вывести значение объявленной раннее переменной. Для этого необходимо просто указать её имя. Например: Write(a); Выводить можно и текстовые сообщения и значения переменных одновременно. Например: Write('Значение переменной а равно ',a); Как Вы заметили, элементы выводимой информации отделяются друг от друга запятыми. При выводе информации оператором Write курсор не переводится на новую строку. При выводе информации оператором Writeln курсор переходит на начало следующей строки. Выражения в тексте программы взятые в фигурные скобки, являются комментариями и компилятором игнорируются. Арифметические операции + сложение - вычитание * умножение / деление Некоторые sin(x) cos(x) sqrt(x) sqr(x) стандартные функции синус косинус корень квадратный квадрат числа Выполнение программ и просмотр результатов её выполнения Для того, чтобы написать программу, необходимо открыть новое окно. Выполнение уже написанной программы производится с помощью опции главного меню: Run – Run. После выполнения программы ИИО сразу возвращается в окно текстового редактора, содержащего текст данной лабораторной работы. Для просмотра результатов выполнения программы можно выполнить две различные опции главного меню: 1. Debug – User Screen "Переключение на экран пользователя". В этом случае вы перейдёте в так называемый экран пользователя, который сейчас просто закрыт окнами текстового редактора. 2. Debug – Output "Открыть окно вывода информации". В этом окне всегда содержится информация, которая выводится программой. Можно пользоваться горячим сочетанием клавиш. Примеры программы (выполнить!) PROGRAM exampl_1; VAR myname:string; {переменная типа строка} BEGIN writeln(‘Первая программа на языке Pascal’); writeln(‘Введите свое имя’); readln(myname); writeln(‘Здравствуй, ’,myname) END. PROGRAM exampl_2; {заголовок программы} VAR {раздел объявления переменных} x: real; y: real; Summa: real; BEGIN {начало тела программы} Write('Введите первое число: '); {вывод сообщения} Readln(x); {ввод числа} Write('Введите второе число: '); Readln(y); Summa:=x+y; {присваивание} Writeln('Результат суммирования: ',summa:10:2); END. {конец тела программы} Замечание. Элемент программы summa:10:2 означает, что будет использоваться «форматированный» вывод: 10 знакомест для всего числа, из них 2 знакоместа для дробной части, т.е. 2 знака после запятой. Задания для самостоятельного выполнения 1. Даны два действительных положительных числа. сумму, разность и произведение этих чисел. 2. Даны катеты прямоугольного треугольника. Найти Найти среднее арифметическое, его гипотенузу и площадь.