Примеры решения задач. Рассмотрите примеры решения задач

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

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

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

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

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.

Задача №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.








Дата добавления: 2015-05-16; просмотров: 799;


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

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.011 сек.