Идентификаторами ТП называют произвольный набор символов.
Требования к идентификаторам:
Program P1; {заголовок, название программы} {±} Uses………;{подключение внешних модулей с расширением *.tpu}{±} Const……...; {описание констант} {±} Type………; {задание типов} {±} Var………..; {раздел объявления переменных}{±} Function F1 ….; {описание функций} {±} Procedure Pr1 ….; {описание процедур} {±} | |
Begin{начало основной программы} {+} ….. {тело основной программы} {±} End. {конец основной программы} {+}. |
Примечание. {+} – обязательная часть программы,
{±} – необязательная часть программы.
Рассмотрим основные части программы
3.1. Uses – подключение внешних библиотек для расширения в программе набора доступных операторов.
Пример:
UsesDOS, Crt, Graph, Printer; { Подключение четырех стандартных модулей:
DOS – использование в программе команд операционной системы.
Crt – расширение возможностей ввода-вывода, использование звукового генератора.
Graph – подключение графических процедур и функций.
Printer – легкий доступ к печати.}
Пример. Следующая программа обеспечивает реализацию легкого доступа к печати.
UsesPrinter; { подключение модуля}
begin
Write(‘привет’); { выводится на экран слово "привет"}
Write(lst,‘привет’); { выводится на принтер слово "привет"}
end.
3.2. Const (константы).
В этом разделе описания идентификаторам задаются значения, которые не меняются при выполнении программы.
Пример.
Const
a=4; {численная константа}
b=’A’; {символьная константа }
s=’ABBA’; {строковая константа }
b1=false; {логическая константа }
M:array[1..4] of integer=(1,5,6,7); {массив констант }.
3.3. Type (тип данных) определяет множество допустимых значений, которые принимает идентификатор и множество операций, которые с ним можно производить.
На рисунке приведены основные типы данных языка Турбо Паскаль.
Основные типы данных ТП |
Типы данных, которые далее будут использованы при написании программ, рассмотрим подробнее.
Простые типы
3.3.1 Численные типы
Тип | Размер, Байт | Диапазон значений |
Byte | 1 | 0…255 |
Shortint | 1 | -128…127 |
Word | 2 | 0…65535 |
Integer |
2 | -32768…32767 |
Longint |
4 | -2147483648…2147483647 |
Single | 4 |
7..8 значащих цифр -45…38-диапазон десятичного порядка |
Real | 6 | 11..12 значащих цифр -39…38-диапазон десятичного порядка |
Double | 8 |
15..16 значащих цифр -324…308-диапазон десятичного порядка |
Extended | 10 |
19..20 значащих цифр -4951…4932-диапазон десятичного порядка |
3.3.2. Символьные переменные - char
Значениями символьного типа является множество всех символов ПК. Каждому символу приписывается целое число в диапазоне 0…255.
3.3.3. Логические переменные - boolean
Значениями логического типа может быть одна из предварительно объявленных констант (False – ложь, True – истина).
Сложные типы
3.3.4. Массивы- array.
Тип данных Массив позволяет одному идентификатору задать несколько значений, которые отличаются порядковым номером. Номер элемента массива указывается после идентификатора в квадратных скобках {M[5] – пятый элемент массива М}. При описании массива указывается диапазон номеров элементов массива и тип, к которому относится каждый его элемент. Массивы могут быть одно-, двух- и многомерными.
Пример описания и заполнения элементов массива.
Var {описание массивов}
M: array [1..5] of integer; {одномерный массив М с номерами элементов от 1 до 5, состоящий из целых чисел}
M1: array [2..3,11..15] of char; {двумерный массив М1 с номерами строк от 2 до 3, с номерами столбцов от 11 до 15, состоящий из символов}
Begin {заполнение массива}
М[2]:=100; {второму элементу численного массива М присвоено значение 100}
М1[2,3]:=’d’; {элементу второй строки и третьего столбца символьного двухмерного массива М1 присвоено значение ’d’}
End.
3.3.5. Строковые переменные – string.
Переменные строкового типа состоят из нескольких символов.
Пример.
Var s:string; {описание идентификатора s как строковую переменную}
Begin
s:=’Привет’; {задание значения строковой переменной}
Writeln(s); {распечатка на экране слова "Привет"}
end.
3.4. Var (Переменные).
Все идентификаторы, используемые в программе, должны быть описаны. Описать идентификатор - указать тип данных, к которому он относится.
Пример.
Var
x,y:real; {идентификаторы x,y - переменные реального типа}
i,j,k:integer; { идентификаторы i,j,k – переменные целого типа }
M:array [1..4] of char; { M - одномерный символьный массив из 4 элементов}
M1:array [1..3,1..4] of byte; { M1 двухмерный массив из 12 элементовцелого типа}
Type
re=real; { описание нового типа: идентификатор re - реальный тип}
Var
z:re; {идентификатор z – переменная типа re, то есть реального типа}
{Четыре последние строки примера можно заменить следующим
образом: Var z:real;}
3.5. Основная программа
Основная программа, как правило, состоит из трех частей:
Рассмотрим эти части более подробно.
3.5.1. Ввод исходных данных.
Варианты ввода исходной информации покажем на примерах:
3.5.2.Расчет.
Основные математические соотношения и операции Турбо Паскаль:
Стандартные функции Турбо Паскаля
{ -
вычисление логарифма по произвольному основанию}
{xa=exp(a*ln(x)) - возведение в степень}
{tg(x) = sin(x)/cos(x) - вычисление тангенса}
{ctg(x) = cos(x)/sin(x) - вычисление котангенса}
Стандартные процедуры
Константы
Pi{число π = 3.14…}
3.5.3. Вывод результатов
Технология программирования
Включает пять технологических операций (этапов):
При разработке программ будем последовательно выполнять технологические этапы программирования, для наглядности помещая их в таблицу.
Пример. Определить площадь круга.
Этапы разработки программы сведены в таблицу.
Таблица
Этапы программирования | Выполнение |
1. Постановка задачи | Составить программу для вычисления площади круга радиусом R. |
2. Математическое описание | Расчетная формула: S=πR2 |
3. Разработка алгоритма (структограммы) |
Описание R,S Ввод R Расчет S=πR2 Вывод S |
4. Написание программы |
Program P1; { программа вычисления площади круга} Var r,S:real; {Описание переменных} Begin Read(R); {в этом месте программа останавливается, для ввода числового значения R} {R:=4;}{другой вариант ввода исходных данных} S:=3.14*Sqr(R); {расчет} {S:=Pi*sqr(R);} {другой вариант расчета} Writeln(‘R=’,R:3:1, ‘S=’,S:8:4); {Вывод} end. |
5. Отладка и получение результатов | R= 4.0 S= 48.7654 |
Структурное программирование
Структурное программирование – это стиль программирования, позволяющий разрабатывать хорошо структурированные программы.
Основные положения структурного программирования:
Таблица
Основные типы структур и примеры их изображения на структограммах
Название | Алгоритм | |
Блок-схема | Структограмма | |
а) линейная структура | ||
б) Ветвящаяся структура | ||
в) циклическая структура: |
||
с предусловием | ||
с постусловием |