Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Створення програми "Залізничний вузол"

Тип Реферат
Предмет Информатика и программирование
Просмотров
1518
Размер файла
206 б
Поделиться

Ознакомительный фрагмент работы:

Створення програми "Залізничний вузол"

Міністерство освіти і науки України

Полтавський національний технічний університет

імені Юрія Кондратюка

Факультет інформаційних та телекомунікаційних технологій і систем

Кафедра комп’ютерних та інформаційних технологій і систем

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

з дисципліни "Основи програмування та алгоритмічні мови"

Розробив cтудент

групи 101-ТН

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

Полтава 2010

Зміст

Вступ

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

Розв’язання задачі

Алгоритм задачі

Реалізація програми

Демонстрація роботи програми

Висновок

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

Вступ

Щоб написати цю програму потрібні знання мови програмування TurboPascal, а точніше знання алгоритмів та вміння використовувати графічні примітиви модуля Graph.

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

Цю мову створено 1970 року Ніклаусом Віртом, як алгоритмічна мова. Існує безліч різних версій з підтримкою об'єктно-орієнтованого програмування. Також є функції для відладки програми (нагляд, покрокове виконання та інші).

У моїй програмі потрібно посортувати вагони з довільного порядку в порядок через один. Для цього у нас є набір вагонів, що знаходиться зправа, стек - для проміжних вагонів, та ліва сторона для результату. Для виконання ми можемо користуватися трьома оперіціями: МИМО, В, ІЗ. За один крок можна переміщати лише один вагон.

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

"Залізничний вузол"

Залізнодорожний сортувальний вузол зроблений так, як показано на малюнку. На правій стороні зібрано у випадковому порядку декілька вагонів двох типів по N штук. Тупік може вміщати всі вагони. Користуючись трьома сортувальними оперціями В, ІЗ, МИМО, зібрати вагони на лівій стороні так, щоб вони чергувалися. Для вирішення задачі достатньо 3N-1 операцій. По запиту користувача программа повинна продемонструвати правильне сортування вагонів.

Розв’язання задачі

У задачі є три положення вагонів:

На початку

В стеку

В кінці

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

Головний алгоритм перевіряє сочатку стек на присутність вогону другого типу. Якщо перший вагон не такий як останній, то виконати операцію "ІЗ". У випадку коли не підходить, виконати пошук у початку. Якщо перший вагон "не такий" то виконати операцію "В" та продовжити пошук доки не знайдеться другий тип та виконати "МИМО".

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

Всі три положення у вигляді масиву змінних цілого типу. Можуть приймати значення 0-пусто, 1-перший тип, 2-другий тип.

Для графічного зображення процесу сортування використано модуль Graph. tpu. Спочатку зображуються чотири лінії: дві горизонтальні, які утворюють ліву та праву частини, та дві вертикальні - стек.

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

У програмі присутній почаковий набір даних, але є можливість вводу з текстового файлу "rail. dat". Цей режим присутній у вигляді неактивного тексту.

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

У кінці роботи програма виводить кількість виконаних операцій та число 3N-1 яке є максильмальною кількістю операцій.

Алгоритм задачі

Присвоєння початкових значень та сортувальний алгоритм


Алгоритм графіки


Алгоритм функцій "В", "ІЗ", "МИМО"

Реалізація програми

program railway;

uses graph,crt;

var

left: array [1. .1000] of integer;

right: array [1. .1000] of integer;

stok: array [1. .1000] of integer;

f1: text;

l,r,s: integer;

n,op: integer;

d,m,z: integer;

procedure anim (i: integer);

var j: integer;

begin

clearviewport;

SetLineStyle (DottedLn, 0, NormWidth);

line (10,50,630,50);

line (10,80,630,80);

line (295,50,295,470);

line (325,50,325,470);

SetLineStyle (SolidLn, 0, NormWidth);

setcolor (green);

for j: =r downto 1 do

begin

if right [j] <>0 then

begin

if right [j] =2 then setcolor (red);

rectangle (335+r*35-j*35,50,365+r*35-j*35,80);

if right [j] =2 then setcolor (green);

end;

end;

for j: =1 to l do

begin

if left [j] =2 then setcolor (red);

rectangle (10+j*35,50,40+j*35,80);

if left [j] =2 then setcolor (green);

end;

for j: =1 to s do

begin

if stok [j] =2 then setcolor (red);

rectangle (295,85+j*35,325,115+j*35);

if stok [j] =2 then setcolor (green);

end;

setcolor (white);

case i of

1: begin

line (200,40,440,40);

line (200,40,220,45);

line (200,40,220,35);

outtextxy (200,25,'MIMO');

end;

2: begin

line (335,100,335,250);

line (335,250,330,230);

line (335,250,340,230);

outtextxy (345,240,'B');

end;

3: begin

line (285,100,285,250);

line (285,100,290,120);

line (285,100,280,120);

outtextxy (265,100,'IZ');

end;

end;

delay (20000);

end;

procedure P_OP (i: integer);

begin

case i of

1:

begin

inc (l);

left [l]: =right [r] ;

right [r]: =0;

dec (r);

end;

2:

begin

inc (s);

stok [s]: =right [r] ;

right [r]: =0;

dec (r);

end;

3:

begin

inc (l);

left [l]: =stok [s] ;

stok [s]: =0;

dec (s);

end;

end;

inc (op);

anim (i);

end;

begin

right [1]: =2;

right [2]: =2;

right [3]: =1;

right [4]: =1;

right [5]: =1;

right [6]: =2;

n: =6;

{assign (f1,'rail. dat');

reset (f1);

while not eof (f1) do

begin

read (f1,right [n]);

inc (n);

end;

close (f1); }

d: =detect;

initgraph (d,m,'');

r: =n;

l: =0;

s: =0;

p_op (1);

while (r+s>0) do

begin

if s>0 then

if left [l] <>stok [s] then

p_op (3);

while left [l] =right [r] do

p_op (2);

if r>0 then p_op (1);

end;

anim (0);

readln;

closegraph;

clrscr;

writeln ('Operations: ',op,'<',3*n-1,' (3N-1) ');

readln;

end.

Демонстрація роботи програми

Операція "МИМО"

Операція "В"

Операція "ІЗ"

Висновок

Дана програма дозволяє сортувати вагони двох типів найкоротшим шляхом. Також, виконавши деякі зміни, можна збільшити кількість типів вагонів.

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

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

1. Ковалюк Т.В. Основи програмування - К., 2005


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно