Вторник, 19.03.2024, 06:27
Приветствую Вас, Гость |
Меню сайта
Наш опрос
Нужен ли форум на этом сайте?
Всего ответов: 1296
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0

Ввод и вывод в Паскале

      В этой статье мы поговорим о том как сделать ввод или вывод на языке Паскаль. В общем случае это означает, что он должен сообщать результат своей работы потребителю: пользователю-человеку или другой программе (например, программе управления принтером).
Мы не будем описывать здесь внутренние автоматические процессы, использующие сигналы непрерывно функционирующих программ, а сосредоточим внимание на взаимодействии программы и человека, т.е. на процессах ввода информации с клавиатуры и вывода ее на экран.
В программировании существует специальное понятие консоль, которое обозначает клавиатуру при вводе и монитор при выводе.
Для того чтобы получить данные, вводимые пользователем вручную (т.е. с консоли), применяются команды
    read ( <список_ввода> )
    readln ( <список_ввода> )

    Первая из этих команд считывает все предложенные ей данные, оставляя курсор в конце последней строки ввода, а вторая - сразу после окончания ввода переводит курсор на начало следующей
строки. В остальном же их действия полностью совпадают.
Список ввода - это последовательность имен переменных, разделенных запятыми.
Например, при помощи команды
    readln(k, x, c, s);
   {k:byte; x:real; c:char; s:string}

программа может получить с клавиатуры данные сразу для четырех переменных, относящихся к различным типам данных.
Вводимые значения необходимо разделять пробелами, а завершать ввод - нажатием клавиши Enter.
Ввод данных заканчивается в тот момент, когда последняя переменная из списка ввода получила свое значение.
Следовательно, вводя данные при помощи приведенной на слайде выше команды, вы можете нажать Enter четыре раза - после каждой из вводимых переменных, - либо же только один раз, предварительно введя все четыре переменные в одну строчку (обязательно нужно разделить их пробелами).
Если же программе все-таки необходимо получить с консоли значение для boolean-величины, придется действовать более хитро:
Øвводить оговоренный символ, а уже на его основе присваивать логической переменной соответствующее значение.
   Пример ввода и вывода на Паскале:

    repeat
       writeln('Согласны ли Вы с этим утверждением?');
       writeln('y - да, n - нет');
       readln(c); {c:char}
       case c of  
           'y': b:=true;  
           'n': b:=false;   
           else: writeln('Ошибка!'); 
       end;
    until (c='n') or (c='y');

Второе исключение: строки, хотя они и не являются базовым типом, вводить тоже разрешается.
Признаком окончания ввода строки является нажатие клавиши Enter, поэтому все следующие за нею переменные необходимо вводить с новой строчки.
Вывод на консоль
Для того чтобы вывести на экран какое-либо сообщение, воспользуйтесь процедурами
   write( <список_вывода> )
   writeln( <список_вывода> ) 


Первая из них, напечатав на экране все, о чем ее просили, оставит курсор в конце выведенной строки, а вторая переведет его в начало следующей строчки.
Список вывода может состоять из нескольких переменных или констант, записанных через запятую; все эти переменные должны иметь тип либо базовый, либо строчный.
Например:
   writeln(a, b, c);
Переменные, составляющие список вывода, могут относиться к целому, вещественному, символьному или булевскому типам.
В качестве элемента списка вывода кроме имен переменных могут использоваться выражения и строки.
    Оператор Writеln без параметров реализует пропуск строки и переход к началу следующей строки.
Если для вывода информации промто перечислять переменные через запятую, то выводимые символы окажутся "слепленными".
Чтобы этого не случилось, нужно позаботиться о пробелах между выводимыми переменными:
   writeln(a, ' ', b, ' ', c);
Но предпочтительнее задать для всех (или хотя бы для некоторых) переменных формат вывода:
   writeln(a:5,  b, c:20:5);
Если число длиннее, чем отведенное под него пространство, количество позиций будет автоматически увеличено.
Если же выводимое число короче заданного формата, то спереди к нему припишутся несколько пробелов.
Таким образом можно производить вывод красивыми ровными столбиками, а также следить за тем, чтобы переменные не сливались. это называется форматированный вывод данных, т.е при таком действии вывод подгоняется под определенный формат.

Примеры форматированного вывода в Паскале


Оператор выводаЗначение переменнойРезультат
Write(R:8:4);511.04511.0400
Write(R:7:2);-46.78_-46.78
Write(R:9:4); -46.78
_-46.7800
Форма входа
Поиск
Мы в сети
Реклама
Для того чтобы не видеть рекламу в правом верхнем углу сайта пройдите простую процедуру регистрации
ФОРУМ
У нас наконецто появился форум! Добро пожаловать! Будьте первыми, задайте направление форуму! =)
--- Не стесняемся - заходим на форум! ---