Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Microsoft_Visual_C++..doc
Скачиваний:
18
Добавлен:
29.10.2018
Размер:
691.2 Кб
Скачать

Пример 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 с центром в начале координат.

2 Составной оператор

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

Составной оператор – последовательность операторов, заключенная в фигурные скобки:

{

}

Выполнение составного оператора заключается в последовательном выполнении составляющих его операторов.

Это важно

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

Пример 3 Проверка условия существования треугольника

В лабораторной работе 1 (задание 9) была рассмотрена программа по определению площади треугольника. Однако, не при всех исходных данных программа выдает верный результат, т.к. не все тройки чисел образуют треугольник (например, треугольника со сторонами 1, 2, 4 не существует). Условие существование треугольника – сумма длин любых двух сторон треугольника больше длины третьей стороны. Дополним созданную программу примера 4 лабораторной работы 2 условным оператором:

#include "stdafx.h"

#include<stdio.h>

#include<conio.h>

#include<math.h>

using namespace System;

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

{

int a,b,c;

float p,s;

printf("введите длины трех сторон треугольника\n");

scanf("%d %d %d",&a,&b,&c);

if (a+b<=c | b+c<=a | a+c<=b) printf("треугольник не существует");

else

{

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("площадь треугольника равна=%f",s);

}

getch();

return 0;

}

В данном примере представлена полная форма условного оператора. Проверяются условия a+b<=c | b+c<=a | a+c<=b. В случае выполнения хотябы одного выводится сообщение треугольник не существует, иначе – выполняется расчет площади. Т.к. после else необходимо выполнить три оператора, то их заключаем в фигурные скобки, тем самым объединяя их.

Задание 3

3.1 Откройте программу задания 9 лабораторной работы 1 и дополните ее условием существования треугольника.

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

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