Turbo Pascal, страница 4
Описание файла
Документ из архива "Turbo Pascal", который расположен в категории "". Всё это находится в предмете "информатика" из 3 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика" в общих файлах.
Онлайн просмотр документа "Turbo Pascal"
Текст 4 страницы из документа "Turbo Pascal"
Write(‘Введите возраст ребенка’);
Readln(v);
If (v>=7) and (v<=16) then writeln(‘Принимаем в школу’)
else writeln (‘Не принимаем в школу’);
end.
Пример 2. Даны два числа. Меньшее из этих чисел заменить суммой данных чисел, большее - произведением.
Program sh;
Var x, y,s,p: integer;
Begin
Write(‘Введите 2 числа’);
Readln(x, y);
S:=x+y; p:=x*y;
If x>=y
then begin y:=s; x:=p; end
else begin x:=s; y:=p; end;
writeln(‘x=’, x);
writeln(‘y=’, y);
end.
Если оператор If обеспечивает выбор из двух альтернатив, то существует оператор, который позволяет сделать выбор из произвольного числа вариантов. Это оператор выбора Case. Он организует переход на один из нескольких вариантов действий в зависимости от значения выражения, называемого селектором.
Общий вид: Case k of
<const1>: <оператор1>;
<const2>: <оператор2>;
…..
<constN>: <операторN>
else <операторN+1>
end;
Здесь k – выражение-селектор, которое может иметь только простой порядковый тип (целый, символьный, логический). <const1>, …<constN> - константы того же типа, что и селектор.
Оператор Case работает следующим образом. Сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна значению селектора, то выполняется оператор, стоящий за словом else. Если же это слово отсутствует, то активизируется оператор, находящийся за границей Case, т.е. после слова end.
При использовании оператора Case должны выполняться следующие правила:
1. Выражение-селектор может иметь только простой порядковый тип (целый, символьный, логический).
2. Все константы, которые предшествуют операторам альтернатив, должны иметь тот же тип, что и селектор.
3. Все константы в альтернативах должны быть уникальны в пределах оператора выбора.
Формы записи оператора:
Селектор интервального типа:
Case I of
1..10 : writeln(‘число в диапазоне 1-10’);
11.. 20 : writeln(‘число в диапазоне 11-20’);
else writeln(‘число вне пределов нужных диапазонов’)
end;
Селектор целого типа:
Case I of
1 : y:= I+10;
2 : y:= I+20;
3: y:= I +30;
end;
Пример 1. Составить программу, которая по введенному номеру дня недели выводит на экран его название.
Program days;
Var day:byte;
Begin
Write(‘Введите номер дня недели’);
Readln(day);
Case day of
1: writeln(‘Понедельник’);
2: writeln(‘Вторник’);
3: writeln(‘Среда’);
4: writeln(‘Четверг’);
5: writeln(‘Пятница’);
6: writeln(‘Суббота’);
7: writeln(‘Воскресенье’)
else writeln(‘Такого дня нет’);
end; end.
Пример 2. Составить программу, которая по введенному номеру месяца выводит на экран название времени года.
Program m;
Var k:byte;
Begin
Write(‘Введите номер месяца’);
Readln(k);
Case k of
1, 2, 12: writeln(‘Зима’);
3, 4, 5: writeln(‘Весна’);
6, 7, 8: writeln(‘Лето’);
9, 10, 11: writeln(‘Осень’)
else writeln(‘Такого месяца нет’);
end; end.
Операторы повтора (цикла)
Если в программе возникает необходимость неоднократного выполнения некоторых операторов, то для этого используются операторы повтора (цикла). В языке Паскаль различают три вида операторов цикла: цикл с предусловием (while), цикл с постусловием (repeat) и цикл с параметром (for).
Если число требуемых повторений заранее известно, то используется оператор, называемый оператором цикла с параметром.
Оператор цикла с параметром имеет два варианта записи:
1) for <имя переменной> := <начальное значение> to <конечное значение> do
<тело цикла>
2) for <имя переменной> := <начальное значение> downto <конечное значение> do
<тело цикла>
Имя переменной – параметр цикла, простая переменная целого типа; <тело цикла> - операторы или оператор. Цикл повторяется до тех пор пока значение параметра лежит в интервале между начальным и конечным значениями. В первом варианте при каждом повторении цикла значение параметра увеличивается на 1, во втором - уменьшается на 1.
При первом обращении к оператору for вначале определяются начальное и конечное значения, и присваивается параметру цикла начальное значение. После этого циклически повторяются следующие действия.
1. Проверяется условие параметр цикла <= конечному значению.
2. Если условие выполнено, то оператор продолжает работу (выполняется оператор в теле цикла), если условие не выполнено, то оператор завершает работу и управление в программе передается на оператор, следующий за циклом.
3. Значение параметра изменяется (увеличивается на 1 или уменьшается на 1).
Если в теле цикла располагается более одного оператора, то они заключаются в операторные скобки begin … end;
Пример 1. Вывести на экран таблицу перевода из градусов по шкале Цельсия в градусы по Фаренгейту для значений от 15°С до 30°С с шагом в 1°С. Перевод осуществляется по формуле: F=C*1.8+32.
Program zf;
Var i:integer; f:real;
Begin
Writeln(‘Температура’);
For i:=15 to 30 do
Begin
F:=i*1.8+32;
Writeln(‘по Цельсию’, i, ‘по Фаренгейту’, f:5:2);
End;
End.
Пример 2. Вывести на экран натуральные числа от 1 до 9 в обратном порядке.
Program z;
Var i:integer;
Begin
For i:=9 downto 1 do
Writeln(i);
End.
Если число повторений заранее неизвестно, а задано лишь условие его повторения (или окончания), то используются операторы while и repeat. Оператор While часто называют оператором цикла с предусловием. Так как проверка условия выполнения цикла производится в самом начале оператора.
Общий вид: While <условие продолжения повторений> do
<тело цикла>;
Тело цикла – простой или составной оператор или операторы. Если операторов в теле цикла несколько, то тело цикла заключается в операторные скобки begin…end.
Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат – «истина», тело цикла выполняется и снова вычисляется выражение условия. Если результат–«ложь», происходят выход из цикла и переход к первому после while оператору.
Пример. Найти сумму 10 произвольных чисел.
Program z;
Const
N=10;
Var k, x, s: integer;
Begin
k:=0; s:=0; {k- количество введенных чисел}
while k < n do
begin
k:=k+1;
write(‘Введите число’);
readln(x);
s:=s+x;
end;
writeln(‘Сумма чисел равна’, s);
end.
Оператор цикла repeat аналогичен оператору while, но отличается от него, во-первых, тем, что условие проверяется после очередного выполнения операторов тела цикла и таким образом гарантируется хотя бы однократное выполнение цикла. Во-вторых, тем, что критерием прекращения цикла является равенство выражения константе true . За это данный оператор часто называют циклом с постусловием, так как он прекращает выполняться, как только условие, записанное после слова until, выполнится. Оператор цикла repeat состоит из заголовка, тела и условия окончания.
Общий вид: Repeat
<оператор>
. . . . .
<оператор>
until <условие окончания цикла>
Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. В любом случае этот цикл выполняется хотя бы один раз. Если условие не выполняется, т.е. результатом выражения является False, то цикл активизируется еще раз. Если условие выполнено, то происходит выход из цикла. Использования операторных скобок, в случае, если тело цикла состоит из нескольких операторов, не требуется.
Пример. Составить программу, которая вводит и суммирует целые числа. Если введено значение 999, то на экран выводится результат суммирования.
Program s;
Var x, s:integer;
Begin
S:=0;
Repeat
Write(‘Ввести число’);
Readln(x);
If x<>999 then s:=s+x;
Until x=999;
Writeln(‘Сумма введенных чисел’, s);
End.
Стандартные библиотечные модули
В систему Турбо Паскаль версии 6.0. и старше включены 8 модулей: System, Crt, Dos, Graph, Graph3, Overlay, Printer, Turbo3 и специализированная библиотека Turbo Vision. Модуль System подключается по умолчанию, поэтому в любой программе становятся доступными все его встроенные процедуры и функции (см главу 1.3.). Остальные модули должны подключаться с помощью зарезервированного слова uses с добавлением имени модуля. Например: uses Crt.
Рассмотрим кратко назначение каждого модуля.
System - сердце Турбо Паскаля. Подпрограммы, содержащиеся в нем, обеспечивают работу всех остальных модулей системы.
Crt - содержит средства управления дисплеем и клавиатурой компьютера.
Dos - включает средства, позволяющие реализовывать различные функции Dos.
Graph3 - поддерживает использование стандартных графических подпрограмм.
Overlay - содержит средства организации специальных оверлейных программ.
Printer - обеспечивает быстрый доступ к принтеру.
Turbo3 - обеспечивает максимальную совместимость с версией Турбо Паскаль 3.0.
Graph - содержит пакет графических средств.
Turbo Vision - библиотека объектно-ориентированных программ для разработки пользовательских интерфейсов.
На примере модуля Crt познакомимся поближе с работой встроенных процедур и функций. Он устанавливает режим работы адаптера дисплея, организует вывод в буфер экрана, регулирует яркость свечения символов и т.д. С момента подключения пользователю доступны все содержащиеся в нем стандартные средства. Рассмотрим некоторые из них.
§ Установка текстового режима
TextMode(Mode:integer);
Значение Mode равно 1 (40 / 25) или 3(80 / 25).
§ Очистка экрана
ClrScr – полностью очищает экран;
ClrEol – стирает все символы в строке, начиная с текущей позиции до конца строки;
§ Управление курсором
GotoXY(x,y) – перемещает курсор в позицию, заданную координатами x, y.
§ Управление цветом
TextColor(Color:byte) - установка цвета выводимых символов;
TextBackGround(Color) – цвет фона.
Чтобы добавить при выводе эффект мерцания, при установке цвета указывается Blink (16).
Пример. Вывести в центре экрана цветными символами слово «Привет» с эффектом мерцания.
Program primer;
Uses crt;
Begin
TextMode(3);
Clrscr;
Gotoxy(36,12);
Textcolor(5+16);
Write(‘Привет’);
End.
Процедуры
Для использования подпрограммы-процедуры необходимо сначала описать процедуру, а затем обращаться к ней (обращение к процедуре – отдельный оператор). Описание процедуры включает заголовок (имя) и тело процедуры. Заголовок состоит из зарезервированного слова procedure, имени процедуры и, заключенного в скобки, списка формальных параметров с указанием типа. Название «формальные» эти параметры получили в связи с тем, что в этом списке заданы только имена для обозначения исходных данных и результатов работы процедуры, а при вызове подпрограммы на их место будут поставлены конкретные значения. Тело процедуры – блок, по структуре аналогичный программе.
При создании программ, использующих процедуры, следует учитывать, что все объекты, которые описываются после заголовка в теле процедуры, называются локальными объектами и доступны только в пределах этой процедуры.