Опис предметної області та постановка задачі



МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Природничо-гуманітарний коледж

Закарпатського державного університету

 

 

Реєстраційний номер ___________

Дата реєстрації ________________

Король Е. В.

студент ІІ курсу

групи КН-22

денної форми навчання

База даних викладачів факультету

Курсова робота з дисципліни

 «Основи програмування та алгоритмізація мови»

Допущено до захисту                                                       Науковий керівник:

Дата «____» _____________                         викл. Куртей Н.М

Підпис _________________           

Робота захищена «_____» _____________ 2013 р.

 з оцінкою «_____________»

Підписи членів комісії _____________________________________
Ужгород 2013

ЗМІСТ

Вступ .   .   .   .   .   .   .   .   .   .   .   3

1.Теоритична частина

1.1 Загальні відомості про мову Паскаль .   .   .   .   .   4

1.2 Опис предметної області та постановка задачі .   .   .   12

1.3 Обґрунтування вибору методу розв’язку задачі .   .   .   13

2. Практична частина   

2.1 Алгоритм дії програми .   .   .   .   .   .   .   14

2.1.1 Інформаційна структура алгоритму    .   .   .   .   .   15

2.1.2 Функціональні частини програми .   .   .   .   .   16

2.1.3. Вхідні-вихідні дані окремих модулів .   .   .   .   18

2.2 Тестування моделі .   .   .   .   .   .   .   .   20

2.3 Інтерфейс та керівництво користувача    .   .   .   .   .   22

Висновки .   .   .   .   .   .   .   .   .   .   25

Список використаної літератури .   .   .   .   .   .   26

Додаток 1. Лістинг програми     .   .   .   .   .   .   27

 

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

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

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

 Дуже просто та цікаво про бази даних розписано у підручнику Дж. Ульмана «Базы данных на Паскале». У ньому розписано буквально все про можливі дії в базі даних. Також там розкрито проблему деяких не можливостей у Паскалі в зв’язку з застарілості першого, але користування цими базами можливе і на даний час.

 

ТЕОРЕТИЧНА ЧАСТИНА

Загальні відомості про мову Паскаль

Pascal- алгоритмічна мова програмування універсального призначення. Існують діалекти мови з підтримкою об'єктно-орієнтованого програмування. В 1990 році було затверджено стандарт ISO 7185:1990, «Pascal», та ISO 10206:1990 «Extended Pascal». Першим компілятором мови Pascal є ETH Pascal, створений у 1970-му. Назва ETH походить від назви інституту німецькою Eidgenössische Technische Hochschule Zürich (українською Федеральна вища технічна школа Цюріха), де він був розроблений. Творцем мови є Ніклаус Вірт. Наприкінці того ж року Вірт оприлюднив перший офіційний опис мови, синтаксису та семантики. Нова версія мови побачила світ у 1972 році. Тоді ж Вірт та його англійський колега Чарльз Ентоні Хоар (Тоні Хоар) випустили аксіоматичний опис мови Pascal. У 1969 році Вірт доручає розробку компілятора одному зі своїх студентів (Е. Марм'є). На той момент Марм'є володів лише Фортраном  (Fortran) і писав компілятор виключно на цій мові. Після написання компілятор Pascal був переписаний на самому собі. Як згадував потім Вірт, вибір Фортрана був серйозною помилкою, бо він не міг адекватно представляти складні структури даних компілятора Pascal, що лише заплутувало програму. Наступна спроба створення компілятору почалася з чіткого формулювання на описі (1970 року) самого Паскалю. Синтаксичний аналіз нового однопрохідного компілятору реалізовувався за допомогою рекурсії. Тепер команду розробників склали: У. Амман, Е. Марм'є, Р. Шилд. Після того як компілятор був написаний на ще невідомій мові, Шилд поїхав додому, де він на протязі двох тижнів вручну транслював програму у допоміжну низькорівневу мову. Отже, в середині 1970 року компілятор ETH Pascal був готовий. ETH Pascal був цікавий насамперед тим, що став він однією з перших реалізацій мов високого рівня написаних на самій собі, на два роки випередивши компілятор Сі. У 1973 році була створена абстрактна Pascal-машина (P-машина), яка виконувала спеціальний P-код. Щоб вирішити проблему сумісності компілятора, Вірт вирішив скористатися перевіреними часом методами інтерпретаціі. Найвідомішими з них рішеннями, які передували P-коду, можна назвати реалізацію мови Snobol-4 (Р. Грісуолдом, у 1967 році), де в якості коду абстрактної машини використовувалась мова SIL (System Implementation Language). Початкова мета розробки мови диктувалася потребою інструмента «для навчання програмуванню як систематичній дисципліні». Pascal належить до Algol-подібних мов програмування, оскільки використовує семантику Algol-ла. Однак Pascal мав суттєве удосконалення — жорстку типізацію. Це означало, що присвоювання можна було виконувати лише для змінних, що належать до одного типу (одночасно вказувались правила, за якими типи вважались однаковими). Це удосконалення суттєво покращило стиль програмування, оскільки значну частину помилок вдавалось виявити ще на етапі компіляції — що збільшує надійність програм. Однак мова розроблялась як дослідницький проект і первісний Pascal був мало придатний для написання великих проектів, оскільки програму не можна було скласти з кількох програмних частин — просто не було передбачено такої можливості. Але ця мова програмування швидко завоювала популярність у навчальних закладах при вивченні програмування. А коли з'явились діалекти мови де можливим було окреме компілювання програмних частин — Pascal став засобом написання великих програмних систем.

Існує ряд об'єктивних причин, які обумовили видатний успіх мови Pascal. Серед них у першу чергу потрібно вказати такі:

· Мова в природній і елегантній формі відбила найважливіші сучасні концепції технології розробки програм.

· Завдяки своїй компактності, концептуальній цілісності й ортогональності понять, а також вдалому оригінальному опису, запропонованому автором мови, Pascalвиявився дуже легким для вивчення й освоєння.

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

· Pascal дуже технологічний для реалізації практично усіх, у тому числі і нетрадиційних, машинних архітектур. Стверджується, що розробка Pascal-транслятора «майже» не перевищує за трудомісткістю гарної дипломної роботи випускника ВНЗу.

· Мова Pascal стандартизована в багатьох країнах, а у 1983 році було прийнято міжнародний стандарт (ISO 7185:1983).

Стандартні підпрограми і сталі

· Abs(X) — обчислення абсолютного значення (модулю) Х.

· ArcTan(X) — обчислення кута, тангенс якого дорівнює Х (тобто математичний arctg(X)), значення кута подано в радіанах і може знаходитися в діапазоні від -π/2 до π/2. Для перетворення значення кута з радіанної міри в градусну необхідно значення кута помножити на число 180/π. Результат має дійсний тип.

· Cos(X) — обчислення косинуса Х, параметр задає значення кута в радіанах.

· Exp(x) — обчислення значення експоненти аргументу (ex). Результат завжди має дійсний тип.

· Frac(X) — знаходження дробової частини Х. Результат має дійсний тип.

· Int(X) — знаходження цілої частини Х (дробова частина відкидається). Результат має дійсний тип.

· Ln(x) — обчислюється натуральний логарифм аргументу. Результат має дійсний тип. За допомогою функцій Exp та Ln можна обчислити довільну степінь числа так: ab=Exp(b*Ln(a)), відповідно корінь можна подати так само a1/b (тобто корінь степіня b з a)=Exp(1/b*Ln(a)).

· Pi — повертає значення числа p (3.1415926).

· Sin(X) — обчислення синуса Х. Параметр задає значення кута в радіанах. Для перетворення значення кута з радіанної міри в градусну необхідно значення кута помножити на число 180/p. Результат має дійсний тип.

· Sqr(X) — піднесення до квадрата значення Х. Тип результату збігається з типом параметра.

· Sqrt(X) — обчислення квадратного кореня з Х. Тип результату дійсний.

· Random — генерує значення випадкового числа з діапазону від 0 до 0.99. Тип результату дійсний.

· Random(P) — генерує значення випадкового числа з діапазону від 0 до P. Тип результату цілий. Щоб випадкові числа були «більш випадковими», необхідно періодично змінювати базу генерації. Для цього використовується процедура Randomize, що дозволяє при кожному новому запуску програми отримувати різні випадкові числа.

Для величин перелічувальних типів (всі цілі, літерний та булівський) існують також декілька зручних стандартних функцій та процедур, наведених нижче:

· Dec(x, [dx]) — процедура зменшує значення змінної Х на величину DX, а якщо параметр DX не заданий — на 1.

· Inc(x, [dx]) — процедура збільшує значення змінної Х на величину DX, а якщо параметр DX не заданий — на 1.

· Pred(X) — функція, що визначає попереднє значення для даного типа. Наприклад, Pred(5)=4, Pred(True)=False, Pred('B')='A'.

· Succ(X) — функція, що визначає наступне значення для даного типа. Наприклад, Succ(5)=6, Succ(True)=False, Succ('A')='B'.

· Odd(X) — число перевіряється на непарність. Результат дорівнює true, якщо аргумент непарний, і false — в протилежному випадку.

Turbo\Borland Pascal

· Turbo, а пізніше Borland Pascal— це одна з найвдаліших та найпоширеніших реалізацій мови Pascal, створена компанією Borland.Turbo Pascal — розширення американського стандарту (ANSI Pascal), яке враховує архітектурні особливості MS-DOS та MS Windows і постачається зі значними за обсягом і різноманітності пакетами стандартних процедур. Такі принципові нововведення, як апарат модулів і об'єктно-орієнтовані засоби полегшують конструювання великих програмних систем на основі технологіїмодульного програмування.

· Компілятор Turbo Pascal працює за однопрохідною схемою, реалізує функції редагування зв'язків, формуючи на виході готовий до виконання об'єктний код. Компілятор може здійснювати широкий набір локальних оптимізацій (згортання констант, виключення невикористовуваного коду і зайвих даних, оптимізація операцій і т. д.), що сприяє високій ефективності кінцевих програм.

· Система Turbo Pascal є інтегрованим середовищем (IDE), яке налічує ряд компонентів, що в сукупності підтримують усі види робіт зі створення програм. Система містить універсальний текстовий редактор, компілятор вхідної мови, редактор зв'язків і вбудований символьний зневаджувач. Багатовіконний інтерфейс із розвинутою системою меню і досконалою довідковою системою забезпечує високу продуктивність праці програміста.

· Borland Pascal 7.0, 7.01 компілює програми для DOS та ОС Windows 1.0, Windows 2.0, Windows 3.x, а також містить ряд додаткових утиліт та компіляторів на кшталт: Turbo Pascal for Windows (TPW), Borland Pascal for Windows (BPW), редактор ресурсів (іконок, графічних файлів, курсорів тощо) та інші.

Компілятори Turbo Pascal 7.0 та Borland Pascal 7.x

 

Початкові версії компілятора мають інший вигляд. Далі будуть розлянуті версії корпорації Borland: Turbo Pascal 7.0 та Borland Pascal 7.0/7.01, які вже давно стали класичними. Текст компілюється в машинну мову для центральних процесорів 8086, 8088, 80186, 80188, 80286, 80386 (BP 7.0/7.01) та сумісних з ними. Компіляція коду для роботи з числами з плаваючою точкою може здійнюватися, як в прямі машинні інструкції співпроцесорів 8087, 80187, 80287 та сумісних з ними, так і шляхом емуляції.

Алфавіт мови

 

Імена у мові Pascal формуються з латинських літер A-Z, a-z, цифр 0-9 та знака «підкреслення» («_»). Також використовуються спеціальні символи : + — * / = < > [ ], () ; { } $ ^ # . Будь-яке ім'я повинно починатися з латинської літери, або символу «підкреслення» (від англ. «underscore»), виключення становлять лише імена міток. На відміну від Сі в Паскалі не враховується регістр літер.

Службові слова

 

Службове слово являє собою неподільне утворення, зміст якого фіксований мовою. Службові слова не можна використовувати у якості імен. Коментарі в коді програми оформлюються фігурними дужками {коментар} або ж сполученням звичайних дужок із зірочкою (*коментар*)

Зарезервовані слова:

and, asm, array, begin, case, const, constructor, destructor, div, do, downto, else, end, exports, file, for, function, goto, if, implementation, in, inherited, inline, interface, label, library, mod, nil, not, object, of, or, packed, procedure, program, record, repeat, set, shl, shr, string, then, to, type, unit, until, uses, var, while, with, xor, absolute, assembler, export, external, far, forward, index, interrupt, near,private,public,resident,virtual.
Використання імен псевдомасивів Port, PortW, Mem, MemW, MemL не викликає помилки, але унеможливлює їх подальше застосування.

У програмі повинно бути як мінімум два оператори — це begin та end. Після кожного рядка необхідно ставити «;» (це правило не стосується операторів після яких розміщено зарезервоване слово «end», «begin», «else», вбудованого асемблеру тощо).

Кількість зарезервованих слів «begin» та «end» у програмі не обов'язково повинно збігатися.

Присвоєння значення відбувається так:
<typed address>:= <typed address>;
<typed address>:= <value>;
Після останнього «end» необхідно поставити крапку «.»

Математичні операції

Операнди:

· «+»— додавання;

· «-»— віднімання;

· «*»— множення;

· «/»— ділення;

· «div»— ціла частина від ділення (наприклад: 7 div 2= 3);

· «mod»— остача від ділення (наприклад: 7 mod 2= 1);

· «=»— дорівнює;

· «<>»— не дорівнює (≠);

· «>»— більше;

· «<»— менше;

· «>=»— більше або рівне (≥);

· «<=»— менше або рівне (≤);

· «shl»— побітовий зсув вліво (наприклад: 00000110b shl 1= 00001100b);

· «shr»— побітовий зсув вправо (наприклад: 00000111b shr 1= 00000011b).

 


Опис предметної області та постановка задачі

 Так як програма створює базу даних, вона має в себе вміщувати такі функції : створення, вивід усіх даних, пошук. Для кожної з цих функцій існує окрема процедура, у якій і буде виконуватися дана функція. Задача стоятиме так : створити базу, яка буде user friendly та неважка у освоєні, при цьому буде мати у собі усі найважливіші функції.

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

 База, як вид програм на мові Паскаль, повинна мати меню користувача для легшого користування даною програмою, тому це є також важливою умовою для існування програми. У свою чергу, меню повинно мати вигляд

списку, для того, щоб при включенні програми користувач мав повну уяву про можливості даної програми без попереднього перегляду керівництва користувача.

 У базі має бути присутні таки дані : Фамілія, Ім’я, По батькові, Предмет, Факультет, Довжина курсу та Система оцінювання.

 


Дата добавления: 2018-04-05; просмотров: 1761; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!