Рабочие листы
к вашим урокам
Скачать
1 слайд
Работа с файлами в PascalABC.NET
2 слайд
ОПРЕДЕЛЕНИЕ ПОНЯТИЙ Физический Файл – это поименованная область на диске, содержащая какую-либо информацию. Логический файл – это одна из структур данных, используемых в программировании.
3 слайд
И другие СТРУКТУРА ЛОГИЧЕСКОГО ФАЙЛА Это способ восприятия файла в программе, т.е. «шаблон», через который мы смотрим на физическую структуру файла на диске. В ЯП таким шаблонам соответствуют типы данных, допустимые в качестве компонент файлов. File of byte: File of char: File of integer: байт байт . . . байт Eof код символа код символа . . .код символа Eof целое со знакомцелое со знаком . . .целое со знакомEof
4 слайд
У массива количество элементов фиксировано, а у файлов количество элементов может изменяться в процессе работы.(Количество в каждый момент времени неизвестно, но в конце файла стоит символ Eof) Массив целиком располагается в ОП, а файл находится на диске. Нумерация элементов массива выполняется соответственно значений нижней и верхней границ, указанных при его объявлении. Нумерация элементов файла выполняется слева направо, начиная с нуля Логическая структура файла в принципе очень похожа на структуру массива. Различия:
5 слайд
Классификация Файлов в ПАСКАЛЕ
6 слайд
РАБОТА С ТЕКСТОВЫМИ ФАЙЛАМИ var список имен файлов : text; Текстовый файл может состоять из любых символов (в том числе и цифр) Для работы с каким-либо физическим файлом (тем, который существует на диске) его необходимо связать с файловой переменной Assign (имя файла, ‘путь к файлу’); ИСПОЛЬЗОВАНИЕ Файлы используются для хранения данных. Из них можно считывать начальные данные, записывать результаты, изменять информацию в файле.
7 слайд
НАПРИМЕР: На диске есть файл: D:\MyFile.dat Или: Var f : text; Name: string; . . . Begin . . . Name : = ‘D:\MyFile.dat ‘ ; Assign ( f, name); . . . Var f : text; . . . Begin . . . Assign (f; ‘D:\MyFile.dat’ );
8 слайд
ПРИНЦИПЫ РАБОТЫ С ФАЙЛАМИ Открытие Чтение из файла или запись в файл Закрытие RESET (название файла) – открытие файла для чтения из него информации в ОП REWRITE (название файла) – открытие файла для записи данных в файл APPEND (название файла) – открытие с целью дополнения данных CLOSE (название файла) – закрытие файла
9 слайд
ИСПОЛЬЗОВАНИЕ ДАННЫХ ИЗ ФАЙЛА Для считывания данных из файла в ОП используют read и readln. Read ( название файла, список переменных ) Readln ( название файла, список переменных ) Если в списке переменных есть переменная типа char или string [10], то из строки в файле считывается 1 или 10 символов ( вместе с пробелами ) и присваиваются этой переменной. Запись в файл осуществляется процедурами write и writeln Write ( имя файла, список выражений ); Writeln ( имя файла, список выражений ).
10 слайд
Если в списке переменных есть числовая переменная (integer или real), то считываются символы, которые трактуются как цифры до ближайшего пробела. Т. О. особенностью текстового файла является то, что происходит автоматическое преобразование числовых данных в цепочку символов при записи в файл и обратное преобразование символов в цифры при чтении из файла.
11 слайд
Функции и директивы для работы с файлами Функция Eof (имя файла) – true, если достигнут конец файла и False – иначе. {$ I - } , { $ I + } – директивы компилятору Pascal – отключают и включают контроль ошибок ввода-вывода. Если этого не сделать, то отсутствие файла приведет к аварийному завершению программы. Функция IOResult (имя файла) определяет наличие файла на диске ( 0 – есть, 1 – нет).
12 слайд
ПРИМЕРЫ ПРОГРАММ Задача № 1 Пусть на диске (в текущем каталоге) есть файл myfile.dat, который состоит из некоторого числа целых чисел, разделенных пробелами. Написать программу, вычисляющую сумму этих элементов.
13 слайд
var f :text; x: integer; Summa:longint; Begin {$I-} assign(f, 'myfile.dat'); reset(f); {$I+} begin Summa:=0; while not Eof(f) do begin read(f,x); Summa:=Summa+x end; Writeln('Summa= ', Summa:8); end; Close(f); end.
14 слайд
СОЗДАНИЕ ФАЙЛОВ 1 способ – с помощью текстового редактора, например Блокнот или Pascal. 2 способ – программными средствами. Открыть файл процедурой Rewrite ( f ) Процедурой REWRITE нельзя открыть запись информации в уже существующий файл. При выполнении этой процедуры старый файл с таким же именем уничтожается и никаких сообщений в программу не передается.
15 слайд
Задача № 2 Написать программу, в которой в текстовый файл записываются данные 10 учеников: имя, вес и рост.
16 слайд
var f : text; name : string [ 10 ] ; ves : real; ROST : real; Otvet : char; i:integer; Begin Assign ( f, ‘ deti . txt ‘ ) ; { $ | - } { проверяем, существует ли такой файл } Rewrite ( f ) ; For i : = 1 to 10 do Begin Writeln ( ‘ введите имя, вес и рост ‘ ); Readln ( name, ves, rost ); Writeln ( f, name : 10, ves : 4, rost : 5:2 ); End; Close ( f ); End.
17 слайд
Задача № 3 Написать программу, которая считывает слова из одного текстового файла и записывает их в столбик в другой текстовый файл. Пояснение: слова разделяются символом пробел. Поэтому мы будем считывать символы из первого файла и «складывать» их в слово до тех пор, пока не встретиться пробел. Потом это слово запишем во второй файл и опять начнем формировать следующее слово. И так до тех пор, пока не достигнем конца первого файла.
18 слайд
Program slovo; var f,h:text; bukva:char; slovo:string; begin assign(f,'f.txt'); assign(h,'h.txt'); reset(f); rewrite(h); slovo:=' '; while not eof(f) do begin read(f, bukva); if bukva<>' ' then begin slovo:=slovo+bukva; end else begin writeln(h,slovo); writeln(slovo); slovo:=' '; End ; end; Close (f); Close (h); end.
19 слайд
Пример 1. Нахождение площади треугольника по формуле Герона. Исходные файлы input.txt (формат 3 5 7) Вывод результатов во внешний файл output.txt Задача №4 Фо́рмула Герона позволяет вычислить площадь треугольника (S) по его сторонам a, b, c: где p — полупериметр треугольника: .
20 слайд
var a,b,c:integer; s,p:real; 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>c)and (a+c>b)and(b+c>a) and (a>0)and(b>0)and(c>0) then begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)* (p-b)* (p-c)); writeln (g,s:12:6); end else writeln(g,-1); close(g); end.
21 слайд
Задача №5 Даны три целых числа. Определить, имеется ли среди них хотя бы одна пара равных между собой чисел. Формат входных данных: Входной файл содержит три целых числа через пробел. Формат выходных данных: Выведите 'YES' если это так, и 'NO' в противном случае. Входные данные 544 935 911 Выходные данные NO
22 слайд
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); end.
23 слайд
Графика в PascalABC.Net При работе с графическим окном нужно учитывать две особенности. Во-первых, начало координат – точка (0, 0) – находится не где-то посредине окна, а в левом верхнем углу. Вторая особенность связана с первой: положительное направление оси OY показывает не вверх, а вниз (OX направлена вправо).
24 слайд
Надо выполнить преобразование системы координат таким образом, чтобы точка (0, 0) находилась посредине окна (в любой нужной точке), а ось OY была направлена вверх. Стандартное преобразование в прямоугольной правой системе координат выглядит следующим образом:
25 слайд
Здесь x0 и y0 – координаты точки, в которую мы хотим перенести начало координат новой системы, x и y – координаты точки в старой системе, x1 и y1 – координаты точки в новой системе. Но поскольку ось OY в графическом окне Паскаля направлена вниз, то для её разворота вверх нужно, естественно, знак координаты y поменять на противоположный (вместо y поставить -y).
26 слайд
Основные команды TextOut(x, y, s) – Вывод текста в графическое окно. При этом текст (строка s) записывается в прямоугольную область таким образом, что точка с координатами (x, y) находится в левом верхнем углу первой буквы; Line(x1, y1, x2, y2) – Проводит отрезок от точки (x1, y1) до точки (x2, y2); DrawCircle(x, y, r) – Рисует окружность с центром (x, y) и радиусом r.
27 слайд
28 слайд
WindowWidth - ширина графического окна; WindowHeight - высота графического окна (в пикселях); ClearWindow - эта процедура очищает окно белым цветом; sleep(ms) - задержка (пауза) на ms миллисекунд.
Рабочие листы
к вашим урокам
Скачать
6 664 075 материалов в базе
Настоящий материал опубликован пользователем Макаров Амангельды Бахитович. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс профессиональной переподготовки
500/1000 ч.
Курс повышения квалификации
36 ч. — 180 ч.
Курс профессиональной переподготовки
500/1000 ч.
Курс профессиональной переподготовки
600 ч.
Мини-курс
6 ч.
Мини-курс
3 ч.
Мини-курс
6 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.