русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Задание 2.


Дата добавления: 2014-11-27; просмотров: 2074; Нарушение авторских прав


При запуске программы на выполнение на экране должно отображаться меню:

1. Создать файл

2. Открыть файл

3. Обработать данные

4. Добавить данные

5. Удалить данные

6. Распечатать данные

Выбор соответствующего пункта меню осуществлять указанием номера.

Реализацию каждого пункта меню и самого меню, операций поиска и сортировки оформить в виде процедуры, которые поместить в модуль.

 

1. Вариант

Сформировать список фамилий любимых писателей учеников класса (ученики по очереди вводят по три фамилии различных писателей), хранящийся в типизированном файле. Результат работы программы записать в файл REZ.DAT.

1. Поля записи – фамилия ученика фамилии писателей. Напечатать, сколько учеников назвали фамилию данного писателя (фамилии писателя вводится с клавиатуры).

2. Поля записи – фамилия ученика и поле, являющееся записью из трех полей - фамилии писателей. Напечатать фамилии пяти наиболее популярных писателей.

2. Вариант

Известны результаты сдачи сессии (три экзамена) группой студентов. Информация об одном студенте вводится в виде записи и хранится в типизированном файле. Результат работы программы записать в файл REZ.DAT.

1. Поля записи – фамилия, три оценки. Сообщить, сколько студентов сдали данный предмет на хорошо (название предмета вводится с клавиатуры).

2. Поля записи – фамилия, поле оценки, являющееся записью из трех полей типа byte (три оценки). Сообщить фамилии пяти лучших студентов. Данные - результаты сессии вывести на экран в виде таблицы. В шапке таблицы вывести названия предметов.

3. Вариант

Ввести фамилии и даты (день, месяц и год) рождения Ваших друзей. Вывести фамилии тех, кто родился летом (июнь, июль, август). Данные о друге хранить в виде записи в типизированном файле. Результат работы программы записать в файл REZ.DAT.



1. Поля записи – ФИО, день, месяц и год. Вывести фамилии тех, кто родился летом (июнь, июль, август). Результат работы программы записать в массив REZ. Элемент массива – фамилия друга.

2. Поля записи – ФИО, дата - являющаяся записью из трех полей - день, месяц и год. Сообщить фамилии трех самых старших друзей.

4. Вариант

Ввести данные студентов.

1. Данные об одном студенте хранить в виде записи с полями – фамилия и инициалы, пол (одна буква М или Ж), год рождения. Напечатать список студентов мужского пола с указанием их возраста. В конце списка напечатать средний возраст. Результат работы программы записать в файл REZ.DAT.

2. Данные об одном студенте хранить в виде записи с полями – фамилия и инициалы, пол (одна буква М или Ж), дата рождения, являющаяся записью из трех полей - день, месяц и год. Напечатать список студентов мужского пола с указанием их возраста, упорядочив список по возрасту. Результат работы программы записать в файл REZ.DAT.

5. Вариант

Ввести информацию об автолюбителях: фамилия, марка автомобиля, цвет машины.

1. Данные хранить в виде записи с полями – фамилия и инициалы, марка автомобиля, цвет машины. Вывести на экран дисплея сведения об автолюбителях, имеющих автомобиль "Жигули" зеленого цвета. Результат работы программы записать в файл REZ.DAT.

2. Данные хранить в виде записи с полями – фамилия и инициалы, автомобиль - являющаяся записью из трех полей: марка автомобиля, цвет машины, год выпуска. Вывести на экран дисплея сведения об автолюбителях, имеющих автомобиль "Жигули" зеленого цвета, список упорядочить по году выпуска. Результат работы программы записать в файл REZ.DAT.

6. Вариант

Ввести данные о студентах одного курса (фамилия и инициалы, пол, год рождения, месяц, день рождения). Вывести на экран дисплея фамилии студентов мужского пола, родившихся летом, (июнь, июль, август). Данные хранить в виде записи. Результат работы программы записать в файл REZ.DAT.

1.Данные хранить в виде записи с полями – фамилия и инициалы, пол, год, месяц, день рождения. Результат работы программы записать в массив REZ. Элемент массива – фамилия студента.

2. Данные хранить в виде записи с полями – фамилия и инициалы, пол, дата рождения - являющаяся записью из трех полей: год, месяц, день рождения. Вывести на экран дисплея фамилии студентов мужского пола, родившихся летом, (июнь, июль, август), список упорядочить по возрасту.

7. Вариант

Ввести информацию о поездах, отправляющихся с Ленинградского вокзала г. Москвы (номер поезда, станция назначения, время отправления, время в пути). Вывести на экран дисплея информацию о поездах, отправляющихся в Ленинград от 21 до 24часов. Данные хранить в виде записи. Результат работы программы записать в файл REZ.DAT.

1. Данные хранить в виде записи с полями – номер поезда, станция назначения, время отправления, время в пути.

2. Данные хранить в виде записи с полями – номер поезда, станция назначения, время - являющееся записью из двух полей: время отправления, время в пути. Вывести на экран информацию о поездах, отправляющихся в Ленинград от 21 до 24часов, список упорядочить номеру.

8. Вариант

В задаче 8 вывести информацию о поездах, следующих в г.Ленинград и находящихся в пути менее 8 часов. Данные хранить в виде записи (см. задачу 7).

9. Вариант

Составьте список книг по программированию вашей личной библиотеки (фамилия автора и его инициалы, название книги, название издательства, год издания). Вывести на экран дисплея фамилии авторов и названия книг, выпущенных издательством "Мир". Данные хранить в виде записи. Результат работы программы записать в файл REZ.DAT.

1. Данные хранить в виде записи с полями – фамилия автора и его инициалы, название книги, название издательства, год издания.

2. Данные хранить в виде записи с полями – фамилия автора и его инициалы, название книги, данные - являющееся записью из двух полей: название издательства, год издания. Вывести на экран дисплея фамилии авторов, названия книг и год издания, выпущенных издательством "Мир", список упорядочить по году издания.

10. Вариант

Ввести информацию о магазинах Вашего города (района): название магазина (универмаг, продукты, ткани и т.д.),его номер, адрес. Вывести на экран дисплея информацию обо всех магазинах "Книги". Данные хранить в виде записи. Результат работы программы записать в файл REZ.DAT.

1. Данные хранить в виде записи с полями – название магазина (универмаг, продукты, ткани и т.д.), его номер, улица, номер дома.

2. Данные хранить в виде записи с полями – название магазина, его номер, адрес - являющееся записью из двух полей: улица, номер дома. Вывести на экран дисплея. Вывести на экран дисплея информацию обо всех магазинах "Книги", список упорядочить по номеру магазина.

11. Вариант

В шахматном турнире принимает участие 10 шахматистов. Ввести фамилии участников и инициалы, их возраст и результаты: победа-1, ничья-0.5, проигрыш-0 очков. Вывести на экран фамилии участников турнира и количество набранных ими очков в порядке занятых мест. Данные хранить в виде записи. Результат работы программы записать в файл REZ.DAT.

1. Данные хранить в виде записи с полями – фамилия участника и инициалы, возраст, результат.

2. Данные хранить в виде записи с полями – результат, участник, являющийся записью из двух полей: фамилия участника и инициалы, возраст. Вывести на экран фамилии участников турнира и количество набранных ими очков в порядке занятых мест.

12. Вариант

В чемпионате по футболу принимает участие 6 команд. Ввести названия команд и результаты игр: выигрыш-2,ничья-1, проигрыш-0 очков. Вывести на экран дисплея названия трех лучших команд по числу очков и количество побед каждой команды. Данные хранить в виде записи. Результат работы программы записать в файл REZ.DAT.

1. Данные хранить в виде записи с полями – название команды, город, результат.

2. Данные хранить в виде записи с полями – результат, участник, являющееся записью из двух полей: название команды, город. Вывести на экран дисплея названия трех лучших команд по числу очков и количество побед каждой команды. Сообщить результаты всех команд указанного города.

13. Вариант

В классном журнале (в классе не более 20 учеников) каждый день по предмету отмечается пропуск занятия или выставляется оценка за ответ. Ввести данные об успевающих учениках за один день: фамилии и инициалы, оценка, пропуск. Результат работы программы записать в файл REZ.DAT.

1. Данные хранить в виде записи с полями – фамилия и инициалы, пропуск, оценка.

2. Данные хранить в виде записи с полями – фамилия и инициалы, данные, являющиеся записью из двух полей: пропуск, оценка. Вывести на экран дисплея фамилии учеников, не имеющих ни одной двойки, список упорядочить по набранному баллу.

 

 

14. Вариант

В задаче 13 сообщить фамилии учащихся, не имеющих тройки. Результат работы программы записать в файл REZ.DAT.

15. Вариант

В задаче 13 вывести на экран дисплея фамилии учеников, имеющих пропуски занятий.

16. Вариант

К спортивным журналистам обратились с просьбой назвать трех лучших хоккеистов сезона. Информация от каждого журналиста поступает независимо от других. Сообщить количество баллов каждого названного хоккеиста (за первое место-3, за второе-2,за третье место-1). Результат работы программы записать в файл REZ.DAT.

1. Данные хранить в виде записи с полями – фамилия и инициалы 1, команда 1,балл 1, фамилия и инициалы 2, команда 2, балл2, фамилия и инициалы 3, команда 3, балл3.

2. Данные хранить в виде записи с полями – хоккеист1, хоккеист2, хоккеист3, каждое поле является полем с полями: фамилия и инициалы, команда, балл. Вывести на экран дисплея фамилии хоккеистов, список упорядочить по набранному баллу. Определить лучшего хоккеиста сезона по сумме очков (за первое место-3, за второе-2,за третье место-1).

17. Вариант

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

1. Данные хранить в виде записи с полями – наименование, стоимость подписки на год, количество подписчиков.

2. Данные хранить в виде записи с полями – наименование, которое является записью с двумя полями: стоимость подписки на год, количество подписчиков. Сообщить список всех изданий, упорядочив по популярности.

18. Вариант

Для задачи 17 напечатать, какое издание собрало наибольшую сумму.

19. Вариант

В задаче 17 сообщить информацию только для журналов.

20. Вариант

Ввести результаты спортивного турнира; фиксируется количество очков, набранных каждым игроком одной команды. В команде всего 3 игрока. По результатам игры вывести на экран фамилию лучшего игрока и количество набранных им очков. Результат работы программы записать в файл REZ.DAT.

1. Данные хранить в виде записи с полями – наименование команды, фамилии и инициалы игроков очки игроков.

2. Данные хранить в виде записи с полями – наименование команды, игроки, последнее поле является записью с полями: фамилии и инициалы игроков очки игроков. Сообщить фамилии всех игроков и набранных ими баллов, упорядочив фамилии по результативности.

21. Вариант

Ввести результаты нескольких проведенных тиражей "Спортлото:5 из 36". Вывести на экран дисплея частоту появления каждого из 36 номеров во всех проведенных тиражах. Результат работы программы записать в файл REZ.DAT.

1. Данные хранить в виде записи с полями – номер тиража, пять выигрышных номеров.

2. Данные хранить в виде записи с полями – номер тиража, являющийся записью с пятью полями: пять выигрышных номеров. Сообщить выигрышные номера, упорядочив их в порядке возрастания частоты появления.

22. Вариант

Дан список фамилий, имен и отчеств с указанием возраста вывести на экран дисплея данные тех, чьи имена, начинаются с буквы А. Данные хранить в виде записей. Результат работы программы записать в файл REZ.DAT.

1. Данные хранить в виде записи с полями – фамилия, имя, отчество возраст.

2. Данные хранить в виде записи с полем – абонент, которое является записью с полями: фамилия, имя, отчество возраст. Найденные фамилии упорядочить по алфавиту.

23. Вариант

Дан список фамилий, имен и отчеств с указанием возраста вывести на экран дисплея данные тех, чье имя введено с клавиатуры. Данные хранить в виде записей. Результат работы программы записать в файл REZ.DAT.

1. Данные хранить в виде записи с полями – фамилия, имя, отчество возраст.

2. Данные хранить в виде записи с полем – абонент, которое является записью с полями: фамилия, имя, отчество возраст. Найденные фамилии упорядочить по алфавиту.

 

24. Вариант

Дан список фамилий, имен и отчеств с указанием возраста вывести на экран дисплея данные тех, чей возраст лежит в заданном интервале. Данные хранить в виде записей. Результат работы программы записать в файл REZ.DAT.

1. Данные хранить в виде записи с полями – фамилия, имя, отчество возраст.

2. Данные хранить в виде записи с полем – абонент, которое является записью с полями: фамилия, имя, отчество возраст. Найденные фамилии упорядочить по алфавиту.

25. Вариант

В задаче варианта 24, вывести список 5 самых старых людей.

Вариант0

 

1.Подсчитать количество слов заданной длины в тексте и вывести эти слова на печать. Абзац текста ввести в файл TEXT.LIT. Результаты работы программы записать в файл REZULT.TXT.

{Лабораторная работа №5 задача1}

Program Lab_Rab_5_1;

Uses Crt;

const

Name_file : string = 'C:\text.lit';

{множество символов - разделителей слов}

Razd : set of char = [' ', '.', '?', '!', '-', ':', ','];

var

Len, K : integer;

Ch : char;

Sl : string;

f,f1 : text;

Poisk : boolean;

 

 

Begin

ClrScr;

Assign(f,Name_File);

Assign(f1,'C:\Result.txt');

Rewrite(f1);

{$I-}

Reset(f);

Reset(f);

{$I+}

If IOResult <> 0 then writeln ('Нет файла с именем ', Name_File)

else

begin

Writeln('Исходный текст');

While Not Eof(f) do

begin

Readln(f,Sl);

Writeln(sl);

end;

Close(f);

Reset(f);

Writeln;

Write('Введите длину искомых слов :');

ReadLn(Len);

Sl := ''; Poisk := false;

While Not Eof(f) do

begin

Read(f,Ch);

If not (Ch in Razd) then Sl := Sl + Ch

else

begin

If length(Sl) = Len then

begin

Poisk := true;

Writeln(f1,Sl)

end;

Sl := '';

end;

 

end;

Close(f); Close(f1);

If Poisk then

begin

Reset(f1);

Writeln('Найденные слова');

While Not Eof(f1) do

begin

Readln(f1,Sl);

Writeln(sl);

end;

Close(f1);

end

else Writeln('В тексте нет слов длины ',Len);

end;

ReadKey;

End.

2.Больница ведет учет пациентов. Для каждого пациента имеется информация: Ф.И.О., год рождения, диагноз, дата поступления (день: месяц: год), курс лечения. Данные хранить в виде записей в файле. Организовать поиск пациентов с заданной фамилией.

{Лабораторная работа №5 задача 2}

 

Program Lab_Rab_5_2;

Uses Crt;

Type Pacient = Record

FIO : string[30];

year : 1900..2005;

diag : string[20];

date : record

den : 1..31;

mes : 1..12;

god : 1900..2005;

end;

kurs : integer;

end;

var

Name_file : string;

Ch : char;

 

procedure Create( var Name_File : string);

var

f : file of Pacient;

A : Pacient;

i,n : integer;

begin

ClrScr;

Write('Введите имя файла :');

ReadLn(Name_File);

Assign(f,Name_File);

Rewrite(f);

Write('Введите количество записей :');

ReadLn(n);

if n>0 then

begin

For i :=1 to n do

begin

with A do

begin

Writeln('Введите данные ',i,'-го пациента');

write('Введите фамилию :');

Readln(FIO);

write('Введите год рождения :');

Readln(year);

write('Введите диагноз :');

Readln(diag);

writeln('Введите дату поступления :');

write('день:');

Readln(date.den);

write('месяц:');

Readln(date.mes);

write('год:');

Readln(date.god);

write('Введите курс лечения :');

Readln(kurs);

end;

write(f,A)

end; ;

Writeln('Создан файл из ',n,' записей');

end

else Writeln('Создан пустой файл');

Close(f);

ReadKey;

end;

 

procedure Open( var Name_File : string);

var

f : file of Pacient;

begin

ClrScr;

Write('Введите имя файла :');

ReadLn(Name_File);

Assign(f,Name_File);

{$I-}

Reset(f);

{$I+}

If IOResult <> 0 then

begin

writeln ('Нет файла с именем ', Name_File);

Name_File :='';

end

else

begin

writeln ('Файла с именем ', Name_File, ' открыт');

Close(f);

end;

ReadKey;

end;

 

procedure Add_Record( Name_File : string);

var

f : file of Pacient;

A : Pacient;

begin

ClrScr;

Assign(f,Name_File);

{$I-}

Reset(f);

{$I+}

If IOResult <> 0 then

writeln ('Нет файла с именем ', Name_File)

else

begin

Seek(f,FileSize(f));

with A do

begin

Writeln('Введите данные ',FileSize(f)+1,'-го пациента');

write('Введите фамилию :');

Readln(FIO);

write('Введите год рождения :');

Readln(year);

write('Введите диагноз :');

Readln(diag);

writeln('Введите дату поступления :');

write('день:');

Readln(date.den);

write('месяц:');

Readln(date.mes);

write('год:');

Readln(date.god);

write('Введите курс лечения :');

Readln(kurs);

end;

write(f,A);

Writeln('Запись добавлена');

Close(f);

end;

ReadKey;

end;

 

procedure View( Name_File : string);

var

f : file of Pacient;

A : Pacient;

begin

ClrScr;

Assign(f,Name_File);

{$I-}

Reset(f);

{$I+}

If IOResult <> 0 then writeln ('Нет файла с именем ', Name_File)

else

begin

Writeln('Содержимое файла : ', Name_File);

Writeln('Содержимое файла : ', Name_File);

Writeln('| Ф.И.О. |Год рожд.| Диагноз |Дата поступления | Курс лечения |');

Writeln('___________________________________________________

while not Eof(f) do

begin

Read(f,A);

with A do

writeln(FIO : 10, Year : 10,Diag :10, Date.den : 8,

Date.mes:3 , date.god:5, kurs:13);

end;

Close(f);

end;

ReadKey;

end;

 

procedure Del( Name_File : string);

var

f,Temp : file of Pacient;

A : Pacient;

k,i : integer;

begin

ClrScr;

Assign(f,Name_File);

{$I-}

Reset(f);

{$I+}

If IOResult <> 0 then writeln ('Нет файла с именем ', Name_File)

else

begin

Writeln('Файл ',Name_File, ' имеет ',FileSize(f), ' записей');

Write('Введите номер удаляемой записи №=');

ReadLn(k);

if (k<1) or (k>FileSize(f)) then Writeln('нет записи с №=',k)

else

begin

Assign(temp,'1.tmp');

Rewrite(temp);

For i:=1 to FileSize(f) do

begin

Read(f,A);

if i<>k then write(temp,A);

end;

Close(f); Close(temp);

Erase(f);

ReName(temp,Name_File);

Writeln('Запись удалена')

end;

end;

ReadKey;

end;

 

procedure Search( Name_File : string);

var

f : file of Pacient;

A : Pacient;

Fam : String[30];

Poisk : boolean;

begin

ClrScr;

Assign(f,Name_File);

{$I-}

Reset(f);

{$I+}

If IOResult <> 0 then writeln ('Нет файла с именем ', Name_File)

else

begin

Write('Введите фамилию пациента : ');

ReadLn(Fam);

Writeln('| Ф.И.О. |Год рожд.| Диагноз |Дата поступления| Курс лечения |’);

Writeln('___________________________________________________

Poisk := False;

while not Eof(f) do

begin

Read(f,A);

with A do

if Fio = Fam then

begin

writeln(FIO : 10, Year : 10,Diag :10, Date.den : 8,

Date.mes:3 , date.god:5, kurs:13);

Poisk := true

end;

end;

Close(f);

If not Poisk then writeln('Нет пациентов с фамилией ',Fam);

end;

ReadKey;

end;

 

Begin

Name_File :='';

repeat

ClrScr;

Writeln('1-Создать файл');

Writeln('2-Открыть файл');

Writeln('3-Просмотр данных');

Writeln('4-Добавить данные');

Writeln('5-Удалить данные');

Writeln('6-Поиск данных ');

Writeln('7-Выход ');

Writeln;

Write('Выберите пункт меню ');

ReadLn(Ch);

Case Ch of

'1' : Create(Name_File);

'2' : Open(Name_File);

'3' : if Name_File <> '' then View(Name_File)

else

begin

Writeln('Не задано имя файла (выберите пункт 1 или 2)');

Readkey;

end;

'4': if Name_File <> '' then Add_Record(Name_File)

else

begin

Writeln('Не задано имя файла (выберите пункт 1 или 2)');

Readkey;

end;

'5': if Name_File <> '' then Del(Name_File)

else

begin

Writeln('Не задано имя файла (выберите пункт 1 или 2)');

Readkey;

end;

'6': if Name_File <> '' then Search(Name_File)

else

begin

Writeln('Не задано имя файла (выберите пункт 1 или 2)');

Readkey;

end;

end;

until Ch = '7';

End.


Список рекомендуемой литературы

 

1. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. М., Нолидж, 1997.

2. Фаронов В.В. Турбо Паскаль 7.0. Практика программирования. М., Нолидж, 1997.

3. Немнюгин С.А. Турбо Паскаль. Учебник для ВУЗов. М., Питер 2003.

4. Немнюгин С.А. Турбо Паскаль. Практикум. М., Питер 2003.

5. Абрамов А.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. М., Наука, 1988.

6. Епанешников А., Епанешников В. Программирование в среде Turbo Pascal 7.0. М., Диалог-Мифи, 1993.

7. Пильщиков В.Н. Сборник упражнений по языку Паскаль. М., Наука, 1989.

8. Поляков Д.Б., Круглов И.Ю. Программирование в среде Турбо Паскаль (версия 5.5). Изд-во МАИ, 1992.

9. Шень А. Программирование: Теоремы и задачи. М., МЦНМО, 1995.


Учебное издание

 



<== предыдущая лекция | следующая лекция ==>
Задание 1 | Рассмотрим характеристики основных устройств ввода и вывода информации.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.297 сек.