Изложение теоретического материала.
Практическое решение задач на компьютерах.
Операторы ввода-вывода встречаются в каждой программе, так как позволяют ввести необходимые для работы программы, данные с клавиатуры, из текстового файла или вывести на экран, в текстовый файл ответы, полученный в ходе выполнения программы.
организация ввода – вывода информации необходима для обеспечения связи с пользователем программы. Какая-то информация должна передаваться программе пользователем в качестве исходной, результаты обработки должны быть сообщены пользователю. Для этого используются стандартные операторы
- Read и ReadLn для чтения (ввода информации в программу);
- Write и WrileLn для записи (вывода информации из программы).
Ln (line) позволяет после выполнения оператора переместить курсор в начало следующей строки.
За именем операторов следуют параметры, заключенные в круглые скобки и отделенные друг от друга запятыми.
В качестве параметров оператора чтения используются имена переменных. Параметрами оператора записи могут служить текст, заключенный в апострофы, выражения.
Например, команда Writeln (‘Здравствуйте’) выведет на экран сообщение «Здравствуйте» и переместит курсор в начало следующей строки. А, команда Readln (а) будет запрашивать у пользователя ввод значения переменной а.
Рассмотрим следующий пример.
Пример. Написать программу приветствия и запроса даты рождения.
Var a,b,c: integer; {Переменные для даты рождения}
Name: string; {Переменная для имени}
BEGIN
Writeln (‘Привет. Как тебя зовут?’);
Readln (name);
Writeln (‘Введи день рождения’);
Readln (a);
Writeln (‘Введи месяц рождения’);
Readln (b);
Writeln (‘Введи год рождения’);
Readln (с);
Write (‘Тебя зовут – ’, name, ‘. Ты родился: ’, a, ‘.’,b, ‘.’,c);
Readln;
END.
Итак, наберем данную программу на компьютере и, применив пошаговую отладку, рассмотрим каждый пункт программы.
С ребятами нужно запустить данную программу и разобрать её по пунктам.
Следующий оператор, с которым мы познакомимся это оператор присваивания.
Оператор присваивания в Паскале имеет вид
А:= В,
где А – переменная некоторого типа, а В – выражение этого же типа. Выражение может включать в себя константы, переменные, знаки операций, функции, скобки. Если тип присваиваемого выражения В не соответствует типу переменной А, то компилятор выведет сообщение об ошибке Type miss match – несоответствие типов.
При выполнении этого оператора подсчитывается значение выражения, полученный результат присваивается переменной.
Рассмотрим применение данного оператора на примере.
Пример. Необходимо подсчитать значение функции f = -2,7*x2+0,23*x-1,4
Var f,x: real;
BEGIN
Writeln (‘Введите значение х’);
Readln (х);
f:=- 2.7*x*х+0.23*x-1.4;
Writeln (‘Значение функции f равно ’, f:0:2);
Readln;
END.
При выводе значения функции f добавляется следующая запись:0:2 для того, чтобы избежать вывода числа вещественного типа в экспоненциальной форме. Данной записью мы отводим для получившегося числа необходимое число позиции экрана для вывода цифр до запятой и 2 позиции – после запятой.
Подведение итогов.
Итак, сегодня мы познакомились с операторами ввода-вывода и присваивания.
Ребята, что нужно помнить при решении задач с использованием операторов ввода-вывода? А оператора присваивания?
При решении задач с использованием оператора ввода следует помнить, что:
· для ввода с клавиатуры во время работы программы исходных данных (значений переменных) предназначена инструкция readln;
· используя одну инструкцию readln, можно ввести значения нескольких переменных;
При решении задач с использованием оператора вывода следует помнить, что:
· инструкции write и writein предназначены для вывода на экран монитора сообщений и значений переменных;
· одна инструкция write (writein) может вывести на экран значения нескольких переменных и (или) несколько сообщений;
· инструкция writein без параметров переводит курсор в начало следующей строки экрана.
При решении задач с использованием оператора присваивания следует помнить, что:
· инструкция присваивания используется для изменения значений переменных, в том числе и для вычислений по формулам;
· тип выражения, находящегося в правой части инструкции присваивания, должен соответствовать типу переменной, имя которой стоит слева от символа инструкции присваивания (при нарушении соответствия типа переменной и выражения компилятор выводит сообщение об ошибке Type miss match - несоответствие типов).
А теперь запишите домашнее задание:
Задача 1. Напишите программу, которая подсчитывает площадь круга по формуле s=p*r2. Радиус круга известен. Ответ вывести на экран.
Задача 2. Написать программу, которая выводит на экран четверостишие:
Унылая пора! Очей очарованье!
Приятна мне твоя прощальная краса —
Люблю я пышное природы увяданье,
В багрец и золото одетые леса.
А. С. Пушкин
Приложения
Раздаточный материал
Для рассмотрения операторов ввода-вывода
Var a,b,c: integer; {Переменные для даты рождения} Name: string; {Переменная для имени} BEGIN Writeln (‘Привет. Как тебя зовут?’); Readln (name); Writeln (‘Введи день рождения’); Readln (a); Writeln (‘Введи месяц рождения’); Readln (b); Writeln (‘Введи год рождения’); Readln (с); Write (‘Тебя зовут – ’, name, ‘. Ты родился: ’, a, ‘.’,b, ‘.’,c); Readln; END. |
Var a,b,c: integer; {Переменные для даты рождения} Name: string; {Переменная для имени} BEGIN Writeln (‘Привет. Как тебя зовут?’); Readln (name); Writeln (‘Введи день рождения’); Readln (a); Writeln (‘Введи месяц рождения’); Readln (b); Writeln (‘Введи год рождения’); Readln (с); Write (‘Тебя зовут – ’, name, ‘. Ты родился: ’, a, ‘.’,b, ‘.’,c); Readln; END. |
Var a,b,c: integer; {Переменные для даты рождения} Name: string; {Переменная для имени} BEGIN Writeln (‘Привет. Как тебя зовут?’); Readln (name); Writeln (‘Введи день рождения’); Readln (a); Writeln (‘Введи месяц рождения’); Readln (b); Writeln (‘Введи год рождения’); Readln (с); Write (‘Тебя зовут – ’, name, ‘. Ты родился: ’, a, ‘.’,b, ‘.’,c); Readln; END. |
Для рассмотрения оператора присваивания
Var f,x: real; BEGIN Writeln (‘Введите значение х’); Readln (х); f:=- 2,7*x*х+0,23*x-1,4 Writeln (‘Значение функции f равно ’, f:0:2); Readln; END. |
Var f,x: real; BEGIN Writeln (‘Введите значение х’); Readln (х); f:=- 2,7*x*х+0,23*x-1,4 Writeln (‘Значение функции f равно ’, f:0:2); Readln; END. |
Var f,x: real; BEGIN Writeln (‘Введите значение х’); Readln (х); f:=- 2,7*x*х+0,23*x-1,4 Writeln (‘Значение функции f равно ’, f:0:2); Readln; END. |
Var f,x: real; BEGIN Writeln (‘Введите значение х’); Readln (х); f:=- 2,7*x*х+0,23*x-1,4 Writeln (‘Значение функции f равно ’, f:0:2); Readln; END. |
Var f,x: real; BEGIN Writeln (‘Введите значение х’); Readln (х); f:=- 2,7*x*х+0,23*x-1,4 Writeln (‘Значение функции f равно ’, f:0:2); Readln; END. |
Решение домашнего задания
Задача 1.
Var r,s:integer;
Begin
Writeln(‘Введите радиус’);
Readln®;
S:= pi*sqr®;
Writeln (‘Площадь круга=’,s);
Readln;
End.
Задача 2.
begin
writeln(‘Унылая пора! Очей очарованье!’);
writeln(‘Приятна мне твоя прощальная пора.’);
writeln(‘Люблю я пышное природы увяданье,’);
writeln{‘В багрец и золото одетые леса.1); writeln;
writeln(‘ А.С.Пушкин’);
readln;
end.