Консольное приложение на Delphi

Консоль — это монитор и клавиатура, рассматриваемые как единое устройство.

Консольное приложение — программа, предназначенная для работы в операционной системе MS-DOS (или в окне DOS), для которой устройством ввода является клавиатура, а устройством вывода — монитор, работающий в режиме отобра-жения символьной информации (буквы, цифры и специальные знаки).

Консольные приложения удобны как иллюстрации при рассмотрении общих вопросов программирования, когда надо сосредоточиться на сути проблемы, а также как небольшие утилиты "для внутреннего потребления".

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

 

Инструкции write и writeln

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

 

Например: 

1.write(Summa);
2.write('Результат вычислений'];
3.wtite('Корни уравнения. xl=', xl,' х2=', х2);

 

После имени переменной через двоеточие можно поместить описание (формат) поля вывода значения переменной. Для переменной типа integer формат — это целое число, которое задает ширину поля вывода (количество позиций на экране).

Например, инструкция

 

write(d,5);

 

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

Например, если значение переменной ко1 типа integer равно 15, то в результате выполнения инструкции

 

write('Всего изделий:', Ко1,5);

 

на экран будет выведено:

Всего изделий: 15

Для переменных типа Real формат представляет собой два целых числа, разделенных двоеточием. Первое число определяет ширину поля вывода, второе — количество цифр дробной части числа. Если задать только ширину поля, то на экране появится число, представленное в формате с плавающей точкой.

Например, пусть переменные x1 и х2 типа real имеют значения 13.25 и -0.3401, тогда в результате выполнения инструкции

 

write (''x1=',x1:5:2,' х2=',х2:12)

 

на экран будет выведено:

 

xl=13.25 х2=-3.430100Е-01

 

Если ширины поля, указанной в формате, недостаточно для вывода значения переменной, то выводится число в формате с плавающей точкой и десятью цифрами после запятой (все поле вывода в этом случае занимает 17 позиций).

После выполнения инструкции write курсор остается в той позиции экрана, в которую он переместился после вывода последнего символа, выведенного этой инструкцией. Следующая инструкция write начинает вывод именно с этой позиции. Например, в результате выполнения инструкций

 

1.х:=-2.73;
2.write (' Значение перем');
3.write('енной:');
4.write('х=');
5.write(х:6:5);

 

на экран будет выведено:

Значение переменной: х=-2.73000

Инструкция writein отличается от инструкции write только тем, что после вывода сообщения или значений переменных курсор переводится в начало следующей строки. Например, если значением переменной xi является число -3.561, а значением переменной х2 — число 10.345, то результатом выполнения инструкций

 

writein('Значения корней уравнения:1);
writeln('xl=',x:7:3);
writeln('x2=',xr7:3);

 

на экран будет выведено:

Значения корней уравнения:

 

xl=-3.5610

х2= 10.345


 

 

Инструкция read предназначена для ввода с клавиатуры значений перемен-
ных (исходных данных). В общем виде инструкция выглядит следующим
образом:

 Инструкции read и readln

Инструкция read предназначена для ввода с клавиатуры значений переменных (исходных данных). В общем виде инструкция выглядит следующим образом: 

 

read (Переменная1, Переменная2, . . . ПеременнаяN)

 

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

Приведем примеры записи инструкции read: 

 

read (a);
read(Cena,Kol);

 

При выполнении инструкции read происходит следующее: 

  1. Программа приостанавливает свою работу и ждет, пока на клавиатуре будут набраны нужные данные и нажата клавиша .
  2.  После нажатия клавиши введенное значение присваивается переменной, имя которой указано в инструкции.

 Например, в результате выполнения инструкции

 

read(Temperat);

 

 и ввода с клавиатуры строки 21, значением переменной Temperat будет число 21.

 Одна инструкция read позволяет получить значения нескольких переменных. При этом вводимые числа должны быть набраны в одной строке и разделены пробелами. Например, если тип переменных а, ь и с — real, то в результате выполнения инструкции read (а,ь, с),- и ввода с клавиатуры строки: 

4.5 23 0.17

 переменные будут иметь следующие значения: а = 4,5; b = 2 3 ,0 ; с = 0,17. Если в строке набрано больше чисел, чем задано переменных в инструкции read, то оставшаяся часть строки будет обработана следующей инструкцией read. Например, в результате выполнения инструкций

 

read (А, Б) ; read(С);

 

 и ввода с клавиатуры строки

10 25 18

 переменные получат следующие значения: А = 10, в = 25. Инструкция read ( С ) ; присвоит переменной с значение is. Инструкция raadln отличается от инструкции read тем, что после выделения очередного числа из введенной с клавиатуры строки и присваивания его последней переменной из списка инструкции readin, оставшаяся часть строки теряется, и следующая инструкция read или readin будет требовать нового ввода.

Например, в результате выполнения инструкции 

 

1.readin(A,B);
2.read(С);

 

и вводе с клавиатуры строки

10 25 18

переменные получат следующие значения: А = ю, в = 25. После чего программа будет ожидать ввода нового числа, чтобы присвоить его переменной с. Перед каждой инструкцией read или readin следует располагать инструкцию write, для того чтобы подсказать пользователю, какие данные ожидает от него программа. Например, фрагмент программы вычисления стоимости покупки может иметь вид:

 

1.writeln('Введите исходные данные.');
2.write('Цена изделия:');
3.readln (Cena) ;
4.write('Количество в партии:');
5.readln(Kol);
6.write('Скидка:');
7.readln(Skidka);

 

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

 

dle

Помоги проекту! Расскажи друзьям об этом сайте: