11722

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

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

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

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

Украинкский

2013-04-10

143.5 KB

9 чел.

Лабораторна робота №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

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


 

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

26460. Морфофункциональная характеристика производных кожного покрова 56.5 KB
  ткань сосуды питание нервы иннервация волоса Волосяная нить имеет З зоны мозговая зона придает прочность построена из кубического эпителия средняя зона построена из плоского эпителия в нём накапливается пигмент наружный слой кутикула роговые чешуйки КЛАССИФИКАЦИЯ остевые хорошо развит мозговой слой диаметр 70300 мкм покровные волосы длинные волосы челка грива хвост щетина пуховые отсутствует мозговая зона мягкие располагаются рядом с остевыми диаметр 1540 мкм переходные мозг зона в виде прерывистой линии...
26461. Морфофункциональная характеристика скелета и деление его на отделы 26 KB
  Морфофункциональная характеристика скелета и деление его на отделы Скелет skeleton кости соединённые в определённой последовательности и формирующие твёрдый каркас тела животного. Определяет форму тела В составе скелета 200300 костей Л КРС: 207214; ССВ К: 271288 Масса скелета в от общей массы тела: СВ 6 КРС Л 15; С К 10 Скелет является пассивным опорным и несущим...
26462. Морфофункциональная характеристика соединений костей 25.5 KB
  Морфофункциональная характеристика соединений костей ТИПЫ СОЕДИНЕНИЯ КОСТЕЙ СКЕЛЕТА Непрерывный синартроз при помощи непрерывного слоя ткани Синсаркоз при помощи мышечной ткани грудная конечность к позвоночному столбу Синдесмоз при помощи плотной волокнистой соединительной ткани швы связки мембраны sutura шов прослойка соединительной ткани между костями череп особенно у молодых животных membrana пластинка преобладают коллагеновые волокна между костями предплечья ligamentum связки пучки коллагеновых...
26463. Морфофункциональная характеристика суставов 31.5 KB
  Морфофункциональная характеристика суставов Прерывный тип соединения сустав diartrosis articulatio Основное образование Добавочное образование cartilago articularis построен из волокнистой гиалиновой ткани отсутствуют кровеносные сосуды обеспечивает защиту уменьшает трение увеличивает размах движения в суставе. простой articulatio simplex в формировании сустава принимают участие только 2 суставные поверхности плечевой сложный articulatio composita в формировании сустава принимают участие 3 и более суставных...
26464. Общие закономерности артрологии 19.5 KB
  В сложных суставах кроме длинных боковых связок обязательно имеются: короткие боковые межрядовые межкостные крестовидные общие пальмарные и плантарные На суставах тазовой конечности связок больше чем на грудной. Закон расположения связок: связки всегда расположены перпендикулярно к оси вращения и по бокам. Толщина и количество связок зависят от объема движений в суставе.
26465. Понятие о норме, вариантах и аномалиях строения и развития органов 20.5 KB
  Понятие о норме вариантах и аномалиях строения и развития органов анатомическая норма построения органа вариант формы и строения органа свойственный каждому виду породе возрасту и полу здорового нормально функционирующего организма который наиболее часто встречаются у домашних животных 5060 Отклонения от установленной нормы средних величин не сопровождающегося нарушением функция вариант аномалия изменение формы размера расположения строения органа без влияния на его функцию. порок развития изменение формы строения...
26466. Понятие о фило-онтогенезе. Принципы филогенеза 27.5 KB
  геронтологический Основной биогенетический закон закон ГеккеляБэра пренатальный онтогенез кратко повторяет филогенез последовательно проходит стадии филогенетического развития Северцов дополнение: онтогенез является базой для филогенеза. Закон единства организма и внешней среды Живые системы открытые они постоянно обмениваются веществами и энергией со средой. Закон целостности и неделимости организма целостность живого поддерживается в процессе развития. Закон единства формы и функции форма и строение органа определяются его...
26467. Понятие об анатомии как о науке. Объекты и методы исследования 25.5 KB
  Макроскопическая анатомия определяет строение органов определяемое невооруженным глазом. Экспериментальноморфологический испытание лекарственных препаратов клетка  ткань  орган  система органов  организм цитология гистология анатомия Направления нормальной анатомии: системная анатомия сравнительная видовая объекты СА: лошадь домашняя Equis caballis КРС Bos taunus МРС Ovis carpa свинья домашняя Sus domestica собака домашняя Canis...
26468. Понятие об органе, системе и аппарате органов 25 KB
  Органы состоят из тканей tela; ткань система клеток и неклеточных структур характеризующаяся общим строением и происхождением. Система органов комплекс морфологически взаимосвязанных однородных органов органы системы имеют общее происхождение строение и функции. Костная система скелет твёрдый каркас организма Мышечная система скелетная мускулатуравспомагательный аппарат обеспечивает активное движение ОКП integumentim communnae защита Система органов пищеварения приём пищи измельчение переваривание всасывание...