Обучающие курсы:

Обучение профессии "Разработчик C#" + стажировка в Mail.ru
Обучение профессии "Разработчик Python" + трудоустройство
Обучение профессии "Веб-разработчик" + стажировка в Mail.ru


Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Ввод и вывод данных

Заносить данные в ячейки памяти можно не только оператором присваивания, но и путем непосредственного ввода с клавиатуры. Это удобно тем, что в программу при каждом запуске можно вводить разные начальные значения, что добавляет ей универсальности.

Вводим переменные с клавиатуры

Пример 2.8. Ввод с клавиатуры значения переменной N

program Inp;
uses Crt;
var
N: integer;
begin
ClrScr;
write('Введите число с клавиатуры:');
readln(N): { Здесь программа приостановится и будет ожидать ввода с клавиатуры. Наберите на клавиатуре число, например 153, и нажмите клавишу Enter}
writeln('Вы ввели число ', N);
readln { Это оператор пустого ввода. Здесь программа опять приостановится и будет ожидать нажатия клавиши Enter. За это время вы успеете просмотреть вывод на экране. Этот прием мы рекомендуем использовать, чтобы не нажимать Alt+F5 после окончания работы программы }
end.

 

Красивый вывод на экран

Рассмотрим еще одну задачу: задать с клавиатуры цвет фона (экрана), символов и координат для вывода текста, а затем вывести текст в окно с заданными координатами.
Продумаем алгоритм решения данной задачи (рис. 2.9).

 

Рис. 2.9. Алгоритм решения задачи из примера 2.9

 

Пример 2.9. Красивый вывод текста
program Inp_Co1or;
uses
Crt; { Подключение библиотечного модуля Crt }
var
{ Опишем переменные, где будут храниться цвет экрана – С11, и цвет выдаваемых символов - С12 }
C11.C12; 0..15; { 0..15 - этот тип для переменных называется интервальным. В данном случае значения переменных могут меняться в интервале от 0 до 15. Здесь мы имеем отрезок (интервал) базового типа integer. Палитра цветов лежит именно в этом интервале }
X.Y: integer; { Для хранения координат }
begin
{ Блок 1: }
ClrScr;
{ Ниже следует вызов процедуры Window(Xl,Yl,X2,Y2) из модуля Crt, которая определяет на экране текстовое окно. (X1,Y1) - координаты верхнего левого угла окна, (X2,Y2) - координаты нижнего правого угла }
Window(20,5,60,20);

{ Блок 2: }
write('Введите цвет для экрана:');
readln(C11); { Здесь работа программы приостанавливается и ожидается ввод номера цвета экрана в переменную С11. Во время работы программы следует ввести число и нажать Enter }

{ Блок 3: }
write('Введите цвет для символов;');
readln(C12); { Ожидается ввод номера цвета символов в переменную С12. Во время работы программы следует ввести число и нажать Enter }

{ Блок 4: }
TextBackGround(C11); { Выбор фонового цвета }

{ Блок 5: }
TextColоr(С12); { Выбор цвета выводимых символов }

{ Блок 6: }
writeln('Введите координаты X и Y');
readln(X,Y);' { Ожидается ввод координат для выводимого текста. Необходимо ввести два числа (координаты) через пробел и нажать Enter. Помните, что координаты внутри текстового окна отсчитываются от его левого верхнего угла. В нашем окне 16 строк и 41 столбец}

{ Блок 7: }
ClrScr; { Функция очистки экрана в данном случае очистит не весь экран, а только заданное текстовое окно }

{ Блок 8: }
GoToXY(X,Y);{ Позиционирование курсора в точку с координатами X,Y }

{ Блок 9: }
Writeln(‘Мы отлично вводим с клавиатуры!');
readln { Этот "пустой" оператор readln задерживает нас в экране пользователя. Возврат в среду Паскаль происходит после нажатия Enter }
end.

 




 

Комментарии:

2011-07-31 ответил Так будет лучше

Так будет лучше. А то слишком рано цвет меняет. program Inp_Color; uses Crt; var C11,C12:0..15; X,Y:Integer; begin ClrScr; Window(4,4,40,10); Write('Vvedite cvet ekrana'); Readln(C11); Write('Vvedite cvet bukv'); Readln(C12); Write('Vvedite X i Y'); Readln(x,y); TextBackGround(C11); TextColor(C12); ClrScr; GoToXY(x,y); Writeln('My SUPER!!'); Readln end.



2012-11-09 ответил Виго

Спасибо, ваш курс мне зздорово помог!



2013-10-15 ответил Саша

всё получается, но лично у меня пишет "функция window не реализована" не знаю почему?



2013-11-08 ответил Grizzly

Здравствуйте, поделитесь советом тем кто с толкнулся с тем что цвет не меняется. Ввожу цвет фона, цвет текста и координаты.Выходит финальный текст, все остается в стандартном цвете. За помощь большое спасибо.



2013-12-30 ответил Денис

Спецом так много ошибок в коде шоб новички парились и сами решали проблемы?)



2015-05-10 ответил Andrew116IQ

Спасибо, огромное! Вы лучшие!



2015-05-14 ответил Karyn

хорошо придумали с ошибками=)



2017-03-29 ответил Aleks

У меня так же на PascalABC.NET Пишет что модуль Crt.window не реализовано что это за проблема? кто сталкивался подскажите...




Добавить свой комментарий:


Введите значение:
 









   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru