Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 3 (win).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
100.35 Кб
Скачать

Лабораторная работа № 3 Условный оператор

Цель работы: приобрести навыки в решении задач с помощью условного оператора, усвоить назначение и правила его применения.

Основы теории

1. Условный оператор if

Очень часто на практике ход решение задачи зависит от выполнения какого-либо условия. В этом случае при программировании необходимо использовать условный оператор (рисунки 1, 2).

В языке С существуют три возможных варианта организации ветвлений (таблица 1).

Таблица 1

Формат условного оператора

Форма

Комментарий

If (Выражение)Оператор;

неполная форма условного оператора

Если Выражение истинно, то выполняется Оператор, если выражение ложно, то выполняется следующий за if оператор

if(Выражение)Оператор1;

еlse Оператор2;

полная форма условного оператора

Если Выражение истинно, то выполняется Оператор1, если ложно – Оператор2

Switch

Оператор выбора

Реализуется многоальтернативное ветвление

Выполнение оператора if начинается с вычисления выражения. Выражение в записи формата условного оператора – это некоторое условие, содержащее операции отношения и логические операции.

Операции отношения – это операции, перечисленные в таблице 2. Результатом операции отношения является целое число (0 – ложь или 1 – истина).

Таблица 2– Операции отношения

Обозначение

Значение

>

Больше

>=

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

<

Меньше

<=

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

= =

равно (сравнение на равенство)

!=

не равно

Логические операции – это операции, перечисленные в таблице 3.

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

Битовые логические операции

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

&

and, и

&&

and, и

|

or, или

||

or, или

~

отрицание not, не

!

отрицание not, не

^

исключающее или, xor

Выражения (a==1) && (b>2) и (a== 1) & (b>2) с точки зрения компилятора С являются синтаксически правильными, т.к. в результате выполнения операций отношения = = и > получаются целые числа, с которыми можно производить как логическую операцию &&, так и битовую операцию &.

Таблица 4 – Таблицы истинности для логических операций

X

Y

X and Y

X

Y

X or Y

X

not X

1

1

0

0

1

0

1

0

1

0

0

0

1

1

0

0

1

0

1

0

1

1

1

0

1

0

0

1

Пример 1 Поиск наибольшего значения

Для поиска наибольшего значения из двух переменных a и b следует записать:

if (a<b) max=a

else max=b;

Задание 1

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

Пример 2 Определение принадлежности точки фигуре

Напишем программу, определяющую принадлежность точки внутренней области фигуры. Пусть фигура задана ограничивающими ее прямыми (рис. 3).

Рисунок 3 – Область, ограниченная тремя прямыми

Для каждой прямой определим полуплоскость, в которой находится фигура – треугольник АВС.

Полуплоскость, находящаяся выше оси х определяется неравенством

у > 0

Полуплоскость, находящаяся справа от прямой AB, задается неравенством

у — 2х — 2 < 0.

Полуплоскость, находящаяся слева от прямой ВС задается неравенством

у + 1х — 2 < 0.

Условие принадлежности точки (х, у) фигуре:

(y > 0) and (y - 2*x - 2 < 0) and (y + 2*x - 2 < 0)

Код программы:

#include "stdafx.h"

#include<stdio.h>

#include<conio.h>

using namespace System;

int main(array<System::String ^> ^args)

{

float x,y;

printf("введите координаты точки\n");

scanf("%f%f",&x,&y);

if (y>0 & y-2*x-2<0 & y+2*x-2<0) printf("точка принадлежит области\n");

else printf("точка не принадлежит области\n");

getch();

return 0;

}

Задание 2

На основе примера 2 напишите программу, определяющую, попадает ли точка М(x, y) в круг радиусом r с центром в начале координат.