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

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


 

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

39111. Устойчивое лесопользование 27.73 KB
  Сегодня обстановка быстро меняется и все действующие лица устойчивого лесопользования: компании по переработке древесины государственные учреждения природоохранные и общественные организации – все они принимают участие в поиске возможностей по ускорению реформ увеличению инвестиций в лесное дело и развитие общественных институтов благоприятствующих инвестициям и реформам. Если раньше леса ценились прежде всего как источник древесины теперь в них хотят видеть место обитания животных птиц растений источник биоразнообразия; ценятся...
39112. Природные кризисы в истории развития жизни на Земле 278.5 KB
  Важнейшие катастрофы26 Заключение39 Список используемой литературы43 Приложения. При рассмотрении вопроса природных и искусственных катастроф на Земле именно в этом контексте хотелось бы определиться со значимостью изучения этого вопроса для будущего человечества ибо именно катастрофы приводят к самым большим бедствиям и разрушениям имеют огромное влияние на дальнейшее развитие всего живого как и в конкретном регионе так и на всей планете. Часто это...
39113. Ноосферная концепция В.И. Вернадского 52.5 KB
  Осознавая огромную роль и значение человека в жизни и преобразовании планеты русский ученый употреблял понятие ноосфера в разных смыслах: 1.[2] Таким образом понятие ноосфера предстаёт в двух аспектах: 1. Ноосфера в стадии становления развивающаяся стихийно с момента появления человека; 2. Ноосфера развитая сознательно формируемая совместными усилиями людей в интересах всестороннего развития всего человечества и каждого отдельного человека.
39114. Устойчивое развитие и эколого – правовой режим охраны природных ресурсов и объектов 71.5 KB
  Человек всегда использовал окружающую среду в основном как источник ресурсов, однако в течение очень длительного времени его деятельность не оказывала заметного влияния на биосферу. Лишь в конце дошлого столетия изменения биосферы под влиянием хозяйственной деятельности обратили на себя внимание ученых. В первой половине нынешнего века эти изменения нарастали и в настоящее время лавиной обрушились на человеческую цивилизацию
39115. ИССЛЕДОВАНИЕ КОРОННОГО РАЗРЯДА 305.5 KB
  Если к двум электродам между которыми находится газовый промежуток приложить электрическое поле то при определенной разности потенциалов между электродами которую назовем критической и обозначим через U0 возникает коронный разряд. При прочих равных условиях вероятность появления свечения вокруг электрода а следовательно короны тем больше чем меньше радиус кривизны электродов. Свечение возникающее при коронном разряде около электрода связано с элементарными процессами происходящими на границе электрод воздух или в объеме...
39116. ИССЛЕДОВАНИЕ КОРОННОГО РАЗРЯДА. Отрицательный коронный разряд 85 KB
  Кроме того критические потенциалы коронного разряда и искрового пробоя Uп неодинаковы. Возникновение коронного разряда объясняется появлением вблизи коронирующего электрода резкой неоднородности электрического поля значительно превосходящей напряженность электрического поля на других участках воздушного промежутка между электродами. Для возникновения коронного разряда напряженность поля у электрода должна превосходить электрическую прочность воздуха.
39117. ПСИХОФИЗИОЛОГИЧЕСКИЕ ПОДХОДЫ И ТЕОРИИ, ОКАЗАВШИЕ ЗНАЧИТЕЛЬНОЕ ВЛИЯНИЕ НА РАЗВИТИЕ ОТЕЧЕСТВЕННОЙ ПСИХОЛОГИИ 102.5 KB
  Основным фактором детерминирующим развитие и функционирование живых организмов а также отдельных физиологических систем в составе организма выступает не прошлое событие а подготовка к еще не наступившим событиям которая обеспечивается прогнозированием результатов предстоящих действий на основе опережающего отражения и механизмами целеполагания. Любой поведенческий акт живого организма обеспечивается рядом системных механизмов и процессов которые организуются в функциональную систему: механизм афферентного синтеза...
39118. АЛЬТЕРНАТИВНЫЕ ОБЩЕПСИХОЛОГИЧЕСКИЕ ТЕОРИИ И ТЕОРЕТИЧЕСКИЕ ПОДХОДЫ К ОБЪЯСНЕНИЮ ПСИХИЧЕСКИХ ЯВЛЕНИЙ 63.5 KB
  Строгий естественнонаучный подход к анализу и объяснению психических явлений в психологии поведения. В качестве одного из основателей объективной психологии поведения называют российского физиолога И. Вместе с тем это направление имеет множество научных достижений которые составляют золотой фонд мировой психологии: исследована эффективность различных типов подкрепления поощрения и наказания в процессах научения разработано множество тонких методов позволяющих регистрировать различные формы поведения животных установлено...
39119. КУЛЬТУРНО-ИСТОРИЧЕСКИЙ И СИСТЕМНО-ДЕЯТЕЛЬНОСТНЫЙ ПОДХОДЫ К АНАЛИЗУ И ОБЪЯСНЕНИЮ ПСИХИЧЕСКИХ ЯВЛЕНИЙ 172 KB
  Культурное развитие человека представляет собой формирование и развитие в совместной деятельности и общении высших психических функций ВПФ. Источник развития человеческой психики находится во внешней идеальной форме – в фиксированных в человеческой культуре средствах и способах деятельности и общения которыми необходимо овладеть. Формирование ВПФ выделяет человека из животного мира и заключается в присвоении культурноисторического опыта человечества что обеспечивает изменение структуры деятельности и психики человека. При этом...