Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 16.09.2014
Сообщений: 39
1

При присваивании символа unicode переменной типа char происходит выход за диапазон переменной

25.09.2014, 17:52. Показов 903. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В программе при присваивании символа unicode переменной типа char происходит выход за диапазон переменной.
Не могу понять в чём моя ошибка.
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
Program Koordinati;
uses crt;
Const
 R=17; A=24; B=35;X0c=-3;Y0el=-3;
Var
 Y0c,X0el,X1,Y1,X2,Y2,Step,m,X,Y,X3,Y3,X4,Y4,Yi,d,E:Real;
 i:integer; H,h1,l1,L,z1,z2,z3,z4,z5,z6,z7,z8,z9:CHAR;
BEGIN
 clrscr;
 L:=#9552;
H:=#9553;
h1:=#9474;
l1:=#9472;
Z1:=#9556;
Z2:=#9559;
Z3:=#9562;
Z4:=#9565;
Z5:=#9572;
z6:=#9532;
z7:=#9570;
z8:=#9567;
z9:=#9575;
 
 x:=14;
 y:=0;
 d:=((-2*b*b*x)*(-2*b*b*x))-(4*b*b*(b*b*x*x+y*y*a*a-2*a*a*y*y0el+y0el*y0el*a*a-a*a*b*b));
 x0el:=(2*b*b*x-sqrt(d))/(2*b*b);
 x:=0;
 y:=38;
 d:=2*y*2*y-4*(x*x-2*x*x0c+x0c*x0c+y*y-r*r);
 y0c:=(2*y-sqrt(d))/2;
 E:=0.001;
 while abs(Yi-Y1)>= E do
 begin
 Yi:=Y1;
 Y1:=Y0el+B*Sqrt(1-Sqr(((X0c-Sqrt(Sqr(R)-Sqr(Yi-Y0c)))-X0el)/A));
 end;
 X1:=X0c-Sqrt(Sqr(R)-Sqr(Y1-Y0c));
 Writeln;
 
 Step:=-10;
 X2:=11;
  For i:=1 to 4 do
  begin
   m:=30;
   Step:=Step/10;
   while m < R do
   begin
    X2:=X2+Step;
    Y2:=-(-Y0el+B*Sqrt(1-sqr((X2-X0el)/A)));
    m:=sqrt(Sqr(X2-X0c)+Sqr(Y2-Y0c));
   end;
   X2:=X2-Step;
  end;
 Y2:=-(-Y0el+B*Sqrt(1-sqr((X2-X0el)/A)));
 
 write('  ',z1);
 
 writeln(l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,z5,l,l,l,l,l,l,l,l,l,l,l,l,l,l,z5,l,l,l,l,l,l,l,l,l,l,l,l,l,z2);
 writeln('  ',h,'               ',h1,'       X      ',h1,'       Y     ',h);
 writeln('  ',z8,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,z6,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,z6,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,z7);
 writeln('  ',h,' p1 ',h1,'   ',X1:7:3,'    ',h1,'   ',Y1:7:3,'   ',h);
 writeln('  ',z8,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,z6,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,z6,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,l1,z7);
 writeln('  ',h,' p2 ',h1,'     ',X2,'    ',h1,'   ',Y2:7:3,'   ',h);
 writeln('  ',z3,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,z9,l,l,l,l,l,l,l,l,l,l,l,l,l,l,z9,l,l,l,l,l,l,l,l,l,l,l,l,l,z4);
 writeln;
 writeln;
 
END.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2014, 17:52
Ответы с готовыми решениями:

Range check error. Ошибка при присвоении символа переменной типа Char
Расскажите пожалуйста как так происходит, что когда я присваиваю символ в переменную Chr, он мне...

Предотвращение закрытия консоли при присваивании переменной значения неправильного типа
Здравствуйте. Я завёл в программе переменную типа int. При попытке присваивания ей значения char...

Что происходит с переменной при операциях типа x = x++
Подскажите пожалуйста, что происходит с точки зрения памяти при выполнении следующей операции:...

Использование знака пробел при вводе переменной типа char[]
Доброго времени суток! При идентификации переменных при применении знака пробел, все, что идет до...

2
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.09.2014, 18:30 2
Это будет работать в Паскаль АВС.net
0
0 / 0 / 0
Регистрация: 16.09.2014
Сообщений: 39
26.09.2014, 11:05  [ТС] 3
А в pascalABC никак не сделать рамку??
0
26.09.2014, 11:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2014, 11:05
Помогаю со студенческими работами здесь

Что значит ~ при присваивании значения переменной?
Например вот в таком выражении: values = ~values;

Ошибка при присваивании переменной рандомного значения
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Ошибка при присваивании переменной значения поля
Есть код int Tip_tovara; ADOQuery8-&gt;SQL-&gt;Add(&quot;Select Справочники_продукции.Код_продукции FROM...

Происходит выход за диапазон при обращении к ячейкам DGV
для работы программы необходимо заполнить строку справа от 0 ( та, которая с индексами (0,j) и...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru