Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






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




Условный оператор if используется для разветвления процесса вычислений на два направления. Формат оператора:

 

i f (выражение) оператор_1; [else оператор_2;]

 

Сначала вычисляется выражение, которое может иметь арифметический тип или тип указателя. Если оно не равно нулю (имеет значение true), выполняется первый оператор, иначе — второй. После этого управление передается на оператор, следующий за условным.

Одна из ветвей может отсутствовать, логичнее опускать вторую ветвь вместе с ключевым словом еlse. Если в какой-либо ветви требуется выполнить несколько операторов, их необходимо заключить в блок, иначе компилятор не сможет понять, где заканчивается ветвление.

Оператор switch

Оператор switch (переключатель) предназначен для разветвления процесса вычислений па несколько направлений. Структурная схема оператора приведена на рис. Формат оператора:

 

switch (выражение){

case константное_выражение_1: [список_операторов_1];

case константное_выражение_2: [список_операторов_2];

case константное_выражение_n: [список_операторов_n];

[default: операторы ];

}

Выполнение оператора начинается с вычисления выражения (оно должно быть целочисленным), а затем управление передается первому оператору из списка, помеченного константным выражением, значение которого совпало с вычисленным. После этого, если выход из переключателя явно не указан, последовательно выполняются все остальные ветви. Выход из переключателя обычно выполняется с помощью операторов break или return. Если совпадения не произошло, выполняются операторы, расположенные после слова default (а при его отсутствии управление передается следующему за switch оператору).

 

 

Задание

 

 

1. Для задачи «Условный оператор» с оставить программу, которая предусматривает:

- работу с пользователем в режиме диалога;

- ввод с клавиатуры координат точки (x, y);

вывод на экран ответа о принадлежности точки заданной фигуре.

2. Составить программу с использованием оператора switch.

Варианты

Условный оператор Оператор switch  
 
 
 
 
  Введите символ и выведите на печать соответствующее ему название страны мира. Например, символу "И", соответствует страна Италия. Если такого символа нет, то сделайте сообщение
  Введите символ и выведите на печать соответствующую ему птицу. Например, символу "с", соответствует "сорока". Если такого символа нет, то сделайте сообщение.  
  Введите символ и выведите на печать соответствующее ему название ему название озера мира. Например, символу "Б", соответствует озеро Байкал. Если такого символа нет, вывести сообщение
  Введите символ и выведите на печать соответствующее ему название реки мира. Например, символу "Г" соответствует река Ганг. Если такого символа нет, сделайте сообщение
  Введите символ и выведите на печать соответствующий ему цвет. Например, символу "с" соответствует "синий цвет". Если такого символа нет, то сделайте сообщение.  
  Введите символ и выведите на печать соответствующий ему знак препинания. Например, символу "т" соответствует "точка". Если такого символа нет, то сделайте сообщение.  
  Введите цифру и распечатайте соответствующее ей время года. Например, единице соответствует "зима". Если такой цифры нет, то сделайте сообщение.  
  Введите номер дня и напечатайте соответствующее ему название. Например, единице соответствует "понедельник". Если такого номера нет, то сделайте сообщение.  
  Введите символ и выведите на печать соответствующее ему растение. Например, символу "т" соответствует "тополь". Если такого символа нет, то сделайте сообщение.  
  Составить программу, которая при вводе курса выводит количество человек на этом курсе 1 курс – 40 чел. 2 курс – 60 чел. 3 курс – 20 чел. 4 курс – 25 чел. 5 курс – 30 чел. другая цифра – вывести "нет данных".  
  Составить программу, которая при вводе буквы категории водительских прав расшифровывает право вождения транспортного средства A - Мотоцикл B – Легковой автомобиль C - Грузовик D – Пассажирский транспорт E – Транспортное средство с прицепом другая цифра – вывести 'no date'.  
  Составить программу, которая в зависимости от введенного числа вычисляет функцию следующим образом n=1,3: y=n×ln(n) n=2.3..5: y=n  
  Составить программу, которая выводит надбавку к заработной плате в зависимости от стажа от 1 до 10 лет: 1000 от 11 до 20 лет: 2000 от 21 до 30 лет: 3000 другая цифра – вывести 'no date'.
  Составить программу, которая при вводе курса выводит количество человек на этом курсе 1 курс – 40 чел. 2 курс – 60 чел. 3 курс – 20 чел. 4 курс – 25 чел. 5 курс – 30 чел. другая цифра – вывести "нет данных".
  Введите символ и распечатайте соответствующую ему животное. Например символу "Т", соответствует "тигр". Если такого символа нет, то сделайте сообщение.  
  Введите символ и выведите на печать соответствующее ему название города России. Например, символу "О", соответствует город Омск. Если такого символа нет. То сделайте сообщение.  

 

Пример выполнения задачи 1:

Составить программу, которая предусматривает:

- работу с пользователем в режиме диалога;

- ввод с клавиатуры координат точки (x, y);

- вывод на экран ответа о принадлежности точки заданной фигуре.

Анализ поставленной задачи

 

Для решения поставленной задачи необходимо составить систему условий. Так, если x<0, то точка однозначно не принадлежит области.

Если х≥0, то необходимо проверить, принадлежит ли точка с введенными с клавиатуры координатами закрашенной области – треугольнику. Для этого координаты должны удовлетворять одновременно трем условиям:

Условие 1 х≥0
Условие 2 у = 14 и у = - 14 – горизонтальные прямые на рисунке. Так как фигура симметричная относительно оси ОХ, то можно записать это условие как -
Условие 3 - точки, лежащие над (под) прямой

 

Далее надо исключить из треугольника область – окружность. Для точек, лежащих вне окружности справедливо: - верхнее полупространство и - нижнее полупространство. Так как фигура симметричная, то можно записать .

Алгоритм решения программы следующий:

1. Ввод координат с клавиатуры

2. Проверяем х – отрицательное или положительное число. Если x<0 то выводим сообщение, что точка не принадлежит области.

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

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

 

Если требуется проверить несколько условий, их объединяют знаками логических операций. В программе приведенной ниже необходимо проверить выполняются ли одновременно 2 и 3 условие. Для этого используется операция логического умножения «И» - &&. Если бы нужно было, чтобы выполнялось либо условие 2, либо условие 3, то тогда использовалась бы операция логического сложения «ИЛИ» - ||. Модуль записывается как fabs(y).

 

Пример программы

#include<iostream.h>

#include<conio.h>

#include<math.h>

 

int main()

{

double x,y;

cout<<"Введите координаты \n";

cin>>x>>y;

if (x<0) cout<<"Точка не принадлежит области";

else

if ((fabs(y)>=7*x/14)&&(fabs(y)<=14))

if (pow((x-4),2)+ pow((fabs(y)-9),2)>=4)

cout << " Точка принадлежит области ";

else

cout << " Точка не принадлежит области ";

else cout << " Точка не принадлежит области ";

getch();

}

Типичные ошибки при выполнении работы:

Не забывайте после слова if заключать условие в скобки

При выводе сообщений направление потоков <<. Неправильно будет cout>>

При вводе данных с клавиатуры направление потоков >>. Неправильно будет cin<<

Если необходимо проверить равенство, то в условии записывается два знака ==. Например, неправильно будет if (x=3). Правильно - if (x==3)

Пример выполнения задачи 2:

Вычислить функцию

Значения х и у вводятся с клавиатуры

Пример выполнения программы:

#include <iostream.h>

#include <conio.h>

#include <math.h>

int main()

{

double f; int k,x,y;

cout << "Введите х и у\n" << "x=";

cin >> x;

cout <<"y=";

cin >> y;

k=x+y;

switch (k)

{

case 7: f=x*x+y*y; cout << "f= " << f;break;

case 0: f=x-y*y; cout << "f= " << f;break;

default: f=pow((x+y),2); cout << "f= " << f;

}

 

getch();

return 0;

}

Схема алгоритма программы (задание 1) Оператор if Схема алгоритма программы (задание 2) Оператор switch

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных