Главная / Информатика / Конспект урока «Pascal. Текстовые файлы». 11 класс

Конспект урока «Pascal. Текстовые файлы». 11 класс

Конспект урока «Pascal. Текстовые файлы». 11 класс

Оборудование: компьютеры, проектор, экран.
Тип урока: Лекционно-практический урок.
Формы работы: фронтальная, коллективная, индивидуальная на компьютере.

Цели урока:

  1. Изучить файловые процедуры и функции. Способы создания текстовых файлов.

  2. Научиться решать задачи на текстовые файлы, в строках которых числа.

  3. Выявить затруднения и принять меры к устранению.

Ход урока:

Организационный момент.
На прошлых занятиях мы рассматривали типизированные файлы. Научились создавать файлы и работать с ними. Сегодня мы познакомимся с текстовыми  файлами.
Текстовые файлы состоят из строк. В строках могут быть числа, символы, вся строка может быть типа 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 86
var 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.
Данную программу наберите на компьютере и запустите на выполнение. Напоминаю еще раз, что нужно сначала  создать текстовый файл.

Домашнее задание. Написать программы к задачам:

Дан текстовый файл, в строках целые числа.
Найти в каждой строке:

  • Количество положительных.

  • Максимальный элемент.

  • Максимальный элемент и его номер.



Конспект урока «Pascal. Текстовые файлы». 11 класс
  • Информатика
Описание:


Оборудование: компьютеры, проектор, экран.
Тип урока: Лекционно-практический урок.
Формы работы: фронтальная, коллективная, индивидуальная на компьютере.

Цели урока:

  1. Изучить файловые процедуры и функции. Способы создания текстовых файлов.
  2. Научиться решать задачи на текстовые файлы, в строках которых числа.
  3. Выявить затруднения и принять меры к устранению.

Ход урока:

Организационный момент.
На прошлых занятиях мы рассматривали типизированные файлы. Научились создавать файлы и работать с ними. Сегодня мы познакомимся с текстовыми  файлами.
Текстовые файлы состоят из строк. В строках могут быть числа, символы, вся строка может быть типа 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 86
var 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.
Данную программу наберите на компьютере и запустите на выполнение. Напоминаю еще раз, что нужно сначала  создать текстовый файл.

Домашнее задание. Написать программы к задачам:

Дан текстовый файл, в строках целые числа.
Найти в каждой строке:

  • Количество положительных.
  • Максимальный элемент.
  • Максимальный элемент и его номер.
Автор Галялутдинова Дамира Сиразитдиновна
Дата добавления 18.03.2013
Раздел Информатика
Подраздел
Просмотров 1907
Номер материала 560
Скачать свидетельство о публикации

Оставьте свой комментарий:

Введите символы, которые изображены на картинке:

Получить новый код
* Обязательные для заполнения.


Комментарии:

↓ Показать еще коментарии ↓