10 / 10 / 22
Регистрация: 23.09.2013
Сообщений: 145
1

Как можно сделать без условных операторов?

03.02.2014, 21:39. Показов 2302. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проверить утверждения для введенной переменной Х. Программа должна
вывести утверждения:
1 Переменная Х целое число
2 Переменная Х целое двузначное число
3 Переменная Х является буквой латинского алфавита
4 Переменная Х является полным квадратом
Пользователь может выбрать любое утверждение и получить ответ об истинности
утверждения (true или false).
Заметим:
при составлении процедур для оценки утверждений составить выражения типа
Boolean. Использование условных операторов при решении задачи не
допускается.
Вот тут подсказка:
Например, var f, r: Boolean; … f:= trunc(x)=x; … r:=(x>9) and (x<100); …
Для определения буквы латинского алфавита вспомнить операцию in

Добавлено через 4 минуты
не обязательно делать все 4, хотя бы 1. А дальше я сам сделаю.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2014, 21:39
Ответы с готовыми решениями:

Линейный алгоритм, переписать программу без условных операторов
Можно ли как-то переписать данную программу без условных операторов? Что бы алгоритм был линейный?...

Метод с выбором одного из двух без условных операторов
Суть такова, на одном из собеседований была предложена задача: Есть метод с булевым параметром....

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

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

13
cotseec
03.02.2014, 21:43
  #2

Не по теме:

в очередной раз очередное задание и все, а для чего это тут, мил человек? чего хочется? в сообщении как-то неразборчиво написано

0
10 / 10 / 22
Регистрация: 23.09.2013
Сообщений: 145
03.02.2014, 21:59  [ТС] 3
Я, конечно, не смог вникнуть в смысл вашего высказывания, но по теме должна создаваться форма на которой будет edit, и допустим radiobutton с названием "переменная-целое число", в edit мы записываем любую переменную(в данном случае число) и как только мы жмем на radiobutton должно вывести сообщение, если число действительно целое, то True, если нет, то False. Но вся суть в том, что в коде не должно присутствовать условных операторов.
P.S. Я бы сам сделал, но не понял как без помощи условия сделать.
0
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
03.02.2014, 22:14 4
Цитата Сообщение от dencil Посмотреть сообщение
Я бы сам сделал, но не понял как без помощи условия сделать.
Используй логические переменные.
Например:
Delphi
1
Result := Frac(X) = 0; // проверка на целое число
0
10 / 10 / 22
Регистрация: 23.09.2013
Сообщений: 145
03.02.2014, 22:18  [ТС] 5
Сейчас попробуем
0
103 / 102 / 51
Регистрация: 28.01.2014
Сообщений: 310
03.02.2014, 22:21 6
Если не условия значит Case.
К примеру, судя по пункту №2, первый пункт задается как целое однозначное:
Delphi
1
2
3
4
case (x) of
'0'..'9':showmessage('Целое число');
'10'..'99':showmessage('Целое 2значное число');
end;
Главное помнить, что case работает со значениями от 0 до 255.

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

С полным квадратом, подсказать ничего не могу.
1
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
03.02.2014, 22:39 7
Цитата Сообщение от TAZAQ Посмотреть сообщение
Если не условия значит Case.
Case - условный оператор.
Цитата Сообщение от TAZAQ Посмотреть сообщение
Главное помнить, что case работает со значениями от 0 до 255.
Бред.
0
10 / 10 / 22
Регистрация: 23.09.2013
Сообщений: 145
03.02.2014, 22:40  [ТС] 8
То есть вы это имели в виду?
Delphi
1
2
3
4
5
6
Result:=Frac(x)=0=True;
Result:=Frac(x)<>0=False;
case Result of
True:showmessage('True');
False:showmessage('False');
end;
0
angstrom
03.02.2014, 22:44 9
Delphi
1
2
3
4
5
6
  Result := Frac(x) = 0;
  case Result of
    True : showmessage('True');
  else
    showmessage('False');
  end;
10 / 10 / 22
Регистрация: 23.09.2013
Сообщений: 145
03.02.2014, 22:49  [ТС] 10
А разве оператор "case" не оператор выбора?
0
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
03.02.2014, 22:54 11
Цитата Сообщение от dencil Посмотреть сообщение
А разве оператор "case" не оператор выбора?
А разве выбор не подразумевает некое условие?
Да и не нужен он тут.
0
10 / 10 / 22
Регистрация: 23.09.2013
Сообщений: 145
03.02.2014, 23:12  [ТС] 12
Ну хорошо, предложите свое решение.
0
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
03.02.2014, 23:17 13
Цитата Сообщение от dencil Посмотреть сообщение
Ну хорошо, предложите свое решение.
Предлагаю:
Миниатюры
Как можно сделать без условных операторов?  
1
Модератор
9853 / 5223 / 3304
Регистрация: 17.08.2012
Сообщений: 15,974
04.02.2014, 13:24 14
Как-то так, если без подробностей...
Delphi
1
2
3
4
5
6
7
8
9
10
//...
var n: real;
    c: string;
    b: boolean;
//...
b := frac(n) = 0; //1 Переменная Х целое число
b := (frac(n) = 0) and (round(n) >= 10) and (round(n) <= 99); //2 Переменная Х целое двузначное число
b := (length(c) = 1) and (c[1] in ['a'..'z', 'A'..'Z']); //3 Переменная Х является буквой латинского алфавита
b := frac(sqrt(n)) = 0; //4 Переменная Х является полным квадратом
//...
Добавлено через 20 минут
И ещё. Если вывод результата тоже без условных операторов, то можно так:
Delphi
1
2
3
4
5
//...
const noyes: array [boolean] of string = ('Нет', 'Да');
//...
label1.Caption := noyes[b];
//...
0
04.02.2014, 13:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.02.2014, 13:24
Помогаю со студенческими работами здесь

Обнулить строки, у которых наименьший элемент больше 0.5 (без использования циклов и условных операторов)
Написать функцию на языке MATLAB, которая без использования циклов и условных операторов:...

Использование условных операторов, как писать?
Не могу понять как правильно написать cace 3. И еще полное или краткое ветвление как реализовать, а...

Приведите примеры, как оформлять запись вложенных условных и составных операторов
Помогите пожалуйста ответить на вопрос: &quot;Опишите стиль оформления текстов программ на языке...

Использование условных операторов
У меня возникла такая проблема: В программе пользователь вводит данные о себе + искомую работу....

Как можно без сетевой карты, без модема под InterBase сделать Remote базу?
Вот такой первый вопросик! А как можно без сетевой карты, без модема под InterBase сделать...

Проверить работу условных операторов
Здравствуйте в программе необходим вычислить z={(a-b+c)+min(a,b), a-b&gt;7; min (a,b)/b, a-b&lt;7; max...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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