Зворотний зв'язок

Телефониий довідник (Turbo Pascal)

Телефониий довідник (Turbo Pascal)

План:

1. Вступ 3ст.

2. Завдання 4ст.

3. Вхідний файл 5-8ст.

3.1 Програма формування вхідного файлу .5-6ст.

3.2 Команди програми Vhidnuy .6-7ст.

3.3 Виконання програми .7ст.

3.4 Блок схема .8ст.

4. «Телефонний довідник» .8-16ст.

4.1 Опис програми «Телефонний довідник» 8-9ст.

4.2 Команди програми 9-12ст.

4.3 Виконання програми .12-14ст.

4.4 Блок схема 15-16ст.

5 Висновок .17ст.

6 Використана література 18ст.

7 Додатки .19-25ст.

7.1 Додаток №1 .19-23ст.

7.2 Додаток №2 .24ст.

7.3 Додаток №3 .25ст.

1.Вступ:

В наш час, в століття інформаційний технологій потрібно завжди мати всебічний доступ до інформації. Найбільший її обсяг можливо почернути в новітніх базах даних.

Прикладом такої бази даних може стати програма «Телефонний довідник».

Ця програма завжди допоможе за прізвищем і адресою абонента знайти легко телефон потрібного абонента.

Ця програма написана на мові програмування TURBO PASCAL 7.0. Я вибрав цю мову програмування з багатьох причин. По перше цю мову програмування я знаю ліпше всього, а по друге вона має усі можливості більш складних мов програмування, а також вона проста своєю наочністю. Отримана в результаті програма, виконана в Pascal має зрозумілий, доступний та наочний вигляд, легко піддається обробці та змінам. Також програму «Телефонний довідник» можливо зробити в багатьох програмах. Для прикладу підходять такі програмні продукти компанії Microsoft як: Microsoft Office Excel i Microsoft Office Access.

2.Завдання

Моє завдання полягає в тому щоб за допомогою алгоритмічних конструкцій у мові Turbo Pascal яка за допомогою вхідних даних(прізвища і адреси) знайти необхідний телефон.

3.Вхідний файл

3.1Програма формування вхідного файлу

Програма «Телефонний довідник» складається з двох програм:

Перша програма формує типізований файл (див. додаток № 1 в текстовому вигляді). Типізований файл можливо переглянути тільки програмно. Оголошення

типізованого файлу е специфічна синтаксична структура наприклад f: file of real.

Також у цій програмі використовуються записи. Запис – це структурований тип даних який складається з визначеного числа компонентів, які мають назву поля запису. Вони можуть мати різний тип даних. Оголошення змінної типу запис починається за допомогою слова reacord, після якого починається список полів з виказанням їх типів. Закінчується опис даних за допомогою службового слова end. Наприклад:

var

Name=reacord

a,b: string[15];

c: real;

ef:array[1 20] of byte;

end.

Також записи можуть містити в собі масиви даних.

Масив – це структурований тип даних, який складається з фіксованого числа елементів одного типу. Для оголошення масиву існує службове слово array of. Сама процедура створення масиву може виконуватися таким чином:

var

z , x: array[1 20] of real;

Програма також містить у собі один цикл. Цикл – це повторення одних і тих же дій. Послідовність дій, які повторюються в циклі називають тілом цикла.І снує декілька видів циклів. В цій програмі я обрав цикл з параметром. Тому що цей цикл дуже гнучкий у своїй конструкції. Цикл описується наприклад таким чином:

var: i: integer;

begin

for i:=1 to 10 do begin



Програма Vhidnuy потрібна для того щоб завести 150 записів з них: 50 телефонів, 50 адрес і 50 прізвищ абонентів(див додаток № 2 список в текстовому форматі).

3.2. Команди програми Vhidnuy:

Program vhidnuy- ця команда оголошує назву програми.

uses crt – оголошення модуля crt дає змогу використовувати кольори тексту і затримку. Цей модуль використовується щоб надати програмі дружелюбного вигляду.

type – оголошення нового типу даних.

dovidnuk=reacord – ця команда дає змогу описати записи. Записи можуть мати різні типи даних.

pr:string[30] – це поле запису означає, що буде вводитися прізвище абонента у форматі string[30] і максимальна довжина прізвища 30 символів.

tel:real – це поля запису означає номер телефону, який записується у форматі real.

vyl:string[30] - поле запису означає, що буде вводитися адреса абонента у форматі string[30] і максимальна адреси прізвища 30 символів.

Після опису полів запису вводиться команда end, яка закінчує опис даних.

var – відкриття опису даних.

f: file of dovidnuk – оголошення формування файлу f який має назву у програмі. Файл f має формат dovidnuk який описаний вище.

a:array[1 50] of dovidnuk – програма формує масив на 50 значень і має формат даних dovidnuk

i: integer- змінна і вводиться як лічильник циклу у форматі integer.

Далі починається програма

begin – оголошення початку програми.

assign(f,’dani’) – відкриття файлу який має назву у програмі f, а на диску зберігається під назвою dani.

rewrite(f) – за допомогою цієї команди ми відкривачем файл для запису в нього вхідних даних.for i:=1 to 50 do begin – в цій програмі використовується цикл з параметром. За допомогою цього циклу програма запитає 50 разів прізвище абонента, 50 разів телефон абонента і 50 разів адресу абонента.

write(‘prizvushe’,i) – ця команда пише на екран слово ‘prizvushe’ і його номер у файлі. Слово ‘prizvushe’ означає, що потрібно ввести прізвище абонента.

readln(a[i].pr) – за допомогою цієї команди ми можемо ввести прізвище абонента.

write(‘tel’,i) - ця команда пише на екран слово ‘tel’ і його номер у файлі. Слово ‘tel’ означає, що потрібно ввести телефон абонента.

readln(a[i]. tel) - за допомогою цієї команди ми можемо ввести телефон абонента.

write(‘vul’,i) - ця команда пише на екран слово ‘vul’ і її номер у файлі. Слово ‘vul’ означає, що потрібно ввести адресу абонента

readln(a[i]. vul) - за допомогою цієї команди ми можемо ввести адресу абонента.

end – ця команда закриває цикл у програмі.

close(f) – за допомогою цієї команди ми закриваємо використання файлу f.

end – ця команда закриваємо програму.

3.3.Виконання програми:

Ця програма потрібна для того щоб сформувати вхідний файл даних. Запустивши програму «vhidnuy» нам потрібно ввести дані. Після вводу усіх потрібних даних програма збереже їх на жорсткому диску у типізованому файлі під назвою DANI.

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

3.4Блок cхема

4.«Телефонний довідник»

4.1Опис програми «Телефонний довідник»:

Програма «Телефонний довідник» (див. додаток № 2)- це база даних яка працює за допомогою вхідного типізованого файлу “DANI.txt”, в якому міститься інформація про абонентів. У програмі міститься цикл з параметром. щоб програма відкрила і Цикл потрібний для пошуку потрібної інформації у файлі “DANI.txt”. Параметри за якими проводиться пошук у файлі користувач вводить з клавіатури. Після цього програма за допомогою галуження if (a[i].pr=b)and(a[i].vyl=c) знаходить інформацію, порівнюючи введені прізвище і телефон абонента. Якщо введені параметри збігаються з інформацією у файлі “DANI.txt” тобі програма видасть користувачу номер телефону абонента. А якщо уведена інформація не підійде програма видасть повідомлення про те що номер не знайдено це повідомлення виводиться за допомогою іншого галуження іf p=0 then begin writeln('Abonent ne zareestrovanuy');.

Для надання дружелюбного вигляду програмі я змінив текст кольору і місце друкування його на екрані. Місце друкування тексту на екрані змінюеться по координатам х та у за допомогою команди gotoxy наприклад gotoxy(30,11); - це означає що текст буде написаний на середині екрану. Далі в програмі я змінюю координати х та у щоб користувачеві було легше працювати з програмою.

Програма провидить з користувачем діалог в якому пояснює що потрібно роботи для пошуку телефону потрібного абонента.

4.2.Команди програми:

Program Telefonnyu dovidnuk; - ця команда оголошує назву програми.

uses crt; - оголошення модуля crt дає змогу використовувати кольори тексту і затримку, а також цей модуль потрібний щоб очистити екран. Цей модуль використовується щоб надати програмі дружелюбного вигляду.

uses graph – ця команда потрібна для оголошення модуля graph. Цей модуль потрібний для додавання в програму елементів графіки. Модуль graph працює тільки в повно екранному режимі.

type - оголошення нового типу даних

dovidnuk=record - ця команда дає змогу описати записи. Записи можуть мати різні типи даних.

pr:string[30]; - це поле запису означає, що буде введене прізвище абонента у форматі string[30] і максимальна довжина прізвища 30 символів.

tel:real; - це поля запису означає номер телефону, який записується у форматі real

vyl:string[30] - поле запису означає, що буде введена адреса абонента у форматі

string[30] і максимальна адреси прізвища 30 символів.

end; - ця команда закриває оголошення записів.

file of dovidnuk – оголошення формування файлу f який має назву у програмі. Файл f має формат dovidnuk який описаний вище.

gd,gm:integer; - ці змінні потрібні для подальшого використання графіки.

a:array[1 50] of dovidnuk – програма формує масив на 50 значень і має формат даних dovidnuk.

i: integer- змінна і вводиться як лічильник циклу у форматі integer.

р: integer- змінна у форматі integer.

b,с: integer- змінні у форматі integer.

На цьому кроці закінчується опис змінних і починається програма.

begin – оголошення початку програми

gd:=detect – ця команда потрібна для переходу в графічний режим.

Initgraph(gd,gm,'D:\tp7\bgi') – команда ініціалізує графічний режим і програма переходить в нього.

cleardevice; - команда повністю очищує екран від попередньої програми і є аналогом команди clrscr, але команда cleardevice працює тільки в графічному режимі.

setbkcolor(10); - ця команда змінює колір тла екрану з чорного на зелений.

directvideo:=false; - ця команда потрібна для відключення графічного режиму і переходу в текстовий.textcolor(red) – ця команда змінює колір тексту з білого на червоний. Я використовую ця команду для того щоб надати програмі дружелюбного вигляду.

gotoxy(24,1); - ця команда переміщує текст зверху екрану середину.

writeln('Vvedit bydlaska prizvushe i adresy abonenta'); - за допомогою цієї команди виводиться повідомлення щоб користувач ввів прізвище і адресу абонента

gotoxy(30,11);- ця команда переміщує текст приблизно на середину екрана.

writeln('Prizvushe:'); - команда виводить на екран слово прізвище.

gotoxy(40,11) ; - ця команда переміщує текст напису на екрані.

readln(b); - за допомогою цієї команди вводиться з клавіатури прізвище абонента.

gotoxy(30,12);- ця команда переміщує текст напису на екрані.

writeln('Adresa:'); - команда виводить на екран слово адреса.

gotoxy(40,12);- ця команда переміщує текст напису на екрані.

readln(c); - за допомогою цієї команди вводиться з клавіатури адреса абонента.

gotoxy(35,12);- за допомогою цієї команди номер телефону абонента буде виведений на середині екрану.

assign(f,'dani'); - ми відкриваємо файл який має назву у програмі f, а на диску зберігається під назвою dani.

reset(f); - ця команда відкриває файл для читання.

for i:=1 to 50 do begin – за допомогою цикл з параметром ми шукаємо у відкритому файлі потрібну інформацію.

read(f,a[i]); - за допомогою цієї команди програма ми знову читаємо всі дані у файлі f для того щоб знайти потрібну інформацію

if (a[i].pr=b)and(a[i].vyl=c) – за допомогою цього галуження ми шукаємо за введеними з клавіатури адресою і прізвищем номер телефони абонента.

then – службове слово яке використовується у галуженні і логічно означає: якщо умова справджується робити подальші команди.

begin – команда початку виконання подальших дій.

p:=1; - у цій програмі я використовую змінну р і присвоюю значення 1 для того щоб якщо умова справджується тоді виводився телефон один раз.

gotoxy(33,13); - за допомогою цієї команди номер телефону буде виведений на середину екрану.

textcolor(9+blink); - за допомогою цієї команди текст буде виводиться в синьому кольорі, а також буде мигати.

write('Telefon: ',a[i].tel:7:0) – за допомогою цієї команди номер телефону абоненту виводиться на екран.

end; - ця команда закриває виконання галуження.

if p=0 – за допомогою цього галуження якщо телефон абонента не буде знайдений програма видасть відповідне повідомлення. І це повідомлення буде написане на екрані один раз.

writeln('Abonent ne zareestrovanuy'); - ця команда виводить повідомлення що номер телефону не знайдено.

end; - ця команда закриває виконання галуження.

close(f); - за допомогою цієї команди програма закриває файл для використання.

gotoxy(28,14); - за допомогою цієї команди номер подяка користувачеві буде виведена на середині екрана.

writeln('Dekyemo za korustyvannya programouy'); - ця команда виводь повідомлення про подяку користування цією програмою.

readln;- ця команда потрібна щоб затримати результат виконання програми на екрані.

end. – команда повністю закриває програму.

4.3.Виконання програми:

Натиснувши Ctrl+F9 ми побачимо що програма запропонує ввести прізвище абонента. Малюнку які ви побачете пізніше зроблені за допомогою клавіши «Print Screen» і програми «Paint». Також малюнки зроблені без модуля graph і командами потрібними для його використання.

Якщо ми введемо прізвище і натиснемо клавішу Enter з’явитися повідомлення що потрібно ввести адресу абонента:

Ввівши адресу абонента потрібно натиснути клавішу Enter і програма почне шукати номер телефону абоненту у базі даних. Якщо номер буде знайдений програма нам покаже його:

Але може бути випадок коли абонент відсутній у базі даних тоді програма видасть повідомлення проте що абонент не зареєстрований:

Для того щоб вийти з програми потрібно натиснути клавішу Enter.

4.4.Блок схема:

5.Висновок:

Програма телефонний довідник це елементарна база даних. Ця програма може бути пристосована для реального використання, якщо замінити вхідний файл з реальними даними і відредагувати текст програми.

Ця програма дуже легка у своєму використанні і нею може користуватися людина з малими навичками роботи з комп’ютером.

На основі цієї програму я вдосконалив навички роботи у мові Turbo Pascal, вивчив нові алгоритмічні конструкції і підвищив рівень роботи з типізованими файлами.

6.Використана література:

1) Алексіїв Є.Р. Турбо Паскаль 7.0” - Москва. :НТ Пресс,2005. – 314,[6]с.

2) Шост Д.М. Основи інформатики та обчислювальної техніки. Turbo Pascal. 10-11 кл. – Тернопіль: „Навчальна книга – Богдан”, 1999. – 192 с.

3) Конспект з лекції.

7.Додатки:

7.1 Додаток №1:

Вхідний файл в текстовому форматі:

Soltus

2393836

Horodotska 173 kv 150

Ctecziv

2345677

Batalna 15 kn 60

Ivanenko

2226542

Shevchenka 88 kv 51

Pavliv

2371312

Benderu 92 kv 187

Barbanyuk

626116

Patoha 4 kv 44

Bygpim

2985488

Bogyna 2 kv 9

Shunkarenko

728645Gryunvaldska 77 kv 32

Dushleva

760412

Aralska 4 kv 2

Gladyn

2377841

Konovalcza 23 kv 16

Masley

639134

Haykova 88 kv 46

Doroshenko

2378727

Horodotska 173 kv 103

Danczev

624989

Kaxovska 32 kv 34

Smagin

755678

Zaliznuchna 34 kv 78

Chernushuk

2982299

Benderu 45 kv 11

Marchenko

2701501

Dozvilna 85 kv 30

Fauzylin

2377496

Benderu 25 kv 5

Kyznechov

743448

Kropuvnuczkogo 12 kv 45

Chelyadinov

2401276

Lyublyanska 67 kv 34

Kapeban

2345555

Cyauvo 55 kv 23

Kokotko

2402121

Zelena 146 kv 200

Kyhecz

2380189

Zaliznyaka 67 kv 78

Dmutrovuch

741542

Valova 21 kv 89

Medvediva

2934431

Sugnivka 1 kv 1

Xoloshyak

2986080

Ryashivska 62 kv 12

Danulova

2213945

Shereczka 21 kv 60

Chernenko

2374006

Konovalcza 4 kv 32

Onuczko

2313231

Petlyuru 32 kv 78

Caviczkuy

2387890

Mazepu 15 kv 43

Skrupkina

2374024

Sheptuczkix 42 kv 78

Masyak

2263023

Horodotska 173 kv 116

Mishuna

2453701

Bugovskogo 57 kv 31

Xmuz

2393826

Horodotska 171 kv 200

Slobodyan

2383032

Turgeniva 34 kv 71

Pavluykov

628949

Patova 31 kv 80

Melnuk

2389090

Horbachevskogo 12 kv 60

Bondrovskiy

2223149

Krakivska 54 kv 23

Kuruchenko

643434

Boczenka 64 kv 38

Tereshenko

23901104

Zamkova 35 kv 31

Agapov

2345129

Antonovucha 12 kv 62

Aleksiev

2356212

Kotlyarevskogo 43 kv 69

Torba

2225124

Stelmaxa 12 kv 37

Vityuk

2374120

Sheptuczkux 15 kv 73

Mazypuk

2389095

Mateyka 17 kv 83

Voukiv

2123421

Shashkevucha 25 kv 70

Syl

2389040

Bilinskogo 12 kv 70

Grunko

2345679

Saxarova 90 kv 102

Bernadskuy

2390603

Sagaydachnogo 90 kv 12

Moroz

2345555

Dovbusha 13 kv 65

Martunyuk

2367876

Gryshevskogo 15 kv 89

Ilnuzkiy

2345678

Bushni 89 kv 34

7.2 Додаток №2

Текср програми:

Program P1;

uses crt,graph;

type

dovidnuk=record

pr:string[30];

tel:real;

vyl:string[30] end;

var f:file of dovidnuk;

gd,gm:integer;

a:array[1 50] of dovidnuk; i,p:integer; b,c:string;

begin gd:=detect;Initgraph(gd,gm,'D:\tp7\bgi');cleardevice;setbkcolor(2);

directvideo:=false;

textcolor(red); gotoxy(24,1);

writeln('Vvedit bydlaska prizvushe i adresy abonenta');

gotoxy(30,11); writeln('Prizvushe:');

gotoxy(40,11);readln(b);

gotoxy(30,12); writeln('Adresa:');

gotoxy(40,12); readln(c);

assign(f,'dani'); reset(f);

for i:=1 to 50 do begin

read(f,a[i]);

if (a[i].pr=b)and(a[i].vyl=c) then begin p:=1;

textcolor(red+blink);

write('Telefon: ',a[i].tel:7:0) end;

end;if p=0 then begin writeln('Abonent ne zareestrovanuy');

end;

close(f);gotoxy(28,14);

textcolor(red);

writeln('Dekyemo za korustyvannya programouy');

readln;end.

7.3 Додаток №3

Текст програми вхідного файлу:

Program vhidnuy;

uses crt;

type

dovidnuk=record

pr:string[30];

tel:real;

vyl:string[30] end;

var f:file of dovidnuk;

a: array[1 50] of dovidnuk; i:integer;

begin assign(f,'dani'); rewrite(f);

for i:=1 to 50 do begin

write('prizvushe',i);readln(a[i].pr);

write('tel',i);readln(a[i].tel);

write('vul',i);readln(a[i].vyl); write(f,a[i]);

end;

close(f);end.


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат