Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР№4

.doc
Скачиваний:
4
Добавлен:
20.11.2019
Размер:
2.01 Mб
Скачать

«Программирование»

Лабораторная работа №4

10

Лабораторная работа №4

Составление и реализация простейших алгоритмов с разветвлением

Цель: изучить условные конструкции языка С, познакомится с понятием «условие» и логическими операциями, научиться применять условные конструкции для реализации разветвляющихся алгоритмов.

Основные положения

В языке программирования С используются несколько конструкций для принятия решений:

  • оператор if;

  • оператор switch;

  • условный оператор ? (оператор условия, тернарная операция).

1. Оператор if

Общая форма записи оператора if:

if (expression)

program statement;

В операторе if используется результат вычисления условия, заключенного в круглые скобки, на основе которого принимается решение. Результат вычисления условия expression может быть арифметическим или логическим. Если результат выполнения условия expression будет истинным, то возможно выполнить несколько утверждений типа program statement. Для этого следует использовать фигурные скобки, например:

if (expression)

{

program1 statement1;

program2 statement2;

...

}

2. Конструкция if–else

Общая форма записи конструкции if–else:

if (expression)

program1 statement1;

else

program2 statement2;

Если выполняется условие expression, то будет выполняться фрагмент программы program1 statement1, в противном случае будет выполняться program2 statement2.

Каждое из утверждений может быть множественным. В таком случае применяются фигурные скобки:

if (expression)

{

program1 statement1;

program2 statement2;

...

}

else

{

program33 statement33;

program34 statement34;

...

}

3. Условный оператор ?

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

Общий формат записи оператора условия:

условие ? выражение_1 : выражение_2

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

Оператор условия часто описывают как оператор ?. Тернарный оператор условия ? наиболее часто используется для присвоения переменной одного из двух значений в зависимости от некоторого условия.

4. Логические операторы и операторы отношения приведены в таблице 12.

Таблица 1 – Логические операторы

Оператор

Значение

&&

И

||

ИЛИ

!

НЕ, отрицание

==

Равно

!=

Не равно

<

Меньше

<=

Меньше или равно

>

Больше

>=

больше или равно

Ниже приведены операции отношений в убывающей последовательности приоритетов:

Наивысший !

> >= < <=

== !=

&&

Низший ||

Результат любой операции сравнения или логической операции есть 0 (нуль) или 1.

Пример 1. Пусть необходимо вычислить значения функции для любого значения х.

Анализ задачи

Область допустимых значений для данной функции (-; 4) и (4; +), поэтому необходимо в программе предусмотреть вывод не экран соответствующего сообщения при значении х=4.

Информационная модель

Входные данные

Х – любое вещественное число, веденное с клавиатуры.

Выходные данные

F – значение функции, вещественное число, вывод на экран 6 знаков после запятой

Математическая модель

Алгоритм в виде блок-схемы

Рисунок 1 – Блок-схема

Текст программы и результаты работы

Пример 2. На плоскости xOy задана фигура , которая показана на рисунке 2. Определить принадлежит ли точка А (х,у) этой фигуре.

Рисунок 2 – Фигура на плоскости

Анализ задачи

Точка принадлежит фигуре, если выполняются условия и

Информационная модель

Входные данные

х – координата х точки А, вещественное, введенное с клавиатуры.

у– координата х точки А, целое, введенное с клавиатуры.

Выходные данные

Сообщение «Точка принадлежит фигуре» или «Точка не принадлежит фигуре»

Математическая модель

Алгоритм в виде блок-схемы

Рисунок 3 – Блок-схема

Задание

  1. Согласно номеру в журнале из таблицы №13 выбрать условие задачи №1.

    1. Выполнить анализ задачи, составить математическую и информационную модель.

    2. Составить алгоритм решения задачи в виде блок-схемы.

    3. Разработать и отладить программу.

  2. Согласно номеру в журнале из таблицы №14 выбрать условие задачи №2.

    1. Выполнить анализ задачи, составить математическую и информационную модель.

    2. Составить алгоритм решения задачи в виде блок-схемы.

    3. Разработать и отладить программу.

Таблица 2 – Условие задачи №1

Таблица 14 – Условие задачи №2

Определить принадлежит ли точка с координатами (x,y) заштрихованной части фигуры на плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной области на плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной части плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной части плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной части фигуры на плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной части плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной части плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной области на плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной части фигуры на плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной области на плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной части фигуры на плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной области на плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной части фигуры на плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной области на плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной области на плоскости:

Определить принадлежит ли точка с координатами (x,y) заштрихованной области на плоскости:

Содержание отчета

  1. цель работы;

  2. индивидуальное условие задания по варианту;

  3. математическая и информационная модель;

  4. блок-схема алгоритма;

  5. текст программы;

  6. результаты работы программы (копия экрана);

  7. выводы.

Контрольные вопросы

  1. Исправить программу из примера 2, так что бы при выводе максимального числа предусмотрите сообщение об имени числа, т.е. a или b.

  2. Какой оператор используется для реализации разветвления?

  3. В зависимости от чего выбирается дальнейшая последовательность операторов?

  4. Сколько направлений может быть у одного условного оператора?

  5. Что представляет собой условие?

  6. Как из простых можно сделать сложные условия?

  7. Может ли быть только одна ветвь команд в условном операторе?

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

  9. Какой формат записи имеет тернарный оператор условия?

  10. Какие логические операторы отношения используются в языке С?

Сост. доц. к.т.н. Пятикоп Е.Е.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]