Примеры решения задач

Рассмотрите примеры решения задач. Наберите тексты программ, проверьте их действие. Обратите внимание на комментарий. Выполните задания к задачам.

Задача 1. Дан файл, элементами которого являются целые числа. Найти среднее арифметическое элементов файла.

В примере решается задача считывание элементов из файла, их суммирование и нахождение среднего арифметического. Предполагается, что типизированный файл уже создан.

Program Srednee; Uses Crt; Var Kol, Element,{переменная для хранения очередного элемента файла} Summa {переменная для хранения суммы элементов файла}:integer; f: file of integer; SrAriph: real Begin ClrScr; assign(f,'file.dat');{связываем файловую переменную f с физическим файлом file.dat} reset(f);{открываем файл для чтения} Summa:=0;{обнуление суммы} while not Еof(f) do{просматриваем файл до конца} begin read(f,Element);{считываем из файла очередной элемент в переменную Element} Inc(Kol);{увеличиваем счетчик количества элементов файла} Inc(Summa,Element);{увеличиваем переменную Summa на Element} end; SrAriph:= Summa/Kol{вычисляем среднее арифметическое чисел} write('Среднее арифметическое элементов файла равно ',SrAriph:5:2); close(f);{закрываем файл} readln; End.

Задание для самоподготовки №3(к задаче1). Дополните содержание текста задачи созданием типизированного файла file.dat. Добавленные строчки программы прокомментируйте.

Задача 2. Наберите на компьютере и рассмотрите текст программы, сформулируйте решаемую в ней задачу, дополните необходимыми операторами и комментарием. Покажите результат учителю для оценки.

Program FileString; Uses Crt; Var f, g: file of string; str1, str: string; i: integer; Begin ClrScr; assign(f,'f'); rewrite(f); assign(g,'g'); rewrite(g); repeat readln(str); write(f,str); for i:=length(str) downto 1 do str1:=str1+str[i]; write(g,str1); str1:=''; until str=''; close(f); close(g); assign(f,'f'); reset(f); assign(g,'g'); reset(g); while not eof(f) do begin read(f,str); writeln(str); end; while not eof(g) do begin read(g,str); writeln(str); end; close(f); close(g); readln; End.

Задача 3. Создать типизированный файл, содержащий информацию о работниках института.

Program TipRecord; Uses Crt; Type Dann=record stag: byte; Surname, WorkName: string; Oklad, Year: integer; End; Var Spisok: file of Dann; {файл типа записи Dann} Man: Dann; {переменная типа записи Dann для работы с файлом} Name: string[12]; {строка для хранения имени физического файла} Procedure VvodZap (Nomer: integer); Begin with Man do begin writeln('Введите данные ',Nomer,'-го работника'); write('Фамилия: '); readln(Surname); write('Год рождения:'); readln(Уear); write('Стаж работы:'); readln(stag); writeln('Должность:'); readln(WorkName); write('Оклад'); readln(oklad); write(Spisok,Man); {записать в файл созданный элемент Man} end; End; Procedure FileVvod; Var i, count: Integer; Begin write('Введите имя файла данных:'); readln(Name); {имя физического файла} assign(Spisok,Name); {связываем файловую переменную с файлом} rewrite(Spisok); {открываем файл для записи} write('Введите количество работников:'); readln(count); for i:=1 to count do VvodZap(i); {вызов процедуры ввода очередной информации в файл} close(Spisok); {закрываем файл} readln; End; Begin ClrScr; FileVvod; readLn; End.

Задание для самоподготовки №4 (к задаче3). Дополните содержание текста задачи созданием типизированного файла file.dat. Добавленные строчки программы прокомментируйте.

. Дополнить текст программы

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

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: