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

Как запустить case по двум переменным

10.12.2018, 22:27. Показов 5113. Ответов 5

Студворк — интернет-сервис помощи студентам
Как запустить case по двум переменным?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
program Main;
var x, y:integer;
begin
writeln('Введите координаты точки');
readln (x,y);
case x,y of
2..6,0:writeln ('принадлежит');
2..5,1:writeln ('принадлежит');
1..4,2:writeln ('принадлежит');
1..3,3:writeln ('принадлежит');
0..2,4:writeln ('принадлежит');
0..1,5:writeln ('принадлежит');
0,6:writeln ('принадлежит');
else writeln ('не принадлежит');
end.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2018, 22:27
Ответы с готовыми решениями:

Как одновременно прибавить число к двум переменным?
Есть время работы кассира: if ((!cashbox1_in_use) && (cashbox1_queue_size > 0)) { events.push( { e.time +...

Как вернуть двум неициализированным переменным индекс массива, в методе?
Задание: Напишите программу со статическим методом, аргументом которому передается двумерный целочисленный массив. У метода, кроме...

Разложение функции по двум переменным
Помогите решить данную задачу. Разложить функцию f(u,x,y,z)=(0011 1100 1110 1100) а) по переменным u,x б) по переменным y,z

5
Модератор
10425 / 5712 / 3403
Регистрация: 17.08.2012
Сообщений: 17,372
10.12.2018, 23:56
Вообще-то, никак. Синтаксис паскаля такого не позволяет.

Полагаю, Вы пошли по неверному пути в решении задачи. Нужно определить принадлежность точки заданной области? Case здесь не подходит, так как координаты точки по умолчанию - вещественные числа.

Напишите точное условие задачи, посмотрим, что можно сделать... Может быть, и case как-нибудь за уши притянем.
0
0 / 0 / 0
Регистрация: 10.12.2018
Сообщений: 3
11.12.2018, 00:02  [ТС]
Да, принадлежность точки к закрашенной области
Не могу разобраться с сайтом пока что, поэтому без фото
Как вообще реализуются такие задачи?
PS. Разобрался
Миниатюры
Как запустить case по двум переменным  
0
Модератор
10425 / 5712 / 3403
Регистрация: 17.08.2012
Сообщений: 17,372
11.12.2018, 00:59
Лучший ответ Сообщение было отмечено ЯПлацебо как решение

Решение

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

В Вашем случае:

Уравнение границыУсловие принадлежности
x = 0x ≥ 0
y = 0y ≥ 0
y = 4 - 2xy ≥ 4 - 2x
y = 6 - xy ≤ 6 - x

Для данной области, точка будет принадлежать области, если выполняются все неравенства одновременно, то есть, неравенства должны быть объединены операторами and.

Если бы область состояла не из одного куска, тогда бы нужно было объединить отдельные части операторами or. В редчайших случаях могут также потребоваться другие логические операторы, и / или несколько условных операторов, возможно, составных.

Простейший вариант программы:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var
  x, y: real;
 
begin
  write('x = ');
  readln(x);
  write('y = ');
  readln(y);
  if (x >= 0) and (y >= 0) and (y >= 4 - 2 * x) and (y <= 6 - x)
    then write('Принадежит')
    else write('Не принадлежит');
  readln
end.
Или, можно пойти нестандартным путём, просто напечатав значение логического выражения:
Pascal
1
2
3
4
5
6
7
8
9
10
11
var
  x, y: real;
 
begin
  write('x = ');
  readln(x);
  write('y = ');
  readln(y);
  write('In area: ', (x >= 0) and (y >= 0) and (y >= 4 - 2 * x) and (y <= 6 - x));
  readln
end.
Добавлено через 22 минуты
Для хохмы, два варианта с помощью case (не подойдёт для Pascal ABC):
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var
  x, y: real;
 
begin
  write('x = ');
  readln(x);
  write('y = ');
  readln(y);
  case x >= 0 of
    true: case y >= 0 of
            true: case y >= 4 - 2 * x of
                    true: case y <= 6 - x of
                            true: write('Принадлежит')
                            else write('Не принадлежит')
                          end
                  end
            else write('Не принадлежит')
          end
    else write('Не принадлежит')
  end;
  readln
end.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  x, y: real;
 
begin
  write('x = ');
  readln(x);
  write('y = ');
  readln(y);
  case (((ord(x >= 0) * 2 + ord(y >= 0)) * 2 + ord(y >= 4 - 2 * x)) * 2 + ord(y <= 6 - x)) of
    15: write('Принадлежит')
    else write('Не принадлежит')
  end;
  readln
end.
1
0 / 0 / 0
Регистрация: 10.12.2018
Сообщений: 3
11.12.2018, 01:02  [ТС]
Спасибо большое))
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
11.12.2018, 18:00
... и мой любимый, но не подходящий для PascalABC:
Pascal
1
2
3
4
5
6
const NY: array [Boolean] of String[3] = ('НЕ ','');
var x, y: Real;
begin
  Write('x y: '); ReadLn(x,y);
  WriteLn(NY[(x>=0) and (y>=0) and (y>=4-2*x) and (y<=6-x)],'принадлежит');
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.12.2018, 18:00
Помогаю со студенческими работами здесь

Расчет уравнения по двум переменным
Добрый день! Столкнулся с такой проблемой - есть уравнение, в котором задается 1 переменная с шагом и находится другое значение....

Табулирование функции по двум переменным.
Здравствуйте!!, для каждого 0.16&lt;=(меньше или равно)y&lt;=1.6 с шагом дельта y=0.24 при всех 0.1 &lt;=z&lt;=0.5 вычислить...

Поиск по двум переменным в базе
Здравствуйте! Не могу сделать поиск по двум переменным в бд. По одному получается! Вот код: &lt;?php include 'connect.php'; ...

Табулирование функции по двум переменным
Как Если начинать табулирование по двум переменным,то как его потом остановить? присвоить x=xmin, z=zmin, табулировать функцию, а...

Выбор значения по двум переменным
Здравствуйте! Столкнулся с задачей нормирования труда на предприятии. Есть таблица с параметрами, согласно которым выбирается норма...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru