Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 02.12.2019
Сообщений: 20

Условие в условии

02.12.2019, 19:16. Показов 3524. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, программисты! Интересует вопрос: можно ли сделать условие в условии? Пример программы на угадавание человека:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
writeln('Этот человек живет на Земле?');
 readln(a);
 if a > 1 then writeln ('Этот человек живет в России?');
  readln(b);
  if b > 1 then writeln ('Этот человек живет в Москве?');
   readln(c);
   if c > 1 then writeln ('Этот человек живет на вокзале?');
 else writeln (Этот человек живет на Марсе?);
  readln(z);
  if z > 1 then writeln ('Этот человек живет в кратере?');
   readln(x);
   if x > 1 then writeln ('Этот человек коренной житель Марса?');
Суть: я хотел от первого вопроса задавать все больше и больше вопросов? используя отступы в виде пробелов, чтобы сказать что это за человек, однако если на первый вопрос ответ: нет (2 - да, 0 - нет), то чтобы с помощью Else был задан вопрос про другую планету. Турбо паскаль ругается, что неправильная структура. Возможно ли как-то сделать таким образом?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.12.2019, 19:16
Ответы с готовыми решениями:

Условие в условии
Добрый день, уважаемые гуру! Очень вас прошу, помогите с задачей. Поюзал поиск, но потом понял, что не до конца даже понимаю, как...

Условие в условии
Здравствуйте всем. Периодически нужно менять условия и поэтому одно из двух условий делал неактивным помещая в /*----*/ if( ...

Условие в условии
Как сделать условие в условии? Данный код не работает, что делать? if($row2 == 2){ if($row2 >= 1000){ $boss = '<img...

3
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
03.12.2019, 09:23
anton541, полностью программу приведите.
0
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
03.12.2019, 12:40
Попробуйте такой код. Максимально упрощен с помощью меток. Вы можете не заморачиваться очень сложными вложениями условий друг в друга. Можно увеличивать эту программу до огромных размеров, не боясь запутаться во вложениях. Просто расставите цифры меток, так как вам удобно.
Но помните на этот код набегут море хейтеров и здесь будет мегаразбор. Ибо код с метками для истинных программеров как красная тряпка для быка.

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
program Project1;
 
label
 m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,mend;
var
  c: char;
begin
  m1:
  writeln('Этот человек живет на Земле?');
  readln(c);
  if (c = 'y') or (c = 'Y')
    then  goto m2
    else  goto m5;
  m2:
  writeln ('Этот человек живет в России?');
  readln(c);
  if (c = 'y') or (c = 'Y')
    then  goto m3
    else  goto m5;
  m3:
  writeln ('Этот человек живет в Москве?');
  readln(c);
  if (c = 'y') or (c = 'Y')
    then  goto m4
    else  goto m5;
  m4:
  writeln ('Этот человек живет на вокзале?');
  readln(c);
  if (c = 'y') or (c = 'Y')
    then  goto m10
    else  goto m8;
  m5:
  writeln ('Этот человек коренной житель Марса?');
  readln(c);
  if (c = 'y') or (c = 'Y')
    then  goto m6
    else  goto m1;
  m6:
  writeln ('Этот человек живет в кратере?');
  readln(c);
  if (c = 'y') or (c = 'Y')
    then  goto m9
    else  goto m7;
  m7:
  writeln ('Этот человек живет в пустыне?');
  readln(c);
  if (c = 'y') or (c = 'Y')
    then  goto m11
    else  goto m6;
  m8:
  writeln ('Этот человек - российский обыватель.');
  goto mend;
  m9:
  writeln ('Этот человек - астронавт.');
  goto mend;
  m10:
  writeln ('Этот человек - вокзальный бомж.');
  goto mend;
  m11:
  writeln ('Этот человек - бедуин.');
  goto mend;
  mend:
  writeln ('Опрос закончен.');
  readln;
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7818 / 4637 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
04.12.2019, 00:26
Лучший ответ Сообщение было отмечено anton541 как решение

Решение

Цитата Сообщение от anton541 Посмотреть сообщение
можно ли сделать условие в условии?
Разрешаю.
Pascal
1
2
3
4
5
6
7
  if условие then begin
    if условие then begin
      ...
    end;
  end else begin
    ...
  end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.12.2019, 00:26
Помогаю со студенческими работами здесь

Условие в условии
Ребят скажите почему не работает. Когда я включаю CheckBox2 то в memo1 почему-то не меняется текст, а остается текст когда checkbox2 не...

Условие в условии и так далие
Возмём к примеру вот это: есть 4 вида показателей: 1 показатель *2 или не умножает её я разбиваю самой первой методом правда лож 2...

Почему не работает условие в условии и так далие?
<? if (!empty($_POST) && !empty($_POST) && !empty($_POST)) { $type = isset($_POST) && in_array(intval($_POST),...

Как найти для этих условии 2 парных чисел а и b при котором выполняется все условии?
Мой пример кода был таким данный момент но не работал. В экране пустота. Ничего не выводится. Где у меня ошибка? Чего исправит? static...

Условные операторы. Будет ли проверено условие condition2, если первое условие condition1 ложно?
Подскажите знающие люди новичку в С++ есть условный оператор: 1) if( condition1 && condition2 ) будет ли проверено условие...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru