- Учебник: «Информатика», Семакин И.Г., Залогова Л.А., Русаков С.В., Шестакова Л.В.
- Тема: § 8. Что такое программирование
- 31.12.2020
- 499
- 5
Рабочие листы
к вашим урокам
Скачать
Оборудование: компьютеры, проектор, экран.Тип урока: Лекционно-практический урок.Формы работы: фронтальная, коллективная, индивидуальная на компьютере. Цели урока: Изучить файловые процедуры и функции. Способы создания текстовых файлов. Научиться решать задачи на текстовые файлы, в строках которых числа. Выявить затруднения и принять меры к устранению. Ход урока: Организационный момент. На прошлых занятиях мы рассматривали типизированные файлы. Научились создавать файлы и работать с ними. Сегодня мы познакомимся с текстовыми файлами. Текстовые файлы состоят из строк. В строках могут быть числа, символы, вся строка может быть типа string. Для создания текстового файла можно воспользоваться любым текстовым редактором, работающим в среде MS DOS. Язык Pascal имеет свой встроенный текстовый редактор. Все свои программы вы набираете именно в текстовом редакторе. Поэтому самый простой способ создания текстового файла это в новом окне набрать текст и сохранить его под любым именем с расширением txt. Для работы с данным текстом нужно связать файловую переменную. В разделе описания переменных мы пишем: var f: text; Служебное слово text говорит о том, что файловая переменная будет связана с текстовым файлом. Для работы с текстовыми файлами нам понадобятся дополнительные процедуры и функции. На слайде представлены процедуры, которые мы уже изучили при работе с типизированными файлами. Они необходимы и для текстовых файлов. И две процедуры, которые применимы только для текстовых файлов. assign(f,’полное имя файла’) reset(f) read(f,n) rewrite(f) write(f,n) close(f) erase(f) readln(f) (readln(f,n) ) writeln(f) (writeln(f,n) ) Процедура readln(f) переводит указатель для чтения на новую строку. Процедура readln(f,n) считывает элемент n из файла и указатель (маркер) переводит на новую строку. Аналогично, процедура writeln(f) переводит указатель для записи на новую строку. Процедура writeln(f,n) записывает элемент n и переводит указатель для записи на новую строку. При работе с текстовыми файлами будем использовать две логические функции. eof(f) (конец файла) eoln(f) (конец строки) Функцию eof(f) мы уже использовали при работе. Напомню, она принимает значение истина, если файл закончен. Функция eoln(f) (end of line) конец строки принимает значение истина, если строка закончилась, иначе ложь. Сегодня рассмотрим задачи на текстовые файлы, в строках которых числа. Задача Дан текстовый файл, в строках числа. Подсчитать количество четных чисел в каждой строке. Прежде всего надо создать такой файл. В новом окне в строках наберем целые числа (количество чисел в строках может быть произвольным) и сохраним файл под именем dan.txt. 5 4 36 2 3 4 1 3 45 68 34 5 8 7 9 26 86var f: text; n, k, l: integer; begin assign(f,’dan.txt’); reset(f);l:=0; while not eof(f) do begin l:=l+1; k:=0; while not eoln(f) do begin read(f,n); if n mod 2=0 tden k:=k+1; end; writeln (‘количество четных в ‘,l,’строке=’,k); readln(f); end; close(f); readln; end. Рассмотрим аналогичные задачи. Задачи: Дан текстовый файл, в строках целые числа. Найти в каждой строке: Сумму положительных (отрицательных, четных, нечетных, кратных трем). Среднеарифметическое. Среднеарифметическое четных. Максимальный (минимальный) элемент. Максимальный и его номер. Что нужно изменить в программе, чтобы выполнялась первая задача. if n 0 tden k:=k+n; if n 0 tden k:=k+n; if n mod 2=0 tden k:=k+n; if n mod 2=1 tden k:=k+n; if n mod 3=0 tden k:=k+n; Что нужно изменить и добавить в программе, чтобы выполнялась вторая задача. var f: text; n, k, l: integer; s:real; begin assign(f,’dan.txt’); reset(f);l:=0; while not eof(f) do begin l:=l+1; k:=0; s:=0 ; while not eoln(f) do begin read(f,n);s:=s+n; k:=k+1; end; s:=s/k; writeln (‘сред.ариф. в‘,l,’строке=’,s:6:2); readln(f); end; close(f); readln; end. У доски измените программу так, чтобы выполнялась третья задача. var f: text; n, k, l: integer; s:real; begin assign(f,’dan.txt’); reset(f);l:=0; while not eof(f) do begin l:=l+1; k:=0; s:=0; while not eoln(f) do begin read(f,n); if n mod 2=0 tden begin s:=s+n; k:=k+1; end; end; if k 0 tden s:=s/k; writeln (‘сред.ариф.четных в‘,l,’строке=’,s:6:2); readln(f); end; close(f); readln; end. Данную программу наберите на компьютере и запустите на выполнение. Напоминаю еще раз, что нужно сначала создать текстовый файл. Домашнее задание. Написать программы к задачам: Дан текстовый файл, в строках целые числа. Найти в каждой строке: Количество положительных. Максимальный элемент. Максимальный элемент и его номер.
6 663 291 материал в базе
Настоящий материал опубликован пользователем Вершинина Надежда Ивановна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс профессиональной переподготовки
300 ч. — 1200 ч.
Курс профессиональной переподготовки
300/600 ч.
Курс профессиональной переподготовки
600 ч.
Мини-курс
6 ч.
Мини-курс
3 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.