для чего предназначен оператор writeln
Ввод-вывод. Операторы 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
Просмотрите внимательно эту строчку и сравните со строчкой вывода результата в нашей программе. Протестируйте программу еще несколько раз для других значений переменных.
Ввод-вывод, оператор присваивания, арифметические операции
Теоретический материал (Паскаль)
Язык программирования Паскаль. Знакомство со средой программирования Турбо Паскаль. Основные понятия. Первая программа
Паскаль популярен среди программистов по следующим причинам:
Основные файлы Турбо Паскаля:
Запуск интегрированной среды программирования
Для запуска интегрированной среды программирования нужно установить текущим каталог с Турбо Паскалем (TP7\BIN) и ввести команду: turbo.exe.
Почти все, что вы видите и делаете в среде Турбо Паскаль, происходит в окнах.
Интегрированная среда программирования Турбо Паскаль позволяет иметь любое количество открытых окон, но в любой момент времени активным может быть только одно.
Активное окно – это окно, с которым вы в настоящий момент работаете.
Общие горячие клавиши:
Мы начнем изучение меню с наиболее важных и необходимых режимов.
Как войти в меню? Всего есть три возможности:
С помощью клавиш управления курсором подсветите слово FILE и нажмите клавишу «Enter». Что вы видите?
Появилась вертикальная таблица со списком команд, называемая выпадающим меню. Познакомимся с ним.
Программы на языке Паскаль имеют блочную структуру:
2. Программный блок, состоящий в общем случае из 7 разделов:
Общая структура программы на языке Паскаль следующая:
Начнем знакомство с Паскалем с программы, которая складывает два числа и выводит сумму на экран.
Откройте файл, в который Вы запишите эту программу. Для этого нажмите клавишу F10, чтобы выйти в главное меню, затем клавишами перемещения курсора выберите опцию File, а в выпавшем меню команду New.
Примечание. Обратите внимание на оформление текста программы.
Program Summa2; <Задача. Вычислить сумму двух чисел и вывести на экран. Решение. Иванов Петр, 10 А класс.> Var number1, <переменная для хранения первого числа> number2, <переменная для хранения второго числа> result <переменная для хранения результата вычисления> : integer; Begin <признак начала программы> number1 := 3; <присваиваем переменной number1 значение 3> number2 := 4; <присваиваем переменной number2 значение 4> <складываем значения переменных number1 и number2 и результат присваиваем переменной result > result := number1 + number2; Write (number1, ‘+’, number2,’=’,result); <вывод примера на экран> End. |
А теперь подведем итог вашим размышлениям.
Имя этой программы Summa2. Заметим, что требования к имени выполняются: оно отражает содержание программы, а также не содержит недопустимых символов.
Далее идет специально выделенный комментарий, в котором вы должны записать подробно условие задачи и указать, кто написал эту программу и когда.
После описательной части идет раздел операторов, начинающийся со служебного слова Begin, после которого идут операторы языка.
Недостатком этой программы является то, что значения переменных постоянны. А нам нужно научиться писать такие программы, которые решают поставленные задачи в общем виде, т. е. для любых значений переменных. Для этого мы научимся запрашивать значения у пользователя, анализировать их и выдавать соответствующий результат.
Для чего предназначен оператор writeln
Вывод данных
В предыдущей теме мы познакомились со структурой программы на языке Pascal, научились описывать данные, рассмотрели оператор присваивания. Этого достаточно для того, чтобы записать программу преобразования данных. Но результат этих преобразований нам виден не будет.
Для вывода данных из оперативной памяти на экран монитора используется оператор вывода write :
Здесь в круглых скобках помещается список вывода — список выражений, значения которых выводятся на экран. Это могут быть числовые, символьные и логические выражения, в том числе переменные и константы.
Произвольный набор символов, заключённый в апострофы, считается строковой константой. Строковая константа может содержать любые символы, набираемые на клавиатуре.
Оператор write (‘s= ‘, s) выполняется так:
Если значение переменной s равно 15 и она имеет целочисленный тип, то на экране появится: s=15
Если значение переменной s равно 15, но она имеет вещественный тип, то на экране появится: s=1.5Е+01
При выполнении оператора вывода все элементы списка вывода печатаются непосредственно друг за другом. Так, в результате работы оператора write (1, 20, 300) на экран будет выведена последовательность цифр 120300, которая будет восприниматься нами как число 120300, а не как три отдельные числовые константы. Сделать выводимые данные более доступными для восприятия можно разными способами:
Вариант организации вывода | Оператор вывода | Результат |
---|---|---|
Добавить разделители — запятые | write (1, ‘,’, 20, ‘,’, 300) | 1,20,300 |
Добавить разделители — пробелы | write (1, ‘ ‘, 20, ‘ ‘, 300) | 1 20 300 |
Указать формат вывода | write (1:3, 20:4, 300:5) | 1 20 300 |
Формат вывода — это указываемое после двоеточия целое число, определяющее, сколько позиций на экране должна занимать выводимая величина. Если цифр в числе меньше, чем зарезервированных под него позиций на экране, то свободные позиции дополняются пробелами слева от числа. Если указанное в формате вывода после двоеточия число меньше, чем необходимо, то оно автоматически будет увеличено до минимально необходимого.
Для вывода вещественного числа в списке вывода для каждого выражения указываются два параметра: 1) общее количество позиций, отводимых под число; 2) количество позиций в дробной части числа:
Оператор вывода | Результат выполнения оператора |
---|---|
write (‘s=’, s:2:0); | s=15 |
write (‘s=’, s:3:1); | s= 15.0 |
write (‘s=’, s:5:1); | s= 15.0 |
Первая программа на языке Pascal
Пользуясь рассмотренными операторами, составим программу, вычисляющую длину окружности и площадь круга радиуса 5,4 см.
Исходным данным в этой задаче является радиус: r = 5,4 см. Результатом работы программы должны быть величины c — длина окружности и s — площадь круга. c, s и r — величины вещественного типа.
Эта программа верна и решает поставленную задачу. Запустив её на выполнение, вы получите следующий результат:
Первая программа
И всё-таки составленная нами программа имеет существенный недостаток: она находит длину окружности и площадь круга для единственного значения радиуса (5,4 см).
Для того чтобы вычислить длину окружности и площадь круга для другого значения радиуса, потребуется вносить изменения непосредственно в текст программы, а именно изменять оператор присваивания. Внесение изменений в существующую программу, по меньшей мере, не всегда удобно (например, когда программа большая и операторов присваивания много). Ниже вы познакомитесь с оператором, позволяющим вводить исходные данные в процессе работы программы, не прибегая к изменению текста программы.
Ввод данных с клавиатуры
Для ввода в оперативную память значений переменных используется оператор ввода read :
Первое введённое пользователем значение переменной помещается в ячейку памяти, имя которой расположено первым в списке ввода, и т.д. Поэтому типы вводимых значений (входного потока) должны соответствовать типам переменных, указанных в разделе описания переменных.
var i, j: integer; x: real; a: char;
Присвоим переменным i, j, x, а значения 1, 0, 2.5 и ‘А’. Для этого воспользуемся оператором
и организуем входной поток одним из следующих способов:
Пример ввода
Здесь мы не только использовали различные разделители (пробел, запятая), но и представляли входной поток в виде одной, двух и четырёх строк.
Результат работы усовершенствованной программы
Теперь наша программа может вычислить длину окружности и площадь круга для любого значения r. Иначе говоря, она решает не единичную задачу, а целый класс задач. Кроме того, в программе понятно и удобно организован ввод исходных данных и вывод получаемых результатов. Это обеспечивает дружественность пользовательского интерфейса.
Ввод исходных данных и вывод результатов должны быть организованы понятно и удобно; это обеспечивает дружественность пользовательского интерфейса.
Организация ввода и вывода данных
Организация ввода и вывода данных
Вывод данных
В предыдущей теме мы познакомились со структурой программы на языке Python, научились описывать данные, рассмотрели оператор присваивания. Этого достаточно для того, чтобы записать программу преобразования данных. Но результат этих преобразований нам виден не будет.
Для вывода данных из оперативной памяти на экран монитора используется оператор вывода print :
Здесь в круглых скобках помещается список вывода — список выражений, значения которых выводятся на экран. Это могут быть числовые, символьные и логические выражения, в том числе переменные и константы.
Произвольный набор символов, заключённый в апострофы, считается строковой константой. Строковая константа может содержать любые символы, набираемые на клавиатуре.
Оператор print (‘s= ‘, s) выполняется так:
Если значение переменной s равно 15, и она имеет целочисленный тип, то на экране появится: s=15
Вариант организации вывода | Оператор вывода | Результат |
---|---|---|
По умолчанию | print (1, 20, 300) | 1 20 300 |
Убрать разделители — пробелы | print (1, 20, 300, sep=») | 120300 |
Добавить другой разделитель | print (1, 20, 300, sep=’,’) | 1,20,300 |
Формат вывода — это указываемое после двоеточия целое число, определяющее, сколько позиций на экране должна занимать выводимая величина. Если цифр в числе меньше, чем зарезервированных под него позиций на экране, то свободные позиции дополняются пробелами слева от числа. Если указанное в формате вывода после двоеточия число меньше, чем необходимо, то оно автоматически будет увеличено до минимально необходимого.
Оператор вывода | Результат выполнения оператора |
---|---|
a = 4 print (‘a=’, ‘<:5d><:5d>‘.format(a, a * a)) | a= ◦◦◦◦4◦◦◦16 |
a = 1 / 3 b = 1 / 9 print («<:7.3f><:7.3f>«.format(a, b)) | ◦◦0.333◦◦0.111 |
a = 1 / 3 b = 1 / 9 print (‘<:10.3e><:10.3e>‘.format(a, b)) | ◦3.333e-0.1◦◦1.111e-01 |
Первая программа на языке Python
Пользуясь рассмотренными операторами, составим программу, вычисляющую длину окружности и площадь круга радиуса 5,4 см.
Исходным данным в этой задаче является радиус: r = 5,4 см. Результатом работы программы должны быть величины c — длина окружности и s — площадь круга. c, s и r — величины вещественного типа.
Эта программа верна и решает поставленную задачу. Запустив её на выполнение, вы получите следующий результат:
Первая программа
Первая программа с выводом по формату
И всё-таки составленная нами программа имеет существенный недостаток: она находит длину окружности и площадь круга для единственного значения радиуса (5,4 см).
Для того чтобы вычислить длину окружности и площадь круга для другого значения радиуса, потребуется вносить изменения непосредственно в текст программы, а именно изменять оператор присваивания. Внесение изменений в существующую программу, по меньшей мере, не всегда удобно (например, когда программа большая и операторов присваивания много). Ниже вы познакомитесь с оператором, позволяющим вводить исходные данные в процессе работы программы, не прибегая к изменению текста программы.
Ввод данных с клавиатуры
Есть задачи, в которых вводимые данные заданы в одной строке, например, 10 20. Чтобы была возможность работать с такими данными, их надо разделить.
Для этого нужно применить следующий синтаксис:
Здесь есть правило: количество данных должно соответствовать количеству переменных. В примере выше в одной строке передаются два целых числа, разделенных пробелом. Соответственно, нужно эти данные передать также двум переменным. Осталось не забыть, что определенные таким образом переменные имеют строковый тип. Для арифметического сложения их нужно привести к типу целого числа.
Также добавим, что если в одной строке введены данные одного единственного типа (только целые числа, вещественные числа или строки), то определение переменных и задание им одного и того же типа можно выполнить одной строкой кода, используя следующий синтаксис:
При вызове функции input в скобках можно записать сообщение-подсказку:
Результат работы усовершенствованной программы
Теперь наша программа может вычислить длину окружности и площадь круга для любого значения r. Иначе говоря, она решает не единичную задачу, а целый класс задач. Кроме того, в программе понятно и удобно организован ввод исходных данных и вывод получаемых результатов. Это обеспечивает дружественность пользовательского интерфейса.
Ввод исходных данных и вывод результатов должны быть организованы понятно и удобно; это обеспечивает дружественность пользовательского интерфейса.
Уроки Паскаль
Помимо зарезервированного слова Write, для вывода сообщения на экран в Pascal используется процедура Writeln. Отличие процедуры Writeln от оператора Write заключается в том, что Writeln после вывода сообщения на экран переводит курсор на другую строку.
В строке №5 и №6 мы выводим на экран два сообщения. Для того чтобы отделить сообщения друг от друга, ставим пробел после слова «Привет» перед закрывающим апострофом.
Записываем программу в Паскале и нажимаем F2 для сохранения.
После запуска программы Ctrl+F9 на экран выводится следующее сообщение.
В строке №5 мы записываем оператор Writeln. Помимо того, что он выводит на экран сообщение, он еще переводит курсор на следующую строку. Поэтому следующее сообщение выводится во второй строке. Фактически оператор Writeln выполняет процедуру Write, а затем переводит курсор на следующую строку.
Дополнение к материалу.
Следует сказать, что оператор «writeln» не является зарезервированным словом в Pascal. Если посмотреть на код, набранный в Pascal, то мы увидим, что оператор «writeln» не выделен белым цветом (как все зарезервированные слова). Он выделен желтым цветом, поскольку является идентификатором. Однако, в отличие от пользовательских идентификаторов, которые программист придумывает сам (например, название программы), оператор «writeln» является стандартным идентификатором. Стандартные идентификаторы связаны с предварительно объявленными объектами и входят в стандартную библиотеку Турбо Паскаля.
3 занятие
Решим задачу, прокомментировав каждое свое действие в фигурных скобках. Напомним, что комментарий не воспринимается компьютером, а нам он нужен для того, чтобы лучше понять как работает программа.
Задача. Напишите программу, которая бы очищала экран и вычисляла произведение двух чисел, вводимых пользователем.
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
Просмотрите внимательно эту строчку и сравните со строчкой вывода результата в нашей программе. Протестируйте программу еще несколько раз для других значений переменных.
Выберите с учителем задачи для решения из следующего перечня:
- для чего предназначен оператор input в qbasic
- для чего предназначен опознавательный костер