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

Значения из процедуры не используются в основной программе

14.05.2017, 16:31. Показов 943. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При введении значений a,b,c в процедуре - они почему-то не применяются в основной программе.
Помогите эти значения использовать в основной
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
uses GraphABC;
Var x0,y0,x1,y1,k:integer;
    x,y,a,b,c:real;
Procedure oshibka; 
var a:real; 
var s:string; 
begin 
repeat
writeln ('Введите коэффицент а'); 
try 
readln (a); // Коэффицент А 
except 
on E:exception do a:=0; 
end; 
if (a>0) and (a<9999999) then 
begin 
s:='Допустимое значение'; 
setwindowcaption(s); 
end
else 
writeln('Введите число!'); 
until (a>0) and (a<9999999);
end;
 
Procedure oshibka1; 
var b:real; 
var s:string; 
begin 
repeat
writeln ('Введите коэффицент b'); 
try 
readln (b); // Коэффицент B 
except 
on E:exception do b:=0; 
end; 
if (b>0) and (b<9999999) then 
begin 
s:='Допустимое значение'; 
setwindowcaption(s); 
end
else 
writeln('Введите число!'); 
until (b>0) and (b<9999999);
end;
 
Procedure oshibka2; 
var c:real; 
var s:string; 
begin 
writeln ('Введите коэффицент c'); 
try 
readln (c); // Коэффицент C 
except 
on E:exception do c:=0; 
end;
repeat 
if (c>0) and (c<9999999) then 
begin 
s:='Допустимое значение'; 
setwindowcaption(s); 
end
else 
writeln('Введите число!'); 
until (c>0) and (c<9999999);
end;
Begin
  setWindowSize(800,600); // Размер окна
   x0:=400; //Координаты оси X
   y0:=300; //Координаты оси Y
   k:=20;  //Начальное значение коэффицента
  oshibka;
  oshibka1;
  oshibka2;
   line(x0,0,x0,800);
   line(0,y0,800,y0);  // Построение осей координат
   line(390,278,410,278);
   line(390,258,410,258);
   line(390,238,410,238);
   line(390,218,410,218);
   line(390,198,410,198);
   line(390,178,410,178);
   line(390,158,410,158);
   line(390,138,410,138);
   line(390,118,410,118);
   line(390,98,410,98);
   line(390,78,410,78);
   line(390,58,410,58);
   line(390,38,410,38);
   line(390,18,410,18);
   line(390,318,410,318);
   line(390,338,410,338);
   line(390,358,410,358);
   line(390,378,410,378);
   line(390,398,410,398);
   line(390,418,410,418);
   line(390,438,410,438);
   line(390,458,410,458);
   line(390,478,410,478);
   line(390,498,410,498);
   line(390,518,410,518);
   line(390,538,410,538);
   line(390,558,410,558);
   line(390,578,410,578);
   line(390,598,410,598);
   line(390,618,410,618);
   line(390,638,410,638);
   line(390,658,410,658);
   line(390,678,410,678);
   line(390,698,410,698);
   line(390,718,410,718);
   line(390,738,410,738);
   line(390,758,410,758);
   line(390,778,410,778);
   line(390,798,410,798); 
   line(420,290,420,310);
   line(440,290,440,310);
   line(460,290,460,310);
   line(480,290,480,310);
   line(500,290,500,310);
   line(520,290,520,310);
   line(540,290,540,310);
   line(560,290,560,310);
   line(580,290,580,310);
   line(600,290,600,310);
   line(620,290,620,310);
   line(640,290,640,310);
   line(660,290,660,310);
   line(680,290,680,310);
   line(700,290,700,310);
   line(720,290,720,310);
   line(740,290,740,310);
   line(760,290,760,310);
   line(780,290,780,310);
   line(380,290,380,310);
   line(360,290,360,310);
   line(340,290,340,310);
   line(320,290,320,310);
   line(300,290,300,310);
   line(280,290,280,310);
   line(260,290,260,310);
   line(240,290,240,310);
   line(220,290,220,310);
   line(200,290,200,310);
   line(180,290,180,310);
   line(160,290,160,310);
   line(140,290,140,310);
   line(120,290,120,310);
   line(100,290,100,310);
   line(80,290,80,310);
   line(60,290,60,310);
   line(40,290,40,310);
   line(20,290,20,310);
   TextOut(417,305,1); //Обозначение единичных отрезков
   TextOut(385,310,-1);
   TextOut(371,309,-1);
   TextOut(402,301,0);
   TextOut(409,270,1);
   TextOut(785,310,'x'); //Обозначение осей координат
   TextOut(415,5,'y');
   line(400,0,405,7);
   line(400,0,395,7);
   line(800,300,792,293);
   line(800,300,792,307);
   setPenColor(clRed); //Указание цвета
   x:=-15;  // Начальное значение аргумента 
   While x<=15 do
   begin
     y:=a*x*x+b*x+c;    // Функция 
     x1:=trunc(x0+x*k);  y1:=trunc(y0-y*k); // Экранные координаты 
     circle(x1,y1,2); //Рисование кругов по экранным координатам x и y
     x:=x+0.01; //Расстояние между кругами
   end;
End.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2017, 16:31
Ответы с готовыми решениями:

Используя условия вариантов записать все вычисления , проводимые ранее в основной программе , в виде процедуры. В основной программе предусмотреть т
Используя условия вариантов записать все вычисления , проводимые ранее в основной программе , в...

Можно ли процедуры вынести в отдельный файл и вызывать в основной программе
У меня есть некоторая программа с процедурами и функциями. Вопрос, можно ли процедуры вынести в...

Возвращение из процедуры-события к основной программе при выполнении определённого условия
Добрый вечер всем ещё не ушедшим спать. 10 класс, пишу научраб по теме создания дидактических...

Разработанные процедуры и функции поместить в отдельном модуле, который затем использовать в основной программе
Даны числа a,b. Получить u=min(a,b), v=min(ab,a+b), min(u+v^2,3.14)

5
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
14.05.2017, 21:49 2
Чтобы значение возвращалось, используйте function
0
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
14.05.2017, 22:44 3
Либо для результата используйте переменную,указываемую в процедуре
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
16.05.2017, 09:22 4
Лучший ответ Сообщение было отмечено sonyakpss как решение

Решение

Достаточно удалить строки 5, 26 и 47 из приведенной программы, чтобы она работала с глобальными, а не с перекрывающими их локальными переменными.
0
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 3
17.05.2017, 20:31  [ТС] 5
volvo, а как сделать и с отрицательными значениями? (a<-20 - не работает)

Добавлено через 5 минут
Zwelenewskiy, а как сделать и с отрицательными значениями? (a<-20 - не работает)?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
17.05.2017, 21:32 6
Цитата Сообщение от sonyakpss Посмотреть сообщение
а как сделать и с отрицательными значениями?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure oshibka;
var
  a: real;
var
  s: string;
begin
  repeat
    writeln('Введите коэффицент а'); 
    try
      readln(a);// Коэффицент А 
    except 
      on E: exception do a := 0; 
    end; 
    if (a > -20) and (a < 9999999) then 
    begin
      s := 'Допустимое значение'; 
      setwindowcaption(s); 
    end
    else 
      writeln('Введите число!'); 
  until (a > -20) and (a < 9999999);
end;
разрешит вводить значения a от почти -20 до почти 10 миллионов
1
17.05.2017, 21:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2017, 21:32
Помогаю со студенческими работами здесь

Расчитать значение x, используются функции и процедуры.
Рассчитать значение х, определив и использовав необходимую функцию.QQUOTE]UOTE] помогите...

Какие паттерны используются в программе и для чего?
Помогите, пожалуйста, разобраться. Определите какие паттерны в программе. для чего они там? class...

Объясните пожалуйста что за команды используются в программе
Есть следующая программа, объясните пожалуйста как она работает что за формула там V=ob(r) ЧТО ТО?...

Компоновка основной программы и процедуры дальнего вызова
Всем привет! Столкнулся с такой проблемой. Не корректно линкуется два asm кода: my_main.asm EXTRN...


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

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