Remkomplekty.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Команды ввода и вывода паскаль

Любая программа при вводе исходной информации и выводе результатов взаимодействует с внешними устройствами. Частным случаем обмена данными с внешними устройствами является обмен с консолью. Консоль представляет собой совокупность клавиатуры и экрана монитора.

Рассмотрим способы организации ввода и вывода информации, предоставляемые языком программирования Паскаль.

Процедура ввода

Ввод данных — это процесс передачи исходных данных от внешнего устройства в оперативную память.

В качестве внешнего устройства ввода, как правило, является клавиатура или файл с данными.

Для ввода данных с клавиатуры в языке Паскаль используются процедуры read и readln , имеющие следующий формат:

  • read(список);
  • readln(список);

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

Элементом «список» является список имен переменных через запятую, значения которых будут вводится с клавиатуры (заметим, что список может быть пустым), например:

  • read(a, b, c);
  • readln;

Вводимые значения должны разделяться пробельными символами (пробел, табуляция, перевод строки), причем их количество не ограничено. Ввод данных для одной процедуру завершается нажатием клавиши Enter . Если процедура readln используется без параметров, то происходит ожидание нажатия клавиши Enter .

ВНИМАНИЕ: вводимые значения должны соответствовать типам переменных, в противном случае возникает ошибка (например, переменная b имеет тип integer , а вводится вещественное число).

Процедура вывода

Вывод – это процесс передачи данных после обработки из оперативной памяти на внешнее устройство.

Для вывода данных на экран в языке Паскаль используются процедуры write и writeln , которые имеют следующий вид:

  • write(список);
  • writeln(список);

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

Правила записи параметров процедуры вывода

  1. Список вывода разделяется запятыми
  2. Список вывода может содержать переменные, константы и выражения
  3. Под вывод любого значения можно задать формат поля вывода — количество позиций, в которых будет размещаться величина (указывается сразу после выводимого значения через двоеточие):
    • если значение выводимой величины оказывается короче, то оно «прижимается» к правому краю отведенного поля, в противном случае — поле «раздвигается» до необходимых размеров;
    • для вещественных чисел в формате поля вывода предусматривается возможность указания количество выводимых позиций и отводимых под дробную часть числа (десятичная точка также занимает одну позицию).
  • writeln(‘a = ‘, a:2, ‘ ‘, 10 + sqrt(a):2:4, ‘ ‘, pi:4:2);

Copyright © 2014-2018, Урок информатики
Все права защищены

Язык программирования TurboPascal

Turbo Pascal. Ввод и вывод данных

Для ввода данных в языке Турбо Паскаль предусмотрены стандартные операторы (процедуры) – READ и READLN , которые предназначены для чтения данных, как с клавиатуры, так и из файла. В данном разделе рассматривается ввод данных только с клавиатуры. Добавление к оператору READ символов LN обеспечивает автоматический переход курсора после ввода данных на новую строку.

Формат оператора:

Здесь a1,a2,a3. an – переменные, которым последовательно присваиваются значения. Если в тексте программы встречается оператор READ , компьютер приостанавливает работу и ожидает ввода значений переменных с клавиатуры. Когда все значения переменных, перечисленных в операторе ввода, введены, процесс выполнения программы продолжается.

Допускается использование оператора ввода без параметров

который выполняет переход на новую строку при вводе данных.

При вводе данных с помощью оператора READ нужно иметь в виду следующие основные правила:

  • логические данные в Турбо Паскале вводить не разрешается;
  • при вводе числовых данных, числа разделяются пробелом или символом окончания ввода (клавиша ENTER). Ввод всегда заканчивается нажатием клавиши ввода – ENTER;
  • пробелы перед числом и между числами игнорируются, поэтому их можно ставить в любом количестве;
  • если переменная описана как Integer , ее значение вводится как целое число, т.е. не допускается использование точки после числа;
  • если переменная описана как вещественная ( Real ), а ее значение является целым числом, то можно вводить число как целое (т.е. без точки) и как вещественное число – с точкой. Преобразование целого числа к вещественному числу будет выполнено автоматически;
  • ввод символьных данных имеет особенности. Поскольку пробел является символом, как и любой другой символ языка Турбо Паскаль, то символьные данные необходимо вводить сплошной строкой;
  • одной символьной переменной можно присвоить значение только одного символа;
  • нажатие клавиши ENTER воспринимается как символ, поэтому для правильного ввода символьных данных рекомендуется перед каждым оператором ввода символьных данных ставить оператор перехода на новую строку READLN , чтобы их ввод осуществлялся с новой строки.

ЗАДАЧА. Ввод данных.

Введем в программу следующие исходные данные:

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

Введите a, b, c:23

Введите x, y, z:44.447.576

Введите s1,s2,s3:A B C

Вывод данных

Для вывода данных из памяти компьютера на экран монитора предназначен оператор Write .

Здесь a1,a2,a3. an могут быть либо переменными, либо строкой символов, заключенной в апострофы. Все элементы перечисляются через запятую. Добавление к оператору WRITE символов LN обеспечивает автоматический переход курсора после вывода данных на новую строку.

Допускается использование оператора ввода без параметров

Читать еще:  Кто разработал язык паскаль

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

Параметрами оператора WRITE могут быть данные целого, вещественного, логического, символьного, а также типа string .

Расположение данных на экране монитора может быть задано параметрами оператора WRITE , тогда вывод называется выводом с форматами данных. Если в операторе WRITE форматы не используются, вывод называется бесформатным выводом или стандартной формой вывода.

Бесформатный вывод. Форма представления выводимых данных зависит от типа данных:

  • значения логического типа выводятся в виде логических значений TRUE и FALSE ;
  • значения символьных переменных выводятся в виде соответствующих символов;
  • символьная константа выводится в том виде, как она записана, но без апострофов;
  • значения величин целого типа выводятся как целые числа;
  • значения величин вещественного типа выводятся в формате с плавающей точкой.

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

ПРИМЕР. Рассмотрим фрагмент программы:

Оператором write(n,m); на экран монитора выводятся целые числа: n=1234 и m=7890 . Поскольку используется вывод без форматов данных, результат будет иметь вид:

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

Результат:

Результат:

Форматный вывод. Для вывода вещественных чисел необходимо указать в операторе WRITE формат представления числа, который имеет вид:

где: m – целое число, указывающее общее количество позиций отводимое под значение переменной, включая позицию под знак числа, точку и количество цифр дробной части; n – целое число, определяющее количество цифр дробной части.

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

Пример. Выведем значение переменной A , равное 401.3 оператором write(A:8:2) . На экран монитора будет выведено:

Символом обозначен пробел.

Вывод вещественных чисел выполняется по следующим правилам:

  1. Если число имеет меньшую длину, чем m , то оно будет дополнено слева пробелами.
  2. Если число имеет большую длину, чем m , то параметр m игнорируется и число будет выведено полностью.
  3. Если дробная часть больше, чем параметр n , то число округляется. Округление не изменяет самого значения переменной, меняется только представление числа на мониторе.
  4. Если параметр n не указан, то ни дробная часть числа, ни десятичная точка не выводятся. Вывод осуществляется в формате с плавающей запятой.

В качестве примера рассмотрим печать вещественного числа в различных форматах.

Результат работы программы:

Печать вещественного числа

Печать в фиксированном формате

Печать в плавающем формате

Для вывода целых чисел необходимо указать в операторе WRITE формат представления числа, который имеет вид:

k – целое число, указывающее общее количество позиций, отводимое под значение переменной.

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

Ввод-вывод данных в Pascal

Компьютерные программы обрабатывают (изменяют) различные данные. Программа получает данные, что-то делает с ними и выводит их в измененной форме или выводит другие данные.

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

Откуда или с помощью чего можно ввести данные в программу? Обычно это можно сделать с помощью клавиатуры или из файлов.

Куда можно вывести данные? На экран, в файл, на принтер и др.

Стандартным устройством ввода является клавиатура, а вывода — монитор. Стандартные — значит «работающие по-умолчанию»; т.е. если не указано ничего иного, то программа будет считывать данные с клавиатуры, а выводить их на монитор. Вместе клавиатуру и монитор называют консолью. Таким образом консоль представляет собой стандартное устройство ввода-вывода.

Вывод данных на экран. Форматированный вывод

Вывод данных на экран и в файл в языке программирования Pascal осуществляется с помощью процедур write ( ) и writeln ( ) . Здесь будет рассмотрен вывод только на экран.

Допустим, нам требуется отобразить на экране пару фраз. Если мы хотим, чтобы каждая из них начиналась с новой строки, то надо использовать writeln() , если нет – то write() .

