Учебное пособие Основы программирования (начальный курс) Система программирования Турбо Паскаль







Основы программирования
(начальный курс)


Система программирования
Турбо Паскаль







Составитель А.В. Дейнекин

Редактор Ревенко М.А. Пр. ВГПУ




Мужичанская Средняя Школа
2012г.
Основы понятия

Алгоритм – это строго детерминированная (определённая, обусловленная) последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд.

Программа – это алгоритм, записанный на языке исполнителя,
(на «понятном» компьютеру языке программирования).

Назначение программирования – разработка программ управления компьютером с целью решения различных информационных задач.
Для составления программ существуют разнообразные языки программирования.
Компьютер – исполнитель, работает с определёнными данными, по определённой системе команд.
Любые данные (константы, переменные, значения функций) характеризуются своими типами.

Существуют три основных типа данных:
числовой – целочисленный, вещественный.
символьный – строковый и литерный.
логический.

Тип данных определяет:
формат представления данных в памяти компьютера.
множество допустимых значений, которые может принимать принадлежащая к выбранному типу переменная или константа.
множество допустимых операций, применяемых к этому типу.

Поэтому необходимо «чтобы компьютер понимал» переменные, какого типа используются в программе.
Для этого необходимо объявление типа переменных используемых в программе иначе «Паскаль» откажется выполнять программу, выведет на экран монитора ошибку в случае обнаружения не описанной переменной.





I Числовые типы данных

Целый тип данных:
Integer (интеджер) – целый.
- операции, используемые для работы с целыми переменными:
+; -; *;
div – деление нацело;
mod – нахождение остатка от деления нацело.
- функции, дающие вещественный результат:
Abs(x) – Абсолютная величина Х
Sqr(x) – Возведение Х в квадрат
Trunc(x) – Выделение целой части числа Х
Round(x) – Округление Х до целого числа

Int(x) – Выделяет целую часть вещественного числа Х

Вещественный тип данных:
Real (риэл) – вещественный.
- операции используемые для работы с переменными вещественного типа: +; -; *; /;
- функции, дающие вещественный результат:
sin(x) – Синус числа Х
cos(x) – Косинус числа Х
sin(x)/cos(x) – Тангенс числа Х
arctan(x) – Арктангенс числа Х
ln(x) – Натуральный логарифм числа Х
exp(x) – Экспонента числа Х
sqrt(x) – Корень квадратный числа Х
frac(x) – Выделяет дробную часть числа Х

Переменные
Переменные (имя переменной) – в программировании, как и в математике, обозначаются символическими именами называемые – идентификаторами (идентифицировать-обозначать). Имя каждой переменной уникально и не может меняться в процессе выполнения программы.
Именем переменной в Паскале может служить любая последовательность латинских букв, цифр и знака подчёркивания, не начинающаяся с цифры, содержащая до 255 символов, кроме пробела, знаков препинания, других символов.

Правильная запись: Неправильная запись:
A x velisch zzz polnaja_summa Ж 2as polhaja summa er&tu
Значениями переменных могут быть данные различных типов, тип переменной определяется типом данных, которые могут быть значениями переменной.
Значениями переменных числовых типов (Real, Integer, Long Int) – являются числа.

Для объявления типа переменной используется оператор (служебное слово) определения переменной VAR (вар) – переменная.

Синтаксис оператора описания переменных:
VAR (имя переменной) : (тип переменной);

С помощью одного оператора можно описать сразу несколько переменных.
(пример): VAR x, y : Integer;
shastnoe : Real;
оtvet : String;

Константы.
Переменные, значения которых не меняются в процессе выполнения программы, называются – константы

Синтаксис объявления констант:
CONST (имя константы) = (значение константы);

(пример):
CONST Pi = 3.14159;

Арифметические выражения.
Из переменных можно образовывать арифметические выражения.
В состав арифметических выражений могут входить кроме переменных, константы и числа.
Над переменными и числами могут производиться различные операции, а также математические операции, выраженные с помощью функций.
Порядок вычисления арифметических выражений соответствует общепринятому порядку выполнения арифметических операций, который может изменяться с помощью скобок.








Правила записи арифметических выражений на языке ПАСКАЛЬ:
Выражение должно быть записано в виде линейной цепочки символов. (2*х)/(y+3) ,а не 13 EMBED Equation.3 1415
Нельзя опускать знаки операций. (4*х, а не 4х).
Большие и сложные выражения нужно разбивать на несколько простых выражений, а повторяющиеся действия вычисляются отдельно.
В выражениях разрешается писать только круглые скобки, количество скобок не ограничено, в правильно записанном выражении число открывающих и число закрывающих скобок должно быть равным.
В десятичных дробях ставится точка . ,а не запятая , .
Аргументы функций записываются в круглых скобках ( ).

Структура программы на языке ПАСКАЛЬ.

Program <название программы>;
Var
<раздел описания> {описываются переменные, константы, процедуры, функции}
Begin {би’гин - начало}
<раздел операторов>;
End. {энд - конец}

Раздел операторов
Для задания действий над данными служит оператор (команда).
Набор допустимых операторов и их синтаксис чётко определён.
Не важно, какими буквами: заглавными или строчными и каким шрифтом записаны названия служебных слов и операторов
Пример: BEGIN или begin или bEgIn .
В конце каждого оператора ставится ; разделитель между операторами.
BEGIN читается (би’гин) – начало. Ставится в начале программы, чтобы компьютеру было видно, откуда она начинается.
END. (энд) – конец. С точкой ставится в конце программы, что бы компьютеру было видно где программа заканчивается.

Точкой с запятой ( ; ) необходимо отделять операторы друг от друга. Служебные слова BEGIN и END от операторов точкой с запятой отделять не нужно.

Оператор присваивания
Оператор присваивания используется для изменения значений переменных, в том числе и для вычислений по формулам.
Переменная может получить или изменить значение с помощью оператора присваивания, то есть оператор присваивает переменной значение или выражение.

Синтаксис оператора присваивания

<имя переменной> : = <значение или выражение>
пример: х := 6; z := x+y; x := x+y;
Слева может стоять только переменная, не число и не выражение. Оператор сначала смотрит или вычисляет, какое значение имеет правая часть, а затем присваивает это значение переменной.
Если правая часть содержит переменную, которой не присвоено значение, то ПАСКАЛЬ может подставить любое значение вместо переменной.

Оператор ввода данных

Ввод с клавиатуры во время работы программы исходных данных (значений переменных), т.е присвоение переменным значений, выполняется с помощью операторов READ и READLN.

Синтаксис оператора ввода
READLN (рид’лайн) – читай строку
READ (Рид) – читай.

READLN ( переменная1, переменная2);

Пример: READLN (dlinna, visota, schirina);
Вводимые значения заключаются в круглые скобки.

Оператор READLN или оператор READ приказывают компьютеру остановится и ждать, когда программист введёт с клавиатуры данные, после чего продолжить работу.
Если вводятся несколько данных, то они вводятся в той последовательности, в которой записаны переменные, которым присваиваются их значения, и разделяются знаком пробела. ПАСКАЛЬ воспринимает нажатие пробела как сигнал программиста о том, что закончен набор на клавиатуре одного числа и сейчас начнётся набор другого. После набора на клавиатуре последнего числа необходимо нажать клавишу ENTER в знак того, что ввод чисел для данного оператора закончен, и компьютер может продолжать работу. Направляет числа в память, в соответствующие ячейки и переходит к следующему оператору.
В принципе оператор присваивания ( := ) и оператор ввода (READLN и READ) делают одно и тоже, присваивают переменным значения. Однако программа с использованием оператора ввода (READLN и READ) гораздо универсальнее, если оператор присваивания ( := ) решает задачу с конкретными данными (числами), то оператор ввода (READLN и READ) решает задачу с любыми значениями данных (чисел) введённых с клавиатуры.
Оператор READLN может использоваться и без скобок READLN;
В таком случае, компьютер остановится и будет ждать, но не ввода какой-то информации, а просто нажатия клавиши ENTER. Таким образом, это просто оператор создания паузы в процессе выполнения программы.
НАПРИМЕР: выполнив программу, ПАСКАЛЬ торопится погасить экран с результатами решения задачи. Поэтому результат не возможно разглядеть. Оператор READLN поставленный после оператора вывода WRITELN, выводящего результат на экран, задаёт паузу. Во время этой паузы экран не гаснет, так как программа ещё не завершена до конца (END.) и можно посмотреть результаты. После этого нажатие клавиши ENTER позволяет компьютеру продолжить выполнение программы, то есть закончить её командой END. .

Оператор вывода данных

Вывод на экран монитора сообщений и значений переменных (результат) выполняется с помощью операторов вывода WRITE и WRITELN.
Синтаксис оператора вывода

WRITELN (райт’лайн) – пиши строку
WRITE (райт) – пиши.

1) WRITELN ( результат1, результат2); или
2) WRITELN ( выражение1, выражение2);
Выводимые значения заключаются в круглые скобки.

Пример:
1) WRITELN (ploschad, objm);
программа выведет на экран значение переменных 34 18
2) WRITELN (dlina*schirina, ploschad*visota);
программа подставит значения переменных, произведёт вычисления и выведет на экран результат 34 18

Правила записи и выполнения операторов WRITELN и WRITE одинаковые с одним исключением, после выполнения оператора WRITELN следующий оператор WRITELN или WRITE печатает свою информацию с начала следующей строки (при использовании WRITELN курсор переводится на новую строку), а после выполнения оператора WRITE продолжает печатать в той же строке.
Пример: WRITE(5) ; WRITE(8); на экране будет 58

WRITELN(5); WRITELN(8); на экране будет 5
8
Вывод чисел типа REAL
Переменные, описанные как REAL, ПАСКАЛЬ выводит на экран в экспоненциальном формате ( число 72 будет выведено как 7.20000000000000Е+0001 ).
Чтобы ПАСКАЛЬ выводил вещественные числа типа REAL в обычном виде необходимо записывать WRITELN (ploschad:10:3), а не WRITELN (ploschad).
Число 10 значит, что всё изображение числа не должно занимать больше 10 символов, включая: целую часть, дробную часть, знак числа, и десятичную точку, число 3 означает три знака после десятичной точки. Целая часть числа будет составлять 10 – (3 знака после запятой) – (1 знак числа) – (1 десятичная точка) = 5 знаков. Если целая часть меньше 5 знаков, то пробелы отображаться не будут, если больше 5 знаков, то целая часть числа всё равно будет печататься полностью.

Порядок составления программы:
Определить последовательность решения задачи - разработать алгоритм решения
( Программа - это инструкция по её решению, определить формулы её решения).
Определить количество используемых переменных и придумать имена переменных.
(Имя переменной должно говорить о её смысле. Чтобы и после какого-то времени можно было бы легко разобраться в программе, лучше писать schirina, а не Х ).
Определить тип используемых переменных и описать их.
Определить способ и задать исходные данные решения задачи – продумать интерфейс. (Используя оператор присваивания := или оператор ввода READLN).
Задать действия, которые надо проделать с исходными данными, чтобы получить результат.
Вывести на экран полученный результат.
( Используя операторы вывода WRITELN или WRITE).
Интерфейс пользователя
Некоторые приёмы, делающие программу более наглядной, простой для понимания и для работы с ней.
Когда программа запускается на выполнение, она делает паузу на операторе ввода и ждёт вводимых данных. Мы видим пустой экран монитора, на котором нет никаких обозначений, что от нас ждёт компьютер или какие данные мы должны ввести. То есть трудно догадаться, особенно с течением времени после создания программы или использованием её другим пользователем, что компьютер чего-то ждёт. Это не очень удобно, хорошо было бы, если на экране выводилось указание дальнейших действий. Это касается и вывода результатов. На пустом экране выводятся числа, не всегда понятно их значение.
Всё это означает, что у нашей программы неудобный интерфейс пользователя, то есть пользователю, применяющему нашу программу не удобно с ней работать.
Чтобы интерфейс стал более удобным, необходимо ввести новые элементы.

1) Перед выводом данных, вывести на экран указания к вводу данных, в форме текстовых констант (текст комментария заключённый в апострофы (кавычки)).
Синтаксис
WRITELN(комментарий – текстовая константа’);
Пример:
WRITELN (введите значение длинны, ширины и высоты’);
На экране во время паузы для ввода данных появится надпись: введите значение длинны, ширины и высоты.

2) Подобно выводятся пояснения к выводимому результату.
Синтаксис
WRITELN(комментарий ’,переменная, комментарий ’,переменная);
Пример:
WRITELN (площадь фигуры равна’, ploschad, ’объём фигуры равен’ , objm:10:3);
На экране будет выведен результат виде:
площадь фигуры равна 34 объём фигуры равен 18

3)В программе также могут использоваться комментарии взятые в фигурные скобки { комментарии}
Пример: ploschad := dlina *schirina; { нахождение площади фигуры}


Пример:
Программа с «неудобным» интерфейсом

program korobok;
var shirina, tol, ploshad : integer;
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
end.

Программа с «удобным» интерфейсом.

program korobok; {нахождение площади основания и объёма параллелепипеда}
var shirina, tol, ploshad : integer;
visota, objom : real;
begin
writeln('введите ширину, толщину, высоту');
readln(shirina, tol, visota);
ploshad:=shirina * tol;{нахождение площади основания}
objom:=ploshad * visota;{вычисление объема параллелепипеда}
writeln('площадь ',ploshad,' ','объём',objom:10:2);
readln
end.


program dialog;
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·('здравствуй, я компьютер, а тебя как зовут?');
readln(imya);
writeln('очень приятно, ',imya,'. Сколько тебе лет?');
readln(vozrast);
writeln('ого! целых ',vozrast,' лет! Ты уже совсем взрослый!')
end.



Линейные алгоритмические конструкции
Линейные программы
Программы с линейной структурой является простейшими и используются, как правило, для реализации обычных вычислений по формулам.
В линейной алгоритмической конструкции операторы выполняются последовательно друг за другом. При каждом выполнении такой программы она выполняется вся целиком, то есть выполняются все её операторы.
В линейных программах используются три оператора: оператор ввода, оператор присваивания, оператор вывода.

БЛОК-СХЕМА














ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ

PROGRAM <название программы>;
VAR <описание переменных>;

BEGI
READLN (ввод данных) ;

ОПЕРАТОР 1 ;
ОПЕРАТОР 2 ;
ОПЕРАТОР 3 ;
ОПЕРАТОР n ;

WRITELN (вывод результата) ;
END. Пример:
Найти гипотенузу и площадь прямоугольного треугольника, если известны катеты. ( Значения катетов вводятся с клавиатуры.)

PROGRAM poisk gipotenuzi I ploschadi;
VAR katet_1, katet_2, gipotenuza, ploschad : REAL;

BEGIN
WRITELN (введите значение катетов’);
READLN (katet_1, katet_2);
gipotenuza := sqrt ( sqr ( katet_1) + sqr ( katet_2));
ploschad := ( katet_1 * katet_2) / 2;
WRITELN (гипотенуза равна’,gipotenuza:5:2, ’площадь треугольника равна’ ,ploschad:5:2);
END.


Условные алгоритмические конструкции

Оператор «ветвление»
В алгоритмическую структуру «ветвление» в отличие от линейного алгоритма входит условие. В зависимости от выполнения или не выполнения, которого реализуется та или иная последовательность команд (операторов). Условием называется высказывание, которое может быть либо истинным, либо ложным.
Условие, записанное на формальном языке – называется логическим выражением. Логические выражения могут быть простыми и сложными. Сложное – это объединение простых условий по средствам логических операций (и, или, не).

Под ветвлением подразумевается ситуация, когда на основании проверки некоторых условий в программе реализуется один из нескольких заранее предопределённых путей решения задачи.

Синтаксис оператора.

IF <условие> THEN <оператор1> ELSE <оператор2>;

IF (иф) – если
THEN (зэн) – то
ELSE (элз) – иначе

После THEN и ELSE – стоять может только один оператор, (любой оператор ПАСКАЛЯ).
Перед ELSE точку с запятой ставить запрещено.

Под условием будем понимать арифметические выражения соединённые знаком сравнения ( <, >, =,<>, <=, >= ), или несколько выражений сравнения, соединенных знаками логических операций AND (и), OR (или), NOT (не). Условия, к которым применяются логические операции, заключаются в круглые скобки, пример: IF (a>b) and (a Если условие справедливо, то результатом будет логическая величина «истина» и выполнение программы продолжается по ветви «да» (по пути THEN (то)), в противном случае логическое выражение примет значение «ложь» и выполнение программы пойдёт по ветви «нет» (по пути ELSE (иначе)).


БЛОК СХЕМА
















ЯЗЫК ПРОГРАММИРОВАНИЯ
ПАСКАЛЬ

PROGRAM <название программы>;
VAR <описание переменных>;

BEGIN

IF <условие>

THEN <оператор 1>

ELSE <оператор 2>;
END.
Пример:
Найти большее из двух чисел. (Числа вводятся с клавиатуры).


PROGRAM bolschee iz dvug;
VAR a,b : REAL;

BEGIN
WRITELN (ведите 2 числа’) ; {пояснительная надпись}
READLN (a,b) ;

IF a>b {определение большего числа
THEN WRITELN(a) и вывод результата на экран}
ELSE WRITELN(b);

READLN; {установка паузы для просмотра результата}
END.









Условный оператор может быть записан и в краткой форме.

Синтаксис оператора «не полное ветвление»

IF <условие> ТHEN <оператор> ;

БЛОК СХЕМА

















ЯЗЫК ПРОГРАММИРОВАНИЯ
ПАСКАЛЬ

PROGRAM <название программы>;
VAR <описание переменных>;

BEGIN
WRITELN <ввод данных>;

IF <условие>

THEN <оператор 1>;

END.


Пример:
Введенное с клавиатуры число вывести на экран, если оно положительное и вывести его абсолютную величину (ABS) если число отрицательное.

PROGRAM bolschee iz dvug;
VAR a : REAL;
BEGIN
WRITELN (ведите число’) ; {пояснительная надпись}
READLN (a) ;

IF a<0 {определение знака числа}
THEN a := ABS (a) ; { значение числа берётся по модулю}
WRITELN (a); { вывод результата на экран}

READLN ; {установка паузы для просмотра результата}
END.

Если выбор необходимо сделать из 3 вариантов. Для этого используется схема вложенного ветвления. Где после THEN и ELSE может стоять ещё одно ветвление.
БЛОК СХЕМА



















ЯЗЫК ПРОГРАММИРОВАНИЯ
ПАСКАЛЬ

PROGRAM <название программы>;
VAR <описание переменных>;

BEGIN
WRITELN <ввод данных>;
IF <условие>
THEN
IF <условие>
THEN <оператор 1>
ELSE <оператор 2>

ELSE
IF <условие>
THEN <оператор 3>
ELSE <оператор 4>;
END. Пример: Найти большее из трёх чисел. (Числа вводятся с клавиатуры).

PROGRAM bolschee_iz_3;
VAR a,b,c :REAL;
BEGIN
WRITELN (введите три числа’);
READLN (a,b,c);
IF a>b
THEN
IF a>c
THEN WRITELN (a)
ELSE WRITELN (c)
ELSE
IF b>c
THEN WRITELN (b)
ELSE WRITELN (c);
READLN;
END. Существует неудобство от того, что после THEN и ELSE можно писать только один оператор.
В ПАСКАЛЕ есть средство превратить последовательность записанных друг за другом операторов формально в один оператор. Для этого последовательность операторов заключается между словами begin и end. Получившаяся конструкция называется – составным оператором.
Составной оператор используется в тех местах программы, в которые разрешёно использование только одного оператора.
Слова, составляющие пару THEN и ELSE, BEGIN и END записываются друг под другом.































Оператор «выбор».
Оператор «выбор» применяется для реализации ветвления со многими вариантами серий команд.
В структуру выбор в ходит несколько условий, проверка которых осуществляется в строгой последовательности их записи в команде выбора. При истинности одного из условий выполняется соответствующая последовательность команд.

Синтаксис оператора

CASE <переменная> OF {в случае, если переменная равна }
<значение переменной> : <оператор 1> ;
<значение переменной> : <оператор 2> ;
<значение переменной> : <оператор 3> ;
<значение переменной> : <оператор n> ;
ELSE <оператор n+1>;
END; {конец оператора CASE}

CASE (кейс) – случай {в случае если переменная равна}
OF (эв) – предлог

БЛОК СХЕМА

















ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ

PROGRAM название программы
VAR описание переменных

BEGIN
RЕADLN (ввод данных)
CASE переменная OF
Значение переменной : оператор 1;
Значение переменной : оператор 2;
Значение переменной : оператор 3;
ELSE оператор 4;
END ;
WRITELN (вывод результата);
END.


Пример:
По введённому номеру ноты вывести на экран её словесное название.

PROGRAM notnaj azbuka;
VAR nomer_noti : INTEGER ;
BEGIN
WRITELN (введите номер ноты’);
RЕADLN (nomer_noti);
CASE nomer_noti OF
1 : WRITELN (ДО’);
2 : WRITELN (РЕ’);
3 : WRITELN (МИ’);
4 : WRITELN (ФА’);
5 : WRITELN (СОЛЬ’);
6 : WRITELN (ЛЯ’);
7 : WRITELN (СИ’)
ELSE WRITELN (ТАКОЙ НОТЫ НЕТ’);
END ;
END.
В процессе исполнения оператора CASE компьютер по очереди сравнивает значение переменной со всеми значениями, перечисленными перед двоеточиями. Встретив совпадающее значение, он выполняет оператор, стоящий после двоеточия. На этом исполнение оператора CASE завершается. Если же совпадающего значения так и не нашлось, то выполняется оператор стоящий после слова ELSE. После ELSE может стоять цепочка операторов записанных через точку с запятой.
Если оператор CASE не найдёт совпадения с переменной, не выберет ни один из своих вариантов и при отсутствии ELSE, то он завершает свою работу, так ничего и не сделав.

У оператора CASE есть ограничения – переменная стоящая после слова CАSE должна быть порядкового типа (Integer, Long Int, Char).








Циклические алгоритмические конструкции
Циклические программы

Циклы позволяют многократно выполнять отдельный оператор или последовательность операторов, причём при этом нет необходимости записывать в тексте программы одинаковые операторы несколько раз.
То есть ЦИКЛ – главное средство заставить компьютер много раз сделать одно и тоже.
Циклы позволяют многократно выполнять отдельный оператор или последовательность операторов, причём при этом нет необходимости записывать в тексте программы одинаковые операторы несколько раз.

Цикл со счётчиком (с параметром):
Когда заранее известно, какое число повторений тела цикла необходимо выполнить, используется циклическая конструкция - цикл со счётчиком.
Счётчик это переменная величина, в которой что-либо подсчитывается.

Синтаксис конструкции цикл со счётчиком.

FOR <параметр цикла> := <выражение 1> TO <выражение 2> DO
<оператор> ;

FOR <фор> - для
TO <ту> - до
DO <ду> - делай
{для I изменяющегося от1 до 50 делай(операторы)}

Вариант использования «обратного» счётчика DOWNTO.

FOR <имя переменной> := <выражен1> DOWNTO <выражен2> DO
<оператор> ;

DOWNTO (даунту) – вниз до
{для I изменяющегося от 50 до 1 делай(операторы)}






БЛОК СХЕМА















ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ

PROGRAM название программы
VAR описание переменных

BEGIN
RIADLN (ввод данных);

FOR i:= (нач.зн) TO (кон.зн) DO

ОПЕРАТОР 1 ;
ОПЕРАТОР 2 ;
ОПЕРАТОР n ;
WRITELN (вывод результата);
END.


В операторе FOR обязательно указываются параметры:
Имя переменной – в которой хранится число повторений цикла (счётчик цикла – порядковая перечисляемая переменная).
Начальное значение или Выражение 1 – начальное значение для переменной цикла (счётчика), которое она получает при первом выполнении цикла.
Конечное значение или Выражение 2 – некоторое конечное значение (для переменной цикла) достигнув которое повторение цикла прекращается (условие завершение цикла).

В качестве переменной цикла должна выступать порядковая (перечисляемая) переменная типа INTEGER. Тип REAL не допустим.
Пример: FOR j := 1 TO 15 DO k:=k+1 ;
В начале выполнения цикла значение переменной счётчик (i) устанавливается равным начальному значению. При каждом проходе цикла переменная счётчик увеличивается на величину шага. Если она достигает величины, большей конечного значения, то цикл завершается и выполняется следующая за ним команда.

Выражение 1 и выражение 2 – произвольные выражения порядкового (целого) типа.
Пример: FOR j := a+b TO 2*S DO k:=k+1 ;
Вычисляется выражение1 и переменной цикла i присваивается его значение. Затем вычисляется выражение 2 и сравнивается с i. Если i> выражения 2, то оператор FOR завершает работу, так не чего и не сделав.

В противном случае выполняется оператор (составной оператор) стоящий после DO. После выполнения этого оператора значение i увеличивается на единицу и снова сравнивается с выражением 2.
Если i > выражения 2 то оператор FOR завершает работу, иначе снова выполняется оператор стоящий после DO, снова значение i увеличивается на единицу и так далее.
После DO может стоять только один оператор, по этому при необходимости используют составной оператор, заключённый в операторные скобки BEGIN и END.

Произвольные значения, хранящиеся изначально в переменных должны быть ”уничтожены” – обнулены. Поэтому мы присваиваем переменной обозначающей сумму значение ноль (summa:=0), а переменной обозначающей произведение значение единицы (proizvidenie:=1). Иначе в операции сложения при выполнении цикла будет участвовать произвольное значение переменной summa (proizvedenie ) т.е. любое произвольное число выбранное ПАСКАЛЕМ, а в повторном выполнении значение предыдущего сеанса работы.


Пример:
Написать 20 раз слово ИНФОРМАТИКА.

PROGRAM kopirovanie ;
VAR i : INTEGER ;
BEGIN
FOR i:= 1 TO 20 DO
WRITELN (ИНФОРМАТИКА’);
END.


Пример:
Найти сумму натуральных чисел от 1 до 20.
PROGRAM summa_schisel ;
VAR i , summa : INTEGER ;
BEGIN
summa = 0;
FOR i:= 1 TO 20 DO
summa := summa + i;
WRITELN (сумма 20 чисел равна’, summa);
END.



Циклы с пред и пост условием:
В ситуации, когда количество повторений цикла заранее не определёно, а определяется по ходу реализации циклического процесса, используются операторы с постусловием или предусловием.
Цикл с постусловием (оператор REPEAT):
Синтаксис конструкции цикл с постусловием.
REPEAT <оператор 1; оператор 2; ... оператор n;> UNTIL <условие>
REPEAT (рипит) - повторяй.
UNTIL (ан’тил) - до тех пор, пока не станет истинным условие.

Принцип работы оператора REPEAT - повторяй выполнение операторов, стоящих между словами REPEAT и UNTIL до тех пор, пока не станет истинным условие.
С начала компьютер по очереди выполняет операторы, стоящие после слова REPEAT, пока не дойдёт до слова UNTIL. После чего проверяет истинность условия, стоящего после UNTIL. Если условие ложно, то компьютер снова по очереди выполняет эти операторы и снова проверяет истинность условия и так далее.
Если условие оказывается истинным, то работа оператора REPEAT прекращается и компьютер переходит к выполнению следующего по порядку оператора.
Таким образом, инструкции, находящиеся между REPEAT и UNTIL, выполняется до тех пор, пока условие ложно (значение выражения равно FALSE).
Обратите внимание:
Инструкция цикла, между REPEAT и UNTIL, всегда будут выполнены хотя бы один раз.
Для того, чтобы цикл завершился, необходимо, чтобы инструкции цикла, находящиеся между REPEAT и UNTIL, изменяли значения переменных, входящих в выражение условие.






БЛОК СХЕМА

















ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ

PROGRAM название программы
VAR описание переменных

BEGIN
RIADLN (ввод данных);

REPEAT
ОПЕРАТОР 1 ;
ОПЕРАТОР 2 ;
ОПЕРАТОР n ;
UNTIL (условие)

WRITELN (вывод результата)
END. Пример:
Возведите число a в степень n (число и значение степени вводится с клавиатуры).
PROGRAM vozvedenie v stepen ;
VAR a : INTEGER ;
n : INTEGER ;
i : INTEGER ;
otvet : INTEGER ;
BEGIN
WRITELN (введите число a ’);
READLN (a);
WRITELN (введите значение степени n ’);
READLN (n);
otvet := 1;
i := 1;

REPEAT
otvet := otvet *a ;
i := i + 1 ;
UNTIL i > n ;
WRITELN (a , в степени , n , = , otvet);
END.

Цикл с предусловием (оператор WHILE):
Оператор WHILE - близнец оператора REPEANT, они почти равны по возможностям и почти одинаково выполняются.
Синтаксис конструкции цикл с постусловием.
WYILE <условие> DO <оператор>;
WHILE (вайл) - пока.
DO (ду) - делай.
Принцип работы оператора WHILE - пока истинно условие, делай (выполняй) оператор.
С начала компьютер проверяет истинность условия, стоящего после слова WНILE, если условие истинно, то выполняется оператор, стоящий после DO. Затем снова проверяется истинность условия и в случае истинности, снова выполняется этот оператор и так далее. Если условие ложно, то оператор WHILE прекращает свою работу и компьютер переходит к выполнению следующего оператора.
После WHILE может стоять только один оператор, но он может быть составным, по этому тело цикла у оператора WHILE, так же как и у оператора REPEAT, может состоять из многих операторов, заключённых между операторными скобками BEGIN – END.

БЛОК СХЕМА
















ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ

PROGRAM название программы ;
VAR описание переменных ;

BEGIN
RIADLN (ввод данных);

WHILE (условие) DO
ОПЕРАТОР 1 ;
ОПЕРАТОР 2 ;
ОПЕРАТОР n ;

WRITELN (вывод результата)
END.
Пример:
Возведите число a в степень n (число и значение степени вводится с клавиатуры).
PROGRAM vozvedenie v stepen ;
VAR a : INTEGER ;
n : INTEGER ;
i : INTEGER ;
otvet : INTEGER ;
BEGIN
WRITELN (введите число a ’);
READLN (a);
WRITELN (введите значение степени n ’);
READLN (n);
otvet := 1;
i := 1;

WHILE i <= n DO
BEGIN
otvet := otvet *a ;
i := i + 1 ;
END ;
WRITELN (a , в степени , n , = , otvet) ;
END.




Отличие операторов REPEAT и WHILE:
компьютер выходит из цикла оператора REPEAT тогда, когда условие истинно, а из цикла оператора WHILE - когда условие ложно;
в конструкции WHILE может ни разу не выполнится оператор, стоящий после DO, в конструкции REPEAT операторы, стоящие между REPEAT и UNTIL хотя бы раз выполняются;
в операторе REPEAT не надо использовать составной оператор, операторные скобки BEGIN – END;
при компиляции оператор WHILE даёт несколько более эффективную программу, чем оператор REPEAT.



Коротко о главном.
Программа с линейной структурой:
Программы с линейной структурой является простейшими и используются, как правило, для реализации обычных вычислений по формулам;
В программах с линейной структурой инструкции выполняются последовательно, одна за другой;
В программах с линейной структурой инструкции используются только операторы (команды): присваивания, ввода, вывода.
2. Ветвление(IF):
Конструкция IF используется для выбора одного из двух направлений дальнейшего хода программы (последовательности инструкций, которые должны быть выполнены);
Выбор последовательности инструкций осуществляется во время выполнения программы в зависимости от выполнения условия;
Условие - это выражение логического типа, которая может принимать одно из двух значений: TRUE (истина - условие выполняется) или FALSE (ложь - условие не выполняется);
При помощи логических операций AND (логическое «И») и OR (логическое «ИЛИ») из простых условий можно строить сложные.
3. Выбор (CASE):
Конструкция CASE используется для выбора одного из нескольких направлений дальнейшего хода программы (последовательности инструкций, которые должны быть выполнены);
Выбор последовательности инструкций осуществляется во время выполнения программы в зависимости от равенства значения переменной - селектора константе, указанной перед группой инструкций;
В качестве переменной - селектора можно использовать переменную порядкового типа: целого (INTEGER) или символьного (CHAR).
4. Цикл со счётчиком (FOR):
Конструкция FOR используется для организации циклов с фиксированным, определяемым во время разработки программы, числом повторений;
Количество повторений цикла определяется начальным и конечным значениями переменной - счётчика;
Переменная - счётчик должно быть порядкового типа: целого (INTEGER) или символьного (CHAR).
5. Цикл с постусловием (REPEAT):
Число повторений инструкций цикла REPEAT определяется ходом выполнения программы;
Инструкции цикла REPEAT выполняется до тех пор, пока условие, стоящие после слова UNTIL, ложно;
После слова UNTIL надо записывать условие завершения цикла;
Для завершения цикла REPEAT в теле цикла обязательно должны быть инструкции, выполнение которых влияет на условие завершения цикла;
Цикл REPEAT - это цикл с постусловием, то есть инструкции тела цикла будут выполнены хотя бы один раз;
Цикл REPEAT, как правило, используется для организации приближённых вычислений, задач поиска и обработки данных, вводимых с клавиатуры или из файла;
6. Цикл с предусловием (WHILE);
Число повторений инструкций цикла WHILE определяется ходом выполнения программы;
Инструкция цикла WHILE выполняется до тех пор, пока условие, записанное после слова WHILE, истинно;
После слова WHILE надо записывать условие выполнения инструкций цикла;
Для завершения цикла WHILE в теле цикла обязательно должны присутствовать инструкции, влияющие на условие выполнения инструкций цикла;
Цикл WHILE - это цикл с предусловием, то есть инструкции тела цикла вообще могут быть не выполнены;
Цикл WHILE, как правело, используются для организации приближённых вычислений, задач поиска и обработки данных, вводимых











Графический интерфейс системы программирования Turbo PASCAL .

Для запуска Турбо ПАСКАЛЯ необходимо запустить файл turbo.exe.

Основные режимы работы
Режим строки меню
Режим клавиш

Развернуть окно программы на весь экран

ALT + ENTER

Переход к режиму работы с помощью строки меню

F10 клавиши управления курсором
ALT + первая буква пункта меню

Создание новой программы
File Nev ENTER


Запуск, компиляция и выполнения программы
Run Run ENTER
CTRL + F9

Открытие окна вывода результата работы программы

ALT + F5

Переход из окна вывода результата в окно программы

ENTER

Сохранение файла на диске
File Save ENTER
F2

Сохранение нескольких программ на диске
Save All ENTER


Открыть хранящуюся на диске программу
File Open ENTER
F3

Переход между листами введённых программ

ALT + номер листа

Выход из среды ТУРБО-ПАСКАЛЬ
File Exit ENTER
ALT + X

Компиляция программы
Compile
ALT + F9

Справка
Help
F1

Отладочный режим

F4

Увеличение строки отладки на весь экран

F5

Смена окна редактора на отладочное

F6

Выделение фрагмента программы

SHIFT + перемещение курсора

Вырезать фрагмент
Edit Cut
CTRL + DELETE

Скопировать фрагмент
Edit Copy
CTRL + INSERT

Вставить фрагмент
Edit Paste
SHIFT + INSERT

Переход с русского языка на английский



Переход с английского языка на русский














13PAGE 15


13PAGE 14115



НАЧАЛО

ВВОД

КОМАНДА 1
КОМАНДА 2
КОМАНДА 3
-----------------
КОМАНДА N

ВЫВОД

КОНЕЦ

НАЧАЛО

ВВОД

УСЛОВИЕ

СЕРИЯ КОМАНД 1

СЕРИЯ КОМАНД 2

ВЫВОД

КОНЕЦ

НАЧАЛО

ВВОД

УСЛОВИЕ

СЕРИЯ КОМАНД


СЕРИЯ КОМАНД

ВЫВОД

КОНЕЦ

НАЧАЛО

ВВОД

УСЛОВИЕ

УСЛОВИЕ

СЕРИЯ КОМАНД 3

СЕРИЯ КОМАНД 4

УСЛОВИЕ

СЕРИЯ КОМАНД
1

СЕРИЯ КОМАНД
2

ВЫВОД

КОНЕЦ

КОНЕЦ

ВЫВОД

НАЧАЛО

ВВОД

УСЛОВИЕ
1

СЕРИЯ КОМАНД 1

УСЛОВИЕ
2

УСЛОВИЕ
3

СЕРИЯ КОМАНД 2


СЕРИЯ КОМАНД 3


СЕРИЯ КОМАНД 4


СЕРИЯ
КОМАНД


КОНЕЦ

ВЫВОД

НАЧАЛО

ВВОД

СЧЁТЧК

СЕРИЯ
КОМАНД


КОНЕЦ

ВЫВОД

НАЧАЛО

ВВОД

УСЛОВИЕ

СЕРИЯ
КОМАНД


КОНЕЦ

ВЫВОД

НАЧАЛО

ВВОД

УСЛОВИЕ