Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2017, 17:14   #1
student_23
Новичок
Джуниор
 
Регистрация: 26.01.2017
Сообщений: 7
По умолчанию Вывести на экран 1 или 0 в зависимости от того, имеют три заданных целых числа одинаковую четность или нет. Delphi. Проверить задачу на ошибки

Здравствуйте! Просьба проверить на ошибки.
Если таковые имеются. Исправить. Спасибо.

Вывести на экран 1 или 0 в зависимости от того, имеют
три заданных целых числа одинаковую четность или нет.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  a,b,c:integer;
    begin
A:=StrToInt(Edit1.Text);
B:=StrToInt(Edit2.Text);
C:=StrToInt(Edit3.Text);

if
((A mod 2 = 0) and (B mod 2 = 0)
and (C mod 2 = 0)) or ((A mod 2 <> 0)
and (B mod 2 <> 0) and (C mod 2 <> 0))
then
ShowMessage('1') 
else
ShowMessage('0');
end;
student_23 вне форума Ответить с цитированием
Старый 26.01.2017, 17:19   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
if
((A mod 2 = 0) and (B mod 2 = 0)
and (C mod 2 = 0))
then//все 3 числа четные


if
((A mod 2 <> 0)
and (B mod 2 <> 0) and (C mod 2 <> 0))
then//все 3 числа нечетные
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 26.01.2017, 23:58   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Стуlент, все правильно. Хорошо решаешь, чего сомнения ?
Я бы ввел доп. переменную, не нужно было бы операцию mod делать 2 раза.
Код:
  i := (A mod 2) + (B mod 2) + (C mod 2) ; 
  if (i=0) or (i=3) then  ShowMessage('1')  else  ShowMessage('0');

Последний раз редактировалось digitalis; 27.01.2017 в 00:00.
digitalis вне форума Ответить с цитированием
Старый 27.01.2017, 09:45   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

изощряться так изощряться
1. вариант от digitalis но без переменной
Код:
case (a mod 2)+(b mod 2)+(c mod 2) of
0,3: showmesage('1');
else showmessage('0');
end;
2. вариант "приближенный" к постановке задачи (полагаю именно такой код и ожидает увидеть препод)
ДВА числа имеют одинаковую четность это (a mod 2) = (b mod 2)
ну а три
Код:
 if ( (a mod 2) = (b mod 2) ) 
and ( (b mod 2) = (c mod 2) ) then
  showMessage('1')
else 
  showMessage('0')
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверить,или есть среди чисел А,В,С равные (вывести ответ "да" или "нет"). Vrpsty Паскаль, Turbo Pascal, PascalABC.NET 2 23.10.2016 05:20
проверить массив симметричен или нет kalosha-stepa Паскаль, Turbo Pascal, PascalABC.NET 7 19.09.2012 22:13
Даны три различных целых числа, определить, какое из них (первое, второе или третье); Genius94 Паскаль, Turbo Pascal, PascalABC.NET 3 15.06.2012 07:24
Shelllistview...проверить папка или нет? Port 111 Общие вопросы Delphi 0 31.05.2012 17:57
True или False, в зависимости от того, имеют три данных числа одинаковую четность DjVidan Помощь студентам 4 12.10.2008 22:02