русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Алгоритм


Дата добавления: 2014-11-27; просмотров: 515; Нарушение авторских прав


1.1. Задать пункты меню.

1.2. Очистить экран.

1.3. Начальное положение курсора (пункт меню) pm = 1.

2. Повторять {движение по меню}

2.1. Повторять

2.1.1. Вывести все пункты меню основной парой цветов.

2.1.2. Вывести текущий пункт меню pm другой парой цветов.

2.1.3. Считать символ с клавиатуры {действия пользователя}

2.1.4. Если символ = #0, то {нажата управляющая клавиша}

а) Считать символ {читаем второй код нажатой клавиши}

б) Выбрать символ из значений

#77 : Движение вправо

#75 : Движение влево

Пока Символ не будет равен Esc или Enter.

2.2. Если Символ равен Enter то

Выбрать pm из значений

1 : Вывести: ’Выполняется пункт 1’

2 : Вывести: ’Выполняется пункт 2’

3 : Вывести: ’Выполняется пункт 3’

4 : Вывести: ’Выполняется пункт 4’

5 : Закончить (Символ = Esc)

Пока Символ не будет равен Esc.

3. Закончить

 

Движение вправо и влево должно быть круговым, т.е. при движении вправо номер пункта увеличивается на 1, пока он не станет равен последнему номеру. После этого номер должен принять значение 1. При движении влево после первого пункта номер должен стать последним.

В программе необходимо задать координаты первого пункта. Если принять названия всех пунктов меню одинаковыми, то начало пункта с номером pm на экране будет иметь координаты:

(xn + (pm - 1)*dl, yn),

где xn и yn – координаты начала первого пункта меню;

dl - длина названия пункта меню (одинаковая для всех пунктов).

 

Программа для описанного выше алгоритма имеет вид.

 

Program Gor_Menu;

Uses

Crt;

Const

Dl = 12; {длина названия пункта меню - шаг перемещения}

M = 5; { количество пунктов }

Enter = #13;

Esc = #27;

Var

Punkt : Array[1..m] of String[dl]; { Массив названий }

{ пунктов меню}

pm,i,xn,yn : Integer;

Sim : Char;



Begin

{п. 1.1 }

Punkt[1] := ’ Операция 1 ’;

Punkt[2] := ’ Операция 2 ’;

Punkt[3] := ’ Операция 3 ’;

Punkt[4] := ’ Операция 4 ’;

Punkt[5] := ’ Выход ’;

{ Очистка экрана }

TextBackGround(Blue);

ClrScr;

{ Начальное положение курсора и меню }

pm := 1;

xn := 10;

yn := 3;

Repeat { п. 2 }

Repeat { Цикл движения по меню }

GotoXY(xn,yn);

{ Основные цвета меню }

TextBackGround(Blue);

TextColor(White);

For i := 1 to m do

Write(Punkt[i]);

{ Текущий пункт перекрашиваем }

TextBackGround(Green);

TextColor(Red);

GotoXY(xn+dl*(pm-1),yn);

Write(Punkt[pm]);

{ Ожидаем действий пользователя на клавиатуре}

Sim := Readkey;

If Sim = #0 then

Begin { Управляющая клавиша }

Sim := Readkey;

Case Sim of

#77 : { Движение вправо }

If pm=m then

pm:=1

Else

pm:=pm+1;

#75 : { Движение влево }

If pm=1 then

pm:=m

Else

pm:=pm-1;

End; { Case }

End; { If }

Until (Sim = Enter) Or ( Sim = Esc); { Цикл движения }

 

If Sim = Enter then

{ Пункт меню выбран }

If pm = m then

Sim := Esc {Выбран последний пункт меню - выход}

Else

Begin

GotoXY(30,10);

Write(’Выполняется ’,Punkt[pm]);

End;

Until Sim = Esc; { Внешний цикл, окончание работы }

GotoXY(30,10);

Writeln(’Конец работы, нажмите любую клавишу ’);

Repeat Until KeyPressed;

End.

 

 



<== предыдущая лекция | следующая лекция ==>
Построение графика в текстовом режиме | Модуль DOS


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.792 сек.