36581

Простые операторы ввода-вывода

Контрольная

Информатика, кибернетика и программирование

Эти операторы Турбо Паскаля обеспечивают простейшие формы ввода с клавиатуры и вывода на экран дисплея в текстовом режиме. К простым операторам ввода и вывода относятся операторы red redln write writeln реализующие так называемый потоковый вводвывод при котором ввод и вывод рассматриваются как непрерывный поток символов и строк протекающий через экран дисплея. На экране отображается последняя порция этого потока так что нижняя строка экрана всегда остается свободной для отображения очередной строки вывода вывод идёт в нижнюю строку...

Русский

2013-09-22

33.5 KB

0 чел.

Простые операторы ввода-вывода.

Эти операторы Турбо Паскаля обеспечивают простейшие формы ввода с клавиатуры и вывода на экран дисплея в текстовом режиме. Они относятся к числу часто используемых операторов, особенно в простых программах (у начинающих программистов). К простым операторам ввода и вывода относятся операторы read, readln, write, writeln, реализующие так называемый потоковый ввод-вывод, при котором ввод и вывод рассматриваются как непрерывный поток символов и строк, "протекающий" через экран дисплея. На экране отображается последняя порция этого потока так, что нижняя строка экрана всегда остается свободной для отображения очередной строки вывода (вывод идёт в нижнюю строку экрана). Простые операторы ввода-вывода хорошо приспособлены для ввода и вывода чисел и строк.

Операторы ввода read и readln. Синтаксическая структура этих операторов:

read( < список переменных >);| readln( < список переменных >);

< список переменных > ::= <переменная> { ,< переменная >} 

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

Набранная на клавиатуре последовательность символов накапливается в буфере клавиатуры и становится доступной процессору только после нажатия Еnter. До нажатия Enter можно вносить исправления в набранную последовательность, используя клавишу стирания предшествующего символа - "Забой". Выполнение операторов read и readln сопровождается эхо-повтором - отображением набираемых символов на экране дисплея.

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

Замечание Следует избегать использования оператора read для ввода строк и символов, особенно внутри циклов. Используйте в этих случаях оператор readln .

Операторы вывода write и writeln. Синтаксическая структура этих операторов: write( < список выражений вывода > );

writeln( < список выражений вывода >);

< список выражений вывода > ::= < выражение > { ,< выражение >} 

В операторах вывода допустимы выражения стандартных типов integer, real, char, string. В качестве выражения могут использоваться также константы и переменные указанных типов. Константы удобно использовать в операторах вывода для отображения на экран дисплея различных заголовков, запросов и другой постоянной информации пользовательского интерфейса.

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

Для элемента списка вывода типа integer или real можно указывать (после элемента) формат вывода, т.е. задавать количество выводимых цифр в целой и дробной части числа. Формат имеет следующую синтаксическую структуру:

< формат числа > ::= : < целый формат > [ : < дробный формат > ]

< целый формат > ::= < целое без знака >

< дробный формат > ::= < целое без знака >

Целый формат задает минимальное количество цифр в целой части (если действительная длина целой части числа меньше указанной в формате, то она дополняется нулями, а если больше - формат игнорируется). Дробный формат имеет смысл лишь для чисел типа real и задает количество цифр в дробной части (после точки), при этом при отсутствии формата число выводится в экспоненциальной форме, а если формат нулевой, то ни точка, ни дробная часть не выводятся.

Оператор writeln отличается лишь тем, что после его окончания осуществляется переход к новой строке экрана. Допускается использовать writeln без параметров, что эквивалентно переводу курсора в начало следующей строки.

Задача 4.2.6(19)

program Project19;

type mas=array[1..4,1..4 ] of Integer;

mass=array[1..4] of integer;

var a:mas;

b:mass;

i,j:Integer;

procedure p(x:mas; e:Integer; var y:integer);

var j,min:Integer;

begin

min:=x[e,1];

for j:=2 to 4 do

if x[e,j]<min then min:=x[e,j];

y:=Abs(x[e,e]-min);

end;

begin

for i:=1 to 4 do

for j:=1 to 4 do

read(a[i,j]);

for i:=1 to 4 do

begin

p(a,i,b[i]);

write(b[i],' ');

end;

 Readln;

Readln;

end.


 

А также другие работы, которые могут Вас заинтересовать

28628. Операторы с условиями 48 KB
  Композиция условий и операторов. Операторы условного перехода. Операторы итерационных циклов.
28629. Методика разработки простых программ 91 KB
  Разработка проекта программы на Турбо Паскале. Наиболее распространённое и устойчивое заблуждение среди начинающих осваивать программирование стремление немедленно писать текст программы по полученному заданию. Целесообразно поэтому считать процесс разработки программы многоэтапным процессом и придерживаться некоторой дисциплины при разработке даже относительно простых программ. Разработка проекта программы содержащего уточненную постановку задачи в терминах вход выход.
28630. Концепция типа данных 64.5 KB
  Пример программы с простыми типами и оператором выбора. Ранее мы познакомились с некоторыми стандартными типами данных: числовыми символьным строковым и булевским. Стандартные типы данных это лишь частный случай общей концепции типа данных Паскаля.
28631. Структурный тип - Массив 48.5 KB
  Понятие массива в Паскале. Описание массивов и доступ к элементам массива. Понятие массива в Паскале. Идея массива состоит в том чтобы объединить в одно целое фиксированное количество элементов одного и того же типа.
28632. Структурный тип - Строка 37 KB
  m] of char; где: m максимальная длина строки число диапазона 0 . Строки длины до 255 соответствуют типу string без указания длины строки. Нулевая позиция строки является специальной позицией в которой хранится текущая длина строки код ASCII представляющий длину строки. Доступ к компоненту строки символу строки осуществляется также как к элементу массива т.
28633. Структурный тип - Множество 45.5 KB
  Понятие о типе Множество в Турбо Паскале. Описание типа Множество и константымножества . Понятие о типе Множество в Турбо Паскале.
28634. Структурный тип - Запись 49.5 KB
  Запись как объединение неоднородных данных. Запись как объединение неоднородных данных. Объединение таких данных общий структурный типанкета затруднительно сделать в рамках массива или множества. Этот структурный тип специально введен для объединения любого конечного числа неоднородных данных.
28635. Структурный тип - Файл 48 KB
  Концепция файла в Паскале. Стандартные процедуры и функции работы с файлами. Особенности работы с типизированными файлами. Концепция файла в Паскале.
28636. Динамическая память и указатели 54 KB
  Все рассмотренные ранее типы данных (кроме типа file) представляли статические структуры. Память выделялась под переменные этих типов до выполнения программы, а размер выделяемой памяти определялся по описаниям соответствующих переменных (например, для переменной типа byte выделялся 1 байт оперативной памяти). Такая память является статической, поскольку её размер не может изменяться при выполнении программы.