Ввод-вывод в Паскале.Процедуры модуля CRT

### Конспект урока | Вопросы самопроверки | Задания на дом | Практикум | Тест

### Рассмотрим пример: программa нахождения суммы и произведения 3 введенных с клавиатуры целых чисел.

#### Program summa;
Var a,b,c,sum,proizv:integer;
Begin
Write (‘Введите 3 целых числа’);
Readln(a,b,c);
Sum:=0; proizv:=0;
Sum:=a+b+c;
Proizv:=a*b*c;
Writeln (‘Сумма введенных чисел будет =’,sum);
Writeln(‘Произведение введенных чисел будет =’,proizv);
End.

### Ввод данных с клавиатуры в Турбо Паскале осуществляется с помощью процедур READ и READLN.

### Формат записи:

### 1.Read (имена переменных);

### Например:

### READ(a,b,c); READ(max);

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

2.Readln(имена переменных);

### Например:

### Readln(a,b,c); Readln(max);

#### При использовании данной процедуры после ввода данных курсор переходит на новую строку и следующий ввод или вывод будет осуществляться с новой строки.

### Вывод осуществляется с помощью процедур WRITE и WRITELN

### Формат записи:

### 1.WRITE ('текст',имена переменных:m:n);
WRITE (имена переменных:m:n);

### Например:

### WRITE('произведение чисел=',proizv:8:2); WRITE(max:8:3,min:5:2);

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

2.WRITELN('текст',имена переменных:m:n); WRITELN(имена переменных:m:n);

### Например:

### WRITELN('произведение чисел=',proizv:8:2);WRITELN(max:8:2,min:6:2);

#### При использовании данной процедуры после вывода данных курсор переходит на новую строку и следующий ввод или вывод будет осуществляться с новой строки.

#### Эти процедуры работают так же, как и процедуры ввода.
Параметры m и n определяют формат вывода. Для переменных целого типа указывается лишь параметр m, для переменных вещественного типа – могут быть указаны оба параметра, в зависимости от нужного формата вывода, для символьных, строковых только m. По умолчанию вывод осуществляется в поле размером, определяемым типом переменной.

#### Процедуры модуля CRT.

#### В составе Турбо Паскаля есть специальный модуль с именем CRT, в котором располагаются процедуры и функции для оформления вывода данных.

#### Процедуры:

#### CLRSCR(clear screen)- гашение экрана (очистка экрана вывода).
GOTOXY(m,n) - установка курсора в позицию m строки n. Левый верхний угол (1,1).
TEXTBACKGROUND(с) - установка цвета фона; с-константа, определяющая цвет (цвет от 0 до 7).
TEXTCOLOR(c) - установка цвета шрифта; с может принимать значения от 0 до 7.
DELINE - удаление (стирание строки), в которой находится курсор. Все троки ниже удаленной сдвигаются на одну строку вверх.
INSLINE - - добавление пустой строки в позицию курсора, все строки за курсором сдвигаются на строку вниз
DELAY(n) - приостановка выполнения программы на n миллисекунд.
SOUND(n) - запуск звукогенератора с частотой тона n Гц.
NOSOUND - отключение звукового сигнала.

#### Функции:

#### KEYPRESSED - значение функции может принимать два значения: TRUE или FALSE. Значение TRUE, если в буфере обмена нет ни одного символа(считывание одного символа с клавиатуры), и FALSE – в противном случае READKEY.
READKEY- - ввод символа с клавиатуры, без отображения их на экране. Наиболее часто встречающаяся конструкция – переменная:=readkey;.

#### 1. Какие процедуры предусмотрены для передачи в программу данных, вводимых с клавиатуры?
2. Какие основные процедуры предусмотрены для вывода информации в текстовом режиме?
3. Каково назначение модуля CRT?
4. Какая процедура позволяет вывести текст в точно заданное место на экране?
5. Какие процедуры позволяют задавать цветовое оформление вывода (цвет фона и цвет символа)?
6. какие процедуры удаляют и добавляют строку?
7. Как изменится выполнение программы при использовании процедур DELAY(n), Sound(n)?

#### Задача 1.
1. Загрузить систему Турбо Паскаль.
2.Загрузить в редактор системы программу PERIM;
3. Просмотреть текст программы и выяснить, что она делает;
4. Запустить программу на выполнение;
5. Внимательно посмотреть на результат вывода;
6. Выйти в редактор и:
А) после Begin вставить процедуру gotoxy(25,5);
Б) в процедуре Writeln,выводящей на экран значение периметра, изменить запись p на p:7:2;
В) запустить на выполнение и выяснить, что изменилось в работе программы.

#### Задача 2.
1. Считать программу Dvij;
2. Запустить на исполнение;
3. Пронаблюдать выполнение;
4. После возвращения в редактор изменить значение параметра в процедуре Sound с 400 на 800, значение параметра в процедуре Delay со100 на 50;
5. Вновь запустить программу на исполнение;
6. Проанализировать, как повлияли изменения на работу программы.