09.29 Логические выражения и условный оператор; побочный эффект; EJudge

Форма для сдачи

Работа в EJudge

Асимметричность операции присваивания

:)) В чём проблема с такой записью?

Логические операции

/!\ В современном Си есть тип bool, в ANSI Си (стандарт C90) — нет.

Сравнения

Всего 6: <, >, <=, >=, ==, !=

Сравнивать можно:

:)) В чём проблема сравнения знаковых и беззнаковых чисел?

(НЕ УСПЕЛИ) Тернарная операция

Про scanf

   1 int var = 5;
   2 printf("%d\n", var);

:)) В чём проблема написать функцию ввода input(), которая работала бы так

:)) <!> Как эту проблему можно решить?

⇒ «Магия» scanf() ( <!> оба утверждения не верны! потому что магия…)

TODO надо ли упражненьки помещать в EJudge? Мне кажется, нет — они слишком простые

(НЕ УСПЕЛИ) Условный оператор

Общий вид: ::= if ( <выражение> ) <оператор> [ else <оператор> ]

{OK} Ввести два числа, вывести, какое больше

{i} Переписать задачу про неравенство треугольника с помощью if:

(НЕ УСПЕЛИ) Точки последовательных вычислений

:)) <!> Повторение из лекции о точках последовательных вычислений:

Про EJudge (окончание)

EJudge: DivMul 'Умножение и деление'

Ввести два целых числа в строке через пробел. Вывести в отдельных строках сначала их произведение, а затем — результат целочисленного деления первого на второе

Input:

20 7
Output:

140
2

(да, это простая задача — осваиваем В/В EJudge)

Д/З - СМОТРЕТЬ ПОСЛЕ ЗАНЯТИЯ 1 ОКТЯБРЯ

TODO Три задания для EJudge (условные операторы, есть В/В):

  1. Ввести вещественное х; если 1.0<=х<=3.0, вывести "first", если 2.7<=х<=6.8, вывести "second"; при невыполнении ни одного из двойных неравенств, вывести "none"

  2. со сложным условием
  3. со сложной формулой
  4. ГРОБЕШНИК (можно сразу к четвергу)

LecturesCMC/AL/Prac/08_IfLogic (последним исправлял пользователь FrBrGeorge 2026-09-29 23:28:01)