Юзер загадал один из 12 месяцев. Программа должна угадать этот месяц задав юзеру максимум 4 вопроса. Схему составил.В программный код это записать не могу. Пример: 1в:это или зима или весна? да 2в:это весна? нет 3в:декабрь? нет значит это февраль (считать что лето 6 7 8 месяца осень 9 10 11 зима 12 1 2 весна 3 4 5)
Код к задаче: «Программа на оператор if»
Листинг программы
uses crt; var ot:string[3]; begin //—————————- writeln(‘Это первая половина года?’); read(ot); if ot=’да’ then begin //————————- writeln(‘Это первый квартал?’); readln(ot) ; if ot=’да’ then begin writeln(‘Это январь?’); read(ot) ; if ot=’да’ then begin writeln(‘Я угадал!’); exit; end else begin writeln(‘Это февраль?’); read(ot); if ot=’да’then writeln(‘Я угадал!’) else writeln(‘Это март!’); exit; end end //—————————— else begin writeln(‘Это апрель?’); read(ot) ; if ot=’да’ then begin writeln(‘Я угадал!’); exit; end else begin writeln(‘Это май?’); read(ot); if ot=’да’then writeln(‘Я угадал!’) else writeln(‘Это июнь!’); exit; end end end //——————————————— else begin writeln(‘Это третий квартал?’); readln(ot) ; if ot=’да’ then begin writeln(‘Это июль?’); read(ot) ; if ot=’да’ then begin writeln(‘Я угадал!’); exit; end else begin writeln(‘Это август?’); read(ot); if ot=’да’then writeln(‘Я угадал!’) else writeln(‘Это сентябрь!’); exit; end end //———————————— else begin writeln(‘Это октябрь?’); read(ot) ; if ot=’да’ then begin writeln(‘Я угадал!’); exit; end else begin writeln(‘Это ноябрь?’); read(ot); if ot=’да’then writeln(‘Я угадал!’) else writeln(‘Это декабрь!’); exit; end; end end; end.
Источник: studassistent.ru
Pascal ABC.NET | Урок 3 | Условные операторы if, then, else
Условные операторы. Решение задач на Паскале
var
A, Res : Integer;
begin
writeln(‘Условные операторы. Задача №1’);
write(‘Введите целое число ‘);
readln(A);
if A mod 2 = 0 then begin
Res := A + 10;
writeln(‘Результат ‘, Res)
end
else begin
Res := A — 10;
writeln(‘Результат ‘, Res)
end
end.
Вариант решения задачи для PascalABC.NET
begin
Println(‘Условные операторы. Задача №1’);
var Res : Integer;
var A := ReadInteger(‘Введите целое число’);
if A mod 2 = 0 then begin
Res := A + 10;
Println(‘Результат ‘, Res)
end
else begin
Res := A — 10;
Println(‘Результат ‘, Res)
end
end.
Результат вычисления, зависящий от знака чисел
Дано два числа. Если оба числа положительные или отрицательные, то найти их сумму, иначе удвоить каждое число по отдельности и вывести результат.
Вариант решения задачи №1
begin
Println(‘Условные операторы. Задача №2’);
var A, B, Res, ResA, ResB : Integer;
[Pascal] — Конструкция IF THEN ELSE | Урок №3
A := ReadInteger(‘Введите 1-ое число’);
B := ReadInteger(‘Введите 2-ое число’);
if ((A > 0) AND (B > 0)) OR ((A < 0) AND (B < 0)) then begin
Res := A + B;
Println(‘Сумма чисел ‘, Res)
end
else begin
ResA := A * 2;
ResB := B * 2;
Println(‘Результат ‘, ResA);
Println(‘Результат ‘, ResB)
end
end.
Вариант решения задачи №2, с использованием рекомендаций языка PascalABC.NET
begin
Println(‘Условные операторы. Задача №2’);
var (A, B) := ReadInteger2(‘Введите 2 целых числа’); // Возвращает кортеж из двух значений типа Integer, введенных с клавиатуры.
if ((A > 0) AND (B > 0)) OR ((A < 0) AND (B < 0)) then begin
var Res : Integer := A + B; // Описать целочисленную переменную и присвоить ей результат сложения.
Println(‘Сумма чисел ‘, Res)
end
else begin
var ResA := A * 2; // Тип переменной ResA определяется по типу правой части
var ResB := B * 2; // Тип переменной ResA определяется по типу правой части
Println(‘Результат ‘, ResA);
Println(‘Результат ‘, ResB)
end
end.
Проверить существует ли треугольник. Определить его тип
Треугольник существует если сумма длин любых двух сторон больше третьей стороны.
Равносторонний треугольник — все его стороны равны.
Равнобедренный треугольник — две стороны равны.
Разносторонний треугольник — все стороны не равны между собой.
Классический вариант решения, в том числе для Turbo/Borland Pascal
program if_1;
var a, b, c : Integer;
begin
writeln(‘Условные операторы. Задача №3’);
write(‘Введите стороны треугольника ‘);
readln (a, b, c);
if (a+b writeln(‘Такой треугольник не существует.’)
else
if (a <> b) and (a <> c) and (b <> c) then
writeln(‘Это разносторонний треугольник.’)
else
if (a = b) and (b = c) then
writeln(‘Это равносторонний треугольник.’)
else
writeln(‘Это равнобедренный треугольник.’);
end.
Вариант решения задачи для PascalABC.NET
begin
Println(‘Условные операторы. Задача №3’);
var (A, B, C) := ReadInteger3(‘Введите стороны треугольника’); // Возвращает кортеж из трёх значений типа Integer, введенных с клавиатуры.
if (a+b Println(‘Такой треугольник не существует.’)
else
if (a <> b) and (a <> c) and (b <> c) then
Println(‘Это разносторонний треугольник.’)
else
if (a = b) and (b = c) then
Println(‘Это равносторонний треугольник.’)
else
Println(‘Это равнобедренный треугольник.’);
end.
✔ Правильная запись условия на языке Паскаль. Примеры логических операторов для курса информатики в 5-9 классах. Пример программы на PascalABC.NET, показывающей логические операции
Источник: 256.ru
Применение логических операций с оператором IF.
В данном уроке мы рассмотрим применение логической операции And с условным оператором If.
Использование And с If.
program vetvlenija6; uses crt; var A,B,C:integer; begin clrscr; writeln(‘Введите 3 числа’); readln (A,B,C); if (A=B) and (A=C) then writeln (‘Числа равные’) else writeln (‘Числа не равны’); readln end.
В строке №8 записываем условие. Здесь применяется новый оператор AND (и) и, фактически, строчка звучит как: ‘Если «A» равно «B» и «A» равно «С», тогда вывести на экран сообщение в строке №9. В противном случае (строка №10), вывести на экран сообщение (строка №11) .
Введем сначала одинаковые цифры (5 5 5 через пробел и нажимаем Enter).
Затем введем разные числа (2 3 4 через пробел и нажимаем Enter).
Источник: mojainformatika.ru