9. Вывод данных. Операторы Write и WriteLn
Оператор Write (выражение 1, выражение 2, … , выражение N) выполняет вывод значений выражений, указанных в списке. Тип каждого выражения определяет тип печатаемой единицы данных. Могут выводиться выражения целого, вещественного, символьного типов, логического типа Boolean, а так же строки символов, заключенные в апострофы, и строковые константы.
Значения переменных каждого следующего оператора Write печатаются на той же строке. Чтобы осуществить переход к новой строке используется оператор WriteLn, имеющий вид:
WriteLn (выражение 1, выражение 2, … , выражение n).
Он выполняет такие же действия, как и оператор Write, за исключением того, что после вывода значения последнего выражения производится переход к новой строке экрана. Оператор WriteLn без параметров (WriteLn😉 вызывает пропуск строки на экране.
Управление печатью. Чтобы выводимые на печать результаты были оформлены в удобном для пользователя виде, необходимо регулировать число позиций, отводимых в листинге под каждую единицу данных операторов WRITE и WRITELN. Для этого в языке Турбо-Паскаль предназначены две положительные величины: ширина поля и точность, указываемые через двоеточие после соответствующего выражения.
Например: Write(‘ РЕЗУЛЬТАТЫ ‘: 16, R: 5 : 2 );
Ширина поля — это общее количество позиций, занимаемых единицей данных (числом, строкой, символом).
Точность указывает число цифр дробной части числа (после точки). Точность всегда меньше ширины. Обе величины указываются только для выражений действительного типа. Для выражений других типов следует указывать только один параметр — ширину поля.
Если параметр ширина поля опущен, то по умолчанию он принимает стандартное значение:
для данных целых и действительных типов — 13;
для данных логического типа — 6;
для символьных данных и строковых констант ширина поля будет равна числу символов в единице данных.
10. Оператор присваивания
Оператор присваивания, имеет вид A := B, где А — имя переменной, B — выражение или переменная. Он обозначает, что вновь вычисленное значение выражения B присваивается некоторой переменной A. Например,
L := a mod b;
J := k*( j — h*b-f*b);
Тип выражения и тип переменной должны совпадать, кроме случая, когда выражение относится к целому типу, переменная же к вещественному типу.
11. Пример составления программы
Составить программу вычисления общей поверхности и объема круглого конуса, имеющего радиус основания R=12,54cм и длину образующей L=24,83 см. При вычислениях использовать равенства:
S = R2 + RL; V= R2H,
где H — высота конуса, определяемая по формуле H = .
Программа на языке Паскаль в общем случае содержит комментарии, вводящие в смысл задачи, заголовок, раздел определения констант, раздел описания переменных, операторы, оператор окончания. Все элементы программы должны следовать друг за другом в указанном порядке.
Задание исходных данных может быть осуществлено с помощью оператора присваивания Read, либо с помощью специальных операторов ввода. Вычисления по формулам реализуются в порядке определения числовых значений переменных H, S и V соответственно, после чего S и V выводятся на печать.
При вычислениях будет использоваться зарезервированная константа Pi ( = 3,1415926).
В качестве имен переменных будем использовать переменные, обозначения которых максимально совпадают с именами самой задачи. Таким образом выберем следующие имена переменных:
R — радиус основания;
L — длина образующей;
H — высота конуса;
S — полная поверхность конуса
V — объем конуса.
Переменные, участвующие в вычислениях могут быть как вещественными, так и целыми числами. Поэтому, в разделе описания переменных определим их в качестве типа REAL.
(* Программа вычисления поверхности и объема круглого конуса *) Program Conus;
R, L, H, S, V : Real;
Begin
Read (R,L); (* ввод R, L с клавиатуры *)
S := PI*R*R + PI*R*L;
H := SQRT(L*L — R*R);
V := PI*R*R*H/3;
(*вывод значений R, L, H, V, S*)
Writeln (‘ Параметры конуса: R=’, R:6:3, ‘L=’, L:6:3, ‘H=’,H:6:3);
Тест по информатике Организация ввода и вывода данных 8 класс
Тест по информатике Организация ввода и вывода данных для учащихся 8 класса. Тест включает в себя 2 варианта, каждый вариант состоит из 6 заданий.
1 вариант
1. Для выполнения операций с целочисленными данными в языке Паскаль используют обозначение
1) real
2) integer
3) char
4) boolean
2. Обозначение переменной а:=56/7+2 в языке Паскаль
1) real
2) integer
3) char
4) boolean
3. После выполнения программы, записанной на языке Паскаль
program prim;
var s: integer;
begin s:=15;
write (‘s=’, s)
end.
на экран будет выведено
4. Входной поток, определенный оператором ввода readln (x,y,z) целочисленных значений переменных х, у и вещественной переменной z
1) 1 2 5 4.7
2) 1, 2, 5, 4.7
3) 12347
4) 1. 2. 3. 4.7
5. Языковые конструкции, с помощью которых в программах записываются действия, выполняемые над данными в процессе решения задачи
1) переменные
2) стили программирования
3) имена
4) операторы
6. Запишите, как на языках программирования называют запись алгоритмов.
2 вариант
1. Для выполнения операций с логическими данными в языке Паскаль используют обозначение
1) real
2) integer
3) char
4) boolean
2. Обозначение переменной а:=7+2 в языке Паскаль
1) real
2) integer
3) сhаr
4) boolean
3. После выполнения программы, записанной на языке Паскаль
program prim;
var s: real;
begin s:=15;
write (‘s=’, s:3:0)
end.
на экран будет выведено
4. Входной поток, определенный оператором ввода readln (x,y,z) целых значений переменных х, у и вещественной переменной z
1) 1 2 5 4. 7
2) 1, 2, 5, 4.7
3) 1234.7
4) 1 2 З 4.7
5. Оператор вывода, который используется для перехода к новой строке
1) write
2) read
3) writeln
4) readln
6. Запишите, как на языках программирования называют число, определяющее количество позиций на экране, которые занимает выводимая величина.
Ответы на тест по информатике Организация ввода и вывода данных
1 вариант
1-2
2-1
3-2
4-1
5-4
6. программа
2 вариант
1-4
2-2
3-4
4-4
5-3
6. формат вывода
Оператор вывода который используется для перехода к новой строке
В предыдущей теме мы познакомились со структурой программы на языке Pascal, научились описывать данные, рассмотрели оператор присваивания. Этого достаточно для того, чтобы записать программу преобразования данных. Но результат этих преобразований нам виден не будет.
Для вывода данных из оперативной памяти на экран монитора используется оператор вывода write :
Здесь в круглых скобках помещается список вывода — список выражений, значения которых выводятся на экран. Это могут быть числовые, символьные и логические выражения, в том числе переменные и константы.
Произвольный набор символов, заключённый в апострофы, считается строковой константой. Строковая константа может содержать любые символы, набираемые на клавиатуре.
Пример
Оператор write (‘s= ‘, s) выполняется так:
- на экран выводятся символы, заключённые в апострофы: 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 |
При выполнении нового оператора write вывод продолжается в той же строке. Чтобы осуществить переход к новой строке, используется оператор writeln . Других различий между операторами write и writeln нет.
Первая программа на языке Pascal
Пользуясь рассмотренными операторами, составим программу, вычисляющую длину окружности и площадь круга радиуса 5,4 см.
Исходным данным в этой задаче является радиус: r = 5,4 см. Результатом работы программы должны быть величины c — длина окружности и s — площадь круга. c, s и r — величины вещественного типа.
Исходные данные и результаты связаны соотношениями, известными из курса математики: c=2πr, s = πr 2 . Программа, реализующая вычисления по этим формулам, будет иметь вид:
Эта программа верна и решает поставленную задачу. Запустив её на выполнение, вы получите следующий результат:
Первая программа
И всё-таки составленная нами программа имеет существенный недостаток: она находит длину окружности и площадь круга для единственного значения радиуса (5,4 см).
Для того чтобы вычислить длину окружности и площадь круга для другого значения радиуса, потребуется вносить изменения непосредственно в текст программы, а именно изменять оператор присваивания. Внесение изменений в существующую программу, по меньшей мере, не всегда удобно (например, когда программа большая и операторов присваивания много). Ниже вы познакомитесь с оператором, позволяющим вводить исходные данные в процессе работы программы, не прибегая к изменению текста программы.
Ввод данных с клавиатуры
Для ввода в оперативную память значений переменных используется оператор ввода read :
При выполнении оператора read компьютер переходит в режим ожидания данных: пользователь должен ввести данные с клавиатуры и нажать клавишу Enter . Несколько значений переменных числовых типов могут вводиться через пробел или через запятую. При вводе символьных переменных пробел и запятая воспринимаются как символы, поэтому ставить их нельзя.
Первое введённое пользователем значение переменной помещается в ячейку памяти, имя которой расположено первым в списке ввода, и т.д. Поэтому типы вводимых значений (входного потока) должны соответствовать типам переменных, указанных в разделе описания переменных.
Пример
var i, j: integer; x: real; a: char;
Присвоим переменным i, j, x, а значения 1, 0, 2.5 и ‘А’. Для этого воспользуемся оператором
и организуем входной поток одним из следующих способов:
Пример ввода
Здесь мы не только использовали различные разделители (пробел, запятая), но и представляли входной поток в виде одной, двух и четырёх строк.
Для ввода данных с клавиатуры можно также использовать оператор readln . Отличие состоит в том, что после выполнения readln осуществляется автоматический переход на новую строку входного потока, даже если в текущей строке остались невведённые символы. Таким образом, readln позволяет считать лишь начальную часть введённой пользователем строки и, проигнорировав её окончание, перейти к следующей строке.
Усовершенствуем программу p_1, организовав в ней ввод данных с помощью оператора read . А чтобы пользователь знал, для чего предназначена программа, и понимал, какое именно действие ожидает от него компьютер, выведем соответствующие текстовые сообщения с помощью оператора writeln :
Результат работы усовершенствованной программы
Теперь наша программа может вычислить длину окружности и площадь круга для любого значения r. Иначе говоря, она решает не единичную задачу, а целый класс задач. Кроме того, в программе понятно и удобно организован ввод исходных данных и вывод получаемых результатов. Это обеспечивает дружественность пользовательского интерфейса.
САМОЕ ГЛАВНОЕ
Для ввода в оперативную память значений переменных используются операторы ввода read и readln .
Для вывода данных из оперативной памяти на экран монитора используются операторы вывода write и writeln .
Ввод исходных данных и вывод результатов должны быть организованы понятно и удобно; это обеспечивает дружественность пользовательского интерфейса.
Организация ввода и вывода данных
Организация ввода и вывода данных
- оператор вывода print
- формат вывода
- оператор ввода input
Вывод данных
В предыдущей теме мы познакомились со структурой программы на языке Python, научились описывать данные, рассмотрели оператор присваивания. Этого достаточно для того, чтобы записать программу преобразования данных. Но результат этих преобразований нам виден не будет.
Для вывода данных из оперативной памяти на экран монитора используется оператор вывода print :
Здесь в круглых скобках помещается список вывода — список выражений, значения которых выводятся на экран. Это могут быть числовые, символьные и логические выражения, в том числе переменные и константы.
Произвольный набор символов, заключённый в апострофы, считается строковой константой. Строковая константа может содержать любые символы, набираемые на клавиатуре.
Пример
Оператор print (‘s= ‘, s) выполняется так:
- на экран выводятся символы, заключённые в апострофы: s=
- на экран выводится значение переменной, хранящееся в ячейке оперативной памяти с именем s .
Если значение переменной s равно 15, и она имеет целочисленный тип, то на экране появится: s=15
Оператор print вставляет между выводимыми значениями так называемый разделитель (или сепаратор, англ. separator). По умолчанию разделитель — это пробел, но мы можем его изменить, указав новый разделитель после слова sep
Вариант организации вывода | Оператор вывода | Результат |
---|---|---|
По умолчанию | print (1, 20, 300) | 1 20 300 |
Убрать разделители — пробелы | print (1, 20, 300, sep=») | 120300 |
Добавить другой разделитель | print (1, 20, 300, sep=’,’) | 1,20,300 |
Формат вывода — это указываемое после двоеточия целое число, определяющее, сколько позиций на экране должна занимать выводимая величина. Если цифр в числе меньше, чем зарезервированных под него позиций на экране, то свободные позиции дополняются пробелами слева от числа. Если указанное в формате вывода после двоеточия число меньше, чем необходимо, то оно автоматически будет увеличено до минимально необходимого.
Для вывода вещественного числа в списке вывода для каждого выражения указываются два параметра: 1) общее количество позиций, отводимых под число; 2) количество позиций в дробной части числа: (◦ — обозначение пробела)
Оператор вывода | Результат выполнения оператора |
---|---|
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 |
При выполнении нового оператора print вывод продолжается в новой строке. Чтобы убрать переход к новой строке, используется параметр end .
Первая программа на языке Python
Пользуясь рассмотренными операторами, составим программу, вычисляющую длину окружности и площадь круга радиуса 5,4 см.
Исходным данным в этой задаче является радиус: r = 5,4 см. Результатом работы программы должны быть величины c — длина окружности и s — площадь круга. c, s и r — величины вещественного типа.
Исходные данные и результаты связаны соотношениями, известными из курса математики: c=2πr, s = πr 2 . Программа, реализующая вычисления по этим формулам, будет иметь вид:
Эта программа верна и решает поставленную задачу. Запустив её на выполнение, вы получите следующий результат:
Первая программа
Вывод по формату:
Первая программа с выводом по формату
И всё-таки составленная нами программа имеет существенный недостаток: она находит длину окружности и площадь круга для единственного значения радиуса (5,4 см).
Для того чтобы вычислить длину окружности и площадь круга для другого значения радиуса, потребуется вносить изменения непосредственно в текст программы, а именно изменять оператор присваивания. Внесение изменений в существующую программу, по меньшей мере, не всегда удобно (например, когда программа большая и операторов присваивания много). Ниже вы познакомитесь с оператором, позволяющим вводить исходные данные в процессе работы программы, не прибегая к изменению текста программы.
Ввод данных с клавиатуры
Для ввода в оперативную память значений переменных используется оператор ввода input . Каждая функция input() захватывает только ОДНУ строку данных и воспринимает ее как ТЕКСТ (строковый тип):
-
Тип переменной можно преобразовать налету:
- для целых: a = int (input())
- для вещественных: a = float (input())
При выполнении функции input компьютер переходит в режим ожидания данных: пользователь должен ввести данные с клавиатуры и нажать клавишу Enter , система запишет это значение в переменную.
Есть задачи, в которых вводимые данные заданы в одной строке, например, 10 20. Чтобы была возможность работать с такими данными, их надо разделить.
Для этого нужно применить следующий синтаксис:
Здесь есть правило: количество данных должно соответствовать количеству переменных. В примере выше в одной строке передаются два целых числа, разделенных пробелом. Соответственно, нужно эти данные передать также двум переменным. Осталось не забыть, что определенные таким образом переменные имеют строковый тип. Для арифметического сложения их нужно привести к типу целого числа.
Теперь рассмотрим ситуацию, когда входные данные заданы в одной строке, но разделены особыми разделителями, отличными от пробела. Классическим примером таких входных данных является показания времени — 10:33.
В таких случаях надо для split() указывать конкретный символ разделителя. Разделителем будет символ ‘:’ , взятый в кавычки или апострофы.
Также добавим, что если в одной строке введены данные одного единственного типа (только целые числа, вещественные числа или строки), то определение переменных и задание им одного и того же типа можно выполнить одной строкой кода, используя следующий синтаксис:
При вызове функции input в скобках можно записать сообщение-подсказку:
Усовершенствуем программу 1, организовав в ней ввод данных с помощью оператора input , включив строку с приглашением для ввода:
Результат работы усовершенствованной программы
Теперь наша программа может вычислить длину окружности и площадь круга для любого значения r. Иначе говоря, она решает не единичную задачу, а целый класс задач. Кроме того, в программе понятно и удобно организован ввод исходных данных и вывод получаемых результатов. Это обеспечивает дружественность пользовательского интерфейса.
САМОЕ ГЛАВНОЕ
Для ввода в оперативную память значений переменных используются оператор ввода input .
Для вывода данных из оперативной памяти на экран монитора используются оператор вывода print .
Ввод исходных данных и вывод результатов должны быть организованы понятно и удобно; это обеспечивает дружественность пользовательского интерфейса.
Pascal: Занятие №1. Часть 2: Операторы WriteLn и Readln в Pascal
Оператор writeln (от англ. write line — написать строку) или write (от англ. write — написать) — оператор вывода в Паскале, т.е. служит для вывода на экран каких-либо данных (просто текста, результатов выполнения программы, значений переменных и т.п.).
Если необходимо после вывода перейти на другую строку, то используется оператор writeln () .
Результат:
Рассмотрим примеры задач с использованием вывода Writeln в Pascal:
Write(‘Сумма 5 + 6 = ‘,5+6);
Результат: Сумма 5 + 6 = 11
Результат: Привет
Результат: AB
Результат:
A
B
Print — это оператор, позволяющий выводить результаты на монитор. При выводе текста нужно заключать его в апострофы (одинарные кавычки). Похожий оператор PrintLn — после вывода автоматически переходит на следующую строку.
1 способ:
begin var n:integer; n := 5; n := n * n; print(‘n =’,n); // n = 25 end.
2 способ (форматный вывод):
begin var a:=1.2; var b:=4; var c:=a+b; WritelnFormat (‘f(<0>, <1>) = <2>‘, a, b, c); end.
var x := 5; var y := 6; var res := x + y; Print($’Сумма
[Название файла: L1task1.pas ]
В среде Pascal можно использовать так называемые сниппеты (snippets): — фрагменты названий функций для быстрого их добавления в код:
Оператор присваивания и оператор Readln в Pascal
Оператор присваивания
Обычно программе для решения какой-либо задачи требуются данные. Данные хранятся в переменных, которые имеют свои идентификаторы (имена), например, идентификаторы X или Y , или более длинные идентификаторы переменных — number1 , counter и т.п.
Чтобы задать переменной какое-либо значение используется оператор присваивания. Оператор присваивания в Паскале обозначается как := , выполняет правую часть выражения и присваивает результат переменной, расположенной в левой части выражения:
Пример:
a:=2; writeln(‘квадрат ‘,a,’=’,a*a);
begin var n:integer; // объявление переменной n:=1; // присваивание
2 method (канонический):
begin var n:=1; // объявление переменной и присваивание значения => инициализация
Ввод данных
Но часто в программе необходимо запрашивать данные (т.е. вводить значения переменных с клавиатуры, а затем использовать эти значения для решения поставленной задачи). Для ввода данных используется оператор ввода read или readln , в Паскале разницы между ними при вводе практически нету (на данном этапе знаний).
Пример использования readln в Pascal:
Writeln(‘Введите число’); readln(a); writeln(‘квадрат ‘,a,’=’,a*a);
то же самое, что и read:
Пример использования read в Pascal:
Writeln(‘Введите число’); read(a); writeln(‘квадрат ‘,a,’=’,a*a);
Если запрашиваются две переменные, то можно перечислять их через запятую:
Writeln(‘Введите два числа’); read(a,b); writeln(‘сумма чисел = ‘,a+b);
begin var n:integer; // n — целочисленная переменная read(n); // ввод значения и сохранение его в переменной n
begin var n:real; // n — переменная вещественного типа read(n);// ввод значения и сохранение его в переменной n
// n — целочисленная переменная и мы вводим значение и сохранением его в переменной n var n:=ReadInteger(); // х — переменная вещественного типа и мы вводим значение и сохранением его в переменной х var x:=ReadReal();
3 способ (кортежное присваивание):
var n1, n2: integer; // объявление двух переменных (n1, n2) := (1, 2); // 1 присваивается переменной n1, 2 присваивается переменной n2 // Кортежное присваивание позволяет коротко записать обмен двух переменных значениями: (n1, n2) := (n2, n1); // n1 = 2; n2 = 1
// n1 и n2 — целочисленные переменные и мы вводим для них два значения var(n1, n2) := readInteger2;
Обычно перед вводом выводится поясняющее сообщение о том, какие данные должны быть введены:
var x := ReadInteger(‘Введите x:’); var y := ReadInteger(‘Введите y:’); var res := x + y;
Кроме того, оператор ReadInteger или ReadReal может быть использован непосредственно в процедуре Print , т.е. в выводе. Например, так можно посчитать площадь прямоугольника: