Домашние задания: Другие предметы

Помогите с информатикой, сложное задание

Нужно составить программу с следующим протоколом:
Введите одно число
если число нечетное, то вывести -10
если четное, то вывести 10.
При этом не используя служебные слова вроде if,then итп.
Программа нужна на паскале, уровень 9 класса, естественно начала года.
без If? Как тогда условие поставить?
ЖА
Жексен Алпартеги
425
Лучший ответ
Юрик Файфор а вот черт знает, учитель сказал что подобное возможно :\
Таки да, нужно вывести значение выражения
-20*(ABS(Х) MOD 2) + 10,
где X - введенное тобой целое число.
Нужно использовать функцию модуля, чтобы программа работала и для отрицательных чисел.
Halykov
Halykov
56 074
program flyer;

var
a: integer;

begin
Read(a);
Write(a mod 2 * -20 + 10);
end.
var a :integer;
Begin
readln(a)
a:=a mod 2;
a:=a*(-20);
a:=a+10;
writeln (a)
end.
у кого-то в начале 9 класса начинают кодить, а у кого-то 3 года нет учителя по информатике...
var a :integer;Beginreadln(a)=a mod 2=a-(-20)=a+10writeln (a)end. вот это правильно ток пиши в столбик
Oleg Pletnev
Oleg Pletnev
480
Сам решай
10
program flyer;

var
a: integer;

begin
Read(a);
Write(a mod 2 * -20 + 10);
end.
без понятия
Klarika Szibert
Klarika Szibert
266
var a :integer;Beginreadln(a)=a mod 2=a-(-20)=a+10writeln (a)end. вот это правильно ток пиши в столбик
Анита ****
Анита ****
263
Владимир Барсуков Хорошо скопировал
Тернарную операцию гугли. Мне лень прогу писать.
Halykov У паскаля нет тернарных операций. Кроме того, по его заданию, нельзя использовать никакие условные конструкции.
Используй оператор Case of - и тогда все получится.
IS
Irina Shebetova
250
Halykov Ему нельзя их использовать по его заданию.
var a :integer;
Begin
readln(a)
a:=a mod 2;
a:=a*(-20);
a:=a+10;
writeln (a)
end.
ииизиии
var a :integer;Beginreadln(a)=a mod 2=a-(-20)=a+10writeln (a)end. Ну писать нужно не в строку а в столбик))) Ну списать думаю легко=)
var a :integer;
Begin
readln(a)
a:=a mod 2;
a:=a*(-20);
a:=a+10;
writeln (a)
end.
легко
тратата (написал все вплоть до ввода)
a(твое число): =a/ABS(a)*10;
Выводишь а. Если оно отрицательно, то в результате деления а на модуль а получится -1 и оно умножается на 10. Соответственно получается -10. Ну а если +а, то 1*10=10.
Юрик Файфор а в качестве конкретно программы можно? ну типа с началом, концом, служебными словами типа write, read, writeln, readln.
Halykov Этот метод не сработает для нулевого значения переменной.
Светлана Курлыкова а никого не смущает, что результат зависит от чет/нечет, а не от отрицательное/положительное?!?!