Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.11.2009
Сообщений: 8

как мне упростить программу?

10.12.2009, 16:54. Показов 588. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
у меня задача сделать программу.Наз-ся "металогеническая таблица".Я её сделал,но нужно в курсовой описывать каждую строчку,и хотелось бы чтоб все было по проще!
Вот собственно код
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
Uses CRT;
Const MaxMenuItem = 17;
Var Ret : Byte;
  f: text;
  s: string;
Function MainMenu(R_Select:Byte):Byte;
Type TMenu = record
         X,Y : Byte;
           S : String[20];
     End;
Var
    Menu : Array [0..MaxMenuItem] Of TMenu;
    Run : Boolean; {ўлЎа** Їг*Єв ¬Ґ*о}
    Sel : Byte;
    TC,TB : Byte; {color}
    Procedure DrawMenu;
    Var I : Byte;
    Begin
         For I := 0 To MaxMenuItem Do
         Begin
              GotoXY(Menu[I].X, Menu[I].Y);
              Write(Menu[I].S);
         End;
    End;
Procedure Select (I:Byte);
    Begin
         TextBackground(TC); TextColor(TB);
         GotoXY(Menu[I].X, Menu[I].Y);
         Write(Menu[I].S);
         TextBackground(TB); TextColor(TC);
    End;
   Procedure DeSelect (I:Byte);
    Begin
    GotoXY(Menu[I].X, Menu[I].Y);
         Write(Menu[I].S);
            End;
Begin
     Menu[0].S := 'Li'; Menu[0].X := 5; Menu[0].Y :=4;
     Menu[1].S := 'Na'; Menu[1].X := 5; Menu[1].Y :=5;
     Menu[2].S := 'Mg'; Menu[2].X := 5; Menu[2].Y :=6;
     Menu[3].S := 'Al'; Menu[3].X := 5; Menu[3].Y :=7;
     Menu[4].S := 'K'; Menu[4].X := 5; Menu[4].Y :=8;
     Menu[5].S := 'Ca'; Menu[5].X := 5; Menu[5].Y :=9;
     Menu[6].S := 'Ti'; Menu[6].X := 5; Menu[6].Y :=10;
     Menu[7].S := 'Cr'; Menu[7].X := 5; Menu[7].Y :=11;
     Menu[8].S := 'Fe'; Menu[8].X := 5; Menu[8].Y :=12;
     Menu[9].S := 'Ni'; Menu[9].X := 5; Menu[9].Y :=13;
     Menu[10].S := 'Cu'; Menu[10].X := 5; Menu[10].Y :=14;
     Menu[11].S := 'Zn'; Menu[11].X := 5; Menu[11].Y :=15;
     Menu[12].S := 'Ag'; Menu[12].X := 5; Menu[12].Y :=16;
     Menu[13].S := 'Ba'; Menu[13].X := 5; Menu[13].Y :=17;
     Menu[14].S := 'Au'; Menu[14].X := 5; Menu[14].Y :=18;
     Menu[15].S := 'Hg'; Menu[15].X := 5; Menu[15].Y :=19;
     Menu[16].S := 'Pb'; Menu[16].X := 5; Menu[16].Y :=20;
     Menu[17].S := 'exit';Menu[17].X :=5; Menu[17].Y :=21;
     ClrScr;
     TC := TextAttr mod 16;
     TB := TextAttr div 16;
     DrawMenu;
     Sel := R_Select;
     Select(Sel);
     Run := False;
     While Not Run Do Begin
           Case ReadKey Of
                #13 : Run := True;
                #27 : Begin
                           Run := True;
                           Sel := MaxMenuItem;
                      End;
                #0 : Case ReadKey Of
                           #72 : Begin
                                    DeSelect(Sel);
                                      If Sel = 0
                                      Then Sel := MaxMenuItem
                                      Else Sel := Sel - 1;
                                      Select(Sel);
                                 End;
                           #80 : Begin
                                      DeSelect(Sel);
                                      If Sel = MaxMenuItem
                                      Then Sel := 0
                                      Else Sel := Sel + 1;
                                      Select(Sel);
                                 End;
                      End;
           End;
     End;
     MainMenu := Sel;
     ClrScr;
End;
Begin
     ClrScr;
     Ret := 0;
     Repeat
          Ret := MainMenu(Ret);
          Case Ret Of
              0: Begin
               WriteLn('Vibrano Fe ', Ret);
                  assign(f,'c:\A.txt');
                  reset(f);
                  readln(f,s);
                  writeln(s);
                  close(f);
                  ReadLn;
                  End;
               1: Begin
                       WriteLn('Vibrano Cu ', Ret);
                       ReadLn;
                  End;
               2: Begin
                       WriteLn('Vibrano Pb ', Ret);
                       ReadLn;
                  End;
               3: Begin
                       WriteLn('Vibrano  Au', Ret);
                       ReadLn;
                  End;
               Else Begin
                       WriteLn('‚л室 Ё§ Їа®Ја*¬¬л');
                       ReadLn;
                    End;
          End; {case Ret}
     Until Ret = MaxMenuItem;
End.
Программа работает следущим образом:выбираеш стрелками элемент,жмеш интер из файла открывается информация о элементе!
если возможно помогите её максимально упростить
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2009, 16:54
Ответы с готовыми решениями:

Как мне изменить эту программу? (двумерные массивы)
Нужно изменить ее так: замените вызов процедуры ввода на вызов присваивания, сумма отрицательных элементов больше суммы положительных (те и...

Решение неравенства. Как улучшить/упростить программу?
Начинаю изучать по школьному учебнику. Программа для решение неравенства (x+a)/bx<0, где a >=0(любое неотриц. число) и b не равно 0....

Правильно ли все решено и как можно было упростить программу?
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 8, или со*об*ща*ет, что...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.12.2009, 16:54
Помогаю со студенческими работами здесь

Как упростить эту программу, можно даже модуль убрать, чтоб 20 строк было?
uses graphABC; //Подключаем графический модуль const W = 800; H = 500;//Размеры графического окна function F(x: real):...

Упростить программу
В общем ситуация такая: Нужно упростить эту программу. Т.е. она работает, но написана не рационально, слишком много лишних действий...

Упростить программу, работающую с матрицей
Написал программу для вывода матрицы с заданными размерами, и заменой первого значения каждой строки на переменную S, и заменой остальных...

Упростить программу с командами указанными в теме :)
uses GraphABC; const n = 5; x0 = 320; y0 = 240; r = 150; begin var a := -Pi/2; var x1 := x0; var y1 := y0-r;

Упростить программу, которая заменяет английские строчные буквы на похожие русские
Программа заменяет английские строчные буквы на похожие русские. Все работает, подскажите пожалуйста как возможно упростить. program...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru