Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 4
1

Программу по определению зоны рассеяния центра электрических нагрузок, исправить код

08.10.2012, 14:25. Показов 610. Ответов 3
Метки нет (Все метки)

Пожалуйста помогите. Сама не программист, а электрик. Но немного разбираюсь в паскале. Пишу программу по определению зоны рассеяния центра электрических нагрузок. Вставила графический модуль и появляется ошибка 49. Пыталась понять как это устранить и не разобралась. Помогите как добавить память? Работаю в турбо паскале.
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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
Program DZ2;
uses graph, crt;
const u=100;t1:array[1..100] of string[3]=('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');
type m1=array[1..u] of real;m2=array[1..u] of integer;
     m3=array[1..u,1..u] of real;
var Xi,Xj,Yi,Yj,px,py:m1; P:m3;
    a,b,grDriver,grMode,ErrCode,h,w,Xo,Yo,dx,dy,x,y:integer;
    sum1,sum2,ax,ay,Rx,Ry,lx,ly,dlx,dly:real;
    st:string;
   procedure vvod1(n,m:integer; var z:m3);
    var i,j:integer;
     begin
     for i:=1 to n do
      begin
      writeln;
      for j:=1 to m do
       begin
       write(i,',',j,'=');
       read(z[i,j]);
       end;
      end;
     end;
    procedure vvod2(n:integer; var z:m1);
    var i:integer;
     begin
     for i:=1 to n do
      begin
      write(i,'=');
      read(z[i]);
      end;
     end;
    procedure XYO(n,m:integer;var x,h:m1;var c:m3);
    var i,j:integer; sum1,sum2,z:real;
     begin
     sum1:=0; sum2:=0;
     for j:=1 to m do
      begin
      for i:=1 to n do
       begin
       z:=x[i]*c[i,j];
       sum1:=sum1+z;
       sum2:=sum2+c[i,j];
       end;
      h[j]:=sum1/sum2;
      writeln(j,'=',Xj[j]:10:1);
      end;
     readln;
     end;
    procedure Axy(m:integer; c:real; var z,x:m1);
    var j:integer; sum:real;
     begin
     sum:=0;
     for j:=1 to m do
      begin
      sum:=z[j]*x[j];
      c:=c+sum;
      end;
     writeln('a=',c:10);
     end;
    procedure Pxy(m:integer; var x,c:m1);
    var i,j,q,index:integer;
     begin
     for i := 1 to m do
     for j := 1 to m do
      begin
      q:=0;
       begin
       if (x[i]<>x[j]) then
        begin
        q:=0;
        end
       else q:=q+1;
       c[i]:=q/m;
       write('c[i]=',c[i]:5);
       writeln;
       end;
      end;
     readln;
     end;
    procedure Q_Rxy(m:integer; c,n:real; var z,x:m1);
    var j:integer;sum,v:real;
     begin
     sum:=0;
     for j:=1 to m do
      begin
      sum:=z[j]*sqr(x[j]-c);
      end;
     sum1:=sqrt(sum);
     v:=1/(sum1*sqrt(2));
     n:=sqrt(3)/v;
     writeln('R=',n:10:2);
     read;
     end; 
begin
clrscr;
 begin
 writeln('skol`ko otdelov?');
 write('a=');
 read(a);
 writeln('za kakoj period?');
 write('b=');
 read(b);
 writeln('vvedite P');
 vvod1(a,b,P);
 writeln('vvedite X');
 vvod2(a,Xi);
 writeln('vvedite Y');
 vvod2(a,Yi);
 writeln('nahodim Xo');
 XYO(a,b,Xi,Xj,P);
 writeln('nahodim Yo');
 XYO(a,b,Yi,Yj,P);
 writeln('nahodim px');
 Pxy(b,Xj,px);
 writeln('nahodim ax');
 Axy(b,ax,Xj,px);
 writeln('nahodim py');
 Pxy(b,Yj,py);
 writeln('nahodim ay');
 Axy(b,ay,Yj,py);
 writeln('nahodim Rx');
 Q_Rxy(b,ax,Rx,px,Xj);
 writeln('nahodim Ry');
 Q_Rxy(b,ay,Ry,py,Yj);
 readln;
 end;
 begin
 grDriver:=VGA;
 grMode:=VGAHi;
 InitGraph(grDriver,grMode,'С:\Program Files\TORBO PASCAL 7.1\BIN');
 ErrCode:=GraphResult;
 if ErrCode <> grOk then Halt(1);
 SetFillStyle(SolidFill,DarkGray);
 Bar(0,0,640,480);
 Xo:=40;Yo:=450;dx:=30;dy:=30;dlx:=0.2;dly:=0.2;
 h:=450; w:=570; lx:=0; ly:=0;
 line(Xo,Yo,Xo,Yo-h);
 line(Xo,Yo,Xo+w,Yo);
 x:=Xo;
 repeat
 SetLineStyle(Solidln, 0, NormWidth);
 line(x,Yo-3,x,Yo+3);
 str(lx:0:1,st);
 OutTextXY(x-8,Yo+5,st);
 lx:=lx+dlx;
 SetLineStyle(Dottedln, 0, NormWidth);
 line(x,Yo-3,x,Yo-h);
 x:=x+dx;
 until (x>Xo+w);
 y:=Yo;
 repeat
 SetLineStyle(Solidln, 0, NormWidth);
 line (Xo-3,y,Xo+3,y);
 str(ly:0:1,st);
 OutTextXY(Xo-40,y,st);
 ly:=ly+dly;
 SetLineStyle(Dottedln, 0, NormWidth);
 line(Xo+3,y,Xo+w,y);
 SetLineStyle(Solidln, 0, NormWidth);
 y:=y-dy;
 until (y<Yo-h);
 readln;
 {if ErrCode <> grOk then
  begin
  writeln('oshibka');
  writeln('enter');
  readln;
  Halt(1);
  end;
 readln;}
 closegraph;
 readln;
 end;
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2012, 14:25
Ответы с готовыми решениями:

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

Написать программу по определению суммы чисел
программа ( определить сумму чисел 3-6-9..99)

Составить программу вычисления сопротивления электрических цепей
Составить программу вычисления сопротивления электрических цепей: domains...

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

3
Почетный модератор
64086 / 47495 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
08.10.2012, 15:04 2
Ошибка № 49
49 Data segment too large (Сегмент данных слишком велик).
Максимальный размер сегмента данных программы равен 65520 байтам, включая данные, используемые программными модулями. Если Вам нужно большее количество глобальных данных, опишите большие структуры с помощью указателей и выделяйте для них память динамически с помощью процедуры NEW
Очень много объявлено переменных с большим объемом памяти для Турбо Паскаля. Смотрите как можно изменить программу.

Добавлено через 2 минуты
Во Фрее Паскаль ошибки нет, но непонятно что вводить.
0
538 / 398 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
08.10.2012, 16:59 3
Цитата Сообщение от Укропка Посмотреть сообщение
Помогите как добавить память? Работаю в турбо паскале.
Вам дали очень хороший совет и я его повторю: перейдите на Free Pascal и эти проблемы исчезнут, а перейти будет совершенно " не больно".
0
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 4
08.10.2012, 21:50  [ТС] 4
Нужно вводить очень много значений, которые должны быть предоставлены предприятием. Большое спасибо всем кто откликнулся))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2012, 21:50

Как дописать код по определению наличия шрифта, чтобы проверить сразу несколько шрифтов?
есть файл script.js с кодом, который проверяет наличие шрифта у пользователя /** * JavaScript...

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

Написать программу учета сдачи зачетов при помощи битовых полей (исправить код)
Вобщем задача была изначально такова: Написать программу учета сдачи зачетов при помощи битовых...

Создать программу с классом "студент" (исправить код)
Помогите тут ошибка в том что запоминает только последние оценки студента которые вводятся т.е. для...

Скажите, пожалуйста, как исправить исправить код в процедуре
задание такое :Дан одномерный массив. Переместить нулевые элементы массива в начало, сдвинув...

Нахождение центра массива (упростить код)
Есть небольшой код который находит центр массива. Можно ли как то вот этот код убыстрить? Дело в...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru