Какие оператор позволяет вводить переменные в программу. Основные операторы. Ввод данных Паскаль

Процедура ввода данных с клавиатуры – Read (читать). Ее можно представить так:

Read(<Список ввода>);

В качестве списка ввода выступают имена переменных. Во время выполнения оператора ввода данных программа останавливается и ждет, пока они будут введены. Для завершения ввода необходимо нажать Enter. Если переменных несколько, то они могут вводиться через пробел, либо, введя одну переменную нужно нажать Enter, потом ввести вторую и т. д.

Для перевода каретки после выполнения оператора Read на новую строку, следует прибавить окончание ln:

Readln(<Список ввода>);

Также можно не указывать список ввода:

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

Вывод данных:

Для вывода данных в Паскале имеется оператор Write . Для того, чтобы каретка переводилась на следующую строку, к нему прибавляется окончание ln и получается Writeln . В общем виде эти операторы имеют вид:

Write(<Список вывода>);

Writeln(<Список вывода>);

Элементами списка вывода являются величины различных типов, в том числе выражения и строки, отделенные друг от друга запятыми, например:

Здесь x и y – параметры, заключенные в круглые скобки. Возможно использование оператора вывода и без параметров:

Writeln; {Курсор переведется на следующую строку}

Форматированный вывод:

Недостаточно просто вывести значение на экран, нужно также сделать это как можно корректнее. Допустим нам нужно в одном операторе Write вывести значения нескольких переменных (a=1, b=2, c=3). Пишем:

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

1) Вписать пробел вручную, например:

Write(a, ‘ ’, b, ‘ ’, c);

2) Воспользоваться возможностью форматированного вывода:

Write(a, b:2, c:2);

Двоеточие относиться к переменной, после которой оно следует, и говорит программе, что при выводе (переменной) нужно выделить место, заданное целым числом (в нашем случае это 2), т. е. под значения, хранящиеся в переменных b и c отводиться две клетки, сами они выведутся «прижатыми» к правому краю.

Цель лабор а торной работы: научиться правильно описывать переменные, используя следующие стандартные типы данных:целочисленные. вещественные и логический; изучить операторы ввода-вывода данных, выработать практические навыки работы с системой PascalABC, научиться создавать, вводить в компьютер, выполнять и исправлять простейшие программы на языке Pascal в режиме диалога, познакомиться с диагностическими сообщениями компилятора об ошибках при выполнении программ, реализующих линейные алгоритмы.

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

Оператор присваивания: (:=). Оператор присваивания служит для присваивания значений переменным, например: x:=1; a:=5. 02; b:= 32*a+Sin(x); S:= "Иван Иванович".

Составной оператор: Begin <операторы> End;

Составной оператор служит для записи в свое тело других операторов, последовательность которых рассматривается в данном случае как один оператор. Этим оператором начинается и заканчивается раздел выполнения основной программы, подпрограммы, функции. После последнего оператора END основной программы ставится точка.

    1. Операторы ввода/вывода данных

Для выполнения операций ввода-вывода служат четыре оператора:

Read,ReadLn,Write,WriteLn. Оператор чтения (Read) обеспечивает ввод числовых данных, символов, строк и т.д. для последующей их обработки программой.

Формат: Read(X1, Х2, .. , Хn), где X1, Х2, .. , Хn–переменные допустимых типов данных.

Значения X1, Х2, .. , Хnнабираются минимум через один пробел на клавиатуре пользователем и высвечиваются на экране. Значения переменных должны вводиться в строгом соответствии с синтаксисом языка. Если в программе имеется несколько операторовRead, данные для них вводятся потоком, т. е. после считывания значений переменных для одного оператораReadданные для следующего оператораRead–набираются на той же строке, что и для предыдущего до окончания строки, затем происходит переход на следующую строку. Оператор чтенияReadLnаналогичен операторуRead, единственное отличие заключается в том, что после считывания последнего в списке значения для одного оператора ReadLn данные для следующего оператора ReadLn будут считываться с начала новой строки.

Оператор записи (Write) производит вывод данных.

Формат: Write(X1, Х2, .. , Хn), где X1, Х2, .. , Хn- выражения типаinteger,byte,real,char,Booleanи т.д.

Пример: Write(125); (выражение представлено значением)Write(А+В–С); {выводится результат выражения).

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

    Вывод десятичного представления величины Iначиная с позиции расположения курсора (I):

    Вывод десятичного представления величины I в крайние правые позиции поля шириной р (I:р):

Где ַ– пробел.

3. Вывод десятичного представления величины Iв крайние правые позиции поля шириной р и дробной части числа ширинойq(I:р:q):

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

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

a:=5.12345678912345678912345; Writeln("а=", a); выведет на экран надпись.

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

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

Операторы ввода (форматы операторов):

Read(<Список ввода>); Readln(<Список ввода>);

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

Примечание: данные при вводе разделяются пробелами.

Разница между работой процедур Read и Readln (от Read line) состоит в следующем: после выполнения Read значение следующего данного считывается с этой же строчки, а после выполнения Readln - с новой строки.

Для вывода информации в Паскале также есть две команды:

Write(<Список вывода>); Writeln(<Список вывода>);

Такой формат использования Write и Writeln позволяет выводить на экран монитора данные из списка вывода. Элементами списка вывода могут являться имена переменных, выражения, константы. Прежде чем вывести на экран компьютер значения выражений сначала вычислит. Элементы списка, также как и в операторах ввода, разделяются запятыми. Различие между двумя операторами вывода таково: после выполнения оператора Writeln (от Write line) происходит переход на новую строчку, а после выполнения инструкции Write, переход на новую строчку не происходит и печать по последующим командам вывода Write или Writeln будет происходить на той же строчке. При вызове оператора Writeln без параметров просто происходит переход на новую строчку.

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

Program Inteface;

Write("Введите радиус круга "); {Печать на экране просьбы о вводе}

Readln(R); {Ввод значения в

переменную R с клавиатуры}

S:=4*ARCTAN(1)*SQR(R); {Вычисление площади круга (pR2)}

Writeln("Площадь круга радиусом ",R," равна ",S)

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

Для того, чтобы просмотреть результат работы этой программы, ее необходимо сначала откомпилировать. Сделать это в Паскале можно, нажав сочетание клавиш Ctrl+F9. Программа будет проверена на ошибки (если они найдутся, то вам будет выдано сообщение вверху экрана и курсор встанет на место ошибки). Если ошибок не нашлось, то результат будет выдан и просмотреть его можно, если нажать сочетание клавиш Alt+F5.

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

Пример . Определить объём и площадь боковой поверхности цилиндра с заданными радиусом основания R и высотой H.

Program Cylinder;

R, {радиус основания цилиндра}

H, {высота цилиндра }

V, {объем цилиндра }

S: Real; {площадь боковой поверхности цилиндра}

Write("Введите высоту цилиндра: "); ReadLn(H);

Write("Введите радиус основания: "); ReadLn(R);

V:= Pi * R * R * H;

S:= 2 * Pi * R * H; WriteLn;

WriteLn("Объем цилиндра = ", V: 5: 2); {Здесь 5 – общее количество позиций, занимаемых переменной V при выводе, а 2 - количество позиций в дробной части значения V}

WriteLn("Площадь боковой поверхности = ",);

Задание для лабораторной работы.

1. Вычислить длину окружности, площадь круга и объём шара одного и того же заданного радиуса.

2. Вычислить значение функции y = 3x 2 + 4(sin(x)- x 3)

Конспект открытого урока в 8 классе «Линейные программы на языке Паскаль»(операторы ввода и вывода)

Тема урока: «Линейные программы на языке Паскаль» (операторы ввода и вывода)

Цель урока: изучить основных операторов языка программирования Pascal, синтаксис, семантику, а также научить учащихся использованию данных операторов при решении задач.

Задачи урока:

  • образовательные:
  • усвоение учащимися операторов и области его применения;
  • формирование умений и навыков записи операторов на языке программирования Pascal;
  • выработка навыков составления программ, реализующих линейные алгоритмы при решении задач;
  • развивающие :
  • развитие логического и алгоритмического мышления учащихся;
  • развитие у учащихся познавательной активности;
  • развитие памяти и внимания;
  • развитие коммуникационной компетентности у учащихся;
  • формирование у учащихся компьютерной грамотности и потребности в приобретении знаний;
  • воспитательные :
  • привитие учащимся навыков самостоятельной работы;
  • воспитание бережного отношения к компьютерной технике;
  • воспитание толерантности.

Тип урока: урок изучения нового материала.

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

Общее время: 45 минут.

Место проведения урока: кабинет информатики.

Оснащение урока: компьютерная презентация «Основные операторы языка Паскаль», мультимедийный проектор, интерактивный учебный курс «Основы программирования на Turbo Pascal» издательского дома «Равновесие», компьютеры с инсталлированным на них пакетом Turbo Pascal, колонки, дидактический раздаточный материал.

План урока

  1. Оргмомент – 1 мин.
  2. Вводное слово – 1 мин.
  3. Актуализация знаний и умений учащихся – 8 мин.
  4. Изучение нового материала – 15 мин.
  5. Закрепление изученного материала Работа на компьютерах – 15 мин.
  6. Заключение – 3 мин.
  7. Задание на дом – 2 мин.

Ход урока

1. Беседа с дежурным. Здравствуйте.

Кто сегодня дежурный? Кто из учащихся отсутствует на уроке?

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

3. Актуализация знаний и умений учащихся. Актуализация знаний и умений учащихся осуществляется во время фронтального опроса, в ходе, которого им предстоит ответить на следующие вопросы:

  1. Дайте определение линейного алгоритма.
  2. Структура линейного алгоритма.
  3. Приведите примеры линейных алгоритмов.
  4. Запишите формат заголовка программы.

4. Изучение нового материала.

Учащимся предлагается прослушать интерактивный учебный курс «Основы программирования на Turbo Pascal» – Введение в Turbo Pascal\Операторы ввода и вывода информации», составить опорный конспект – записать формат и блок-схему в тетрадь и ответить на вопросы:

  1. В каких случаях используется оператор Read а в каких Readln?
  2. Чем отличаются операторы Write и Writeln?
  3. Основные процедуры и функции модуля CRT.

Принцип выполнения операторов и примеры решения некоторых задач.

Начинаем с рассмотрения примера программы:

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

Программа будет иметь вид:

Program summa (input, output);

Var a,b,c,s,p:integer;

Begin

Write(‘введите 3 целых чисел’);

Readln(a,b,c);

S:=a+b+c; P:=a*b*c;

Writeln(‘сумма введенных чисел равна’,s);

Writeln(‘произведение введенных чисел равно’,p);

End.

Обращаем внимание учащихся на различную форму записи процедуры вывода и излагаем материал.

Ввод данных осуществляется с помощью процедур read и readln ;

Формат записи :

Read(имена переменных); read(а,b,c);

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

Readln(имена переменных); readln(a,b,c);

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

Вывод осуществляется с помощью процедур write, writeln.

Формат записи:

Write(‘текст’, имена переменных:m:n);

writeln(‘текст’, имена переменных:m:n);

Эти процедуры работают так же, как и процедуры ввода.

Параметры m и n определяют формат вывода. Для переменных целого типа указывается лищь параметр m, для переменных вещественного типа – могут бать указаны оба параметра, в зависимости от нужного формата вывода, для символьных, строковых только m.

Затем переходим к изучению процедур и функций, имеющихся в модуле CRT .

Даем учащимся основные процедуры и функции модуля.

Процедуры:

Clrscr (clear screen) – гашение экрана(очистка окна вывода).

Gotoxy(m,n) – установка курсора в позицию m строки n.

Trxtbackground(c) – установка цвета фона; с – константа, определяющая цвет(цифра от 0 до 7).

Textcolor(c) – установка цвета шрифта; с может принимать значения от 0 до 7.

Deline – удаление строки, в которой находится курсор. Все строки ниже удаленной сдвигаются на одну строку вверх.

Insline – добавление пустоц строки в позицию курсора, все строки за курсором сдвигаются на строку вниз.

Delay(n) – приостановка выполнения программы на n миллисекунд.

Sound(n) – запуск звукогенератора с частотой тона n Гц.

Nosound – отключение звукового сигнала.

Функции :

Keypressed – значение функции может принимать два значения: true или false. Значение true, если в буфере обмена нет ни одного символа, и false – в противном случае.

Readkey – ввод символов с клавиатуры, без отображения их на экране.

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

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

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

Задачи, которые учащиеся выполняют на этом этапе:

Задача 1

Program perim;

Uses crt;

Var a,b,c,d,p:real;

Begin

Writeln(‘Введите значения длин сторон трапеции a,b,c,d’);

Readln(a,b,c,d);

P:=a+b+c+d;

Writeln(‘периметр=’,p);

Writeln(‘для возврата в редактор нажмите любую клавишу’);

Repeat until keypressrd;

End.

Просмотреть текст программы и выяснить, что оно делает;

Запустить программу на исполнение;

Внимательно посмотреть на результат вывода;

Выйти в редактор и:

После begin вставить процедуру gotoxy(25,5);

В процедуре writeln, выводящий на экране значение периметра, изменить запись p на p:7:2;

Запустить на исполнение и выяснить, что изменилось в роботе программы.

Задача 2

Program dvij;

Uses crt,graph;

Var i,j,x:integer;

Begin

i:=detect; initgraph(i,j,’ ‘); sound (400);

for x:=0 to 640 do

begin

setcolor(5); circle(x,100,5); delay(300); setcolor(0);

end;

nosound

end.

Запустить на исполнение;

Пронаблюдать исполнение;

После возвращения в редактор изменить значение параметра в процедуре sound с 400 на 800, значение параметра в процедуре delay с 300 на 1000;

Вновь запустить программу;

Проанализировать, как повлияли изменения на работу программы.

Если класс быстро справится с заданиями, можно дать возможность ребятам поэкспериментировать с этими программами.

6. Заключение. Подводятся итоги уроки, анализируется и оценивается работа каждого ученика.

Рефлексия:
- Было ли вам комфортно сегодня на уроке?
- Что нового вы узнали на сегодняшнем уроке?
- С какими именно трудностями вы столкнулись?
- Какие задания показались вам простыми?

7. Задание на дом.

  1. Выучить опорный конспект.
  2. Найти стоимость заданного количества ткани. Цена и количество вводятся с клавиатуры. Составьте блок-схему и программу решения задачи.
  3. Заданы значения переменных a=12; b=5. Каковы будут значения этих переменных после выполнения следующего фрагмента программы:

а) a:=b; b:=a; c:= a+b;

b) f:=y; y:=x; x:=f; c:=a+b.