11722

Умовний оператор в мові С++

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

Информатика, кибернетика и программирование

Лабораторна робота №8 Тема: Умовний оператор в мові С Мета роботи: отримання практичних навиків в роботі з умовним оператором і розгалуженими алгоритмами в мові С. Теми для попереднього опрацьовування логічні операції умовний оператор Завданн

Украинкский

2013-04-10

143.5 KB

7 чел.

Лабораторна робота №8

Тема: Умовний оператор в мові С++

Мета роботи: отримання практичних навиків в роботі з умовним оператором і розгалуженими алгоритмами в мові С++.

Теми для попереднього опрацьовування

  •  логічні операції
  •  умовний оператор

Завдання для виконання

          Побудувати програму, яка вводить координати крапки (x, у) і визначає, чи потрапляє крапка в заштриховану область на малюнку, який відповідає Вашому варіанту. Попадання на межу області вважати попаданням в область.

Варіанти індивідуальних завдань

Варіант 1                       Варіант 2                   

Варіант 3      Варіант   4 

              

Варіант 5       Варіант 6                

Варіант 7       Варіант 8

              

Варіант 9       Варіант 10

              

Варіант 11                         Варіант 12

                 

Варіант 13       Варіант 14

              

Варіант 15       Варіант 16

              

Варіант 17       Варіант 18

              

Варіант 19       Варіант 20

              

Варіант 21                         Варіант 22

                 

Варіант 23       Варіант 24

              

Варіант 25       Варіант 26

              

Варіант 27       Варіант 28

              

Варіант 29       Варіант 30

              

Приклад рішення задачі (варіант 30)

  1.  

Розробка алгоритму рішення.

          Першим кроком алгоритму повинне бути введення координат крапки: x і у. Для більшої зручності при аналізі результатів можна вивести введені значення на екран.           Дослідження зображення на малюнку-завданні дає нам підставу затверджувати, що цільова область утворюється перетином: прямою з коефіцієнтом -1 і зсувом +1 і кола з центром на початку координат і радіусом 1, як показано на малюнку справа

          Рівняння цієї прямої:
          y=-x+1 

          Рівняння кола:
          x2+y2=1 

          Для перевірки попадання крапки в задану область потрібно перевірити умови того, що:
          1). Крапка лежить вище прямій або на ній, тобто:
          y>=-x+1
          2). Крапка лежить усередині кола або на ній, тобто:
          x2+y2<=1
          Крапка лежить в області, якщо виконуються обидві умови, якщо ж не виконується хоча б одна з них, крапка лежить зовні області. Отже, ці умови повинні бути з'єднані логічною операцією "ТА".

          Схема алгоритму приведена на малюнку нижче.

2. Визначення змінних програми

          Для реалізації алгоритму нам будуть потрібні тільки змінні для зберігання значень координат x і у. В умовах завдання не приведені вимоги до точності обчислень, малюнок представлений з досить невисокою точністю, тому для цих змінних було б достатньо типу float. Але відповідно до загального стилю програмування на С++ виберемо для них тип double.

3. Розробка тексту програми

 

Текст програми починається з включення файлу:

   #include <stdio.h>

оскільки нам обов'язково знадобляться функції стандартного уведення-виведення, які описані в цьому файлі.

          Далі йде заголовок і відкриття головної функції:

   int main(void){

і оголошення змінних, визначених в пункті 2.

   double x, у;

          Для кожної координати виводиться запрошення на її введення і вводиться її значення:

   printf("Введіть координату x >");

   scanf("%lf",&x);

   printf("Введіть координату у >");

   scanf("%lf",&y);

          Введені значення координат виводяться на екран:

   printf("x=%6.3lf;  y=%6.3lf\n",x,y);

          Далі йде перевірка умов попадання крапки в область. Обидві умови перевіряються одним виразом. Оскільки крапка потрапляє в область, якщо виконуються обидві умови разом, умови у виразі сполучені операцією "логічне ТА":

   if ( (y>=1-x)&& (x*x+y*y<=1) )

          Якщо значення логічного виразу в умовному операторі є істиннимо, то виводиться повідомлення про потрапляння:

   printf("Крапка потрапляє в область\n");

          В осоружному випадку виводиться повідомлення про не потрапляння:

   else printf("Крапка не потрапляє в область\n");

       

Повний текст програми приведений нижче.

/****************************************************/

/*              Лабораторна робота №7                   */

/*                 Умовний оператор                         */

/*         Приклад виконання. Варіант №30        */

/****************************************************/

#include <stdio.h>

int main(void){

double x, у; /* координати крапки */

 /* введення координат */

 printf("Введіть координату x >");

 scanf("%lf",&x);

 printf("Введіть координату у >");

 scanf("%lf",&y);

 /* вивід тільки що введених значень */

 printf("x=%6.3lf;  y=%6.3lf\n",x,y);

 /* перевірка умов */

 if ( (y>=1-x)

      && (x*x+y*y<=1) )

    printf("Крапка потрапляє в область\n");

 else printf("Крапка не потрапляє в область\n");

 return 0;

}

4. Відладка програми

          Найважливіше у відладці цієї програми - переконатися в тому, що програма видає правильні результати при різних комбінаціях вхідних даних. Отже, необхідно підібрати такі комбінації, які були б показовими для різних випадків розміщення крапки. Пропонуємо такі комбінації:
          1). крапка лежить нижче області - (0.4, 0.4);
          2). крапка лежить на нижній межі області - (0.5, 0.5);
          3). крапка лежить усередині області - (0.7, 0.6);
          4). крапка лежить на верхній межі області - (0.707, 0.707);
          5). крапка лежить вище області - (0.8, 0.8);
          6). крапка лежить на правому краю області - (1.0, 0.0);
          7). крапка лежить на лівому краю області - (0.0, 1.0);

5. Результати роботи програми

          Нижче приведені результати роботи програми для вхідних даних по п. 4:

x=0.400;  y=0.400

Крапка не потрапляє в область

x= 0.500;  y= 0.500

Крапка потрапляє в область

x= 0.700;  y= 0.600

Крапка потрапляє в область

x= 0.707;  y= 0.707

Крапка потрапляє в область

x= 0.800;  y= 0.800

Крапка не потрапляє в область

x= 0.100;  y= 0.000

Крапка потрапляє в область

x= 0.000;  y= 1.000

Крапка потрапляє в область


 

А также другие работы, которые могут Вас заинтересовать

21806. Роль и место теории принятия решений в структуре подготовки специалиста 76 KB
  1 Роль и место теории принятия решений в структуре подготовки специалиста Общие свойства управления исследуются в кибернетике см. Проблемы управления техническими системами без участия человека – в теории автоматического управления ТАУ. Особенности управления в социальноэкономических системах изучаются в рамках менеджмента управление в современных организационно технических системах предмет настоящей дисциплины – в теории автоматизированных систем управления АСУ. Системный анализ наиболее конструктивное направление используемое...
21807. Основы построения автоматизированных систем управления 71.5 KB
  Рисунок 1 Блоксхема системы управления СУ Источником информации является объект управления ОУ посылающий по каналу связи информацию в своем состоянии. Управляющая система УС в зависимости от количества и содержания информации об объекте управления вырабатывает решение о воздействии на него. В реально функционирующих СУ на все элементы воздействует среда внося свои коррективы как в количество информации так и в качество. Основными группами функций являются: функции принятия решений функции преобразования содержания информации ...
21808. Концептуальные понятия теории систем и системного анализа 124.5 KB
  Основными задачами системного анализа являются: задача декомпозиции – представление систем из подсистем состоящих из элементов; задача анализа – определение свойств систем или окружающей среды определение закона преобразования информации описывающего поведение системы; задача синтеза – по описанию закона преобразования информации построить систему.1 – Понятие системы Множество элементов А системы S можно описать в виде: где i=ый элемент системы: число элементов в системе.2 Элемент системы Отсюда систему можно...
21809. Методы качественного оценивания систем 38 KB
  Качественные методы используются на начальных этапах системного анализа если реальная система не может быть описана в количественных характеристиках отсутствуют закономерности систем в виде аналитических зависимостей. Количественные методы используются на последующих этапах моделирования для количественного анализа вариантов системы. Во всех методах смысл задачи оценивания состоит в сопоставлении рассматриваемой системе альтернативе вектора из критериального пространства Km координаты точек которого рассматриваются как оценки по...
21810. Модели основных функций организационно-технического управления 337 KB
  2 Модель функции контроля Задача контроля объекта управления включает решение трех частных задач: задачи наблюдения классификации и идентификации распознавания образов. Определенные заранее такие агрегированные состояния играют роль своеобразных эталонов для распознавания реальных состояний объекта в процессе его контроля. Решение задачи идентификации заключается в отыскании такого отображения которое определяет оптимальную в некотором смысле оценку состояния ОУ по реализации входных и выходных сигналов объекта. Наблюдаемое реальное...
21811. Методы прогнозирования 186.5 KB
  Методы вероятностного прогнозирования 13.3 Методы долгосрочного прогнозирования Литература 1 Анфилатов В. Методы прогнозирования основываются на предположении о сохранении в будущем существующих закономерностей развития или на предстоящих качественных изменениях системы.
21812. ПРИНЯТИЕ РЕШЕНИЕ В УСЛОВИЯХ НЕОПРЕДЕЛЕННОСТИ 196.5 KB
  Функция полезности при наличии риска 1. Поскольку нам предстоит формировать функцию полезности определим еще раз что мы будем понимать под термином полезность функция полезности. Полезность или показатель полезности – это число приписываемое конкретному результату например рабочей характеристике или состоянию системы и представляющее собой оценку значимости этого результата по восприятию определенного человека или группы людей. При наличии единственного критерия и определенной связи между вариантами решения и значением этого...
21813. ТЕОРИЯ МАТРИЧНЫХ ИГР. Примеры решения задач при парной игре с нулевой суммой 91 KB
  В разных случаях числа aii могут иметь различный смысл €œвыигрыш€ €œпотери€ €œплатеж€. Игра это действительный или формальный конфликт в котором имеется по крайней мере два участника каждый из которых стремится к достижению собственных целей Правилами игры называют допустимые действия каждого из игроков направленные на достижение некоторой цели. Платежом называется количественная оценка результатов игры. если проигрыш одного игрока равен выигрышу другого.
21814. ТЕОРИЯ МАТРИЧНЫХ ИГР. ИГРА С ПРИРОДОЙ 91.5 KB
  Системный анализ источников техногенной опасности 1. СИСТЕМНЫЙ АНАЛИЗ ИСТОЧНИКОВ ТЕХНОГЕННОЙ ОПАСНОСТИ Системный анализ источников и факторов техногенной и экологической опасности может быть проведен на основе методологических принципов заимствованных из теории подготовки и обоснования решений по сложным проблемам. Системный анализ совокупности источников техногенной опасности целесообразно проводить с учетом определенного множества факторов в том числе факторов радиационной химической природы экономических...