Министерство образования РФ Хабаровский государственный технический университет Институт (факультет) Институт информационных технологий Кафедра Компьютерное проектирование и сертификация машин Специальность Металлорежущие станки и инструменты Взаимодействие основных частей ЭВМ при выполнении программы Пояснительная записка к курсовой работе По дисциплине «Информатика» КР. 991096.00.00.00 ПЗ Выполнил: студент группы МРС-91 Егоров О.В. зачетная книжка № 991096 Руководитель работы: доцент Кетов А.В. Хабаровск 2000 |
Задание на курсовую работу Разработать обучающую программу на тему "Взаимодействие основных частей ЭВМ при выполнении программы". Руководитель: Реферат Пояснительная записка к курсовой работе содержит 22 листа формата А4, 2 рисунка, 1 использованный источник, 1 приложение. ПРОГРАММА ДЛЯ ЭВМ, ПАСКАЛЬ, АЛГОРИТМИЧЕСКИЙ ЯЗЫК, ПРОГРАММИРОВАНИЕ, ИНФОРМАТИКА. Целью курсовой работы является разработка программы для ЭВМ средней сложности с удобным пользовательским интерфейсом. Это достигается путем проектирования, разработки и отладки на языке Паскаль обучающей программы на тему: «Взаимодействие основных частей ЭВМ при выполнении программы». Приведена блок-схема процедуры для вывода главного меню. В приложении приведен исходный текст программы на Turbo Pascal. Содержание Введение. 3 Блок – схема процедуры «MainMenu» (вывода на экран главного меню) 3 Описание программы.. 4 1. Назначение. 4 2. Запуск программы.. 4 3. Работа с программой. 4 3.1 Выбор пункта меню «Обучение». 4 3.2 Выбор пункта меню «Проверка знаний». 5 Заключение. 5 Список использованных источников. 5 Приложение А. Исходный текст программы.. 6 |
Данная программа показывает и обучает, как взаимодействуют основные части ЭВМ при выполнении программы. Программа написана на языке Turbo Pascal [1] для персональных ЭВМ, совместимых с IBM PC, и операционной системой MS DOS. Находясь в каталоге с программой, в ответ на подсказку DOS набрать computer.exe и нажать клавишу Enter. Выход из программы по нажатию клавиши Esc. После запуска программы на экране появляется главное меню выбора: |
3.2 Выбор пункта меню «Проверка знаний»Тест имеет вид: Выбор ответа производится клавишами 1, 2 и 3. При необходимости выйти можно нажать клавишу Esc и выйти из теста. |
Приложение А. Исходный текст программы program LEAN_Ecm; uses Crt, Graph, Sm_Graph, Sm_Const; {-------------------} {uses} var I: Integer; FuncKeyWindow: array [1..3] of TImage; {Массив картинок функциональных клавиш} Temp: array [1..2] of TImage; {Массив вспомогательный} {-------------------} {var} procedure BildWin; const TxtCol: Word = Red; {Цвет текста} RTACol: Word = Yellow; {Цвет прямоугольников} BACCol: Word = Black; {Цвет фона} {Рисуем главную картинку} begin SetBkColor(BACCol); SetColor(BRDCol); Rectangle(X0, Y0, X0 + 385, Y0 + 300); Rectangle(X0, Y0 + 305, GetMaxX - X0, YS - 5); SetColor(MemCol); {Ячейки памяти} SetLineStyle(1, 0, 0); for I := 1 to 4 do {Ячейки памяти} begin Line(X0 + 130 + 16 * I, Y0 + 120, X0 + 130 + 16 * I, Y0 + 200); Line(X0 + 130, Y0 + 120 + 16 * I, X0 + 210, Y0 + 120 + 16 * I) end; {CPU} SetColor(CPUCol); MoveTo(X0 + 83, Y0 + 203); {0} LineTo(X0 + 7, Y0 + 203); {1} LineTo(X0 + 7, Y0 + 117); {2} LineTo(X0 + 40, Y0 + 117); {3} LineTo(X0 + 40, Y0 + 45); {4} LineTo(X0 + 127, Y0 + 45); {5} LineTo(X0 + 127, Y0 + 27); {6} LineTo(X0 + 213, Y0 + 27); {7} LineTo(X0 + 213, Y0 + 73); {8} LineTo(X0 + 127, Y0 + 73); {9} LineTo(X0 + 127, Y0 + 55); {10} LineTo(X0 + 50, Y0 + 55); {11} LineTo(X0 + 50, Y0 + 117); {12} LineTo(X0 + 83, Y0 + 117); {12} LineTo(X0 + 83, Y0 + 203); {13} SetLineStyle(0, 0, 0); {Прямоугольники} SetColor(RTACol); Rectangle(X0 + 10, Y0 + 120, X0 + 80, Y0 + 200); {УУ(ЦУУ)} Rectangle(X0 + 55, Y0 + 120, X0 + 80, Y0 + 130); {КОП} Rectangle(X0 + 130, Y0 + 120, X0 + 210, Y0 + 200); {ОЗУ} Rectangle(X0 + 130, Y0 + 30, X0 + 210, Y0 + 70); {АЛУ} Rectangle(X0 + 130, Y0 + 250, X0 + 210, Y0 + 290); {ВЗУ} Rectangle(X0 + 260, Y0 + 120, X0 + 360, Y0 + 150); {У.Ввода} Rectangle(X0 + 260, Y0 + 170, X0 + 360, Y0 + 200); {У.Вывода} {Подписи к прямоугольникам} SetColor(TxtCol); |
SetTextJustify(2, 0); OutTextXY(X0 + 80, Y0 + 200, 'УУ(ЦУУ)'); OutTextXY(X0 + 80, Y0 + 130, 'PC'); OutTextXY(X0 + 210, Y0 + 200, 'ОЗУ'); OutTextXY(X0 + 210, Y0 + 70, 'АЛУ'); OutTextXY(X0 + 210, Y0 + 290, 'ВЗУ'); OutTextXY(X0 + 360, Y0 + 150, 'У.Ввода'); OutTextXY(X0 + 360, Y0 + 200, 'У.Вывода'); SetTextJustify(0, 0); {Стрелки Big} SetColor(ARBCol); SetFillStyle(1, FILCol); {Вид стрелки} CArrow := BArrow; Arrow(X0 + 85, Y0 + 140, 40, 1); {ОЗУ - УУ(ЦУУ)} FloodFill(X0 + 90, Y0 + 140, ARBCol); Arrow(X0 + 150, Y0 + 75, 40, 3); {ОЗУ - АЛУ} FloodFill(X0 + 150, Y0 + 80, ARBCol); Arrow(X0 + 190, Y0 + 115, 40, 4); {АЛУ - ОЗУ} FloodFill(X0 + 190, Y0 + 110, ARBCol); Arrow(X0 + 150, Y0 + 205, 40, 3); {ВЗУ - ОЗУ} FloodFill(X0 + 150, Y0 + 210, ARBCol); Arrow(X0 + 190, Y0 + 245, 40, 4); {ОЗУ - ВЗУ} FloodFill(X0 + 190, Y0 + 240, ARBCol); Arrow(X0 + 215, Y0 + 135, 40, 1); {У.Ввода - ОЗУ} FloodFill(X0 + 220, Y0 + 135, ARBCol); Arrow(X0 + 255, Y0 + 185, 40, 2); {У.Вывода - ОЗУ} FloodFill(X0 + 250, Y0 + 185, ARBCol); {Стрелки Small} SetColor(ARSCol); {Вид стрелки} CArrow := SArrow; Arrow(X0 + 125, Y0 + 180, 40, 2); {УУ(ЦУУ) - ОЗУ} Arrow(X0 + 125, Y0 + 270, 80, 2); {УУ(ЦУУ) - ВЗУ} Arrow(X0 + 125, Y0 + 50, 80, 2); {УУ(ЦУУ) - АЛУ = КОП} Line(X0 + 45, Y0 + 115, X0 + 45, Y0 + 50); {1} OutTextXY(X0 + 70, Y0 + 60, 'КОП'); {2} {УУ(ЦУУ) - У.Вводы, У.Вывода} Line(X0 + 45, Y0 + 205, X0 + 45, Y0 + 295); {1} Line(X0 + 45, Y0 + 295, X0 + 380, Y0 + 295); {2} Line(X0 + 380, Y0 + 295, X0 + 380, Y0 + 135); {3} Arrow(X0 + 365, Y0 + 135, 15, 1); {in} {4} Arrow(X0 + 365, Y0 + 185, 15, 1); {out} {5} {Носики стрелок Small} SetColor(LightGreen); Arrow(X0 + 125, Y0 + 180, 0, 2); {1} Arrow(X0 + 125, Y0 + 270, 0, 2); {2} Arrow(X0 + 125, Y0 + 50, 0, 2); {3} Arrow(X0 + 365, Y0 + 135, 0, 1); {4} |