Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Характеристика поліолефінів

КурсоваДопомога в написанніДізнатися вартістьмоєї роботи

Програма, написана мовою ПАСКАЛь, складається з лексем і роздільників. Лексемами називаються мінімальні значимі одиниці тексту в програмі, написаній мовою ПАСКАЛЬ. Вони подані такими категоріями як спеціальні символи, ідентифікатори, мітки, числа, рядкові константи. Процедура RewriteDataBase — ця операція призначена для створення нового файлу з бібліотекою (якщо його ще нема), або для повного… Читати ще >

Характеристика поліолефінів (реферат, курсова, диплом, контрольна)

Курсова робота.

" Облік книг в бібліотеці"

Вступ

Мова ПАСКАЛЬ є універсальною мовою програмування високого рівня. Його основи розробив Ніклаус Вірт, професор технічного університету в Цюріху (Швейцарія), що назвав мову на честь Блєза Паскаля, знаменитого французького філософа і математика XVII сторіччя.

Створення професором Віртом мови ПАСКАЛЬ у 1971 році мало своєю метою полегшити процес навчання систематичному підходу до програмування для ЕОМ, точніше сказати, структурному програмуванню. Відтоді мова ПАСКАЛЬ використовується для програмування майже всіх типів задач на майже всіх типах ЕОМ і довгий час вважалася однією з кращих мов програмування високого рівня, незалежно від того, для яких цілей він використовується: для навчання або для програмування як аматорами так і професіоналами.

Програма, написана мовою ПАСКАЛь, складається з лексем і роздільників. Лексемами називаються мінімальні значимі одиниці тексту в програмі, написаній мовою ПАСКАЛЬ. Вони подані такими категоріями як спеціальні символи, ідентифікатори, мітки, числа, рядкові константи.

Роздільник являє собою пробіл або коментар. Дві сусідніх лексеми, якщо вони являють собою зарезервоване слово, ідентифікатор, мітку або число, повинні бути відділені одна від одної хоча б одним роздільником.

Зарезервоване слово — це ідентифікатор, якому в мові програмування наданий певний смисл. Це може бути ім'я операції, оператор, службове слово, тощо. Забороняється правилами мови ПАСКАЛь перевизначати зарезервовані слова (наприклад, використовувати їх для позначення інших об'єктів програми).

Постановка задачі

Завдання цього курсового проекту — «Облік книжок в бібліотеці «.

Курсова написана на мові програмування Pascal. Для виконання цього завдання, потрібно розроблено процедури, які мають таке призначення:

— головне меню:

— ввід книги в базу даних;

— вивід на екран книг, які є в базі даних;

— редагування книг;

— пошук книг;

— видалення книги з бази даних.

Робота програми починається з основної (титульної) сторінки:

Мал.

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

Мал.

Кожна дія запускається за допомогою вводу цифри, відповідно до певного пункту меню.

При введені цифри «1» запускається процедура «ShowMeAllBooks», яка виводить на екран список книг, занесених в бібліотеку. При завершенні роботи з цією процедурою потрібно нажати любу клавішу (як і в інших наступних процедурах).

При введені цифри «2» запускається процедура «LookForBookByNa me», яка починає пошук книги за її назвою. Якщо введеної користувачем назви не знайдено то програма покаже таке вікно:

Мал.

Напис End_Of_Search означає завершення пошуку.

Щоб повернутися в головне меню потрібно нажати будь-яку клавішу.

При введені цифри «3» запускається процедура «LookForBookByAuthor». Ця процедура аналогічна попередній, лише пошук здійснюється по автору книжки.

Цифра «4» запускає процедуру «AddBookToDB». Вона заносить нові книги в бібліотеку. При записуванні книги потрібно вводити автора, назву книги, кількість книг і рік видання книги. Після натискання «Еnter» програма запропонує ввести новий запис в файл. Тут керування теж відбувається як і в інших випадках — цифрами.

Меню «5» викликає процедуру «DeleteBookFromDataBase». Ця процедура видаляє книгу з бази даних за її назвою.

При запуску процедури «RewriteDataBase» цифрою «6» програма створює новий (перезаписує) файл збази даних з наступним вводом інформації.

Мал.

Опис роботи програми

Ця програма працює в основному з процедур, які і виконують основні операції програми. Програма починається з виводу на екран титульної сторінки курсової роботи. Потім йде автоматичне створення файлів по адресу «BookDataBase.txt» та «BookDataBase_BU.txt». В файлі BookDataBase. txt зберігається основна інформація про книги. А файл BookDataBase_BU.txt, який є лише тимчасовим файлом, використовується лише при додаванні чи видаленні записів з бібліотеки .

Потім запускається процедура MainMenuOfProgram. Вона виводить пункти меню, які дозволяють виконати ту чи іншу операцію з обліком.

Procedure MainMenuOfProgram;

begin.

clrscr;

WriteLn ('1. Показати доступні книги');

WriteLn ('2. Пошук книги за назвою');

WriteLn ('3. Пошук книги за автором');

WriteLn ('4. Додати книгу в БД');

WriteLn ('5. Видалити книгу з БД');

WriteLn ('6. Перезаписати БД з наступним вводом інформації');

WriteLn;

WriteLn ('0. Вихід').

end;

Вибір пункту меню здійснюєтья вводом відповідної цифри і підтвердженням клавішею «Enter».

logstat := 1;

while logstat <> 0 do.

begin.

MainMenuOfProgram;

ReadLn (logstat);

if logstat = 1 then ShowMeAllBooks;

if logstat = 2 then LookForBookByName;

if logstat = 3 then LookForBookByAuthor;

if logstat = 4 then AddBookToDB;

if logstat = 5 then DeleteBookFromDataBase;

if logstat = 6 then RewriteDataBase;

end;

Цифри вносяться в змінну «logstat» типу Integer. Якщо виконується вихід з програми, тобто вводиться «0», то меню стирається операцією clrscr (очищення екрану) і показується напис на екрані «Тепер можна закрити вікно програми». Після цього можна закрити програму.

clrscr;

Write ('Тепер можна закрити вікно програми').

Основні процедури:

— процедура ShowMeAllBooks лише показує книги, які збережені в файлі BookDataBase.txt.

Procedure ShowMeAllBooks;

begin.

clrscr;

{$I-}.

Reset (fayl);

{$I+}.

if IOResult <> 0 then.

begin.

clrscr;

WriteLn ('Невдається відкрити файл бази даних!');

WriteLn;

WriteLn ('Можливі причини: файл міг бути перейменований/переміщений чи видалений');

WriteLn;

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end.

else.

begin.

with oblik do.

while not EOF (fayl) do.

begin.

Read (fayl, oblik);

WriteLn (author_of_book, ' ', name_of_book, ' ', kst_of_books, ' ', year_of_release);

end;

WriteLn;

WriteLn;

WriteLn;

WriteLn ('End_Of_Data_Base');

WriteLn;

WriteLn;

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

Close (fayl);

clrscr.

end.

end;

— процедури LookForBookByName і LookForBookByAuthor — при введені цифр 2 і 3 відповідно, на екран виводиться напис «Введіть назву книги, яку бажаєте знайти:» «Введіть автора, книжку якого бажаєте знайти:». При правильному введенні інформації, програма показує знайдені книги, якщо такі містяться в бібліотеці.

Procedure LookForBookByName;

begin.

clrscr;

{$I-}.

Reset (fayl);

{$I+}.

if IOResult <> 0 then.

begin.

clrscr;

WriteLn ('Невдається відкрити файл бази даних!');

WriteLn;

WriteLn ('Можливі причини: файл міг бути перейменований/переміщений чи видалений');

WriteLn;

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end.

else.

begin.

Write ('Введіть назву книги, яку бажаєте знайти: ');

ReadLn (useful);

with oblik do.

while not EOF (fayl) do.

begin.

Read (fayl, oblik);

if name_of_book = useful then Write (author_of_book, ' ', name_of_book, ' ', kst_of_books, ' ', year_of_release);

end;

WriteLn;

Write ('End_Of_Search');

WriteLn;

WriteLn ('Натисніть будь-яку клавішу для продовження');

ReadKey;

Close (fayl);

clrscr.

end.

end;

Якщо результат пошуку негативний, то на екран виводиться лише інформація про завершення пошуку:

«End_Of_Search».

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

— Процедура AddBookToDB — якщо файли BookDataBase. txt та BookDataBase_BU.txt не існують то програма покаже помилку, а якщо існує то буде запропоновано ввести ім'я автора, назву його книги, кількість книг та рік виходу книги. Після цього програма запропонує або додати новий запис, або повернутися в головне меню.

Procedure AddBookToDB;

begin.

clrscr;

Rewrite (RF);

{$I-}.

Reset (fayl);

{$I+}.

if IOResult <> 0 then.

begin.

clrscr;

WriteLn ('Невдається відкрити файл бази даних!');

WriteLn;

WriteLn ('Можливі причини: файл міг бути перейменований/переміщений чи видалений');

WriteLn;

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end.

else.

begin.

with oblik do.

begin.

while not EOF (fayl) do.

begin.

Read (fayl, oblik);

Write (RF, oblik).

end;

c := 1;

while c <> 0 do.

begin.

Write ('Автор: ');

ReadLn (author_of_book);

Write ('Назва книжки: ');

ReadLn (name_of_book);

Write ('Кількість, шт.: ');

ReadLn (kst_of_books);

Write ('Рік випуску: ');

ReadLn (year_of_release);

Write (RF, oblik);

WriteLn;

Write ('Додати ще один запис? 1 — так / 0 — ні ');

ReadLn (c);

end;

Close (fayl);

Close (RF);

Rewrite (fayl);

Reset (RF);

while not EOF (RF) do.

begin.

Read (RF, oblik);

Write (fayl, oblik).

end.

end;

Close (fayl);

Close (RF);

WriteLn ('Збережено!');

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end.

end;

— Процедура DeleteBookFromDataBase — ця функція видаляє книгу з бібліотеки по її назві.

Procedure DeleteBookFromDataBase;

begin.

clrscr;

Rewrite (RF);

{$I-}.

Reset (fayl);

{$I+}.

if IOResult <> 0 then.

begin.

clrscr;

WriteLn ('Невдається відкрити файл бази даних!');

WriteLn;

WriteLn ('Можливі причини: файл міг бути перейменований/переміщений чи видалений');

WriteLn;

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end.

begin.

with oblik do.

begin.

Write ('Введіть назву книжки, яку бажаєте видалити: ');

ReadLn (useful);

while not EOF (fayl) do.

begin.

Read (fayl, oblik);

if name_of_book <> useful then Write (RF, oblik).

end;

Close (fayl);

Close (RF);

Rewrite (fayl);

Reset (RF);

while not EOF (RF) do.

begin.

Read (RF, oblik);

Write (fayl, oblik).

end.

end;

Close (fayl);

Close (RF);

WriteLn ('Зміни збережено!');

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end;

— Процедура RewriteDataBase — ця операція призначена для створення нового файлу з бібліотекою (якщо його ще нема), або для повного стирання існуючого файлу і заміною його новим чистим. При першому створенні або при перезаписі програма запропонує ввести нового автора.

Procedure RewriteDataBase;

begin.

WriteLn ('Увага! Зараз буде перезаписано Базу Даних! Стара БД буде видалена!!!');

ReadKey;

clrscr;

Rewrite (fayl);

c := 1;

with oblik do.

while c <> 0 do.

begin.

Write ('Автор: ');

ReadLn (author_of_book);

Write ('Назва книги: ');

ReadLn (name_of_book);

Write ('Кількість, шт.: ');

ReadLn (kst_of_books);

Write ('Рік випуску: ');

ReadLn (year_of_release);

Write (fayl, oblik);

WriteLn;

Write ('Додати ще один запис? 1 — так / 0 — ні ');

ReadLn (c);

end;

WriteLn ('Збережено!');

WriteLn ('Натисніть будь-яку клавішу для продовження…');

ReadKey;

Close (fayl).

end;

В усіх процедурах використовуються змінні author_of_book (автор книги), name_of_book (назва книги), kst_of_books (кількість книг, які є в бібліотеці), year_of_release (код книг. Змінна С (Integer) використовується для того, щоб при введенні книги можна було ввести ще один запис, цифра «1», або повернутись до головного меню, цифра «0».

В процедурі find є ще змінна useful (String). Вона використовується для пошуку книги. Якщо при введенні ця змінна співпадає з змінною author_of_book чи author_of_book (в залежності від типу пошуку), то програма виводить на екран відповідний запис.

В основній програмі є також змінна «logstat» (Integer), в яку заноситься інформація про вибраний пункт меню.

Висновок

паскаль книжка бібліотека програма

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

Програма була перевірена мною на збереження книг і виконання операцій над ними.

Мал.

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

1.В. Шелест — програмування, — Санкт-Петербург, — 2002.

2.Аладьев В. З. Тупло В.Г. Turbo Pascal для всех. -К.: Техника, 1993.

3.Г. С. Иванова — Основы программирования, — М. — 2002.

4.Фаронов В. В. — Turbo Pascal 7.0, — М. — 2003.

5.Гринюк Ю. І. «Обчислювальна техніка алгоритмів і програмування мовою Pascal».

6.Інтернет.

Додаток 1

Програмний код.

Program Oblik_Knug;

uses wincrt;

type LoB = record.

author_of_book: string;

name_of_book: string;

kst_of_books: string;

year_of_release: string.

end;

RecFile = file of LoB;

var fayl: RecFile;

RF: RecFile;

oblik: LoB;

c: Integer;

logstat: Integer;

useful: String;

Procedure ShowMeAllBooks;

begin.

clrscr;

{$I-}.

Reset (fayl);

{$I+}.

if IOResult <> 0 then.

begin.

clrscr;

WriteLn ('Невдається відкрити файл бази даних!');

WriteLn;

WriteLn ('Можливі причини: файл міг бути перейменований/переміщений чи видалений');

WriteLn;

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end.

else.

begin.

with oblik do.

while not EOF (fayl) do.

begin.

Read (fayl, oblik);

WriteLn (author_of_book, ' ', name_of_book, ' ', kst_of_books, ' ', year_of_release);

end;

WriteLn;

WriteLn;

WriteLn;

WriteLn ('End_Of_Data_Base');

WriteLn;

WriteLn;

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

Close (fayl);

clrscr.

end.

end;

Procedure LookForBookByName;

begin.

clrscr;

{$I-}.

Reset (fayl);

{$I+}.

if IOResult <> 0 then.

begin.

clrscr;

WriteLn ('Невдається відкрити файл бази даних!');

WriteLn;

WriteLn ('Можливі причини: файл міг бути перейменований/переміщений чи видалений');

WriteLn;

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end.

else.

begin.

Write ('Введіть назву книги, яку бажаєте знайти: ');

ReadLn (useful);

with oblik do.

while not EOF (fayl) do.

begin.

Read (fayl, oblik);

if name_of_book = useful then Write (author_of_book, ' ', name_of_book, ' ', kst_of_books, ' ', year_of_release);

end;

WriteLn;

Write ('End_Of_Search');

WriteLn;

WriteLn ('Натисніть будь-яку клавішу для продовження');

ReadKey;

Close (fayl);

clrscr.

end.

end;

Procedure LookForBookByAuthor;

begin.

clrscr;

{$I-}.

Reset (fayl);

{$I+}.

if IOResult <> 0 then.

begin.

clrscr;

WriteLn ('Невдається відкрити файл бази даних!');

WriteLn;

WriteLn ('Можливі причини: файл міг бути перейменований/переміщений чи видалений');

WriteLn;

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end.

else.

begin.

Write ('Введіть автора, книжку якого бажаєте знайти: ');

ReadLn (useful);

with oblik do.

while not EOF (fayl) do.

begin.

Read (fayl, oblik);

if author_of_book = useful then Write (author_of_book, ' ', name_of_book, ' ', kst_of_books, ' ', year_of_release);

end;

WriteLn;

Write ('End_Of_Search');

WriteLn;

WriteLn ('Натисніть будь-яку клавішу для продовження');

ReadKey;

Close (fayl);

clrscr.

end.

end;

Procedure AddBookToDB;

begin.

clrscr;

Rewrite (RF);

{$I-}.

Reset (fayl);

{$I+}.

if IOResult <> 0 then.

begin.

clrscr;

WriteLn ('Невдається відкрити файл бази даних!');

WriteLn;

WriteLn ('Можливі причини: файл міг бути перейменований/переміщений чи видалений');

WriteLn;

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end.

else.

begin.

with oblik do.

begin.

while not EOF (fayl) do.

begin.

Read (fayl, oblik);

Write (RF, oblik).

end;

c := 1;

while c <> 0 do.

begin.

Write ('Автор: ');

ReadLn (author_of_book);

Write ('Назва книжки: ');

ReadLn (name_of_book);

Write ('Кількість, шт.: ');

ReadLn (kst_of_books);

Write ('Рік випуску: ');

ReadLn (year_of_release);

Write (RF, oblik);

WriteLn;

Write ('Додати ще один запис? 1 — так / 0 — ні ');

ReadLn (c);

end;

Close (fayl);

Close (RF);

Rewrite (fayl);

Reset (RF);

while not EOF (RF) do.

begin.

Read (RF, oblik);

Write (fayl, oblik).

end.

end;

Close (fayl);

Close (RF);

WriteLn ('Збережено!');

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end.

end;

Procedure DeleteBookFromDataBase;

begin.

clrscr;

Rewrite (RF);

{$I-}.

Reset (fayl);

{$I+}.

if IOResult <> 0 then.

begin.

clrscr;

WriteLn ('Невдається відкрити файл бази даних!');

WriteLn;

WriteLn ('Можливі причини: файл міг бути перейменований/переміщений чи видалений');

WriteLn;

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end.

else.

begin.

with oblik do.

begin.

Write ('Введіть назву книжки, яку бажаєте видалити: ');

ReadLn (useful);

while not EOF (fayl) do.

begin.

Read (fayl, oblik);

if name_of_book <> useful then Write (RF, oblik).

end;

Close (fayl);

Close (RF);

Rewrite (fayl);

Reset (RF);

while not EOF (RF) do.

begin.

Read (RF, oblik);

Write (fayl, oblik).

end.

end;

Close (fayl);

Close (RF);

WriteLn ('Зміни збережено!');

WriteLn;

WriteLn ('Для повернення в Головне меню натисніть будь-яку кнопку…');

ReadKey;

clrscr.

end.

end;

Procedure RewriteDataBase;

begin.

WriteLn ('Увага! Зараз буде перезаписано Базу Даних! Стара БД буде видалена!!!');

WriteLn;

ReadKey;

clrscr;

Rewrite (fayl);

c := 1;

with oblik do.

while c <> 0 do.

begin.

Write ('Автор: ');

ReadLn (author_of_book);

Write ('Назва книги: ');

ReadLn (name_of_book);

Write ('Кількість, шт.: ');

ReadLn (kst_of_books);

Write ('Рік випуску: ');

ReadLn (year_of_release);

Write (fayl, oblik);

WriteLn;

Write ('Додати ще один запис? 1 — так / 0 — ні ');

ReadLn (c);

end;

WriteLn ('Збережено!');

WriteLn;

WriteLn ('Натисніть будь-яку клавішу для продовження…');

ReadKey;

clrscr;

Close (fayl).

end;

Procedure MainMenuOfProgram;

begin.

clrscr;

WriteLn ('1. Показати доступні книги');

WriteLn ('2. Пошук книги за назвою');

WriteLn ('3. Пошук книги за автором');

WriteLn ('4. Додати книгу в БД');

WriteLn ('5. Видалити книгу з БД');

WriteLn ('6. Перезаписати БД з наступним вводом інформації');

WriteLn;

WriteLn ('0. Вихід').

end;

begin.

WriteLn (' Міністерство освіти і науки України');

WriteLn (' Тернопільський національний технічний університет ім. І. Пулюя');

WriteLn;

WriteLn;

WriteLn;

WriteLn;

WriteLn (' КУРСОВА РОБОТА');

WriteLn (' на тему:');

WriteLn (' ОБЛІК КНИГ В БІБЛІОТЕЦІ');

WriteLn;

WriteLn;

WriteLn;

WriteLn (' Група СІ-11');

WriteLn (' Котович Ігор);

WriteLn;

WriteLn;

WriteLn;

WriteLn (' Тернопіль');

WriteLn (' 2010 рік');

ReadKey;

clrscr;

Assign (fayl, 'BookDataBase.txt');

Assign (RF, 'BookDataBase_BU.txt');

logstat := 1;

while logstat <> 0 do.

begin.

MainMenuOfProgram;

ReadLn (logstat);

if logstat = 1 then ShowMeAllBooks;

if logstat = 2 then LookForBookByName;

if logstat = 3 then LookForBookByAuthor;

if logstat = 4 then AddBookToDB;

if logstat = 5 then DeleteBookFromDataBase;

if logstat = 6 then RewriteDataBase;

end;

clrscr;

Write ('Тепер можна закрити вікно програми').

end.

Показати весь текст
Заповнити форму поточною роботою