Мая группа № 13 (Информатика и ИКТ)




Мая группа № 13 (Информатика и ИКТ)

Урок № 75

Тема программы: Организация ввода-вывода с использованием файлов

Тема урока: Решение задач с использованием ввода-вывода из файлов

Цель: научиться использовать в программах операторы ввода-вывода Write

(Writeln) - Read(Readln), научиться решать задачи с использованием файлового ввода-вывода данных.

 

ПЛАН

1. Повторить теоретический материал

2. Решения задач

Файл- это область внешней памяти, предназначенная для хранения данных. Любой файл в Паскале имеет три характерные особенности:
А) файла есть имя, что дает возможность программе работать сразу с несколькими файлами.
Б) файл содержит компоненты одного типа (файл строк, файл записей)
В) объем файла не оговаривается в программе, значит объем файла зависит только от внешнего устройства хранения этого файла

В Паскале по способу организации различают три типа файлов:

· Текстовые файлы

· Типизированные файлы

· Нетипизированные файлы

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

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

Для того чтобы мы могли работать с файлом: считать из него данные, изменить данные, записать результат мы должны проделать вот такой алгоритм:

установить связь программы с файлом;

"открыть" файл для чтения или записи;

считать из файла или записать в файл;

закрыть файл.

В программе на Паскале текстовый файл представлен файловой переменной типа TEXT.

Var <имя файловой переменной>: text;

Связь файловой переменной с именем файла на диске осуществляется с помощью оператора Assign (имя файловой переменной, имя файла на диске);

Имя файла на диске должно содержать полный путь для поиска данного файла. Если полный путь не указан, то программа будет искать файл в каталоге, где хранится программа.
Открытие файла для чтения выполняется процедурой Reset (имя файловой переменной), если на диске не будет файла с данным именем, то выполнение программы прервется;

Открытие файла для записи осуществляется процедурой Rewrite (имя файловой переменной), если на диске нет такого файла, то он будет создан.
После открытия файлов, мы можем считывать данные и осуществлять вывод данных уже известными нами процедурами Read и Write.

И после, что мы должны сделать – это закрыть и файл для чтения и файл для записи процедурой Close.

 

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

READ(список переменных);

RЕАDLN(список переменных);

READ производит ввод данных, не переводя при этом курсор на следующую строку. READLN производит ввод данных, и переводит при этом курсор на следующую строку. Например, для ввода трех чисел в переменные А, В, С, надо записать READ(A, В, С).

Процедуру READLN можно использовать без параметров для перевода строки и задержки экрана.

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

WRITE(cписок выражений);

WRITELN(cписок выражений);

WRITE производит вывод данных, не переводя курсор на следующую строку, a WRITELN переводит курсор. При выводе данных можно управлять формой вывода т.е. указать сколько позиций нужно отвести для каждого выводимого значения. Для этого за переменной ставится двоеточие и указывается число занимаемых позиций (ширина поля вывода):

WRITE(X:n), где Х- выводимая переменная целого типа;

n - число позиций.

WRITE(X:m:n), где Х- выводимая переменная вещественного типа;

m - общее число выводимых знаков вещественного числа вместе с десятичной точкой,

n - число знаков после десятичной точки.

WRITE(‘ ’:n), число выводимых пробелов.

Пример:

Ввести две переменные а я b вещественного типа. Найти и вывести их сумму.

Программа:

Program sum;

Var a,b,s: real;

Begin

Writeln(*введите два вещественных числа&#39;); Readln(a,b);

S:=a+b;

Writeln(‘сумма двух чисел = ‘,S:6:2); Readln

End.

Решение задач

1. Даны три целых числа. Определить, имеется ли среди них хотя бы
одна пара равных между собой чисел.

Формат входных данных

Входной файл содержит три целых числа через пробел.

Формат выходных данных.

Выведите 'YES' если это так, и 'NO' в противном случае.

Примеры:
Вход
544 935 911

Выход
NO

РЕШЕНИЕ:
1. Program vetvlenie;
Var
a,b,c:integer;
f,g: text;
begin
assign (f,'input.txt');
reset (f);
readln (f,a,b,c);
close (f);
assign (g,'output.txt');
rewrite (g);
if (a=b) or (b=c) or (c=a) then
writeln (g,'YES')
else
writeln (g,'NO');
close(g);

Домашнее задание: Повторить§ 25, выполнить упр.5

Информационные источники (основные учебники по предмету)

Информатика. Базовый уровень: учебник для 10 класса / Семакин И. Г., Хеннер Е. К., Т.Ю. Шеина.- 5-е изд. — М.: БИНОМ. Лаборатория знаний, 2015. —264 с.

Ресурсы сети Интернет

1. https://infoplaneta.ucoz.net/index/urok_59_rabota_s_fajlami_organizacija_vvoda_vyvoda_s_ispolzovaniem_fajlov/0-318

2. https://yandex.ua/video/preview/?filmId=8619621279192554504&parent-reqid=1589917404051611-174342792896320606900294-prestable-app-host-sas-web-yp-160&path=wizard&text=%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5+%D0%B7%D0%B0%D0%B4%D0%B0%D1%87+%D1%81+%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC+%D0%B2%D0%B2%D0%BE%D0%B4%D0%B0-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B0+%D0%B8%D0%B7+%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2+10+%D0%BA%D0%BB%D0%B0%D1%81%D1%81+%D0%BF%D1%80%D0%B5%D0%B7%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-06-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: