1. Оператор
присваивания,
ввод и вывод данных
11 класс
2013г.
2. Присваивание
Присваивание – это действие, в результате которого
переменная величина получает определенное значение. В
программе на Паскале существуют три способа
присваивания значений переменной:
1) Оператор присваивания;
2) Оператор ввода;
3) Передача значения через параметры подпрограммы.
3. Оператор присваивания
A := B;
А - переменная; В - выражение
Типы переменной А и значение выражения В должны
соответствовать друг другу. Если переменная А - целого
типа, то выражение В должно иметь значение целого типа.
Сначала вычисляется значение выражения В, и его значение
присваивается переменной А.
4. Ввод и вывод данных
Внешние
Вывод (Write) устройства:
ввода-вывода
ОЗУ (клавиатура, монитор,
принтер и т.д.) и
внешняя память
(магнитные и
Ввод (Read)
оптические диски,
флэш-память и т.д.)
5. Для ВЗУ файл – это поименованная область памяти этого
устройства.
Устройства ввода с клавиатуры и вывода на экран
монитора являются однофайловыми. Ввод с клавиатуры
равнозначен чтению из файла INPUT. Вывод на экран – это
запись данных в файл OUTPUT.
Файлы
Типизированные Нетипизированные Текстовые
6. Текстовые файлы
Текстовый файл – наиболее часто употребляемая
разновидность файлов.
Содержимое тестового файла представляет собой
символьную последовательность, разделенную на строки.
EOLN – конец строки.
EOF – конец файла.
S1 S2 … Sk1 EOLN S1 S2 … Sk2 EOLN … EOF
7. Ввод
Общий вид:
Read(переменная, переменная...)
ReadLn(переменная, переменная...)
При выполнении процедуры Read ожидается ввод
перечисленных в скобках значений. Вводимые данные нужно
отделить друг от друга пробелами. Присваивание значений
идет по очереди.
Особых различий при чтении и записи в использовании
операторов Read и ReadLn нет. Часто процедуру ReadLn без
параметров применяют в конце программы для задержки: до
нажатия на клавишу <Enter> результат выполнения
программы остается на экране. Это очень полезно делать для
анализа результатов.
8. Ввод из файла на диске
Для организации ввода данных из текстового файла
следует:
1) Объявить в программе переменную с типом text (она
называется файловой переменной);
2) Связать файловую переменную с файлом на ВЗУ,
содержащим исходные данные, с помощью оператора Assign;
3) Открыть файл для чтения с помощью процедуры Reset;
4) Осуществлять чтение из файла с помощью операторов
Read или Readln;
5) Закрыть файл с помощью оператора Close.
9. Пример
В текстовом файле с именем abc.txtхранятся пять чисел,
разделенных на две строки:
2.5 3.1 4.0
0.7 1.5
В следующей программе организован ввод этих данных в
вещественные переменные a, b, c,d,e:
Var a, b, c, d, e: real;
FD: text; {Описание файловой переменной}
Begin
Assign(FD, ‘abc.txt’); {переменная FD связывается}
{ с файлом abc.txt}
Reset(FD); {файл открывается для чтения с его начала}
Readln(FD, a, b, c); {чтение первой строки файла}
Readln(FD, d, e); {чтение второй строки файла}
Close(FD); {разрывается связь переменной FD с файлом}
End.
10. Вывод
Write (англ. писать) - оператор, который используется для
вывода информации на экран. Оператор WriteLn выполняет
то же самое действие, но так как у него есть еще окончание
Ln (line - англ. линия, строка), то после вывода на экран
нужного сообщения, он дополнительно переводит курсор в
начало следующей строки.
Общий вид:
Write (список выражений)
WriteLn (список выражений)
Процедуры Write и WriteLn используются не только для
вывода результата, но и для вывода различных сообщений
или запросов. Это позволяет вести диалог с пользователем,
сообщать ему, когда ему нужно ввести значения, когда он
получает результат, когда он ошибся и др.
11. Пример
Write(‘Сумма ‘, A, ‘+’, B, ‘=‘, A+B)
Если, например, A=5, B=7, то на экране получим:
Сумма 5+7=12
При выводе на экран нескольких значений в строку они не
отделяются друг от друга пробелами. Программист должен
сам позаботиться о таком разделении.
12. Вывод в текстовый файл
Для организации вывода данных в текстовый файл
следует:
1) Объявить в программе переменную с типом text;
2) Связать файловую переменную с файлом на ВЗУ с
помощью оператора Assign;
3) Открыть файл для записи с помощью процедуры Rewrite;
4) Осуществлять запись в файл с помощью операторов Write
или Writeln;
5) Закрыть файл с помощью оператора Close.
13. Пример
Требуется записать в текстовый файл таблицу умножения на 2.
Var A: integer;
TM: text; {Описание файловой переменной}
Begin
Assign(TM, ‘E:TabMul.txt’); {связывание переменной TM}
{с файлом}
Rewrite(TM); {Открытие файла для записи}
{Циклический вывод в файл таблицы умножения}
For A:=2 To 9 Do Writeln(TM, 2, ‘*’, A, ‘=‘, 2*A);
Close(TM); {разрывается связь переменной FD с файлом}
End.
14. Задания
1. Если y – вещественная переменная, а n – целая, то какие из
следующих операторов присваивания правильные, а какие – нет?
a) y:=n+1;
b) n:=y-1;
c) n:=4.0;
d) y:=trunc(y);
e) y:=n div 2;
f) y:=y div 2;
g) n:=n/2;
h) n:=sqr(sqrt(n)).
15. Задания
2. Напишите последовательность операторов присваивания, в
результате выполнения которой целые переменные x и y
обменяются значениями. При этом нельзя использовать
дополнительные переменные. Найдя такой алгоритм, определите, в
чем его недостаток по сравнению с методом обмена через третью
переменную. Можно ли его применять для вещественных чисел?
3. Напишите оператор присваивания, в результате выполнения
которого целой переменной h присвоится значение цифры, стоящей
в разряде сотен в записи положительного целого числа k
(например, если k=28796, то h=7).
4. Напишите оператор присваивания, в результате выполнения
которого целой переменной S присвоится значение суммы цифр
трехзначного целого числа k.
16. Задания
5. Напишите программу, по которой из текстового файла с
именем kvur.txt будут прочитаны три числа: a, b, c – коэффициенты
квадратного уравнения, затем будут вычислены корни этого
уравнения и выведены на экран и в текстовый файл korni.txt.
17. Источники
• Семакин И.Г. Информатика и ИКТ. Профильный уровень: учебник для
11 класса/ И.Г.Семакин, Е.К.Хеннер, Л.В.Шестакова.– М.: БИНОМ.
Лаборатория знаний, 2012.
• Рапаков Г.Г.. Ржеуцкая С.Ю. Turbo Pascal для студентов и школьников.
– СПб.: БХВ-Петербург, 2005.