0

Как ввести переменные в паскале

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

Следовательно, любой язык программирования должен иметь инструменты как для ввода данных, так и их вывода. В Паскале ввод осуществляется с помощью процедур read() и readln() , а вывод – благодаря write() и writeln() . Процедуры, которые имеют окончание ln , после своего выполнения переводят указатель на новую строку.

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

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

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

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

Вывод данных на экран и в файл в языке программирования Pascal осуществляется с помощью процедур write ( ) и writeln ( ) . Здесь будет рассмотрен вывод только на экран.

Допустим, нам требуется отобразить на экране пару фраз. Если мы хотим, чтобы каждая из них начиналась с новой строки, то надо использовать writeln() , если нет – то write() .

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

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

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

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

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

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

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

Читайте также:  Где в биосе посмотреть процессор

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

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

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

Primary tabs

Forums:

Ранее мы говорили о стандартных процедурах write() и writeln(), служащих для вывода данных в консоль, теперь же погорим об обратном процессе – а именно получении данных от пользователя.

Процедура Readln()

Стандартная процедура readln() позволяет записывать в переданные аргументы-переменные те значения, которые пользователь вводит в консоли.

Подробнее:
Стандартная процедура readln() (читают как "ридлэн" или "ридлайн") работает в двух режимах (всегда временно останавливая консоль):

— то она ожидает ввода данных (литералов) для этих переменных, а после ввода последнего требуемого литерала ожидает последнего нажатия клавиши Enter.

Просто ожидает нажатия Enter пользователем, если вызывается :

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

Подробнее поговорим о первой функции данной процедуры.

Получение значений переменных и стандартный поток ввода данных

Стандартный поток ввода данных

В Паскале стандартным потоком ввода можно назвать

, так для разных реализаций Паскаля этот "источник" чтения может оказаться различным.

Давайте возьмём такой код:

и запустим его в паре средств разработки (мы можете попробовать запустить в вашей среде).

В Lazarus Delphi местом чтения оказывается "консоль", например в Windows, это выглядит как-то так (черное окно появляющееся при запуске программы):

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

Тот же самый код, запущенный в среде ABCПаскаль, не приведёт к открытию черного окна, а просто предложит ввести данные в нижней части собственного окна:

— здесь для обозначения места ввода используется вертикальный курсор.

Получение значений для переменных — два способа

К этому моменту мы с вами слышали про два способа получения значений для переменных:

  1. С помощью операции (и её оператора) присваивания, например:
  2. С помощью вызова Readln(), где в качестве аргументов переданы эти переменная/переменные:

— о втором способе получения данных поговорим подробнее ниже.

Как работает Readln()

Readln() выполняет неявное (внутри своего тела — тела процедуры) присваивание введенных пользователем значений переменным, которые переданы в него в качестве аргументов.

Читайте также:  Добро пож в контакт

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

Если второй раз вы введете не восьмерку — а любое другое целое число, то значение переменной b изменится — собственно это и есть основной пример иллюстрирующий работу readln.

С помощью readln() можно вводить данные любого типа, из списка приведённого ранее.
Когда мы говорим "вводить", то подразумеваем, что пользователь вводит — передаёт данные в "область" выполнения программы — как бы из одного мира в другой.

Получение значений для нескольких переменных одним вызовом

Readln() умеет запрашивать данные сразу для нескольких переменных одним вызовов, переменные, переданные в качестве аргументов могут быть разных типов, но так как мы к данному моменту изучили только два типа (integer и real), то рассмотрим пример получения нескольких значений этих двух типов.

Здесь в первой части программы значения всегда придётся вводить по одному, а вот во второй части, где аргументы передаются списком можно:

  1. либо также вводить по одному (после каждого нажимая Энтер), тогда мы получим в консоли что-то вроде:
  2. либо в одну строку через пробел, нажав Энтер после ввода третьего значения:

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

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

Например, рассмотрим код:

В примере выше в однострочных комментариях мы показали, что выведет на экран writeln() в первом и третьем случае.
Во втором же случае значение переменной $a$ перезаписывается не явно с помощью оператора присваивания, а с помощью процедуры чтения readln(), а потому в консоли вместо строки:

будет какое-то число введённое пользователем.

Разбор задач

Пример №1

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

Это не сложная задача.
Во-первых, так как первая переменная вещественна, то и вторую (которой будем присваивать результат произведения), тоже придётся объявить как вещественную, так как в силу неявного приведения типов произведение вещественного значения и целого числа (в нашем случае это $2$) даёт вещественное значение.

Далее перейдём к решению:

Запустите этот код и посмотрите на ответ задачи (введя значение переменной и нажав Энтер).

Пример №2

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

Сказано, что одна переменная хранит целое число, а другая вещественное — значит ясно, что одну надо объявить как переменную целого типа integer, а вторую как вещественного real. Третья же переменная будет хранить их сумму, так как в случае арифметических операций с вещественными и целыми типами имеет место неявное приведение типа, то тип суммы будет вещественным.
Давайте объявим эти переменные:

Читайте также:  Бесплатные программы по созданию видеороликов из фотографий

С помощью комментариев к коду можно даже пояснить какая переменная за что отвечает:

Теперь когда мы определились с секцией объявления переменных, можно переходить к реализации тела программы.
Здесь всё просто:

— запустите эту программу, курсор ввода значения (задержанный realdln-ом) для второй переменной будет мигать без всяких пояснений, что не удобно, так как не совсем понятно, что требуется делать. В таких случаях обычно перед любым readln() используют вывод какого-либо пояснения, которое помогает пользователю понять, что требуется делать:

Добро пожаловать на курс видеоуроков Pasca l , разработанный Школой компьютерной грамотности Анны и Александра Синкевичей!

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

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

Переменными называют величины, значения которых изменятся в процессе выполнения программы.

Константами называются величины, которые не изменяют своего значения.

Операторы описывают те действия, которые должна выполнять программа.

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

Integer — целый тип. Описывает числа (например число 6 или 18 или -50).

Real — вещественный тип. Служит для хранения дробных чисел (например число 6,2 или 18,9 или -50,7).

Описать переменную — это значит указать после зарезервированного слова Var имя и тип переменной. Например:

Var a: integer;

Var a,b: real;

Для ввода данных используются команды (операторы) Read или Readln. Команда Readln отличается от команды Read тем, что после ввода необходимого количества данных осуществляется переход курсора на следующую строку.

Для вывода данных используются команды (операторы) Write и Writeln. Команда Writeln отличается от команды Write тем, что после вывода необходимого количества данных осуществляется переход курсора на следующую строку.

Более подробную теорию и решение задач смотрите в видеоуроке.

Нажмите PLAY, чтобы начать просмотр видеоурока.

Рассмотрим решение следующих задач:

program z2;
Var x: integer;
begin

end.

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

Program z3;
Var x: integer;
Begin
write(‘введите число ‘);
readln(x);
write(‘Если вы добавите к числу 10, то получится,’,10+x);
End. Составьте программу, в которой осуществляется ввод трёх целых чисел с клавиатуры и вывод на экран монитора значения их суммы. Program z4;
uses crt;
Var x,y,z: integer;
Begin
writeln(‘введите 3 числа ‘);
readln(x,y,z);
write(‘Сумма чисел =’,x+y+z);
End. Program z5;
uses crt;
Var x,y: integer;
Begin
writeln(‘введите 2 числа ‘);
readln(x,y);
write(‘Произведение чисел =’,x*y);
End.

Узнайте больше и освойте новые языки программирования!

admin

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

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