Какую форму имеет блок условного оператора на блок схеме
Перейти к содержимому

Какую форму имеет блок условного оператора на блок схеме

  • автор:

Помогите по информатике

Какое число будет выведено вконсоль при выполнении указанного участка кода? (будет предложен фрагмент кода)
Из указанных фрагментов программ выберите те, которые дают ответ на вопрос, является ли целое число a чётным? (будут предложены 4 фрагмента кода)
Какой из фрагментов кода, по заданным величинам трёх углов, отвечает на вопрос, может ли существовать треугольник с указанными углами?
Как называется условный оператор, в котором при выполнении или невыполнении его условия выполняется несколько операторов?
Выберите условные операторы, записанные в сокращённой форме.
Какую форму имеет блок условного оператора на блок-схеме?
Какой оператор предназначен для записи разветвляющегося алгоритма на языке Паскаль?
Как называется условный оператор, который записан в составе другого условного оператора?
Какие существуют формы записи условного оператора в языке Pascal?
Как называется алгоритм, который помимо следования содержит конструкцию ветвления?

Лучший ответ

Какое число будет выведено вконсоль при выполнении указанного участка кода? (будет предложен фрагмент кода)
Невозможно ответить: не дан фрагмент кода

Из указанных фрагментов программ выберите те, которые дают ответ на вопрос, является ли целое число a чётным? (будут предложены 4 фрагмента кода)
Никаких фрагментов нет, ничего не знаю

Какой из фрагментов кода, по заданным величинам трёх углов, отвечает на вопрос, может ли существовать треугольник с указанными углами?
Опять нет фрагментов

Как называется условный оператор, в котором при выполнении или невыполнении его условия выполняется несколько операторов?
Ровно, как у тебя в учебнике записано: не существует определенного названия этого явления

Выберите условные операторы, записанные в сокращённой форме.
Не могу выбрать

Какую форму имеет блок условного оператора на блок-схеме?
Ромб

Какой оператор предназначен для записи разветвляющегося алгоритма на языке Паскаль?
if

Как называется условный оператор, который записан в составе другого условного оператора?
Вложенный условный оператор

Какие существуют формы записи условного оператора в языке Pascal?
if . then . ;
if . then begin . end;
if . then . else . ;
if . then begin . end else begin . end;

Как называется алгоритм, который помимо следования содержит конструкцию ветвления?
Ветвящийся

Условный оператор if — else

Теперь, когда с условными выражениями разобрались, можно переходить к основной теме урока – условному оператору .

Шаблон оператора if — else

Тут возможны два основных варианта:

// первый вариант if (условное_выражение) оператор_1; // второй вариант if (условное_выражение) оператор_1; else оператор_2;

Ну и картинки, конечно. Куда же без картинок?

Блок-схемы оператора if-else

Рис.1 Блок-схемы оператора if-else.

Работает этот оператор так. Вычисляется значение условного выражения. Если получается истина, то выполняется оператор_1 из основной ветки, а если ложь, то либо ничего не происходит (в первом варианте), либо выполняется оператор_2 из побочной ветки (во втором варианте).

Предлагаю сразу на примерах разбираться. Например, как вы думаете, что выведет на экран следующий код? Проверьте свою догадку.

#include int main(void)

Ну да, правильно, он выведет TRUE! . Условие же истинно. Вы же ещё не забыли, что единица – это истина? Я сейчас страшное скажу. Любое ненулевое число воспринимается как истина. Проверьте это самостоятельно.

Ну ладно, а теперь вот такой пример. Что по-вашему выведет данная программа?

#include int main(void)

Надеюсь, вы дали правильный ответ и вас не смутила строчка с выводом FALSE! , которое я специально добавил, чтобы запутать вас. Да, эта программа ничего не выведет. Условие в скобах ложно, а значит, оператор не будет выполнен. Всё по правилам.

Давайте ещё один примерчик, для закрепления. Будьте предельно внимательны, я там подготовил для вас всякого. Итак, что выведет данный код?

#include int main(void)

Верю, что у вас всё получилось! Если не получилось, не расстраивайтесь – ещё будет время потренироваться.

Ну а сейчас давайте о нюансах – они, как обычно, имеются.

В каждой ветке условного оператора может быть записан лишь ОДИН оператор.

Вот, посмотрите на пример.

#include int main(void)

Кажется, что программа должна работать следующим образом. Пользователь вводит целое число. Если число меньше нуля, то меняем его знак на противоположный. В противном случае ничего не делаем. После этого выводим число на экран консоли.

А теперь внимание на экран.

Результат работы программы Листинг 11

Рис.2 Результат работы программы Листинг 11

Но решение есть! И это решение – составной оператор <> . Если мы заключим несколько операторов в фигурные скобки, то они будут восприниматься как один единый оператор. Поэтому, чтобы программа заработала правильно, добавим в неё составной оператор:

#include int main(void) < int x = 0; scanf("%d", &x); if ( x < 0 )< printf("x = %d\n", x); x = (-1)*x; >printf("%d\n", x); return 0; >

Ну вот, теперь всё как надо. Проверьте самостоятельно. Кстати, из опыта. Я вам настоятельно советую всегда использовать фигурные скобки, даже если внутри них будет один оператор. Очень часто это позволяет избежать глупых ошибок.

Внутри управляющей конструкций if-else можно использовать любые конструкции языка, в том числе ещё одну конструкцию if-else .

Вот так например:

#include int main(void) < int x = 0; scanf("%d", &x); if ( x < 0 ) < printf("Negative!\n"); >else < if ( x == 0 )< printf("Zero!\n"); >else < printf("Positive!\n"); >> return 0; >

Думаю, понятно, что используя вложенные условные операторы, вы можете сделать конструкцию аналогичную оператору выбора switch .

Использование вложенных условных операторов порождает ещё одну особенность.

else всегда относится к ближайшему if , у которого нет своего else

if ( n > 0 ) if ( а > b ) z = a; else z = b;

Согласно нашему правилу, else относится к внутреннему (второму) if . Если хотим, чтобы else относился к внешнему (первому) if , то можно воспользоваться составным оператором.

if ( n > 0 ) < if (а >b) z = a; > else z = b;

Как я уже упоминал, лучше всегда использовать фигурные скобки, дабы избежать случаев неправильного толкования записи. Искать подобные ошибки в программах очень тяжело. Обратите внимание также на расстановку отступов. Я использую их, чтобы по коду сразу стало ясно, какая ветвь к какому if относится.

Сохрани в закладки или поддержи проект.

Практика

Решите предложенные задачи. Для удобства работы сразу переходите в полноэкранный режим

Исследовательские задачи для хакеров:

  1. В языке Си существует ещё одна конструкция, работающая с условными выражениями. Это тернарная условная операция ?: . Самостоятельно найдите в интернете описание этой конструкции и изучите, как она работает.

Дополнительные материалы

  1. Задачи на условный оператор от Яндекса

Программирование разветвляющихся алгоритмов. Простой и составной условные операторы. Многообразие способов записи ветвлений

Будьте внимательны! У Вас есть 10 минут на прохождение теста. Система оценивания — 5 балльная. Разбалловка теста — 3,4,5 баллов, в зависимости от сложности вопроса. Порядок заданий и вариантов ответов в тесте случайный. С допущенными ошибками и верными ответами можно будет ознакомиться после прохождения теста. Удачи!

Система оценки: 5 балльная

Список вопросов теста

Вопрос 1

Как называется алгоритм, который помимо следования содержит конструкцию ветвления?

Варианты ответов
  • Линейный
  • Вспомогательный
  • Разветвляющийся
  • Циклический
Вопрос 2

Какой оператор предназначен для записи разветвляющегося алгоритма на языке Паскаль?

Варианты ответов
  • Оператор вывода
  • Оператор присваивания
  • Оператор цикла
  • Условный оператор
Вопрос 3

Какие существуют формы записи условного оператора в языке Pascal?

Варианты ответов
  • Развёрнутая
  • Полная
  • Дополненная
  • Сокращённая
Вопрос 4

Как называется условный оператор, в котором при выполнении или невыполнении его условия выполняется несколько операторов?

Варианты ответов
  • Составной
  • Полный
  • Сокращённый
  • Простой
Вопрос 5

Выберите условные операторы, записанные в сокращённой форме.

Варианты ответов
  • if a>b then begin p:=a; a:=b; b:=p; end;
  • if a>b then max:=a else max:=b;
  • if a<>b then write (‘не равны’) else write (‘равны’);
  • if a<>b then a:=b;
Вопрос 6

Как называется условный оператор, который записан в составе другого условного оператора?

Варианты ответов
  • Вспомогательный
  • Составной
  • Вложенный
  • Свёрнутый
Вопрос 7

Какую форму имеет блок условного оператора на блок-схеме?

Варианты ответов
  • Ромб
  • Прямоугольник
  • Треугольник
  • Параллелограмм
Вопрос 8

Из указанных фрагментов программ выберите те, которые дают ответ на вопрос, является ли целое число a чётным?

Варианты ответов
  • if a mod 2=1 then write (‘Нет’) else write (‘Да’);
  • if a mod 2=1 then write (‘Да’);
  • if a mod 2=0 then write (‘Да’) else write (‘Нет’);
  • if frac (a/2)=0 then write (‘Да’) else write (‘Нет’);
Вопрос 9

Какой из фрагментов кода, по заданным величинам трёх углов, отвечает на вопрос, может ли существовать треугольник с указанными углами?

Программирование разветвляющихся алгоритмов. Простой и составной условные операторы. Многообразие способов записи ветвлений

Внимание! Все тесты в этом разделе разработаны пользователями сайта для собственного использования. Администрация сайта не проверяет возможные ошибки, которые могут встретиться в тестах.

Тест на проверку знаний основ разветвляющихся алгоритмов
Система оценки: 5* балльная

Список вопросов теста

Вопрос 1

Выберите условные операторы, записанные в сокращённой форме.

Выберите несколько из 4 вариантов ответа

Варианты ответов
  • if a<>b then a:=b; else write (‘равны’);
  • if a<>b then write (‘не равны’);
  • if a>b then max:=a else max:=b;
  • if a>b then begin p:=a; a:=b; b:=p; end;
Вопрос 2

Какую форму имеет блок условного оператора на блок-схеме?

Выберите один из 4 вариантов ответа:

Варианты ответов
  • Прямоугольник
  • Треугольник
  • Параллелограмм
  • Ромб
Вопрос 3

Какой оператор предназначен для записи разветвляющегося алгоритма на языке Паскаль?

Выберите один из 4 вариантов ответа:

Варианты ответов
  • Условный оператор
  • Оператор цикла
  • Оператор присваивания
  • Оператор вывода
Вопрос 4

Как называется условный оператор, который записан в составе другого условного оператора?

Выберите один из 4 вариантов ответа:

Варианты ответов
  • Вложенный
  • Вспомогательный
  • Свёрнутый
  • Составной
Вопрос 5

Какие существуют формы записи условного оператора в языке Pascal ?

Выберите несколько из 4 вариантов ответа

Варианты ответов
  • Полная
  • Развёрнутая
  • Дополненная
  • Сокращённая
Вопрос 6

Как называется алгоритм, который помимо следования содержит конструкцию ветвления?

Выберите один из 4 вариантов ответа:

Варианты ответов
  • Разветвляющийся
  • Линейный
  • Циклический
  • Вспомогательный
Вопрос 7

Какому фрагменту программы соответствует условие

Если А больше В, а B равно 0, то К= A + B , иначе K =А– B

Выберите один из 4 вариантов ответа:

Варианты ответов
  • IF ( A>B=0 ) THEN K:=A+B ELSE K:=A–B;
  • IF ( A>B) OR (B=0) THEN K:=A+B ELSE K:=A–B;
  • IF (A> B) , (B=0) THEN K:=A+B ELSE K:=A–B;
  • IF (A> B) AND (B=0) THEN K:=A+B ELSE K:=A–B;
Вопрос 8

Выбрать блок-схему, которая описывает следующий график:

Варианты ответов
Вопрос 9

Выбрать значение переменной Z, которое будет получено в результате выполнения фрагмента программы

X :=3 ; Y :=4 ;

IF X >Y THEN Z:=X*X+Y ELSE Z:= Y*Y+X ;

Z :=2* Z ;

Выберите один из 4 вариантов ответа:

Варианты ответов
Вопрос 10

Выбрать значение переменной Z, которое будет получено в результате выполнения фрагмента программы

IF X>Y THEN Z:=X+Y*Y ELSE Z:=X*X +Y ;

Z := Z –4 ;

Выберите один из 4 вариантов ответа:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *