Что такое write в паскале

Процедуры write, writeln и readln

Это четвёртый урок по изучению языка программирования Паскаль для начинающих. В нём мы подробно ознакомимся с встроенными процедурами языка: write, writeln и readln. Первые две выводят информацию на экран, третья позволяет считывать информацию с клавиатуры и используется как пауза в программах. Очевидно, трудно переоценить то, чем они занимаются. Крайне мало найдётся программ, которые совсем ничего не писали бы на экране.

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

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

Перейдём к примерам.

Посмотрите листинг 1. Вообще-то для вас в нём не должно быть ничего нового. Когда мы собираемся передать нашей процедуре строку, мы обособляем её одиночными кавычками — апострофами. Так PascalABC поймёт, где начало строки, где её конец и выведет информацию на экран. Если мы запустим нашу программу в среде разработки без компиляции, то в окне вывода увидим переданную строку.

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

Обратите внимание, короткие строки — аргументы процедуры я написал с новой строки, сдвинув их на пару пробелов вправо. Когда аргументов будет ещё больше, такая форма записи будет более наглядной. Каждая короткая строка обособлена апострофами, между собою строки отделены запятой, а первая строка заканчивается пробелом. Если этого не сделать, последнее слово первой строчки неминуемо «прилипнет» к первому слову во второй.

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

Откомпилируйте программу, перейдите в папку с нею и запустите исполняемый файл. Открывается консольное окно программы, в нём напечатан наш текст, а курсор мигает в следующей строке. Вы можете набрать что-то с клавиатуры и завершить ввод, нажав клавишу «Enter». Пока любые введённые вами данные пропадут, но скоро мы научимся их принимать и обрабатывать. Пока же вернитесь к листингу программы, процедуру writeln замените на write. Снова откомпилируйте программу и запустите exe-файл. Несложно заметить, что теперь курсор мигает в самом конце нашего текста и ввод с клавиатуры начинается здесь же. Из этого можно сделать ещё один вывод: если вы используете процедуру write, после которой планируется ввод с клавиатуры, позаботьтесь о пробеле в конце выводимого текста, чтобы ввод с клавиатуры к нему не прилипал.

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

Для этого объявим в нашей программе переменные. Одна из них будет строкового типа String. Мы его ещё не проходили, но буквально через урок будем с ним знакомиться подробно. Сейчас же следует понимать, что в переменные этого типа можно сохранять строки, длина которых не превышает 255 символов. Давайте позволим пользователю ввести с клавиатуры его имя и возраст. Возраст сохраним в целочисленную переменную, а имя — в строковую. Программа принимает вид:

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

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

Настало время, когда мы, наконец, введём данные с клавиатуры и используем их в нашей программе. Используем, правда, скромно — просто выведем их на экран, покажем, что мы их получили. Гораздо чаще, введённые данные используют для расчётов или разграничения доступа к функциям программы. Например, введённый пользователем возраст позволяет программе решить, может ли он ей пользоваться в принципе. Впрочем, мы не станем сегодня как-то проверять введённые данные. Да и сложно себе представить, как именно мы могли бы это сделать. В общем, доверимся пользователю, поверим в его честность. Наша программа приняла законченный вид:

Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале

Здесь следует обратить внимание на то, что выводя строки вместе со значениями переменных, пробелы мы уже добавляли как до, так и после них. Кроме того, слово «лет» указано именно в этой форме и она не будет меняться автоматически и подстраиваться под указанный возраст. Нужно учитывать, что фраза может принимать вид: «Вы указали, что вас зовут Владимир и вам 41 лет». Очевидно, за формами слов, падежами, склонениями и спряжениями глаголов нужно будет следить отдельно, но это уже выходит за рамки нашего сегодняшнего урока. Мы убедились, что программа работает — нам удалось воспользоваться теми данными, которые пользователь ввёл с клавиатуры. Последний вызов процедуры readln без параметров служит для задержки как и раньше.

Источник

3 занятие

Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскалеЧто такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале
Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскалеЧто такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале
Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскалеЧто такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале
Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскалеЧто такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале
Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскалеЧто такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале
Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскалеЧто такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале
Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскалеЧто такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале
Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскалеЧто такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале

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

Задача. Напишите программу, которая бы очищала экран и вычисляла произведение двух чисел, вводимых пользователем.

Program Proizv2;
Uses
Crt;<Подключаем модуль Crt>
Var
number1, <переменная, в которой будет содержаться первое число>
number2, <переменная, в которой будет содержаться второе число>
rezult <переменная, в которой будет содержаться результат>
: integer;
Begin
ClrScr;<Используем процедуру очистки экрана из модуля Crt>
Write (‘Введите первое число ‘);
<Выводим на экран символы, записанные между апострофами>
Readln (number1);
<Введенное пользователем число считываем в переменную number1>
Write (‘Введите второе число ‘);
<Выводим на экран символы, записанные между апострофами>
Readln (number2);
<Введенное пользователем число считываем в переменную number2>
rezult := number1 * number2;
<Находим произведение введенных чисел и присваиваем переменной rezult>
Write (‘Произведение чисел ‘, number1, ‘ и ‘, number2, ‘ равно ‘, rezult);
<Выводим на экран строчку, содержащую ответ задачи>
Readln;<Процедура задержки экрана>
End.

Чтобы лучше понять действие программы, наберите ее на компьютере и проверьте ее действие. Ответьте на вопросы:

Задание. Измените программу так, чтобы она запрашивала у пользователя еще одну переменную и выводила результат произведения трех чисел.

Операторы Write и WriteLn

Мы уже использовали операторы Write и WriteLn, но нам необходимо подробнее остановиться на правилах применения этих операторов.

Общий вид:
Write (список выражений)
WriteLn (список выражений)

Например, при выполнении процедуры WriteLn(‘Найденное число ‘,а), будет напечатана строчка, заключенная в апострофы, а затем выведено значение переменной а.

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

Операторы Read и ReadLn

Общий вид:
Read(переменная, переменная. )
ReadLn(переменная, переменная. )

При выполнении процедуры Read ожидается ввод перечисленных в скобках значений. Вводимые данные нужно отделить друг от друга пробелами. Присваивание значений идет по очереди.

Особых различий при чтении и записи в использовании операторов Read и ReadLn нет. Часто процедуру ReadLn без параметров применяют в конце программы для задержки: до нажатия на клавишу результат выполнения программы остается на экране. Это очень полезно делать для анализа результатов.

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

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

Задача. Найти среднее значение трех чисел.

Примечание. Чтобы найти среднее значение нескольких чисел, нужно сложить эти числа и сумму разделить на количество этих чисел.

Program Srednee;
Uses
Crt;
Var
First, Second, Third : integer;
Sum : real;
Begin
ClrScr;
Write (‘Введите первое число ‘);
ReadLn(First);
Write (‘Введите второе и третье числа через пробел ‘);
ReadLn(Second, Third);
Sum := First + Second + Third;
Sum := Sum/3;
Write (‘Среднее значение ‘, First, ‘, ‘,Second, ‘ и ‘, Third, ‘ равно ‘, Sum:5:2);
ReadLn;
End.

Теперь компьютер должен считать введенные символы и занести их в переменную First, это произойдет при выполнении следующего оператора ReadLn(First). Затем с помощью оператора Write запрашиваем значения еще двух чисел и считываем их в переменные Second и Third. Затем вычисляем их сумму и присваиваем полученное число переменной Sum. Чтобы найти среднее, нужно теперь полученное число разделить на 3 и сохранить результат в какой-либо переменной.

Совсем не обязательно описывать еще одну переменную для сохранения результата. Можно, как в нашей программе, значение переменной Sum разделить на 3 и результат опять присвоить той же переменной Sum. Теперь можно вывести результат вычислений на экран с помощью процедуры Write. И, наконец, последняя процедура ReadLn задержит наш вывод на экране до нажатия на клавишу.

Среднее значение 5, 7 и 12 равно 8.00

Просмотрите внимательно эту строчку и сравните со строчкой вывода результата в нашей программе. Протестируйте программу еще несколько раз для других значений переменных.

Выберите с учителем задачи для решения из следующего перечня:

Источник

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

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

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

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

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

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

Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале

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

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

Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале

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

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

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

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

Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале

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

Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале

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

Источник

Процедуры Write и WriteLn

Подпишись на новости, чтобы ничего не пропустить

Синтаксис для вывода на консоль:

procedure Write(Args : Arguments);

Синтаксис для вывода в файл:

procedure Write(var F: Text; Args : Arguments);

Аргументами (Arguments) могут быть переменные разных типов. Если используется несколько переменных, то они перечисляются через запятую. Например:

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

Если требуется перевод строки, то лучше использовать функцию WriteLn вместо Write:

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

При записи в файл можно работать как с типизированными файлами, так и с текстовыми файлами.

Если файл F имеет тип Text, то все необходимые преобразования будут выполнены таким образом, что выходная переменная будет в удобочитаемом формате. Это преобразование выполняется для всех числовых типов. Строки и типы PChar выводятся точно так, как они находятся в памяти.

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

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

Источник

Организация вывода данных на языке Паскаль

Для того чтобы вывести из оперативной памяти полученные данные на экране монитора необходимо использовать оператор вывода Write.

Что такое write в паскале. Смотреть фото Что такое write в паскале. Смотреть картинку Что такое write в паскале. Картинка про Что такое write в паскале. Фото Что такое write в паскале

Синтаксис оператора Write имеет следующий вид.

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

Строковой константой называют произвольный набор символов заключённый в апострофы. Такая константа может содержать любые символы, которые могут быть набраны с клавиатуры.

Пример работы оператора write.

В апострофах выводится строковая переменная, а из переменной а, значение равное 10.

На экране будет отображена запись а=10.

На экран выводятся символы, заключенный в апострофы.
Далее на экран выводится значение переменной, которая хранится в ячейке оперативной памяти под определённым именем.

На экране монитора появляется надпись.

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

сделать это можно следующими способами:

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

допустим, если в качестве формата указано число 5. Значит, то на вывод числа приходится 5 свободных мест.

Организация выводаВид оператораРезультат на экране
без пробеловwrite(1,5,10);1510
с разделителемwrite(1,» «,5,» «,10);1 5 10
с форматом выводаwrite(1:3,5:3,10:4);1 5 10

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

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

Для отображения на экране вещественного числа можно указать 2 параметра:

Пример вывод целой и дробной частей вещественного числа.

Вид оператораРезультат на экране
write(«pi=», 3.14:1:1);pi=3.1
write(«pi=», 3.14:2:2);pi=3.14
write(«pi=», 3.14:5:5);pi=3.14000
write(«pi=», 213.14:1:0);pi=213

Отметим, что при выполнении нового оператора write, вывод данных будет продолжен в той же строке.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *