Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы+курсовик(1) / Информатика(Курсовик) / Информатика (Курсовик)

.doc
Скачиваний:
24
Добавлен:
01.05.2014
Размер:
46.08 Кб
Скачать

Задание на курсовую работу

В файл F_IN.dat требуется записать данные об учениках: Ф.И.О., дата рождения, домашний адрес и телефон.

Требуется:

  1. Распечатать список учащихся;

  2. Определить фамилию самого старшего и самого младшего учеников;

  3. Сформировать файл F_OUT.dat, который бы содержал фамилии и адреса учеников, родившихся в заданном месяце.

Алгоритм программы

  1. Задание количества записей списка;

  2. Ввод данных обучающихся: Ф.И.О., адрес, телефон, дата рождения;

  3. Очистка экрана;

  4. Вывод на экран монитора полный список введенных данных;

  5. Вывод данных на принтер;

  6. Создание/перезапись файла «F_IN.Dat» в который заносится весь список данных;

  7. Закрытие файла «F_IN.Dat»;

  8. Данные из первого элемента массива принимаются за минимальные/максимальные по возрасту;

  9. Непосредственный выбор (поиск) в массиве данных, отвечающих наименьшему значению возраста;

  10. Непосредственный выбор (поиск) в массиве данных, отвечающих наибольшему значению возраста;

  11. Вывод полученных значений на экран монитора;

  12. Задание номера месяца, по значению которого необходимо создать файл выхода данных «F_Out.dat»;

  13. Создание файла «F_Out.dat», в котором заносятся данные из списка, отвечающие заданному месяцу;

  14. Закрытие файла «F_Out.dat».

Текст программы

program Kursovik;

uses CRT,printer;

const n=10;

type

zap=record

name:string;

adres:string;

bday:array[1..3]of integer;

tel:longint;

end;

var

i,j:integer;

c:char;

book: array[1..n] of zap;

max,min:zap;

mes,col:Integer;

f:text;

begin

clrscr;

write('Vvedite kolichestvo zapisey: ');

readln(col);

for i:=1 to col do

begin

writeln;

write('Familia: ');

readln(book[i].name);

write('Adres: ');

readln(book[i].adres);

write('Telefon: ');

readln(book[i].tel);

write('Data rozdenia: ');

for j:=1 to 3 do

readln(book[i].bday[j]);

writeln;

end;

clrscr;

for i:=1 to col do

begin

write(book[i].name);

write(' ');

write(book[i].adres);

write(' ');

write(book[i].tel);

write(' ');

for j:=1 to 3 do

begin

write(book[i].bday[j]);

write('.');

end;

writeln;

end;

for i:=1 to col do

begin

write(lst,book[i].name);

write(lst,' ');

write(lst,book[i].adres);

write(lst,' ');

write(lst,book[i].tel);

write(lst,' ');

for j:=1 to 3 do

begin

write(lst,book[i].bday[j]);

write(lst,'.');

end;

writeln;

end;

assign(f,'f_in.dat');

rewrite(f);

for i:=1 to col do

begin

write(f,book[i].name);

write(f,'; ');

write(f,book[i].adres);

write(f,'; ');

write(f,book[i].tel);

write(f,'; ');

for j:=1 to 3 do

begin

write(f,book[i].bday[j]);

write(f,'; ');

end;

writeln(f,'');

end;

close(f);

min.name:=book[1].name;

min.adres:=book[1].adres;

min.tel:=book[1].tel;

for j:=1 to 3 do

min.bday[j]:=book[1].bday[j];

max.name:=book[1].name;

max.adres:=book[1].adres;

max.tel:=book[1].tel;

for j:=1 to 3 do

max.bday[j]:=book[1].bday[j];

for i:=1 to col do

begin

if (book[i].bday[3]<min.bday[3])then

begin

min.name:=book[i].name;

min.adres:=book[i].adres;

min.tel:=book[i].tel;

for j:=1 to 3 do

min.bday[j]:=book[i].bday[j];

end;

if (book[i].bday[3]>max.bday[3]) then

begin

max.name:=book[i].name;

max.adres:=book[i].adres;

max.tel:=book[i].tel;

for j:=1 to 3 do

max.bday[j]:=book[i].bday[j];

end;

if (book[i].bday[3]=min.bday[3])then

begin

if (book[i].bday[2]<min.bday[2])then

begin

min.name:=book[i].name;

min.adres:=book[i].adres;

min.tel:=book[i].tel;

for j:=1 to 3 do

min.bday[j]:=book[i].bday[j];

end;

if (book[i].bday[2]=min.bday[2])then

begin

if (book[i].bday[1]<min.bday[1])then

begin

min.name:=book[i].name;

min.adres:=book[i].adres;

min.tel:=book[i].tel;

for j:=1 to 3 do

min.bday[j]:=book[i].bday[j];

end;

end;

end;

if (book[i].bday[3]=max.bday[3])then

begin

if (book[i].bday[2]>max.bday[2])then

begin

max.name:=book[i].name;

max.adres:=book[i].adres;

max.tel:=book[i].tel;

for j:=1 to 3 do

max.bday[j]:=book[i].bday[j];

end;

if (book[i].bday[2]=max.bday[2])then

begin

if (book[i].bday[1]>max.bday[1])then

begin

max.name:=book[i].name;

max.adres:=book[i].adres;

max.tel:=book[i].tel;

for j:=1 to 3 do

max.bday[j]:=book[i].bday[j];

end;

end;

end;

end;

writeln('Samiy molodoy: ',max.name,' - ',max.adres,'; ',max.tel,'; ',max.bday[1],'.',max.bday[2],'.',max.bday[3]);

writeln('Samiy starshiy: ',min.name,' - ',min.adres,'; ',min.tel,'; ',min.bday[1],'.',min.bday[2],'.',min.bday[3]);

write('Vvedite mesiac dlya sortirovki: ');

readln(mes);

assign(f,'f_out.dat');

rewrite(f);

for i:=1 to col do

begin

if (book[i].bday[2]=mes)then

begin

write(f,book[i].name);

write(f,'; ');

write(f,book[i].adres);

write(f,'; ');

write(f,book[i].tel);

write(f,'; ');

for j:=1 to 3 do

begin

write(f,book[i].bday[j]);

write(f,'.');

end;

writeln(f,'');

end;

end;

close(f);

end.

Пример работы программы

1) Vvedite kolichestvo zapisey: 3

Familia: Timofeev

Adres: Yahtennaya

Telefon: 3447453

Data rozdenia: 31 03 1985

Familia: Zaharov

Adres: Skolnaya

Telefon: 3445584

Data rozdenia: 26 06 1985

Familia: Ivanov

Adres: Nevskiy prospect

Telefon: 3549749

Data rozdenia: 21 07 1985

2) После очистки экрана

Timofeev Yahtennaya 3447453 31.03.1985

Zaharov Shkolnaya 3445584 26.06.1985

Ivanov Nevskiy prospect 354749 27.07.1985

Samiy molodoy: Ivanov - Nevskiy prospect; 354749; 27.07.1985

Samiy starshiy: Timofeev – Yahtennaya; 3447453; 31.03.1985

Vvedite mesiac dlya sortirovki: 3

3) Содержание созданного файла F_IN.dat

Timofeev; Yahtennaya; 3447453; 31; 3; 1985;

Zaharov; Shkolnaya; 3445584; 26; 6; 1985;

Ivanov; Nevskiy; 1234567; 21; 7; 1985;

4) Содержание созданного файла F_OUT.dat

Timofeev; Yahtennaya; 3447453; 31.3.1985.

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

8

Соседние файлы в папке Информатика(Курсовик)