Дан фрагмент программы какие числа будут выведены на экран компьютера

Обновлено: 07.07.2024

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

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

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

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

Пример

Оператор write ('s= ', s) выполняется так:

  1. на экран выводятся символы, заключённые в апострофы: s=
  2. на экран выводится значение переменной, хранящееся в ячейке оперативной памяти с именем 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 позволяет считать лишь начальную часть введённой пользователем строки и, проигнорировав её окончание, перейти к следующей строке.

Результат работы усовершенствованной программы

Результат работы усовершенствованной программы

Теперь наша программа может вычислить длину окружности и площадь круга для любого значения r. Иначе говоря, она решает не единичную задачу, а целый класс задач. Кроме того, в программе понятно и удобно организован ввод исходных данных и вывод получаемых результатов. Это обеспечивает дружественность пользовательского интерфейса.

САМОЕ ГЛАВНОЕ

Для ввода в оперативную память значений переменных используются операторы ввода read и readln .

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

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

Организация ввода и вывода данных
Организация ввода и вывода данных
  • оператор вывода print
  • формат вывода
  • оператор ввода input
Вывод данных

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

Для вывода данных из оперативной памяти на экран монитора используется оператор вывода print :

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

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

Пример

Оператор print ('s= ', s) выполняется так:

  1. на экран выводятся символы, заключённые в апострофы: s=
  2. на экран выводится значение переменной, хранящееся в ячейке оперативной памяти с именем 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=', ''.format(a, a * a))
a= ◦◦◦◦4◦◦◦16
a = 1 / 3
b = 1 / 9
print ("".format(a, b))
◦◦0.333◦◦0.111
a = 1 / 3
b = 1 / 9
print (''.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() указывать конкретный символ разделителя. Разделителем будет символ ':' , взятый в кавычки или апострофы.

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

Усовершенствуем программу 1, организовав в ней ввод данных с помощью оператора input , включив строку с приглашением для ввода:

Результат работы усовершенствованной программы

Результат работы усовершенствованной программы

Теперь наша программа может вычислить длину окружности и площадь круга для любого значения r. Иначе говоря, она решает не единичную задачу, а целый класс задач. Кроме того, в программе понятно и удобно организован ввод исходных данных и вывод получаемых результатов. Это обеспечивает дружественность пользовательского интерфейса.

САМОЕ ГЛАВНОЕ

Для ввода в оперативную память значений переменных используются оператор ввода input .

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

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

Читайте также: