Ім'я файлу: KURSOVA_POJDA.docx
Розширення: docx
Розмір: 553кб.
Дата: 02.06.2020
скачати
Пов'язані файли:
Хімія.pptx
аня.docx
РЕФЕРАТ.docx
b37d3668f20a04e6bc0c2e89681aaeee.ppt
кандидоз.pdf
Правила безпечної роботи 5-Аклас С. Коржан.docx
Конспект уроку 5 клас (Виготовлення ялинкової прикраси).doc
urok_67.docx
філософія 2 тема 9 пит..docx
Презентация 1 (1).pptx
реферат електронна спектроскопія.docx
Курсова.docx
школа.docx
1 ал.docx
Мирнi_Мет.doc


ЗАВДАННЯ

на курсову роботу з дисципліни «Алгоритмізація та програмування»


Пойда Олександр Володимирович

(прізвище, імя, по-батькові)


  1. Тема роботи: « Організація руху приміських поїздів по станціях»

  2. Структура пояснювальної записки до курсової роботи:

2.1.Вступ;

2.2. Опис предметної області;

2.3.Розробка та опис алгоритму;

2.4. Розробка та опис лістингу програми;

2.5. Тестування програми;

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

2.7.Додаток А;

3. Вихідні дані про виконання проекту: Спроектувати програму «Організація руху приміських поїздів по станціях»

4.Перелік рекомендованої літератури
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Ковельський промислово-економічний коледж Луцького НТУ

Курс ІІ Група 291 Д

    1. Д.Прайс. Программирование на языке Паскаль. Практическое руководство.1987 рік.254 стр.

    2. М.А.Черкасов. Практический курс программирования на Паскале. Уч. Пособие.2005 рік.180 стр.

    3. Е.Р.Алексеев. Free Pascal. Учебник по программированию.2010 рік.442 стр.

    4. Т.А.Павловская. Паскаль. Програмирование на языке высокого уровня. Учебник.2007 рік.400 стр.

Дата видачі завдання__________________________

Завдання прийняла до виконання

_______ __________________

(підпис) (прізвище, ініціали)

Керівник роботи

________ __________________

(підпис) (прізвище, ініціали)

Реферат

Курсова робота містить 26 сторінок пояснювальної записки, 9 рисунків, 4 джерела, 1 додаток.

Об’єктом дослідження є типові оператори та базові конструкції мови програмування Паскаль.

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

Методика (метод дослідження): комп’ютерна реалізація та комп’ютерне тестування.

Одержані висновки та їх новизна: розроблені алгоритми та складені програми для створення бази даних книжкового фонду бібліотеки.

Результати дослідження можуть бути застосовані при розробці алгоритмів та програм складних задач; створенні великих баз даних.

Перелік ключових слів: АЛГОНИТМ, ПРОГРАМА, БЛОК-СХЕМА, ДАНІ, ЗМІННА, МАСИВ, НАЗВА, ЗУПИНКА, ЧАС, ПРОЦЕДУРА, БАЗА ДАНИХ.

Зміст

Вступ…………………………………………………………………………..5

  1. Опис предметної області………………………………………………….6

  2. Розробка та опис алгоритму програми…………………………………..8

2.1.Алгоритм головної програми………………………………………....8

2.2.Алгоритм процедури створення вхідного файлу……………………11

2.3.Алгоритм процедури виведення даних з файлу…………………….13

2.4.Алгоритм процедури пошуку…………………………………………15

3. Розробка та опис лістингу програми……………………………………...17

4. Тестування програми………………………………………………………19

Висновок……………………………………………………………………....22

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

Додаток А. Текст програми………………………………………………….24

Вступ

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

Метою написання курсової роботи є:

  • поглиблення знань студентів з актуальних проблем окремої галузі науки;

  • систематизація отриманих теоретичних знань з певної навчальної дисципліни;

  • розвиток умінь самостійного критичного опрацювання наукових джерел;

  • формування дослідницьких умінь студентів;

  • стимулювання студентів до самостійного наукового пошуку;

  • розвиток уміння аналізувати передовий досвід та узагальнювати власні спостереження;

  • формування вміння практичної реалізації результатів дослідження проблеми в самостійно виконаних розробках.

Курсова робота є одним із видів наукової роботи, самостійним навчально-науковим дослідженням студента, виконується на кожному курсі з певної дисципліни або з двох-трьох дисциплін одного спрямування. Виконання курсової роботи має за мету дати студентам навички проведення наукового дослідження, розвинути у них навички творчої самостійної роботи, оволодіння загальнонауковими і спеціальними методами сучасних наукових досліджень, поглибленим вивченням будь-якого питання, теми навчальної дисципліни. Курсова робота допомагає студентові системно показати теоретичні знання з вивчення дисципліни, оволодіти первинними навичками дослідної роботи, на перших курсах - з інформаційними матеріалами, на третьому та четвертому - з практичними даними роботи конкретних підприємств галузі, збирати дані, аналізувати, творчо осмислювати, формулювати висновки, пропозиції та рекомендації з предмету дослідження. Тут є слушна нагода проконтролювати знання і вміння студента, правильно організувати дослідну роботу, оформити її результати і показати готовність до виконання підсумкової роботи з фаху. Курсова робота - це справжнє студентське наукове дослідження. Пишеться вона за спеціальним предмету або з обраної студентом спеціалізації, призначення її в тому, щоб з'ясувати, наскільки останній опанував навичками самостійної наукової діяльності. 
Оскільки курсова робота - це вже самостійне наукове дослідження, її тема повинна бути актуальною з точки зору сучасного стану науки. 
1 Опис предметної області

Гра́фік ру́ху поїзді́в (ГРП) — організуюча і технологічна основа роботи всіх підрозділів залізниць, план всієї експлуатаційної роботи. Рух поїздів строго за графіком забезпечується правильною організацією роботи та точним виконанням технологічного процесу роботи станційдепо, тягових підстанцій, пунктів технічного обслуговування та інших підрозділів, пов'язаних з рухом поїздів.

Графік руху поїздів має забезпечувати: задоволення потреб у перевезеннях пасажирів і вантажів; безпеку руху поїздів; найбільш ефективне використання пропускної і провізної спроможності дільниць і переробної спроможності станцій; раціональне використання рухомого складу; дотримання встановленої тривалості безперервної роботи локомотивних бригад; можливість проведення робіт з поточного утримання і ремонту колії, споруд, пристроїв СЦБ, зв'язку та електропостачання при безумовному дотриманні вимог охорони праці (з пункту 13.2 ПТЕ).

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

  • паралельні (англ. Homogeneous), де всі поїзди одного і того ж напрямку рухаються з однаковою швидкістю, тому лінії їх ходу паралельні між собою; 

  • непаралельні (англ. Heterogeneous), де поїзди різних категорій мають різну швидкість. 

В залежності від ритмічності відправлення поїздів розрізняють ГРП:

  • циклічні або періодичні (англ. Cyclic train timetabling), коли відправлення поїздів здійснюється через рівні проміжки часу (регулярний інтервальний рух);

  • нециклічні (англ. Non-cyclic train timetabling), коли відправлення поїздів здійснюється через неоднакові проміжки часу.

Залежно від числа головних колій на перегоні:

  • одноколійні — на одноколійних ділянках, а отже, і на графіку, схрещення поїздів відбувається лише на роздільних пунктах, що мають колійний розвиток (станціях);

  • двоколійні — лінії ходу поїздів перетинаються на перегонах і станціях;

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

Залежно від кількості поїздів в кожному напрямку:

  • парні;

  • непарні.

Залежно від порядку прямування поїздів попутного напрямку:

  • пачкові — з поділом поїздів один від одного міжстанційними перегонами;

  • пакетні — з поділом поїздів один від одного міжпостовими перегонами або блок-дільницями;

  • частково-пакетні, коли пакетами прокладаються не всі поїзди, а тільки деяка їх частина.

Залежно від співвідношення часу зайняття перегонів однією парою поїздів  або поїздом ГРП  класифікуються як:

  • ідентичні, коли час заняття перегонів поїздом (на двоколійних лініях) або парою поїздів (на одноколійних лініях) однаковий;

  • неідентичні,  коли час заняття перегонів поїздом (на двоколійних лініях) або парою поїздів (на одноколійних лініях) неоднаковий.

В залежності від ступеня заповнення пропускної спроможності ГРП класифікуються як:

  • насичені;

  • ненасичені.

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

2 РОЗРОБКА ТА ОПИС АЛГОРИТМУ ПРОГРАМИ

    1. Алгоритм головної програми

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

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

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

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

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

Найбільше поширені форми представлення алгоритмів: на звичайній мові, за допомогою псевдокоду (напівформалізований опис алгоритму), графічна форма та програмна (текст на алгоритмічній мові програмування).

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

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

Алгоритм повної програми представлений у вигляді блок-схеми на рисунку 1



Рисунок -1 Блок-схема головної програми

Блок-схема головної програми складається з 9-ти блоків. Блок №1 та №9 містять точки входу в і з програми. В них описуються початок і кінець програми.

В блоці №2 і №3 описуються змінні і типи, які будуть виконуватися в тілі програми.

Блок №4 відповідає за встановлення зв’язку файлової змінної «а» з файлом «book.txt».

Блок №5 є блоком вибору варіанту. Він відповідає за виконання одного з процесів, який відповідає значенню ключа.

Блок №6-№8 містять в собі наперед визначені процеси- процедури create, out,search.


    1. Алгоритм процедури створення вхідного файлу

Алгоритм процедури create представлений у вигляді блок-схеми, зображеної на рисунку 2



Рисунок 2. Блок-схема процедури вхідного файлу

Блок-схема процедури create складається з 11 блоків. Блок №1 і №11 містять точки входу і виходу в і з програми.

В блоці №2 описуються змінні, що будудть використовуватися в даній процедурі.

Блок №3 відповідає за відкриття файлу для запису і читання. В блоці №4 присвоюється змінній j значення 1.

Блоки №5 і №9 є блоками початку і кінця циклу з передумовою. В блоці №5 записується умова циклу «j<>0».

Тіло циклу складають блоки №6-8. Блок №6 відповідає за введення даних в програму, а саме назву книги, її автора, рік випуску та жанр. Блок №7 здійснює запис значень зі змінних в файл. Блок №8 відповідає за введення значення змінної «j». У блоці №10 відбувається закриття файлу.


    1. Алгоритм процедури виведення даних з файлу

Алгоритм процедури out представлений у вигляді блок-схеми, зображеної на рисунку 3.



Рисунок 3. Блок-схема процедури виводу

Блок-схема процедури out складається з 9 блоків. Блок №1та №9 містять точки входу і виходу в і з програми.

В блоці №2 описуються змінні, що будуть використовуватися в даній процедурі.

Блок №3 проводить відкриття файлу для читання.

Блок №4 і №7 є блоками початку і кінця циклу з передумовою. В блоці №4 записується умова «not eof (a)» (тобто, що вказівник не стоїть в кінці файлу).

Тіло циклу складають блоки №5-6. Блок №5 здійснює зчитування значень з файлу в оперативну пам’ять.

Блок №6 відповідає за введення значень з змінних s.nazva, s.avtor, s.vupysk, s.genre на екран.

Блок №8 закриває файл програми.


    1. Алгоритм процедури пошуку

Алгоритм процедури search представлений у вигляді блок-схеми, зображеної на рисунку 4.

Блок-схема процедури search складається з 11 блоків. Блок №1та №11 містять точки входи і виходу в і з програми. В блоці №2 описуються змінні, що будуть використовуватися в даній процедурі. Блок №3 проводить відкриття файлу для читання. Блок №4 відповідає за введення критерію для пошуку і присвоєння його змінній name. Блоки №5 і №9 є блоками початку і кінця циклу з передумовою.

В блоці №5 записується умова циклу «not eof (a). Тіло циклу складають блоки №6-8. Блок №6 здійснює зчитування значень з файлу в оперативну пам’ять.

Блок №7 - блок розгалуження. Він відповідає за перенаправлення віток в залежності від виконання чи невиконання умови. Умовою є наступний запис

-«s.nazva=name або s.zypunka=name або s.chas=name або s.chas2=name або s.interval=name». Відповідно, якщо виконується дана умова, то виконується блок №8, який відповідає за виведення значень з змінних s.nazva, s.zypunka, s.chas, s.chas2, s.interval на екран. В іншому випадку нічого не виконується.

Блок №10 закриває файл.



Рисунок 4 – Блок-схема процедури search

3 РОЗРОБКА ЛІСТИНГУ ПРОГРАМИ

Програма курсової роботи реалізується на мові програмування Паскаль. Мова Паскаль є універсальною мовою програмування високого рівня. Його основи розробив Ніклаус Вірт, професор технічного університету в Цюріху, що назвав мову на честь Блеза Паскаля. Програма на мові Паскаль складається з заголовка (назви програми), розділу описів (опису змінних, міток, типів, констант) і тіла програми. Тіло програми береться в оперативні дужки (зв’язка begin-end). Кожен оператор в мові програмування Паскаль відокремлюється один від одного крапкою з комою.

Код програми для створення бази даних організації руху приміських поїздів по станціях представлений в додатку А.

Головна програма відповідає за виклик підпрограм. Виклик підпрограм організовується за допомогою оператора вибору варіанту case, який здійснює пере направлення віток програми в залежності від значення ключа.

Ключем в нашому випадку є змінна «z». Якщо змінна «z» приймає значення 1, то виконується процедура creation; якщо – 2,то виконується процедура out; якщо -3, то виконується процедура search; і якщо змінна приймає значення 4, то виконується вихід з програми. В головній програмі описуються як загальні типи й змінні так і специфічні. В розділі опису типів описуються наступні типи:

  • Poizd - запис;

  • Nazva, zypinka, chas, chas2, interval – рядки, в які відповідно записуються назва, зупинка, час прибуття, час відправлення, інтервал руху поїзда

  • F – файлова змінна.

В розділі опису змінних описуються:

  • I, z – змінні цілого типу;

  • А – файлова змінна;

  • Х,у змінні текстового типу

Головна програма також здійснює зв’язок файлової змінної «а» з файлом «misto.txt», за допомогою функції assign.

Програма create – відповідає за початкове створення бази телефонних номерів. В даній процедурі описуються параметри-аргументи i, j, s та параметр-результат а. За допомогою функції rewrite, append здійснюється відкриття файлу для запису. Використовуючи цикл з передумовою while організовується ввід даних, а саме прізвище і ім’я абонента, його номер телефону і місце проживання. Для організації виходу з циклу і завершення вводу даних задається умова припинення ітерацій. Цією умовою є виведення числа «0». За допомогою функції close закривається наш файл із виведеними нами даними.

Процедура out – відповідає за виведення даних з файлу на екран комп’ютера. Параметром-результатом в цій процедурі є файлова змінна а. Для того, щоб організувати дану операцію ми за допомогою функції reset відкриваємо наш файл з попередньо введеними даними і з використанням циклу з передумовою while здійснюємо вивід даних. Після чого закриваємо файл використовуючи функцію close.

Процедура search – відповідає за пошук даного абонента в базі даних. В даній процедурі описуються наступні параметри-аргументи – i, s, name та параметр-результат-а. Щоб організувати пошук використовується цикл з передумовою while і оператор розгалуження. Алгоритм даної операції виглядає наступним чином: відкривається файл для читання; вводиться критерій для пошуку; організовується цикл з передумовою (якщо вказівник не стоїть в кінці файлу то виконуємо зчитування інформації з файлу і перевіряються збіги введеного критерію з даними в базі; якщо збіги є, то виводяться дані про даного абонента, в іншому випадку нічого не виконується; коли вказівник дійде до кінця файлу ітерації припиняються); закривається файл.

4 ТЕСТУВАННЯ

Відбувається запуск програми. На екран виводиться меню, яке зображене на рисунку 5.

Рис 5. Вивід menu на екран

Після вибору 1 відбувається запуск функції create, тобто створення нового запису в базі даних. Необхідно ввести назву, автора, рік випуску та жанр книги.(Рис. 6)

Рис 6. Вивід функції create на екран

Після вибору 2 відбувається запуск функції out, тобто виведення даних з бази даних. На екран виводяться всі дані про книгу. (Рис.7)



Рис 7. Вивід функції out на екран

Після вибору 3 відбувається запуск функції search, тобто пошук аптеки по заданих критеріях. Потрібно ввести назву, автора, рік випуску, жанр книги і на екрані буде показано потрібні книги. (Рис. 8)

Рис 8. Вивід функції search на екран

Після вибору 4 відбудеться завершення програми. (Рис. 9)



Рис 9. Вихід з програми

Висновок

В ході виконання завдання курсової роботи з алгоритмізації та програмування мною було вивчено базові конструкції мови програмування Паскаль; використано на практиці знання отримані мною на заняттях з дисципліни «Алгоритмізація та програмування»; розроблено і проведено тестування програми для створення книжкового фонду бібліотеки, яка здійснює наступні пункти:

  • Створення бази даних книг у бібліотеці;

  • Виведення даних зі створеної бази;

  • Пошук книг за заданими критеріями.

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

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

    1. Д.Прайс. Программирование на языке Паскаль. Практическое руководство.1987 рік.254 стр.

    2. М.А.Черкасов. Практический курс программирования на Паскале. Уч. Пособие.2005 рік.180 стр.

    3. Е.Р.Алексеев. Free Pascal. Учебник по программированию.2010 рік.442 стр.

    4. Т.А.Павловская. Паскаль. Програмирование на языке высокого уровня. Учебник.2007 рік.400 стр.

Додаток 1

Program kyrsova;

type poizd=record

nazva:string[20];

zypunka:string[40];

chas:string[10];

chas2:string[10];

interval:string[10];

end;

F=file of poizd;

Var a:f;

i,z: integer;

Procedure create (var a:f); // Створення бази даних

Var j:integer;

s:poizd;

begin

assign(a,'D:\misto.txt');

rewrite(a);

j:=1;

while j<>0 do

begin

write ('Введіть назву-');

readln(s.nazva);

write ('Введіть назву зупинки-');

readln(s.zypunka);

write ('Введіть час відправлення-');

readln(s.chas);

write ('Введіть час прибуття-');

readln(s.chas2);

write ('Введіть інтервал-');

readln(s.interval);

write (a,s);

writeln('Для виходу введіть 0');

readln(j);

end;

close (a);

end;

Procedure out(var a:f); // Виведення даних з бази

Var

s:poizd;

begin

reset(a);

while not eof(a) do

begin

read(a,s);

writeln (s);

end;

close(a);

end;

Procedure search(var a:f); // Пошук

var

s:poizd;

suma:string;

name:string;

begin

reset(a);

writeln('Введіть критерій пошуку(назву, зупинку, час відправлення, час прибуття, інтервал’);

readln(name);

writeln('Знайдено записів:');

while not eof(a) do

begin

read(a,s);

begin;

writeln (s);

end;

end;

close(a);

end;

begin

while i=i do begin

assign(a,'poizd.txt');

writeln('menu');

writeln('1:Створити чи додати запис');

writeln('2:Вивести записи');

writeln('3:Пошук запису');

writeln('4:Вихід');

readln(z);

case z of

1:create(a);

2:out(a);

3:search(a);

4:exit;

end;

end;

readln

end.



скачати

© Усі права захищені
написати до нас