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

Написать программу с двумя формами ветвлений – альтернативой и переключателем

26.09.2012, 08:38. Показов 1207. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли
Миниатюры
Написать программу с двумя формами ветвлений – альтернативой и переключателем  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.09.2012, 08:38
Ответы с готовыми решениями:

Программирование алгоритмов с двумя формами ветвлений – альтернативой и переключателем
Привет ребята, помогите пожалуйста решить, не могу, объясните кратко пожалуйста.

Алгоритмы с двумя формами ветвлений – альтернативой и переключателем
Учу паскаль, помогите решить задание, исправить ошибки (если они есть, а я вообще не знаю, правильно-ли написал, или нет) и ткнуть меня в...

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

6
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 8
30.09.2012, 10:19  [ТС]
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
Program Variant_11;
Uses WinCRT;
Const r=1;
      t=0.5;
Var y_razrez, s_left, s_right, x, alfa, betta,z, h: Real;
Begin
WriteLn('Laboratornaya rabota#2');
WriteLn('Variant#11');
WriteLn('IS-12-2');
WriteLn('TTTT');
WriteLn;
Write('x='); {VVod ishodnyh dannyh}
ReadLn(x);
IF (x=0)
Then Begin
y_razrez:=1;
s_left:=(Pi*r*r)/4+(Pi*t*t)/2;
s_right:=(Pi*r*r)/4+(Pi*t*t)/2;
End;
IF (x<>0)
Then If (x>=0.5)
     Then Begin
     y_razrez:=z+h
     z:=sqrt(r*r-x*x)
     h:=sqrt(t*t-(x-0.5)*(x-0.5))
     alfa:=2*arctan(z/x)
     betta:=2*arctan(h/(x-0.5))
     s_right:=(r*r/2*(alfa-sin(alfa)))/2+(t*t/2*(betta-sin(betta)))
     s_left:=(Pi*r*r)/4+(Pi*t*t)/2+(Pi*r*r)/4+(Pi*t*t)/2-s_right
     End;
     Else Begin
      y_razrez:=z+h;
     z:=sqrt(r*r-x*x);
     h:=sqrt(t*t-(0.5-x)*(0.5-x));
     alfa:=2*arctan(z/h);
     betta:=2*arctan(h/(0.5-x));
     s_right:=(r*r/2*(alfa-sin(alfa)))/2+(t*t/2*(betta-sin(betta)))/2;
     s_left:=(Pi*r*r)/4+(Pi*t*t)/2+(Pi*r*r)/4+(Pi*t*t)/2-s_right;
     End;
Else If(x>=-0.5)
     Then Begin
     y_razrez:=z+h;
     z:=sqrt(r*r-x*x);
     h:=sqrt(t*t-(0.5-abs(x))*(0.5-abs(x)));
     alfa:=2*arctan(z/x);
     betta:=2*arctan(h/(0.5-abs(x)));
     s_left:=(r*r/2*(alfa-sin(alfa)))/2+(t*t/2*(betta-sin(betta)))/2;
     s_right:=(Pi*r*r)/4+(Pi*t*t)/2+(Pi*r*r)/4+(Pi*t*t)/2-s_left;
     End;
     Else Begin
     y_razrez:=z+h;
     z:=sqrt(r*r-x*x);
     h:=sqrt(t*t-(abs(x)-0.5)*(abs(x)-0.5));
     alfa:=2*arctan(z/x);
     betta:=2*arctan(h/(abs(x)-0.5));
     s_left:=(r*r/2*(alfa-sin(alfa)))/2+(t*t/2*(betta-sin(betta)))/2;
     s_right:=(Pi*r*r)/4+(Pi*t*t)/2+(Pi*r*r)/4+(Pi*t*t)/2-s_left;
     End;
WriteLn('y_razrez=',y_razrez:0:6); {Vyvod dannyh}
WriteLn('s_left=',s_left:0:6);
WriteLn('s_right=',s_right:0:6);
End.
Объясните пожалуйста дуре почему она не хочет работать и где ошибка
0
Фрилансер
 Аватар для CodeR
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,603
Записей в блоге: 1
30.09.2012, 10:39
Betty, сразу в глаза бросилось то что вы ставите ; перед else что недопустимо...
1
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 8
30.09.2012, 10:42  [ТС]
Ой...
Спасибо
 Комментарий модератора 
Правило форума 3.6. Если какой-либо пост на форуме показался вам полезным, нажмите кнопку "Спасибо" внизу самого поста.
0
Фрилансер
 Аватар для CodeR
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,603
Записей в блоге: 1
30.09.2012, 10:44
В общем вот рабочая...
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
Program Variant_11;
Uses WinCRT;
Const r=1;
      t=0.5;
Var y_razrez, s_left, s_right, x, alfa, betta,z, h: Real;
Begin
WriteLn('Laboratornaya rabota#2');
WriteLn('Variant#11');
WriteLn('IS-12-2');
WriteLn('TTTT');
WriteLn;
Write('x='); {VVod ishodnyh dannyh}
ReadLn(x);
IF (x=0)
Then Begin
y_razrez:=1;
s_left:=(Pi*r*r)/4+(Pi*t*t)/2;
s_right:=(Pi*r*r)/4+(Pi*t*t)/2;
End;
IF (x<>0)
Then If (x>=0.5)
     Then Begin
     y_razrez:=z+h;
     z:=sqrt(r*r-x*x);
     h:=sqrt(t*t-(x-0.5)*(x-0.5));
     alfa:=2*arctan(z/x);
     betta:=2*arctan(h/(x-0.5));
     s_right:=(r*r/2*(alfa-sin(alfa)))/2+(t*t/2*(betta-sin(betta)));
     s_left:=(Pi*r*r)/4+(Pi*t*t)/2+(Pi*r*r)/4+(Pi*t*t)/2-s_right;
     End
     Else Begin
      y_razrez:=z+h;
     z:=sqrt(r*r-x*x);
     h:=sqrt(t*t-(0.5-x)*(0.5-x));
     alfa:=2*arctan(z/h);
     betta:=2*arctan(h/(0.5-x));
     s_right:=(r*r/2*(alfa-sin(alfa)))/2+(t*t/2*(betta-sin(betta)))/2;
     s_left:=(Pi*r*r)/4+(Pi*t*t)/2+(Pi*r*r)/4+(Pi*t*t)/2-s_right;
     End
Else If(x>=-0.5)
     Then Begin
     y_razrez:=z+h;
     z:=sqrt(r*r-x*x);
     h:=sqrt(t*t-(0.5-abs(x))*(0.5-abs(x)));
     alfa:=2*arctan(z/x);
     betta:=2*arctan(h/(0.5-abs(x)));
     s_left:=(r*r/2*(alfa-sin(alfa)))/2+(t*t/2*(betta-sin(betta)))/2;
     s_right:=(Pi*r*r)/4+(Pi*t*t)/2+(Pi*r*r)/4+(Pi*t*t)/2-s_left;
     End
     Else Begin
     y_razrez:=z+h;
     z:=sqrt(r*r-x*x);
     h:=sqrt(t*t-(abs(x)-0.5)*(abs(x)-0.5));
     alfa:=2*arctan(z/x);
     betta:=2*arctan(h/(abs(x)-0.5));
     s_left:=(r*r/2*(alfa-sin(alfa)))/2+(t*t/2*(betta-sin(betta)))/2;
     s_right:=(Pi*r*r)/4+(Pi*t*t)/2+(Pi*r*r)/4+(Pi*t*t)/2-s_left;
     End;
WriteLn('y_razrez=',y_razrez:0:6); {Vyvod dannyh}
WriteLn('s_left=',s_left:0:6);
WriteLn('s_right=',s_right:0:6);
readkey;
End.
0
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 8
30.09.2012, 10:50  [ТС]
Она всё равно выдает ошибку при вводе отрицательного числа
0
Фрилансер
 Аватар для CodeR
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,603
Записей в блоге: 1
30.09.2012, 11:06
Betty, так это уже ошибка времени выполнения и я к этому отношения не имею, т.к я незнаю что ваша программа решает и что вы там наделали, я лишь исправил ошибки для того чтобы программа была рабочей и запускалась
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.09.2012, 11:06
Помогаю со студенческими работами здесь

Определить и вывести количество дней между двумя датами (логические операторы и операторы ветвлений)
Задачка Пользователь вводит две даты (день, месяц, год в виде целых чисел). Необходимо определить и вывести количество дней между этими...

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

Написать программу с двумя своими функциями.
Написать программу с двумя своими функциями. Одна выводит сообщение, другая устанавливает шестнадцатеричный вывод.

P16F876. Написать программу с двумя циклами
Народ проблема такая , нужно написать программу чтоб в ней было 2 цикла в 1 ( decfsz ) есть прога где только 1 цикл .......может кто то...

Как по нажатию кнопки в первой форме, изменить текст в label второй формы?
Как сделать, чтобы по нажатию кнопки в первой форме, менялся текст в лейбле второй формы ? Не охота создавать 30 форм.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru