Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 1 / 1
Регистрация: 26.12.2019
Сообщений: 14

Исправить программу

29.05.2021, 00:13. Показов 506. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
не понимаю почему пустой экран при запуске, помогите
вот программа:
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
Uses GraphABC;
type
  RateChange = record
    fam: string[20];
    god: integer;
    soc: string;
    reit: integer;
  end; 
 const xn = 50;
 const yn = 50;
 var
 RateChanges: Array[1..100] of RateChange;
 f: file;
 RateChangesToDiargamm: Array[1..100] of RateChange;
 RatesToDiargamm: Array[1..100] of integer;
 x,y,x0,y0,sizeOfRateChanges,sizeOfDiagramm, menuChoise: integer;
strForPrint: string;
 soc: Array[1..3] of String := 
('Положительный','Нейтральный','Отрицательный');
 
procedure CreateFile();
begin
 rewrite(f);
end; 
 
function PrintRateTypes(start:integer):integer; 
begin
 for var i := 1 to 3 do
 begin
 strForPrint:=i+' - '+soc[i];
 textout(0,start+i*15-15,strForPrint);
 end;
 Result:=start+60;
end; 
 
procedure AddRate(); //Добавление в массив
begin
 ClearWindow();
 sizeOfRateChanges:=sizeOfRateChanges+1;
 
 textout(0,0,'Введите фамилию: '); 
 read(RateChanges[sizeOfRateChanges].fam);
 textout(0,15,'Введите год рождения: ');
 read(RateChanges[sizeOfRateChanges].god);
 textout(0,45,'Выберите социальное положение: ');
 x:=PrintRateTypes(60);
 textout(0,x+15,'Введите рейтинг: ');
 read(RateChanges[sizeOfRateChanges].reit);
 textout(0,x+30,'Запись успешно добавлена'); 
 
 var n := sizeOfRateChanges;
 for var i := 1 to n do
 if RateChanges[i].reit > 30 then
 for var j := 1 to n do begin
   textout(0,x+45,RateChanges[j].fam);
    textout(0,x+60,RateChanges[j].reit);
 end;
 textout(0,x+45,'Введите 0 для продолжения...');
 reset(f);
 seek(f,filesize(f));
 write(f,RateChanges[sizeOfRateChanges]);
 close(f);
 read(x);
end;
 
procedure PrintRates(); //Вывод таблицы с депутатами
begin
 ClearWindow(); 
 textout(0,0,'|'); 
 textout(5,0,' Фамилия '); 
 textout(40,0,'|'); 
 textout(45,0,' Год рождения '); 
 textout(95,0,'|'); 
 textout(100,0,'Социальное положение'); 
 textout(230,0,'|'); 
 textout(235,0,'Рейтинг'); 
 textout(360,0,'|'); 
 for var i := 1 to sizeOfRateChanges do
 begin
 textout(0,i*15,'|');
 textout(5,i*15,RateChanges[i].fam);
 textout(40,i*15,'|');
 textout(45,i*15,RateChanges[i].god);
 textout(95,i*15,'|');
 textout(100,i*15,RateChanges[i].soc);
 textout(230,i*15,'|');
 textout(235,i*15,RateChanges[i].reit);
 textout(360,i*15,'|');
 Line(0,15*i+1,360,15*i+1);
 end;
 Line(0,15*(sizeOfRateChanges+1)+1,360,15*(sizeOfRateChanges+1)+1);
 textout(0,sizeOfRateChanges*15+15+2,'Введите 0 для продолжения...');
 read(x);
end;
 
 
 
procedure PrintDiagramOfRates(); //гистограмма
var nn,k,n,i: integer;
st:string;
begin 
ClearWindow(clWhite);
    setwindowsize(500,500);
    setpencolor(clblack);
    line(60,400,400,400);
    line(60,400,60,80);
     for k := 1 to n*4 do 
     begin
       nn:=10*k;
       st:=inttostr(nn);
       textout(10,400-20*k-4,st);
       line(60,400-k*20,65,400-k*20);
    setpencolor(clyellow);
     for i:=1 to n do begin
     setbrushcolor(clyellow);
       textout(120,40, 'Рейтинг депутатов');
       setbrushcolor(rgb(random(255),random(255),random(255)));
       rectangle(100+(k-1)*70,400,100+k*70,round(400-RateChanges[i].reit*2));
       textout(100+(k-1)*70+4,450,RateChanges[i].fam);
 
 textout(0,15,'Введите 0 для продолжения...');
 read(x);
   end;end;end;  
    
       
 
procedure ReadFromFile();
begin
 reset(f);
 sizeOfRateChanges:=0;
 while not eof(f) do
sizeOfRateChanges:=sizeOfRateChanges+1;
 read(f,RateChanges[sizeOfRateChanges]);
 end;
 
 
Begin assign(f, 'DB16.txt');
 if not FileExists('DB16.txt') then rewrite(f);
 ReadFromFile();
 sizeOfRateChanges:=0;
 while(true) do
 begin
 ClearWindow();
 textout(0,0,'Выберите действие:'); 
 textout(0,15,'1 - : внести запись о депутате'); 
 textout(0,30,'2 - : вывести всех депутатов'); 
 textout(0,45,'3 - : вывести гистограмму'); 
 textout(0,60,'4 - : закрыть программу'); 
 read(menuChoise);
 case menuChoise of
 1: AddRate();
 2: PrintRates();
 3: PrintDiagramOfRates();
 4: window.Close;
 else textout(0,90,'Вы ввели неверный номер');
 textout(0,105,'Введите 0 для продолжения...');
 read(x);
 end;
 end;
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2021, 00:13
Ответы с готовыми решениями:

Исправить программу
1) Исправьте программу так, чтобы она считала количество двузначных чисел. 2) Исправьте программу так, чтобы она считала произведение...

Исправить программу
Помогите заменить функцию на процедуру, пожалуйста! function s(x1,y1,x2,y2,x3,y3: real): real; var a,b,c,p: real; begin ...

Табулирование функции (Исправить программу)
Здравствуйте.не подскажите,пожалуйста,как это исправить? 1)(тут с шагом проблемы,если и задаю,он не меняется).Написать и отладить...

2
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
29.05.2021, 06:33
Ошибка времени выполнения: System.IndexOutOfRangeException: Индекс находился вне границ массива.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
29.05.2021, 09:29
Pascal
1
2
3
4
5
6
7
8
9
10
procedure ReadFromFile();
begin
 reset(f);
 sizeOfRateChanges:=0;
 while not eof(f) do
  begin 
   sizeOfRateChanges:=sizeOfRateChanges+1;
   read(f,RateChanges[sizeOfRateChanges]);
  end; 
 end;
Добавлено через 59 минут
Не понятно зачем файл без типа. Объявите запись как
Pascal
1
2
3
4
5
RateChange = record
    fam: string[20];
    god: integer;
    soc: string[20];
    reit: integer;
а файл
Pascal
1
var f:file of RateChange;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.05.2021, 09:29
Помогаю со студенческими работами здесь

Нужно исправить программу, выводится Infinity
Приветствую всех. Помогите, пожалуйста, исправить. Код Program LR6; var x,a,s:real; i:integer; const E=1E-5; type func...

Исправить программу так, чтобы закрашивался первый четный
uses GraphABC; const n=16; var d:array of integer; k,i:integer; begin SetWindowSize(800,600); Randomize;

Соединить в одну программу и при имеющихся ошибках исправить по возможности
Предложены три кода программ. Пожалуйста, составьте в одной программе по порядку титульник-задание-лицо. procedure Titulnik(s: string;...

Написать программу для нахождения корней квадратного уравнения, исправить код
Помогите пожалуйста Нужно написать программу для нахождения корней квадратного уравнения,но у меня не выводиться ответ var...

Исправить программу, выводящая обратную матрицу с вещественными коэффициентами. Заранее Спасибо
Проблема заключается в том, что, если ввод матрицы начинается с 0, то "Индекс находился вне границ массива" const // ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru