
- •Идентификаторы языка Турбо Паскаль (тп)
- •Общие понятия и правила программирования на языке Турбо Паскаль
- •Структура программы на языке Турбо Паскаль
- •Пример:
- •3.2. Const (константы).
- •Пример.
- •3.3.1 Численные типы
- •3.3.2. Символьные переменные - char
- •3.3.3. Логические переменные - boolean
- •3.3.4. Массивы- array.
- •3.3.5. Строковые переменные – string.
- •Пример.
- •3.4. Var (Переменные).
- •Пример.
- •3.5. Основная программа
- •3.5.1. Ввод исходных данных.
- •3.5.2.Расчет.
- •3.5.3. Вывод результатов
- •Заголовок:
- •Вспомогательные действия
3.5.3. Вывод результатов
Write(x); {вывод на экран значения x: при реальном x=4, на экран выводится "4.0000000000E+00"}
Write(x:5:1); {вывод форматированных данных, то есть выделение на экране заданного количества позиций для вывода идентификатора: 5 показывает общее число позиций, 1 – число знаков после запятой: при x=4 , на экран выводится "4.0"}
Writeln(x); {вывод с новой строки}
Writeln(x,y); {вывод двух значений идентификаторов}
Writeln(‘x= ’,x:4:1); {вывод с комментариями и форматированием: "x= 4.0"}
Writeln(‘Площадь круга радиусом 3 м равна’,3.14*sqr(3):4:1); {Вывод с комментариями и выполнением расчетов: "Площадь круга радиусом 3 м равна 28.3"}
Технология программирования
Включает пять технологических операций (этапов):
Постановка задачи.
Математическое описание.
Алгоритм – структограмма.
Написание текста программы.
Отладка, получение результатов.
При разработке программ будем последовательно выполнять технологические этапы программирования, для наглядности помещая их в таблицу.
Пример. Определить площадь круга.
Этапы разработки программы сведены в таблицу.
Таблица
-
N
Этапы программирования
Выполнение
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
Структурное программирование
Структурное программирование – это стиль программирования, позволяющий разрабатывать хорошо структурированные программы.
Основные положения структурного программирования:
Программа разбивается на блоки, каждый из которых имеет один "вход" и один "выход".
Любая программа может быть составлена из трех структур или блоков, которые представлены в таблице.
Алгоритмы при структурном программировании представляются в виде структоргамм, элементы написания которых также приведены в таблице.
Таблица
Основные типы структур и примеры их изображения на структограммах
-
Название
Алгоритм
Блок-схема
Структограмма
а) линейная структура
б) Ветвящаяся структура
в) циклическая структура:
с предусловием
с постусловием
Операторы цикла используются для многократного повторения аналогичных вычислений.
Для организации цикла в ТП имеются три различных оператора.
Счетный оператор цикла For:
For <параметр цикла>:=<начальное значение> to <конечное значение> do Р;
P- простой или составной оператор.
При каждом прохождении цикла < параметр цикла >, начиная с <начального значения>, увеличивается на единицу. Цикл выполняется, пока <параметр цикла> не станет больше <конечного значения>.
Другой вариант записи оператора For:
For <параметр цикла >:=< начальное значение> downto <конечное значение> do Р;
В этом случае при каждом прохождении цикла < параметр цикла > уменьшается на единицу от <начального значения> до <конечного значения>.
Оператор цикла While с проверкой предусловия:
While <условие> do P; {Пока выполняется условие, делать}
Цикл выполняется, пока условие истинно (true).
Оператор цикла Repeat … until с проверкой постусловия:
Repeat P until <условие>; {Выполнять до тех пор, пока не будет выполнено условие}
Цикл выполняется, пока условие ложно (false).
Пример.
Постановка задачи. Найти сумму 5 целых чисел от 1 до 5. Написать программы для определения суммы с помощью трех рассмотренных операторов цикла.
Математическое описание.
Структограммы и программы для каждого оператора цикла приведены в таблице:
Таблица
Структограммы и программы
-
Цикл For …
While…
Repeat…
3.1.
3.2
3.3
4.1:
Program P2;
Var i,S:integer;
Begin
S:=0;
For i:=1 to 5 do
S:=S+i;
Writeln(‘S=’,S:5);
End.
4.2:
Program P2;
Var i,S:byte;
Begin
S:=0; i:=1;
While i<=5 do
Begin
S:=S+i;
I:=i+1;
End;
Writeln(‘S=’,S);
End.
4.3:
Program P3;
Var i,S:integer;
Begin
S:=0; i:=1;
Repeat
S:=S+i;
I:=i+1;
Until i>=6;
Writeln(S);
End.
предназначен для ветвления программы на два направления.
Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие.
Рассмотрим четыре варианта записи оператора IF:
If <условие> then P1 else P2;
If <условие> then P1;
If (<условие1>) or (<условие2>) then P1 else P2;
If (<условие1>) and (<условие2>) then P1 else P2;
где <условие>,<условие1>, <условие2> - переменные логического типа. Р1, Р2 - простые или составные операторы.
В первом случае если условие истинно, то выполняется оператор P1, если ложно – то P2.
Во втором варианте записана краткая форма оператора.
В третьем и четвертом примерах два условия объединены служебными словами or (или) и and (и). В результате объединения получается новая логическая переменная, истинность которой определяется согласно следующей таблицы.
Таблица
Таблица истинности сложных условий: И - истинно, Л - ложно
(<условие1>) |
И |
И |
Л |
Л |
(<условие2>) |
И |
Л |
И |
Л |
(<условие1>) or (<условие2>) |
И |
И |
И |
Л |
(<условие1>) and (<условие2>) |
И |
Л |
Л |
Л |
Пример. Написать программу для решения квадратного уравнения a∙x2+b∙x+c=0.
Технологические операции программирования и их выполнение приведены в таблице
Таблица
N |
Этапы программирования |
Выполнение |
1. |
Постановка задачи |
Написать программу для решения квадратного уравнения a∙x2+b∙x+c=0. |
2. |
Математическое описание |
|
3. |
Разработка структограммы |
|
4. |
Написание программы |
Program P3; Var a,b,c,d,x1,x2:real; Begin a:=1; b:=3; c:=5; D:=sqr(b)-4*a*c; If D>=0 then Begin X1:=(-b+sqrt(D))/2/a; X2:=(-b-sqrt(D))/2/a; Writeln(x1,x2); End Else Writeln(‘Действ.корней нет’); End. |
5. |
Отладка и получение результатов |
Выполнить самостоятельно |
Оператор выбора (case)
Предназначен для ветвления программ на 2 или несколько направлений.
Case <ключ выбора> of <список выбора> else P end;
<ключ выбора> - идентификатор целого или символьного типа,
<список выбора> - включает в себя две или более конструкций следующего вида:
<константа выбора> : <оператор>;
<константа выбора> - это идентификатор того же типа, что и <ключ выбора>.
Пример.
Для 100 целых значений x рассчитать
значение
.
Составить два варианта программ: с помощью условного оператора if и c помощью оператора выбора Case.
Технологические операции программирования приведены в таблице
Таблица
N |
Технологическая операция |
Выполнение |
1. |
Постановка задачи |
Для 100 целых значений x рассчитать значение y,
|
2. |
Математическое описание |
Для определения четности воспользуемся оператором mod – остаток целочисленного деления: Если x mod 2=0, то x-четное Если x mod 2=1, то x-нечетное |
3. |
Разработка структограммы |
|
4. |
Написание программы |
|
4.1 |
С помощью оператора If |
Program P4; Var x,y:integer; Begin For x:=1 to 100 do Begin If x mod 2 =0 then y:=2*x else y:=2+x; Writeln(x,y); End; End. |
4.2 |
С помощью оператора Case |
Program P4; Var x,y:integer; Begin For x:=1 to 100 do Begin Case x mod 2 of 0: y:=2*x; 1: y:=2+x; end; Writeln(x,y); End; End. |
5. |
Отладка и получение результатов |
Выполнить самостоятельно |
ФУНКЦИЯ И ПРОЦЕДУРА
Функции и процедуры представляют собой важный инструмент Турбо Паскаля, позволяющий писать хорошо структурированные программы.
Функции и процедуры должны быть описаны в разделе описания, обращение к ним производится, как правило, из тела основной программы.
Описание функций и процедур включает заголовок и основную часть описания.