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

Тема: Условные операторы и операторы множественного выбора в языке С++

Цель: Изучить алгоритмы работы ветвящихся операторов и отработать на практике принципы программирования.

1.  Задания для самостоятельного выполнения.

2.  Методические указания.

3.  Пример выполнения задания.

4.  Рейтинговый контроль.

1.Задания для самостоятельного выполнения.

Вариант №1

1. Вычислить значения выражений, учитывая ограниченность входных данных:

2. Вычислить значения полинома M(x) в зависимости от значения переменной

y при x = 0,7.

3. Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

Вариант №2

1. Вычислить значения выражений, учитывая ограниченность входных данных:

2. Составить программу вычисления функции y в зависимости от значения а:

Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

Вариант №3

1. Вычислить значения выражений, учитывая ограниченность входных данных:

2. Даны три целых положительных числа a, b, c. Найти остаток от деления

на 3 величины m; вычислить значение функции

3. Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

НЕ нашли? Не то? Что вы ищете?

Вариант №4

1. Вычислить значения выражений, учитывая ограниченность входных данных:

2. Составить программу вычисления функции y в зависимости от значения t.

3. Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

Вариант №5

1. Вычислить значения выражений, учитывая ограниченность входных данных:

2. Вычислить и напечатать значения функции при следующих условиях:

Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

Вариант №6

1. Вычислить значения выражений, учитывая ограниченность входных данных:

2. Составить программу вычисления площадей различных геометрических

фигур:

3. Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

Вариант №7

1. Вычислить значения выражений, учитывая ограниченность входных данных:

2. Вычислить и напечатать значения функции при следующих условиях:

3. Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

Вариант №8

1. Вычислить значения выражений, учитывая ограниченность входных данных:

2. Вычислить и напечатать значения функции при следующих условиях:

где m = (a + b2)/c; a, b, c – целые, положительные числа

3. Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

Вариант №9

1. Вычислить значения выражений, учитывая ограниченность входных данных:

2. Вычислить и напечатать значения функции при следующих условиях:

3. Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

Вариант №10

1. Вычислить значения выражений, учитывая ограниченность входных данных:

2. Вычислить и напечатать значения функции при следующих условиях:

3. Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

Вариант №11

1. Вычислить значения выражений, учитывая ограниченность входных данных:

2. Составить программу вычисления функции y в зависимости от значения а:

3. Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

Вариант №12

1. Вычислить значения выражений, учитывая ограниченность входных данных:

2. Вычислить и вывести на экран значение функции F :

3. Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

2. Методические указания

Оператор if

Формат оператора:

if (выражение) оператор-1; [else оператор-2;]

Выполнение оператора if начинается с вычисления выражения.

Далее выполнение осуществляется по следующей схеме:

- если выражение истинно (т. е. отлично от 0), то выполняется оператор-1.

- если выражение ложно (т. е. равно 0),то выполняется оператор-2.

- если выражение ложно и отсутствует оператор-2 (в квадратные скобки заключена необязательная конструкция), то выполняется следующий за if оператор.

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

Пример:

if (i < j) i++:

else { j = i-3; i++; }

Этот пример иллюстрирует также и тот факт, что на месте оператор-1, так же как и на месте оператор-2 могут находиться сложные конструкции.

Допускается использование вложенных операторов if. Оператор if может быть включен в конструкцию if или в конструкцию else другого оператора if. Чтобы сделать программу более читабельной, рекомендуется группировать операторы и конструкции во вложенных операторах if, используя фигурные скобки. Если же фигурные скобки опущены, то компилятор связывает каждое ключевое слово else с наиболее близким if, для которого нет else.

Оператор switch

Оператор switch предназначен для организации выбора из множества различных вариантов. Формат оператора следующий:

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

{ [объявление]

:

[ case константное-выражение1]: [ список-операторов1]

[ case константное-выражение2]: [ список-операторов2]

:

:

[ default: [ список операторов ]]

}

Выражение, следующее за ключевым словом switch в круглых скобках, может быть любым выражением, допустимыми в языке СИ, значение которого должно быть целым. Отметим, что можно использовать явное приведение к целому типу, однако необходимо помнить о тех ограничениях и рекомендациях, о которых говорилось выше.

Отметим, что в операторе switch можно использовать свои локальные переменные, объявления которых находятся перед первым ключевым словом case, однако в объявлениях не должна использоваться инициализация.

Схема выполнения оператора switch следующая:

- вычисляется выражение в круглых скобках;

- вычисленные значения последовательно сравниваются с константными выражениями, следующими за ключевыми словами case;

- если одно из константных выражений совпадает со значением выражения, то управление передается на оператор, помеченный соответствующим ключевым словом case;

- если ни одно из константных выражений не равно выражению, то управление передается на оператор, помеченный ключевым словом default, а в случае его отсутствия управление передается на следующий после switch оператор.

Отметим интересную особенность использования оператора switch: конструкция со словом default может быть не последней в теле оператора switch. Ключевые слова case и default в теле оператора switch существенны только при начальной проверке, когда определяется начальная точка выполнения тела оператора switch. Все операторы, между начальным оператором и концом тела, выполняются вне зависимости от ключевых слов, если только какой-то из операторов не передаст управления из тела оператора switch. Таким образом, программист должен сам позаботится о выходе из case, если это необходимо. Чаще всего для этого используется оператор break.

Для того, чтобы выполнить одни и те же действия для различных значений выражения, можно пометить один и тот же оператор несколькими ключевыми словами case.

Пример:

int i=2;

switch (i)

{

case 1: i += 2;

case 2: i *= 3;

case 0: i /= 2;

case 4: i -= 5;

default: ;

}

Выполнение оператора switch начинается с оператора, помеченного case 2. Таким образом, переменная i получает значение, равное 6, далее выполняется оператор, помеченный ключевым словом case 0, а затем case 4, переменная i примет значение 3, а затем значение -2. Оператор, помеченный ключевым словом default, не изменяет значения переменной.

Данная лабораторная работа предусматривает в качестве контроля отчет в печатном виде и его защита

Отчет должен включать в себя:

1.  Текст задания

2.  Блок – схему

3.  Программный код с комментариями

4.  Примеры рез-та работы программы.

3. Пример выполнения заданий.

1. Вычислить значения выражений, учитывая ограниченность входных данных:

Код Программы:

#include <conio. h>;

#include <iostream. h>;

#include <math. h>;

void main (void)

{

clrscr();

float z1,a, b,z2,x;

сout<<”vvedite a, b, x”;

cin>>a>>b>>x;

z1=pow((cos(a)-cos(b)),2)-pow((sin(a)-sin(b)),2);

if((x<-3)||(x>3)) z2=pow((x+3)/(x-3),1/2);

cout<<"z1="<<z1<<" z2="<<z2;

getch();

}

2. Составить программу вычисления функции y в зависимости от значения а:

Код программы:

#include <conio. h>;

#include <iostream. h>;

#include <math. h>;

void main (void)

{

clrscr();

float b, c,x, y;

int a;

cin>>a>>b>>c>>x;

switch(a)

{

case 2: y=a+b*x+b*x*x; cout<<"y= "<<y; break;

case 3: y=(a*sin(x))*(a*sin(x)); cout<<"y= "<<y; break;

case 4: y=a+b*x; cout<<"y= "<<y; break;

case 5: y=a*x*x*x*x/4 + b*x*x/2; cout<<"y= "<<y; break;

default: cout<<"neverniy vvod";

}

getch();

}

3. Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную область. Напечатать значение этого выражения для заданных x и y.

#include <conio. h>;

#include <iostream. h>;

#include <math. h>;

void main (void)

{

clrscr();

float x, y,z;

cin>>x>>y;

if((y>=0)&&(x>=0)&&((x*x+y*y)<=1)) cout<<"TRUE";

else if((y<=0)&&(x<=0)&&((x*x+y*y)<=1)) cout<<"TRUE";

else cout<<"FALSE";

getch();}

4. Рейтинговый контроль.

Выполнение задания в аудитории

2 балла

Отчет лабораторной работы

2 балла

Максимум за работу

4 балла

Минимум за работу

0 баллов