Смекни!
smekni.com

Взаимодействие основных частей ЭВМ при выполнении программы (стр. 1 из 3)

Министерство образования РФ

Хабаровский государственный технический университет Институт (факультет) Институт информационных технологий Кафедра Компьютерное проектирование и сертификация машин Специальность Металлорежущие станки и инструменты Взаимодействие основных частей ЭВМ при выполнении программы

Пояснительная записка к курсовой работе

По дисциплине «Информатика»

КР. 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


Введение

Целью курсовой работы является разработка программы для ЭВМ средней сложности с удобным интерфейсом на языке программирования Паскаль.

Блок – схема процедуры «MainMenu» (вывода на экран главного меню)


Описание программы

1. Назначение

Данная программа показывает и обучает, как взаимодействуют основные части ЭВМ при выполнении программы.

Программа написана на языке Turbo Pascal [1] для персональных ЭВМ, совместимых с IBM PC, и операционной системой MS DOS.

2. Запуск программы

Находясь в каталоге с программой, в ответ на подсказку DOS набрать computer.exe и нажать клавишу Enter. Выход из программы по нажатию клавиши Esc.

3. Работа с программой

После запуска программы на экране появляется главное меню выбора:


Выбор пунктов меню производится с помощью курсорных клавиш Вверх, Вниз и нажатия клавиши Enter для запуска нужной части программы. Для выхода из программы достаточно нажать клавишу Esc или выбрать в меню опцию с надписью «Esc – Выход».

3.1 Выбор пункта меню «Обучение»

Обучающая часть программы имеет вид:

Внизу экрана находятся функциональные клавиши

Помощь (F1), Назад (¬), Вперед (®), Выход (Esc):

Помощь (F1) – получить справку,

Назад (¬) – вернуться назад,

Вперед (®) – вывести следующую информацию,

Выход (Esc) – выйти из обучения.

3.2 Выбор пункта меню «Проверка знаний»

Тест имеет вид:

Выбор ответа производится клавишами 1, 2 и 3. При необходимости выйти можно нажать клавишу Esc и выйти из теста.


По окончании теста выводится окно итога, которое имеет вид:

Заключение

В курсовой работе была спроектирована, разработана и отлажена на языке программирования Паскаль обучающая программа на тему: «Взаимодействие основных частей ЭВМ при выполнении программы».

Программа имеет удобный для пользователя интерфейс и возможностью просмотра графического изображения процессов проходящих в ЭВМ при выполнении программы.

Список использованных источников

1. Марченко А.И. Программирование в среде Turbo Pascal 7.0. Учебное пособие. – К.: ВЕК+, М.: ДЕСС, 1999. - 496 с.


Приложение А. Исходный текст программы

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}