- •1.Понятие и виды информации. Единицы измерения информации.
- •2.Эвм как средство обработки информации. Структурная схема и принципы функционирования эвм.
- •3. Программное обеспечение персонального компьютера. Структура
- •4.Понятие алгоритма. Способы задания алгоритмов.
- •5.Структура программы на Турбо Паскаль
- •6.Понятие типа данных в Турбо Паскаль
- •7.Целый тип.
- •11.Приоритет операций
- •13.Условный оператор.
- •Оператор условного перехода
- •Основные математические функции
- •14.Оператор перехода. Метки и операторы перехода
- •15. Вход-выход. Ввод данных
- •Вывод данных
- •16.Оператор варианта.
- •17.Ограниченный тип.
- •18.Перечисляемый тип.
- •19.Оператор цикла с параметром for. Циклы
- •Арифметические циклы
- •Итерационные циклы с предусловием
- •20.Оператор цикла с постусловием. Циклы
- •Итерационные циклы с постусловием
- •21.Оператор цикла с предусловием.
- •Итерационные циклы с предусловием
- •22.Точность вычислений.
- •23.Одмерномерный массив. Массивы
- •24.Многомерный массив.
- •25.Строковый тип. Строковый тип данных
- •Процедуры и функции для работы со строками
- •26.Внешний файл.
- •Особенности обработки текстовых файлов.
- •27.Операции над файлами.
- •28.Множественный тип.
- •29. Подпрограммы Процедуры и функции
- •Локальные и глобальные идентификаторы
- •30,31.Механизм подпрограмм. Описание и вызов процедур и функций
- •32.Рекскурсия
- •33.Модуль.
14.Оператор перехода. Метки и операторы перехода
Можно теоретически показать, что рассмотренных операторов вполне достаточно для написания программ любой сложности. В этом отношении наличие в языке операторов перехода кажется излишним. Более того, современная технология структурного программирования основана на принципе «программировать без GOTO»: считается, что злоупотребление операторами перехода затрудняет понимание программы, делает ее запутанной и сложной в отладке.
Тем не менее, в некоторых случаях использование операторов перехода может упростить программу.
Оператор перехода имеет вид:
GOTO <метка>.
Здесь GOTO - зарезервированное слово (перейти [на метку]); <метка> - метка.
Метка в Турбо Паскале - это произвольный идентификатор, позволяющий именовать некоторый оператор программы и таким образом ссылаться на него. В целях совместимости со стандартным языком Паскаль в языке Турбо Паскаль допускается в качестве меток использование также целых чисел без знака.
Метка располагается непосредственно перед помечаемым оператором и отделяется от него двоеточием. Оператор можно помечать несколькими метками, которые в этом случае отделяются друг от друга двоеточием. Перед тем как появиться в программе, метка должна быть описана. Описание меток состоит из зарезервированного слова LABEL (метка), за которым следует список меток:
label
loop, 1b1, 1b2;
begin
.......
goto 1b1;
.......
loop: ......
.......
1b1:1b2: ......
........
goto 1b2;
.......
Пример
label 1;
begin
...
goto 1;
...
1: WriteLn('Переход к метке 1');
end.
Действие оператора GOTO состоит в передаче управления соответствующему меченному оператору.При использовании меток необходимо руководствоваться следующими правилами:метка, на которую ссылается оператор GOTO, должна быть описана в разделе описаний и она обязательно должна встретиться где-нибудь в теле программы;метки, описанные в процедуре (функции), локализуются в ней, поэтому передача управления извне процедуры (функции) на метку внутри нее невозможна.Пустой оператор не содержит никаких действий, просто в программу добавляется лишняя точка с запятой. В основном пустой оператор используется для передачи управления в конец составного оператора.
15. Вход-выход. Ввод данных
Для ввода исходных данных чаще всего используется процедура ReadLn:
ReadLn(A1,A2,...AK);
Процедура производит чтение К значений исходных данных и присваивает эти значения переменным А1, А2, ..., АК.
При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке Паскаль недопустимо.
Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter.
Не допускается разделение вводимых чисел запятыми!
Вывод данных
Для вывода результатов работы программы на экран используются процедуры:
Write(A1,A2,...AK);
WriteLn(A1,A2,...AK);
Первый из этих операторов производит вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор, в отличие от первого, не только производит вывод данных на экран, но и производит переход к началу следующей экранной строки. Если процедура writeln используется без параметров, то она просто производит пропуск строки и переход к началу следующей строки.
Переменные, составляющие список вывода, могут относиться к целому, действительному, символьному или булевскому типам. В качестве элемента списка вывода кроме имен переменных могут использоваться выражения и строки.
Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде символов, логического типа - в виде логических констант TRUE и FALSE.
Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода. В этом случае элемент списка вывода имеет вид А:К, где А - выражение или строка, К - выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Если выводимое значение не помещается в ширину поля К, то для этого значения будет отведено необходимое количество позиций.
Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой.
Пример записи операторов вывода:
var rA, rB: Real;
iP,iQ:Integer;
bR, bS: Boolean;
chT, chV, chU, chW: Char;
begin
. . .
WriteLn(rA, rB:10:2);
WriteLn(iP, iQ:8);
WriteLn(bR, bS:8);
WriteLn(chT, chV, chU, chW);
end.
