Выбрать главу

Оператор ввода – read, readln. Оператор read при чтении данных с консоли используется крайне редко, в основном используется оператор readln. Параметры оператора – только переменные и только стандартных типов, возможно использование оператора вообще без аргументов для создания ситуации ожидания нажатия клавиши Enter. По оператору readln программа приостанавливает свою работу, ожидая ввода данных от пользователя. Пользователь набирает желаемые значения переменных, разделяя их пробелами (или Enter) и нажимает Enter. Оператор интерпретирует введенные символы, переводя их во внутреннее (машинное) представление соответствующих переменных. Если это не удается (например, вместо целого числа введены буквы), программа аварийно завершает свою работу.

Пример: readln (a,b);

Недопустимо : readln (a+3);

Для того чтобы пользователь знал что «хочет» ввести программа, полезно перед оператором readln выводить подсказку с помощью оператора write или writeln.

Например:

write ('Введите количество учеников в классе ');

readln (n);

Обратите внимание на пробел перед вторым апострофом. Он сделан для того, чтобы ввод пользователя отделялся от подсказки.

Встроенные функции – в языке Pascal предусмотрено большое число различных встроенных функций. Функции можно применять в выражениях, аргумент(ы) функции всегда заключаются в скобки, например: x:=x-abs (x). Функции требуют аргументы определенных типов (например, целого типа) и возвращают значение также определенного типа (может не совпадать с типом аргумента). Ниже приведен список арифметических функций, имеющих целочисленный аргумент .

Функция

Описание

sqr(n)

Возвращает квадрат аргумента. Необходимо помнить о диапазоне возвращаемого значения.

abs(n)

Возвращает модуль (абсолютное значение) числа.

pred(n)

Возвращает значение, на единицу меньшее аргумента.

succ(n)

Возвращает значение, на единицу большее аргумента.

odd(n)

Возвращает TRUE, если аргумент нечетный, иначе – FALSE

even(n)

Возвращает TRUE, если аргумент четный, иначе – FALSE

chr(n)

Возвращает символ (тип char) с кодом n.

random(n)

Возвращает случайное число в диапазоне от 0 до n-1.

- 7 -

Задание №1

1. Записать следующие выражения на языке Pascal, считая все переменные и действия целочисленными.

(a+b)(a–b)

(1+x)2

15x / y

2x•2y

2. Вычислить (в уме) значение выражения

(a+1)*(–a), если a=10

(x+1) div (x– 1), если x=2 и если x=4

2*4 mod 3

2*(4 mod 3)

–a*(– 1), если a=431

3. Напишите и выполните программу на компьютере

* Программа вводит одно число, и вычисляет его квадрат, вычитая из него удвоенное значение введенного числа.

* Программа вводит два числа, выводит сумму квадратов этих чисел минус их произведение.

* Программа вводит два числа, выводит сумму их модулей (см. функцию abs)

4. Напишите программу, которая решает следующую задачу

Оплата Интернета в школе состоит из двух частей: 100 долларов в месяц за доступ и 5 долларов в месяц за поддержку школьного сайта. Платеж можно делать независимо за любое количество месяцев за доступ и за поддержку сайта. Напишите программу, которая позволяла бы вводить отдельно количество оплачиваемых месяцев для доступа и поддержки и выводила бы сумму оплаты.

- 8 -

Тема №2 Использование модуля CRT

Язык Паскаль имеет специальную библиотеку работы с экраном в текстовом режиме. Она называется CRT[5]. Эта библиотека содержит набор подпрограмм, позволяющих задавать цвет выводимых букв, цвет фона, устанавливать курсор в желаемую позицию. В текстовом режиме считается, что окно содержит 25 строк по 80 колонок. В каждой позиции может быть один символ (буква, цифра, специальные знаки). Графические объекты (прямые, окружности и т.п.) в текстовом окне не допустимы. Модуль CRT эмулирует текстовый терминал первых персональных компьютеров.

Подключение библиотеки к программе осуществляется предложением Uses:

Program Card;

Uses CRT; { Это предложение вставляется сразу после Program }

Далее могут идти описания переменных, затем begin и тело программы.

Рассмотрим использование подпрограмм этой библиотеки на примере создания заставки программы.

Program Card;

Uses CRT; { Подключить модуль CRT }

begin

ClrScr; { Очистить экран }

TextColor (White); { Установить белый цвет букв }

TextBackGround (Blue); { Установить синий цвет фона }

GotoXY (36,13); { Поставить курсор в 36 колонку, 13 строку }

write (' Привет '); { Вывести текст }

ReadKey; { Ожидать нажатия любой клавиши }

end.

Наберите текст этой программы и выполните её.

Разберем действия отдельных процедур:

* ClrScr – очищает экран или текущее окно (от англ. Clear Screen), закрашивая его текущим цветом фона, установленным процедурой TextBackGround. По умолчанию – цвет экрана белый.

* TextColor (цвет) – устанавливает текущий цвет букв, который будет использоваться операторами write и writeln. По умолчанию используется светло-серый цвет букв.

* TextBackgroud (цвет) – устанавливает текущий цвет фона, который будет использоваться операторами write и writeln.

* GotoXY (колонка, строка) – переводит курсор в указанную позицию; вывод, осуществляемый последующим оператором write или writeln будет начинаться с этой позиции. Обычно экран в текстовом режиме содержит 80 колонок и 25 строк.

* ReadKey – ожидание нажатия на любую клавишу (далее мы рассмотрим другое применение этой подпрограммы).

- 9 -

В качестве цвета может использоваться число от 0 до 15, но лучше пользоваться определенными в модуле CRT константами:

Таблица цветов

Black

Черный

DarkGray

Темно-серый

Blue

Синий

LightBlue

Светло-синий

Green

Зеленый

LightGreen

Светло-зеленый

Cyan

Небесно голубой

LightCyan

Ярко-голубой

Red

Красный

LightRed

Светло-красный

Magenta

Малиновый

LightMagenta

Светло-малиновый

Brown

Коричневый

Yellow

Желтый

LightGray

Светло-серый

White

Белый

вернуться

5

От английского Cathode Ray Tube – Электронно-лучевая трубка (ЭЛЧ)