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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2010, 10:21   #1
WitaliG
Пользователь
 
Регистрация: 17.08.2010
Сообщений: 75
По умолчанию Задача на Паскаль

Дана задача: Дано целое число А. Проверить истинность высказывания: Число А является нечетным.
var
a :integer;
rez :boolean;
begin
write('Введи a :');
readln(a);
rez:=(a div 2);
writeln('Результат : ',rez);
readln
end.
Компилятор к этой строке ( rez:=(a div 2); ) пишет: Нельзя преобразовывать тип INTEGER к BOOLEAN.
Подскажите пожалуйста, а как правильно.
Спасибо. С уважением Виталий.
WitaliG вне форума Ответить с цитированием
Старый 23.10.2010, 10:35   #2
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Цитата:
Компилятор к этой строке ( rez:=(a div 2); ) пишет: Нельзя преобразовывать тип INTEGER к BOOLEAN.
Естественно.
Цитата:
rez:=(a div 2)
А какая логика у этой строки?
Собственно ответ:
Число нечётное, если при делении на два его остаток не равен нулю. В паскале можно проверить так:
Код:
if (a mod 2)<>0 then writeln('нечетное')
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 23.10.2010, 10:56   #3
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от Niro Посмотреть сообщение
Число нечётное, если при делении на два его остаток не равен нулю. В паскале можно проверить так:
Код:
if (a mod 2)<>0 then writeln('нечетное')
или так, что, на мой взгляд, более красиво
Код:
if odd(a) 
  then //нечетное
  else //четное
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 23.10.2010, 15:44   #4
WitaliG
Пользователь
 
Регистрация: 17.08.2010
Сообщений: 75
По умолчанию

Спасибо братцы за помощь. Но проблема в том, что условный оператор - это тема следующая. Эту задачу надо как-то решить с помощью типа BOOLEAN. Видимо есть какая-то цепочка размышлений, логическая.
Но как это выразить, вот это вопрос.
С уважением Виталий.
WitaliG вне форума Ответить с цитированием
Старый 23.10.2010, 15:55   #5
Xeonc
Форумчанин
 
Регистрация: 20.10.2010
Сообщений: 143
По умолчанию

Не думаю, что тут хоть как-то можно решить задачу без условных операторов. Ибо BOOLEAN - может только сказать true или false. Но определить четность, он никак не может
451 -870-7(три)6. Выполняю работы на заказ, гарант честности - ВМ аттестат с 60+ БЛ без претензий
Xeonc вне форума Ответить с цитированием
Старый 23.10.2010, 16:23   #6
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Конечно не очень красивый вывод, но можно так
Код:
writeln('Введите число');
readln(a);
writeln('Введённое число нечётное - ',odd(a));
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.

Последний раз редактировалось Niro; 23.10.2010 в 16:27.
Niro вне форума Ответить с цитированием
Старый 23.10.2010, 18:20   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

думаю, ожидалось что-то такое:
Код:
  res := (a mod 2)<>0;
  WriteLn(res);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.10.2010, 23:35   #8
WitaliG
Пользователь
 
Регистрация: 17.08.2010
Сообщений: 75
По умолчанию

Спасибо за помощь. У меня код работает в таком виде:
var
a :integer;
rez :boolean;
begin
write('Введи a : ');
readln(a);
rez := ((a mod 2) = 1);
writeln('Результат : ',rez);
readln;
end.
С уважением Виталий.
WitaliG вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача в Паскаль Ivanushka17 Помощь студентам 1 06.12.2009 20:01
задача в Паскаль... Вера123 Помощь студентам 5 15.06.2009 18:07
Задача на паскаль St1fler92 Помощь студентам 4 26.05.2009 16:21
ПАСКАЛЬ задача gotex Помощь студентам 3 04.06.2008 21:08