НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра ППиМЭ
Лабораторная работа № 2
Студент Зазуля Полина Сергеевна
Группа РН12 - 71
Дата выполнения 11.02.2008
Преподаватель Кудашов Алексей Геннадьевич
Отметка о защите _________________
НОВОСИБИРСК 2008
1. Проанализировать и исполнить программы Murka-2007 раздела if_else (часть Ветвления). На приведенных примерах освоить синтаксис операторов if и if-else и особенности их использования. Восстановить и зарисовать блок-схемы, реализованные в программах 3_ifelse, 4_ifelse, 5_ifelse, 6_ifelse, 7_ifelse, 8_ifelse. Зафиксировать в рабочем журнале результаты их исполнения для четырех возможных комбинаций ключей, оформив их в виде следующей таблицы:
key1 |
0 |
0 |
1 |
1 |
key2 |
0 |
1 |
0 |
1 |
3_ifelse |
||||
... |
||||
8_ifelse |
В разделе if_else (часть Ветвления) представлены программы с использованием операторов выбора. Оператором единственного выбора является опеператор if(). В скобках записывается условие, которое проверяется на истинность. Если условие истинно, то выполняется выражение стоящее после оператора. Если при данном условии должно выполняться несколько инструкций, то для этого используется составной оператор, т.е. инструкции объединяются фигурными скобками в блок. Для бинарного ветвления предназначен оператор if-else. Операторы if и if-else могут входить внутрь блоков других операторов if и if-else. Ниже представлены блок-схемы программ с использованием операторов выбора.
Блок-схема программы 3_ifelse
Блок-схема программы 4_ifelse
Блок-схема программы 5_ifelse
Блок-схема программы 6_ifelse
Блок-схема программы 7_ifelse
Блок-схема программы 8_ifelse
Результаты исполнения программ разделаif_else (часть Ветвления) следующие:
Key 1 |
0 |
0 |
1 |
1 |
Key 2 |
0 |
1 |
0 |
1 |
3_ifelse |
Key = 0 |
Key = 0 |
Key не равен 0 |
Key не равен 0 |
4_ifelse |
A |
B |
C |
C |
5_ifelse |
A |
A |
B |
C |
6_ifelse |
A |
B |
C |
D |
7_ifelse |
A |
B |
- |
- |
8_ifelse |
A |
- |
B |
B |
2. Проанализировать и исполнить программы Murka раздела Логические операции (часть Ветвления). Освоить правила записи сложных логических выражений, использующих несколько операций отношения и операции NOT, OR и AND.
В языке си++ имеется возможность записи логических операций: отрицание NOT (!a), логическое сложение OR (a||b) и логическое умножение AND (a&&b). Они работают по правилу де Моргана:
Отрицание суммы равно произведению отрицаний слагаемых.
Отрицание произведения равно сумме отрицаний сомножителей.
3. Разработать программу для расчета значения одной из следующих ниже кусочно-разрывных функций. Выполнить двумя способами: с использованием вложенной структуры операторов if-else и с использованием только операторов if. При проверке работы программы особое внимание обратить на правильность расчета в точках разрыва.
Структура входных и выходных данных следующая:
x – данное вещественное значение, которое вводятся в программу с клавиатуры. f - вещественное значение, рассчитанное по заданным формулам.
Блок-схема программы:
Способ первый с использованием вложенной структуры if-else:
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
double x,f;
clrscr();
cout<<"Введите аргумент: x = ";
cin>>x;
if(x<0)
f=x;
else
if(x<2)
f=x*x+1;
else
f=sqrt(x*x+x);
cout<<"Значение функции: "<<f<<endl;
getch();
}
Набор входных данных1: x = -3.
Результат работы программы:
Введите аргумент: x = -3
Значение функции: -3
Набор входных данных2: x = 1.
Результат работы программы:
Введите аргумент: x = 1
Значение функции: 2
Набор входных данных3: x = 4.
Результат работы программы:
Введите аргумент: x = 4
Значение функции: 4.472136
Способ второй с использованием только операторовif:
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
double x,f;
clrscr();
cout<<"Введите аргумент: x = ";
cin>>x;
if(x<0)
f=x;
if((x>=0)&&(x<2))
f=x*x+1;
if(x>2)
f=sqrt(x*x+x);
cout<<"Значение функции: "<<f<<endl;
getch();
}
Набор входных данных1: x = -3.
Результат работы программы:
Введите аргумент: x = -3
Значение функции: -3
Набор входных данных2: x = 1.
Результат работы программы:
Введите аргумент: x = 1
Значение функции: 2
Набор входных данных3: x = 4.
Результат работы программы:
Введите аргумент: x = 4
Значение функции: 4.472136
4. Разработать программу для расчета значения одной из кусочно-разрывных функций, заданных следующими ниже графиками.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.