
Лабораторочки / cpp3
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра РС
отчет
по лабораторной работе №3
по дисциплине «Информатика»
Тема: «ОПЕРАТОРЫ ВЕТВЛЕНИЯ,
ПРОГРАММИРОВАНИЕ ВЕТВЯЩИХСЯ ПРОЦЕССОВ.»
Студент гр. фыв |
|
фыв |
Преподаватель |
|
Мамчур Р.М. |
Санкт-Петербург
2023
Цель работы.
Освоение способов реализации ветвящихся процессов на основе конструкций языка С++.
Основные теоретические положения.
Краткие теоретические сведения:
I. Операторы ветвления в С++
1. Неполное ветвление:
if (условие) <простой оператор>;
или
if (условие) {<составной оператор>;}
2. Полное ветвление
if (условие) {код;} else {код;}
3. Ветвление «с продолжением»
if (условие) {код}
else if (условие2) {код}
else if(условие3) {код}
или
if (условие) {код}
else if (условие2) {код}
else if(условие3) {код}
else {код}
5. Переключатель
switch (условие)
{
case константа: инструкции;break;
case константа: инструкции;break;
case константа: инструкции;break;
…
case константа: инструкции;break;
default: инструкции
}
Каждая ветвь case может быть помечена одной или несколькими целочисленными константами или же константными выражениями. Выполняется та ветвь case, для которой константа (выражение) совпала с условием, указанным в начале переключателя switch. Если выяснилось, что ни одна из констант не подходит, то выполняется ветвь default. Если этой ветви нет, то ничего не выполняется. В конце каждой ветви достаточно часто ставится инструкция break. Это связано с тем, что после выполнения одной ветви программа проверяет возможность выполнения остальных "ниже" находящихся ветвей. Инструкция break вызывает немедленный выход из переключателя switch.
Экспериментальные результаты.
Упражнение 1
#include <iostream.h>
#include <stdio.h>
#include <math.h>
int _tmain(int argc, _TCHAR* argv[])
{
int fl;
float x,y;
cout << "Programma pozvolyaet vychyslit' znachenie y=1-x*x ili y=|1-x*x|" << endl;
cout << "Pri fl=0 programma poshitaet y=1-x*x; Pri fl=1 programma poshitaet y=|1-x*x|" << endl;
cout << "Vvedite fl ";//ввод переменной fl для выбора функции
cin >> fl;
cout << "Vvedite x ";//ввод переменной х
cin >> x;
y = 1 - x*x;
if (fl==1) y=abs(y);
cout << "Otvet " << y;
cout << "Press any key \n";
cin >> x;
return 0;
}
#include <iostream.h>
#include <stdio.h>
#include <math.h>
int _tmain(int argc, _TCHAR* argv[])
{
int fl;
float x,y;
cout << "Programma pozvolyaet vychyslit' znachenie y=1-x*x ili y=|1-x*x|" << endl;
cout << "Pri fl=0 programma poshitaet y=1-x*x; Pri fl=1 programma poshitaet y=|1-x*x|" << endl;
cout << "Vvedite fl ";//ввод переменной fl для выбора функции
cin >> fl;
cout << "Vvedite x ";//ввод переменной х
cin >> x;
if (fl==0) y=1-x*x;
else y=abs(1-x*x);
cout << "Otvet " << y << endl;
cout << "Press any key ";
cin >> x;
return 0;
}
Результаты работы программы, сделанной по первому алгоритму:
Результаты работы программы, сделанной по второму алгоритму:
Упражнение 2
Результаты работы программы:
Результат работы без break:
Код программы, учитывающий область определения 3-ей функции:
cout << "Ukagite nomer functii (vvedite 1, 2, ili 3): ";
cin >> num;
cout << "Vvedite znachenie argumenta functii: X= "; cin >> x;
if ((num==1)||(num==2)||(num==3 && x>0))
Результат:
Код программы по п.9:
Код программы по п.10:
Выводы.
В процессе выполнения работы были освоены процессы ветвления в языке программирования C++.