Описать операторы ввода и вывода данных. Оператор ввода-вывода в Pascal

Линейные программы

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

Для ввода данных используются операторы LET, DATA, READ, RESTORE, INPUT, LINE INPUT, функция INPUT$.

Оператор LET . Служит для присвоения значений переменным. Формат оператора: LET <имя переменной> = <выражение>

Оператор LET может быть опущен, поэтому выражения

LET A=exp(x)+ sin(x) и A=exp(x)+ sin(x)

эквивалентны.

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

Типы данных в операторах DATA и READ должны соответствовать друг другу. Эти операторы могут располагаться в любом месте программы. Строковые переменные записываются без кавычек, если в них нет пробелов, и заключаются в кавычки, если содержат пробелы.

Форматы операторов:

DATA <список данных>

READ <список переменных>

Пример 9.4.1. Использование операторов DATA, READ

DATA 125, 34.78, 1.24E-5, БРЕСТ, “МИНСК - СТОЛИЦА”

READ A,B,D,C$,C1$

Переменным A, B и D будут присвоены, соответственно, числовые значения 125, 34.78 и 0.0000124, переменным C$ и C1$ - “БРЕСТ” и “МИНСК - СТОЛИЦА”.

Для повторного использования данных используется оператор RESTORE . Формат оператора: RESTORE [<метка>].

Если метка в операторе RESTORE не указана, то указатель устанавливается в начало области данных, иначе указатель устанавливается на соответствующую метку в области данных.

Пример 9.4.2. Использование операторов DATA, READ, RESTORE

10 REM ПРИМЕР ИСПОЛЬЗОВАНИЯ ОПЕРАТОРОВ DATA, DEAD, RESTORE

20 DATA 136.75, 18E5,123.45,1978,.9875

25 DATA .5439,1.567,4.65,12.23,48.56

30 READ A1,A2,A3,A4,А5: REM чтение данных из строки 20

150 READ B1,B2: REM чтение данных из строки 25

250 RESTORE 25: REM перевод указателя данных на метку 25

260 INPUT "Введите размерность массива N, не более 5",N

270 FOR i=1 TO N

280 READ D2(i) : REM чтение данных из строки 25 в одномерный массив



Оператор INPUT служит для ввода данных с клавиатуры в режиме диалога с пользователем. Формат оператора:

INPUT [;] “текстовое выражение”[;/,]<список переменных>

Здесь [;] – необязательный параметр, оставляет курсор в текущей строке; [;/,] - означает, что в качестве разделителя может использоваться один из указанных знаков ";" или ",".

При выполнении оператора INPUT на экран выдается запрос на ввод данных. Если в качестве разделителя используется “;”, то запрос сопровождается выводом на экран вопросительного знака, при использовании в качестве разделителя “,” вопросительный знак на экран не выводится. Текстовое сообщение позволяет сделать запрос понятным пользователю. В списке переменных данные разделяются запятыми или пробелами (предпочтительнее разделять данные запятыми). С помощью оператора INPUT можно вводить как числовые, так и символьные переменные. Если символьная переменная не содержит пробелов и других разделителей, то при вводе данных заключать ее в кавычки не обязательно.

Не используйте оператор INPUT без текстового комментария.

Пример 9.4.3. Использование оператора Input

INPUT “Введите переменные А и B”; A,B

INPUT “Введите Ваш год рождения”, GR$

Здесь A и B - числовые переменные, GR$ - символьная переменная.

Оператор LINE INPUT служит для ввода одной символьной переменной. При вводе значение символьной переменной в кавычки не заключается, в ней допускается наличие пробелов и других разделителей. Конец строки определяется символом возврата каретки - нажатие клавиши ENTER. Формат оператора LINE INPUT аналогичен формату оператора INPUT.

Функция INPUT$ служит для ввода символов, не отображаемых на экране, например пароля. Формат функции: с1$ = INPUT$(n [,[#]nf])

Здесь n - число вводимых символов, # - номер канала при вводе данных из файла, nf - имя файла.

Пример 9.4.4. Использование оператора LINE INPUT и функции INPUT$

LINE INPUT "Введите фамилию, имя и отчество ",FIO$

Символьной переменной B$ присваивается код из пяти символов, при выдаче запроса вводимые символы отображаться на экране не будут. Когда в программе встречается оператор INPUT$(n), программа останавливается и ожидает ввода данных. Поэтому данный оператор в формате B$= Input$(1) может быть использован для остановки программы до нажатия любой клавиши.

Функция Input$(1) может быть использована для остановки программы до нажатия любой клавиши.

Конспект открытого урока в 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.


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

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

Оператор ввода read

Процедура ввода с клавиатуры (обращение к стандартной процедуре ввода) имеет следующий формат:

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

где <список ввода> - это последовательность имен переменных, разделенных запятыми. При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке Паскаль недопустимо. Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter .

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

Другой вариант оператора ввода с клавиатуры имеет вид:

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

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

Оператор вывода write

Оператор вывода на экран (обращение к стандартной процедуре вывода) имеет следующий формат:

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

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

Второй вариант процедуры вывода на экран:

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

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

Вывод каждого значения в строку экрана происходит в соответствии с шириной поля вывода, определяемой конкретной реализацией языка. Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде символов, логического типа - в виде логических констант TRUE и FALSE .

Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода. В этом случае элемент списка вывода имеет вид А:К, где А - выражение или строка, К - выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Если выводимое значение не помещается в ширину поля К, то для этого значения будет отведено необходимое количество позиций. Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой.

10. Операторы ввода и вывода

Рассмотрим организациюввода и вывода данных с терминального уст-

ройства. Терминальное устройство - это устройство, с которым работает

пользователь, обычно это экран (дисплей) и клавиатура.

Для ввода и вывода данных используются стандартные процедуры ввода

и вывода Read и Write, оперирующие стандартными последовательными файлами

INPUT и OUTPUT.

Эти файлы разбиваются на строки переменной длины,отделяемые друг

от друга признаком конца строки.Конец строки задается нажатием кла-

Для ввода исходных данных используются операторы процедур ввода:

Read(A1,A2,...AK);

ReadLn(A1,A2,...AK);

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

ваивание этих значений переменным А1,А2,...,АК. Второй оператор

реализует чтение К значений исходных данных, пропуск остальных значе-

ний до начала следующей строки, присваивание считанных значений пере-

менным А1,А2, ..., АК. Третий оператор реализует пропуск строки ис-

ходных данных.

При вводе исходных данныхпроисходитпреобразованиеизвнешней

формы представления во внутреннюю, определяемую типом переменных. Пе-

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

либо кдействительному,либо к символьному типам. Чтение исходных

данных логического типа в языке ПАСКАЛЬ недопустимо.

Операторы вводапри чтении значений переменных целого и

действительного типа пропускает пробелы,предшествующие числу.В то

же время эти операторы не пропускают пробелов,предшествующих значе-

ниям символьных переменных,так как пробелыявляютсяравноправными

символами строк. Пример записи операторов ввода:

var rV, rS: Real;

iW, iJ: Integer;

................

Read(rV, rS, iW, iJ);

Значения исходных данных могут отделяться друг от другапробелами

и нажатием клавиш табуляции и Enter.

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

операторы:

Write(A1,A2,...AK);

WriteLn(A1,A2,...AK);

Первый из этих операторов реализует вывод значений переменныхА1,

А2,...,АК встроку экрана.Второй оператор реализует вывод

значений переменных А1,А2,...,АК и переход кначалуследующей

строки. Третийоператор реализует пропуск строки и переход к началу

следующей строки.

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

действительному, символьному или булевскому типам. В качестве элемен-

та списка вывода кроме имен переменных могут использоваться выражения

и строки.

Вывод каждогозначения в строку экрана происходит в соот-

ветствии с шириной поля вывода,определяемой конкретнойреализацией

Форма представления значений в поле вывода соответствует типупе-

ременных и выражений:величины целого типа выводятся как целые деся-

тичные числа,действительного типа - какдействительныедесятичные

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

волов, логического типа - в виде логических констант TRUE и FALSE.

Оператор выводапозволяетзадатьширину поля вывода для каждого

элемента списка вывода.В этом случае

элемент списка вывода имеет вид А:К, где

А - выражение или строка,К - выражение либо константа целоготипа.

Если выводимое значение занимает в поле вывода меньше позиций, чем К,

то перед этим значением располагаются пробелы.Если выводимое значе-

ние не помещается в ширину поля К,то для этого значения будет отве-

дено необходимое количество позиций. Для величин действительного типа

элемент списка вывода может иметь вид А:К:М, где А - переменная или выраже-

ние действительного типа,К - ширина поля вывода,М-числоцифр

дробной частивыводимого значения.К и М - выражения или константы

целого типа.В этом случае действительные значения выводятся в форме

десятичного числа с фиксированной точкой.

Пример записи операторов вывода:

. . . . . . . . . . . .

var rA, rB: Real;iP,iQ:Integer;

bR, bS: Boolean;chT, chV, chU, chW: Char;

. . . . . . . . . . . .

WriteLn(rA, rB:10:2);

WriteLn(iP, iQ:8);

WriteLn(bR, bS:8);

Цель лабор а торной работы: научиться правильно описывать переменные, используя следующие стандартные типы данных:целочисленные. вещественные и логический; изучить операторы ввода-вывода данных, выработать практические навыки работы с системой 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); выведет на экран надпись.



 

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