Write() чаще используется, когда надо вывести для пользователя сообщение на экран, после чего получить данные, не переводя курсора на новую строку. Например, выводим на экран «Введи число: » и не переводим курсор на новую строку, а ждем ввода.

Еще один пример. В памяти компьютера хранятся данные. Из программы мы обращаемся к ним с помощью переменных num, fl и st. Вывести их значения на экран можно по-разному.

Во втором случае мы видим, что процедуры вывода (как write() так writeln() ) позволяют конструировать выводимую информацию из различных компонент (строк-констант и переменных).

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

Читать еще:  Язык си abs

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

Ввод данных в языке программирования Паскаль обеспечивается процедурами read() и readln() . Ввод данных осуществляется либо с клавиатуры, либо из файла. Здесь рассматривается только ввод с клавиатуры.

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

В процедуры ввода можно передавать не один фактический параметр, а множество.

При вводе данных их разделяют пробелом, табуляцией или переходом на новую строку (Enter). Данные символьного типа не разделяются или разделяются переходом на новую строку.

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

Уроки 29 — 31
Возникновение и назначение языка Паскаль
Структура программы на языке Паскаль
Операторы ввода, вывода, присваивания
(§ 11. Знакомство с языком Паскаль)
Работа с готовыми программами на языке Паскаль: отладка, выполнение, тестирование
Программирование на Паскале линейных алгоритмов

Содержание урока

Знакомство с языком Паскаль

Знакомство с языком Паскаль

Возникновение и назначение Паскаля

После того как построен алгоритм решения задачи, составляется программа на определенном языке программирования.

Среди современных языков программирования одним из самых популярных является язык Паскаль. Этот язык разработан в 1971 году и назван в честь Влеза Паскаля — французского ученого, изобретателя механической вычислительной машины. Автор языка Паскаль — швейцарский профессор Никлаус Вирт.

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

Команду алгоритма, записанную на языке программирования, принято называть оператором.

Программа на Паскале близка по своему виду к описанию алгоритма на АЯ. Сравните алгоритм решения уже знакомой вам задачи деления простых дробей с соответствующей программой на Паскале:

Структура программы на Паскале

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

Заголовок программы начинается со слова Program (программа), за которым следует произвольное имя, придуманное программистом:

Program ;

Раздел описания переменных начинается со слова Var (variables — переменные), за которым идет список имен переменных через запятую. Тип указывается после двоеточия. В стандарте языка Паскаль существуют два типа числовых величин: вещественный и целый. Слово integer обозначает целый тип (является идентификатором целого типа). Вещественный тип обозначается словом real. Например, раздел описания переменных может быть таким:

var a, b: integer; с, d: real;

Идентификаторы переменных составляются из латинских букв и цифр; первым символом обязательно должна быть буква.

Раздел операторов — основная часть программы. Начало и конец раздела операторов программы отмечаются служебными словами begin (начало) и end (конец). В самом конце программы ставится точка:

begin

end.

Операторы ввода, вывода, присваивания

Ввод исходных данных с клавиатуры происходит по оператору read (read — читать) или readln (read line — читать строку):

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

Вывод результатов происходит по оператору write (write — писать) или writeln (write line — писать в строку):

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

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

Арифметический оператор присваивания на Паскале имеет следующий формат:

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

Знаки основных арифметических операций записываются так:

Правила записи арифметических выражений

Запись арифметических выражений на Паскале похожа на обычную математическую запись. В отличие от математики, где часто пропускается знак умножения (например, пишут 2А), в Паскале этот знак пишется обязательно: 2*А. Например, математическое выражение

А 2 + В 2 — 12С

на Паскале записывается так:

А*А + В*В — 12*С

Это же выражение можно записать иначе:

SQR(А) + SQR(В) — 12*C

Здесь использована функция возведения в квадрат — SQR. Аргументы функций всегда пишутся в круглых скобках.

Читать еще:  Файлы паскаль задачи с решением

Последовательность выполнения операций определяется по их приоритетам (старшинству). К старшим операциям относятся умножение (*) и деление (/). Операции сложения и вычитания — младшие. В первую очередь выполняются старшие операции. Несколько операций одинакового старшинства, записанные подряд, выполняются в порядке их записи слева направо. Приведенное выше арифметическое выражение будет вычисляться в следующем порядке (порядок вычислений указан цифрами сверху):

Круглые скобки в арифметических выражениях влияют на порядок выполнения операций. Как и в математике, в первую очередь выполняются операции в скобках. Если имеется несколько пар вложенных скобок, то сначала выполняются операции в самых внутренних скобках. Например:

Пунктуация Паскаля

Необходимо строгое соблюдение правописания (синтаксиса) программы. В частности, в Паскале однозначно определено назначение знаков пунктуации.

Точка с запятой (;) ставится в конце заголовка программы, в конце раздела описания переменных, является разделителем описания переменных в разделе переменных и разделителем операторов. Перед словом end точку с запятой можно не ставить.

Запятая (,) является разделителем элементов во всевозможных списках: списке переменных в разделе описания, списках вводимых и выводимых величин.

Текст программы заканчивается точкой.

Строгий синтаксис в языке программирования необходим потому, что компьютер является формальным исполнителем программы. Если, допустим, разделителем в списке переменных должна быть запятая, то любой другой знак будет восприниматься как ошибка. Если точка с запятой является разделителем операторов, то в качестве оператора компьютер воспринимает всю часть текста программы от одной точки с запятой до другой. Если программист забыл поставить «;» между какими-то двумя операторами, то компьютер будет принимать их за один с неизбежной ошибкой.

В программу на Паскале можно вставлять комментарии. Комментарий — это пояснение к программе, которое записывается в фигурных скобках. В комментариях можно использовать русские буквы. На исполнение программы комментарий никак не влияет.

Заметим, что в Паскале нет различия между строчными и прописными буквами. Например, для Паскаля тождественны следующие варианты записи: begin, Begin, BEGIN, BeGiN. Использование строчных или прописных букв — дело вкуса программиста.

Следующая страница Вопросы и задания

Команды ввода и вывода паскаль

1. Составной оператор (операторские скобки)

Для того чтобы задать последовательное выполнение (по порядку, один за другим) нескольких операторов, в языке Pascal существует со ставной оператор. Операторы, входящие в составной, разделяются сим волом «;», в начале ставится служебное слово begin , в конце — end .

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

writeln(*q=’, sqr(x)+sqr( у )+sqr(z))

Язык Turbo Pascal не накладывает никаких ограничений на харак­тер операторов, входящих в составной оператор. Среди них могут быть и другие составные операторы — Turbo Pascal допускает произвольную глубину их вложенности:

Фактически весь раздел операторов, обрамленный словами Ье-. end , представляет собой один составной оператор.

Внимание: Перед служебным словом end разделитель (символ «;») не ставится.

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

read ( xl , х2 , хЗ. ) ;

Процедура read обеспечивает ввод данных разных типов с кла виатуры. В скобках указываются имена переменных, которым присво ятся введенные значения. При вводе нескольких значений с помощью одной процедуры, они разделяются символом «пробел». Для оконча­ ния ввода (завершения работы одной процедуры read ) нажимается кла­ виша . Если же в программе есть несколько подряд идущих процедур read , то данные вводятся потоком, т.е. без нажатия :

read ( xl , х2 , хЗ. ) ;

Процедура readln аналогична предыдущей, отличие заключается в том, что ПОСЛЕ выполнения процедуры readln курсор на экране монитора переходит на новую строку.

Примеры

Аналогично существует две формы процедуры вывода:

write ( xl , x 2 , хЗ. ) ;

В результате выполнения данной процедуры значения переменных xl , xl , хЗ. будут выведены на экран монитора. Если необходимо вы вести на экран какой-либо текст, то внутри процедуры write этот текст записывается в апострофах:

Результат выполнения этих процедур:

writeln ( xl , x 2 , хЗ. ) ;

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

writeln; writeln; writeln; writeln; writeln;

приведет к тому, что курсор опустится на пять строк вниз.

Примеры

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

х:=4; у:=3; writeln (* Значение выражения = ‘, x + sqr ( y ));

получим на экране монитора следующее сообщение:

«Значение выражения = 13»

В процедурах вывода write и writeln имеется возможность установить ширину поля вывода.

Если х, i и j целочисленные переменные, а у — вещественная пе ременная, то вызов wri te ( x : i , у: i ) печатает значения х и у каждое в крайние правые позиции нолей шириной i .

Вызовом write (у: i : j ) в крайние правые позиции поля шири ной i символов выводится десятичное представление значения у в фор мате с фиксированной точкой, причем после десятичной точки выводится j цифр, представляющих дробную часть числа. |

Ссылка на основную публикацию
Adblock
detector