Что значит оператор writeln
Ввод-вывод данных в Pascal
Компьютерные программы обрабатывают (изменяют) различные данные. Программа получает данные, что-то делает с ними и выводит их в измененной форме или выводит другие данные.
Откуда или с помощью чего можно ввести данные в программу? Обычно это можно сделать с помощью клавиатуры или из файлов.
Куда можно вывести данные? На экран, в файл, на принтер и др.
Стандартным устройством ввода является клавиатура, а вывода — монитор. Стандартные — значит «работающие по-умолчанию»; т.е. если не указано ничего иного, то программа будет считывать данные с клавиатуры, а выводить их на монитор. Вместе клавиатуру и монитор называют консолью. Таким образом консоль представляет собой стандартное устройство ввода-вывода.
Вывод данных на экран. Форматированный вывод
Write() чаще используется, когда надо вывести для пользователя сообщение на экран, после чего получить данные, не переводя курсора на новую строку. Например, выводим на экран «Введи число: » и не переводим курсор на новую строку, а ждем ввода.
Еще один пример. В памяти компьютера хранятся данные. Из программы мы обращаемся к ним с помощью переменных num, fl и st. Вывести их значения на экран можно по-разному.
Во втором случае мы видим, что процедуры вывода (как write() так writeln() ) позволяют конструировать выводимую информацию из различных компонент (строк-констант и переменных).
В третьем случае был осуществлен так называемый форматированный вывод. При этом для выводимого значения указывается ширина поля вывода (количество знакомест). Если мы выводим вещественное (дробное) число, то вторым числом через двоеточие указывается количество знаков после запятой. Если для вещественных чисел не осуществлять форматирование, то они отобразятся так, как определено для данного компьютера. Если указать только число знакомест без фиксирования дробной части, то вывод будет в экспоненциальной форме.
Ввод данных с клавиатуры
Когда данные вводятся, то они помещаются в ячейки памяти, доступ к которым обеспечивается с помощью механизма переменных. Поэтому, когда в программе на Pascal используется процедура read() (или readln() ), то в качестве фактического параметра (аргумента) ей передается имя переменной, которая будет связана с вводимыми данными. Потом эти данные можно будет использовать в программе или просто вывести на экран.
В процедуры ввода можно передавать не один фактический параметр, а множество.
При вводе данных их разделяют пробелом, табуляцией или переходом на новую строку (Enter). Данные символьного типа не разделяются или разделяются переходом на новую строку.
Ввод-вывод. Операторы Read (Readln), Write (Writeln). Простейшие программы
Решим задачу, прокомментировав каждое свое действие в фигурных скобках. Напомним, что комментарий не воспринимается компьютером, а нам он нужен для того, чтобы лучше понять как работает программа.
Задача. Напишите программу, которая бы очищала экран и вычисляла произведение двух чисел, вводимых пользователем.
Write (‘Введите первое число ‘);
Write (‘Введите второе число ‘);
rezult := number1 * number2;
Write (‘Произведение чисел ‘, number1, ‘ и ‘, number2, ‘ равно ‘, rezult);
Чтобы лучше понять действие программы, наберите ее на компьютере и проверьте ее действие.
Ответьте на вопросы:
Операторы Write и WriteLn
Write (список выражений);
WriteLn (список выражений);
Оператор WriteLn можно применить и без параметров. В этом случае напечатается строка, состоящая из пробелов, и курсор будет переведен на другую строку. Это иногда нам нужно для лучшего восприятия ввода данных.
Операторы Read и ReadLn
При выполнении процедуры Read ожидается ввод перечисленных в скобках значений. Вводимые данные нужно отделить друг от друга пробелами. Присваивание значений идет по очереди.
Особых различий при чтении и записи в использовании операторов Read и ReadLn нет. Часто процедуру ReadLn без параметров применяют в конце программы для задержки: до нажатия на клавишу результат выполнения программы остается на экране. Это очень полезно делать для анализа результатов.
Примечание. Когда Вы ставите задержку экрана, обратите внимание на предыдущий ввод. Если данные запрашивались процедурой Read задержки не будет.
Задача. Найти среднее значение трех чисел. Примечание. Чтобы найти среднее значение нескольких чисел, нужно сложить эти числа и сумму разделить на количество этих чисел.
Var First, Second, Third : integer;
Write (‘Введите первое число ‘);
Write (‘Введите второе и третье числа через пробел ‘);
Sum := First + Second + Third;
Write (‘Среднее значение ‘, First, ‘, ‘,Second, ‘ и ‘, Third, ‘ равно ‘, Sum:5:2);
Среднее значение 5, 7 и 12 равно 8.00
Просмотрите внимательно эту строчку и сравните со строчкой вывода результата в нашей программе. Протестируйте программу еще несколько раз для других значений переменных.
Уроки Паскаль
Помимо зарезервированного слова Write, для вывода сообщения на экран в Pascal используется процедура Writeln. Отличие процедуры Writeln от оператора Write заключается в том, что Writeln после вывода сообщения на экран переводит курсор на другую строку.
В строке №5 и №6 мы выводим на экран два сообщения. Для того чтобы отделить сообщения друг от друга, ставим пробел после слова «Привет» перед закрывающим апострофом.
Записываем программу в Паскале и нажимаем F2 для сохранения.
После запуска программы Ctrl+F9 на экран выводится следующее сообщение.
В строке №5 мы записываем оператор Writeln. Помимо того, что он выводит на экран сообщение, он еще переводит курсор на следующую строку. Поэтому следующее сообщение выводится во второй строке. Фактически оператор Writeln выполняет процедуру Write, а затем переводит курсор на следующую строку.
Дополнение к материалу.
Следует сказать, что оператор «writeln» не является зарезервированным словом в Pascal. Если посмотреть на код, набранный в Pascal, то мы увидим, что оператор «writeln» не выделен белым цветом (как все зарезервированные слова). Он выделен желтым цветом, поскольку является идентификатором. Однако, в отличие от пользовательских идентификаторов, которые программист придумывает сам (например, название программы), оператор «writeln» является стандартным идентификатором. Стандартные идентификаторы связаны с предварительно объявленными объектами и входят в стандартную библиотеку Турбо Паскаля.
Операторы вывода write/writeln
Pascal – это язык программирования высокого уровня, отлично подходит для начинающих программистов.
Алфавит Turbo Pascal:
— латинские буквы от A до Z
— арабские цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
— знаки арифметических операций + – * /
— знаки логических операций=
— основные элементы Паскаля
1. Блок Program ; Заголовок программы (необязателен)
2. Программный блок, состоящий в общем случае из 7 разделов:
— раздел описания используемых модулей Uses …;
Идентификатор (имя) — имя какого-либо элемента программы, которое должно удовлетворять следующим требованиям:
• длина имени не должна превышать 63 символа,
• первым символом не может быть цифра,
• переменная не может содержать пробел;
• имя не должно совпадать с зарезервированным (служебным) словом,
• прописные и строчные буквы воспринимаются одинаково.
Зарезервированные (служебные) слова — это слова, использующиеся только по своему прямому назначению. Их нельзя использовать в качестве переменных, так как они выполняют определенную смысловую нагрузку.
Примеры зарезервированных слов: AND, GOTO, PROGRAM, ELSE, IF, RECORD, NOT, ARRAY, REPEAT, UNTIL, BEGIN, IN, SET, END, CASE, CONST, USES, INTERFACE, STRING, LABEL, THEN, OF, DIV, TO, VAR, DO, TYPE, WHILE, DOWNTO, FILE, FUNCTION, PROCEDURE и другие.
Раздел Const — вид данных, который является постоянным на всем протяжении выполнения программы, описывают константы после зарезервированного слова Const.
Раздел Var — вид данных, который может изменять свое значение в ходе программы, описывают переменные после зарезервированного слова Var.
Раздел операторов Begin end.
Тело программы. Оператор – это инструкция, которую должен выполнить Pascal. Программа состоит из последовательности операторов.
Операторы. Исполняемые операторы должны заканчиваться – ;
Существует несколько типов операторов:
Оператор присваивания – это последовательность из переменной, знака присваивания ( := ) и арифметического выражения. Например, x:=x+1;
Пустой оператор – оператор ; не выполняющий никакого действия.
Комментарии – это пояснения, вставляемые в текст программы. Комментарий — любой текст, заключённый в <> или (* *) или //. Комментарии не выполняются программой.
Для временного хранения информации в операторах памяти машины в языке Паскаль используются константы и переменные. Они могут быть различных типов:
— целых чисел (Byte, ShortInt, Word, Integer, LongInt);
— действительных чисел (real);
— символьный тип (char);
— сложные (комбинированный (record), множественный (set) и другие).
Название | Длина в байтах | Диапазон значений |
Byte | 0 … 255 | |
ShortInt | -128 … 127 | |
Word | 0 … 65535 | |
Integer | -32768 … 32767 | |
LongInt | -2147483648 … 2147483647 |
Над целыми типами определены такие операции:
Вещественные типы (real):
Вещественные типы представляются с некоторой точностью, которая зависит от компьютера. Вам необходимо знать, что вещественный тип разделяется на несколько типов, но использовать мы будем вещественные данные только типа Real, которые занимают 6 байт, имеют диапазон возможных значений модуля от 2.9Е-39 до 1.7Е+38 и точность представления данных — 11…12 значащих цифр.
В языке Паскаль числа могут быть представлены в двух видах:
1. с фиксированной точкой и
2. с плавающей запятой.
Числа с фиксированной точкой изображаются десятичным числом с дробной частью, которая может быть и нулевой. Например: 27.9, 5.00
Такие большие числа как 137.000.000 можно записать в виде чисел с десятичным порядком 1.37·108. Такие числа имеют вид mEp. Здесь m — мантисса; E — признак записи числа с десятичным порядком; p — степень числа 10. Получится 1.37Е+8. Такие числа, представленные с десятичным порядком и называются числами с плавающей точкой.
Компьютер, по умолчанию, представляет действительные числа в виде чисел с плавающей точкой. Такое представление чисел не очень нравится пользователям. Поэтому мы будем “заставлять” компьютер выдавать действительные числа в более привычном варианте следующим образом:
где R — действительное число, m — количество позиций, отводимых для целой части, n — количество позиций, отводимых для дробной части.
Например, если мы хотим вывести на экран число Chislo с фиксированной точкой, причем знаем, что для вывода целой части этого числа достаточно 7 мест, а вывод дробной части ограничим сотыми, то мы запишем вывод так:
Символьный тип (char):
Строковый тип (string):
Значением строковой величины является строка переменной длины (быть может пустая). Строковая константа или строковая переменная представляет собой произвольную последовательность символов, заключенную в апострофы. Например:
Var Stroka : string; |
Логический тип (boolean):
При проверке некоторых условий результат операции может быть истинным или ложным. Например: 35 ложь.
Пример: Создадим программу, в которой опишем несколько переменных разного типа, введем в них значения и выведем на экран.
Program TipDann; Var Chislo1 : Integer; Chislo2 : Real; Simvol : Char; Stroka : String; Logika : Boolean; Begin ClrScr; Chislo1:=12; Chislo2:=Chislo1*2; Chislo2:=Chislo2/5; Simvol:=‘d’; Stroka:=‘Строчка’; Logika:= Chislo1 Chislo2; WriteLn (‘Вывод значений:’); WriteLn (‘Значение переменной Chislo1 : ’,Chislo1); WriteLn (‘Значение переменной Chislo2 :’,Chislo2:5:2); WriteLn (‘Значение переменной Simvol : ’,Simvol); WriteLn (‘Значение переменной Stroka : ’,Stroka); WriteLn (‘Значение переменной Logika : ’,Logika); End. |
Внимательно рассмотрите каждую строчку программы. Обратите особое внимание на описание переменных: Chislo1 — переменная целого типа, Chislo2 — действительного, Simvol — символьного, Stroka — строкового, Logika — логического. Далее в основной программе идет присвоение переменной Chislo1 целого числа 12, переменной Chislo2 — целого числа 24. Обратим внимание, что переменной действительного типа Chislo2 присвоено целое число; никакой ошибки нет, т. к. множество целых чисел является подмножеством множества действительных чисел. Следующая строчка еще более интересная: переменной Chislo2 присваивается значение той же переменной, только деленной на 5.
Такое присваивание используют в программах, если предыдущее значение этой переменной уже не понадобится и для более рационального использования описанных переменных. Для того чтобы переменной символьного типа присвоить какой-либо символ (например, d), надо этот символ записать в апострофах (знак «’»). Аналогично поступают с переменными строкового типа (смотри следующую строку программы). А про переменные логического типа мы знаем, что им можно присваивать только два значения: True и False. В этой программе мы присвоим значение результата сравнения двух переменных, здесь оно будет равно True. А теперь выведем присвоенные значения на экран.
Операторы Вывода Write/WriteLn
Мы уже использовали операторы Write и WriteLn, но нам необходимо подробнее остановиться на правилах применения этих операторов.
Write (англ. писать) — оператор, который используется для вывода информации на экран. Оператор WriteLn выполняет то же самое действие, но так как у него есть еще окончание Ln (line — англ. линия, строка), то после вывода на экран нужного сообщения, он дополнительно переводит курсор на следующую строчку.
Общий вид:
Write (список выражений)
WriteLn (список выражений)
Процедуры Write и WriteLn используются не только для вывода результата, но и для вывода различных сообщений или запросов. Это позволяет вести диалог с пользователем, сообщать ему, когда ему нужно ввести значения, когда он получает результат, когда он ошибся и др.
Например, при выполнении процедуры
WriteLn(‘Найденное число‘,а), будет напечатана строчка, заключенная в апострофы, а затем выведено значение переменной а.
Оператор WriteLn можно применить и без параметров. В этом случае напечатается строка, состоящая из пробелов, и курсор будет переведен на другую строку. Это иногда нам нужно для лучшего восприятия ввода данных.
Статьи к прочтению:
Урок 7. Операторы вывода write/writeln. Простая программа. Программирование на Pascal / Паскаль
Похожие статьи:
Начнем знакомство с оператора вывода. Данный оператор очень часто встречается в паскалевских программах. Оператор вывода существует в двух вариантах:…
Лабораторная работа №2. Проектирование программ линейной структуры Цель и порядок работы Цель работы – изучить структуру программы на языке C++,…
Процедуры Write и WriteLn
Подпишись на новости, чтобы ничего не пропустить
Синтаксис для вывода на консоль:
procedure Write(Args : Arguments);
Синтаксис для вывода в файл:
procedure Write(var F: Text; Args : Arguments);
Аргументами (Arguments) могут быть переменные разных типов. Если используется несколько переменных, то они перечисляются через запятую. Например:
Причём, как уже было сказано, при выводе на консоль эти переменные могут быть разных типов. Также можно использовать и константы:
Если требуется перевод строки, то лучше использовать функцию WriteLn вместо Write:
Но можно использовать, например, символы перевода строки в конце списка аргументов:
При записи в файл можно работать как с типизированными файлами, так и с текстовыми файлами.
Если файл F имеет тип Text, то все необходимые преобразования будут выполнены таким образом, что выходная переменная будет в удобочитаемом формате. Это преобразование выполняется для всех числовых типов. Строки и типы PChar выводятся точно так, как они находятся в памяти.
При выводе на консоль целые числовые значения выводятся в обычном числовом формате. А вещественные числовые значения по умолчанию выводятся в научной нотации.
Чтобы выводить целые числа в поля фиксированной ширины или вещественные числа с фиксированным количеством знаков после запятой, используется специальный формат вывода. Но об этом в данной статье я говорить не буду, так как уже рассказывал об этом здесь.