Экспериментальные результаты




МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

Электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра Телевидения и Видеотехники

 

 

отчет

По лабораторной работе№8

По дисциплине «Информатика»

Тема: ОПЕРАТОРЫВЕТВЛЕНИЯ,

ПРОГРАММИРОВАНИЕ ВЕТВЯЩИХСЯ ПРОЦЕССОВ

 

Студенткагр. 7106   Рязанцева М.Н.
Преподаватель   Чиркунова А.А.

 

Санкт-Петербург

Цель работы: освоение способов реализации ветвящихся процессов на основе конструкций языка С++

 

Основные теоретические положения

Операторы ветвления в С++

1. Неполное ветвление:

if (условие) <простой оператор>;

или

if (условие) {<составной оператор>;}

 

2. Полное ветвление

if (условие) {код;} else {код;}

 

3. Ветвление «с продолжением»

if (условие) {код}

elseif (условие2) {код}

elseif(условие3) {код}

или

if (условие) {код}

elseif (условие2) {код}

else if(условие3) {код}

else {код}

4. Особенности операторов полного, неполного ветвления и ветвления «с продолжением»

4.1. ВС++ логическое выражение после слова if обязательно должно быть в круглых скобках; код обязательно должен заканчиваться точкой с запятой вне зависимости от наличия/отсутствия операторных скобок.

4.2.При вычислении условия используются следующие знаки сравнения и логические операции

Знаки сравнения   Логические операции
Знак Смысл   Оператор Смысл
== Равно   && Логическое «И»
!= Не равно   || Логическое «ИЛИ»
< Меньше   ! Логичес ое «НЕ»
> Больше      
<= Меньше либо равно      
>= Больше либо равно      

4.3.В условии могут стоять любые операторы, причем это не обязательно операторы отношения или логические. Считается, что любой ненулевой результат соответствует значению ИСТИНА (True), а нулевой — ЛОЖЬ (False).

 

5. Переключатель

switch (условие)

{

case константа: инструкции;break;

case константа: инструкции;break;

case константа: инструкции;break;

case константа: инструкции;break;

default: инструкции

}

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

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

В конце каждой ветви достаточно часто ставится инструкция break. Это связано с тем, что после выполнения одной ветви программа проверяет возможность выполнения остальных "ниже" находящихся ветвей. Инструкция break вызывает немедленный выход из переключателя switch.

 

Экспериментальные результаты

1. Код, позволяющий:

· Пользователю выбрать вычисление либо значения функции , либо значения функции ;

· вводить значение аргумента функции (переменная х);

· вводить целое число-«флажок», который будет управлять режимом расчета. (Будем полагать, что при вводе в качестве значения «флажка» 1 (единицы) будет вычисляться , а при вводе в качестве значения «флажка» 0 (нуля) будет вычислять функция )

§ Код

#include<vcl.h>

#include <math.h>

#include <iostream.h>

#pragma hdrstop

#pragma argsused

intmain(intargc, char* argv[])

{

double x, y;

intfl;

cout<<"Vvedite x:";

cin>> x;

cout<<"Vvedite '0' dlya y=1-x^2 ili '1' dlya y=|1-x^2|"<<endl;

cin>>fl;

if (fl==0) y=1-pow(x,2);

else y=abs(1-pow(x,2));

cout<< "y=" << y <<endl;

cin>> x;

return 0;

}

 

§ Программа

2. код для определения нужного значения функции в соответствии со схемой алгоритма, приведенной на рис. 4

§ Код

#include<vcl.h>

#include <math.h>

#include <iostream.h>

#pragmahdrstop

#pragma argsused

intmain(intargc, char* argv[])

{

double x, y;

intfl;

cout<<"Vvedite x:";

cin>> x;

cout<<" Vvedite '0' dlya y=1-x^2 ili '1' dlya y=|1-x^2|"<<endl;

cin>>fl;

y=1-pow(x,2);

if (fl==1) y=abs(y);

cout<< "y=" << y <<endl;

cin>> x;

return 0;

}

 

§ Программа

3. Код, позволяющий сообщить пользователю результат расчета

§ Код

#include <vcl.h>

#include <iostream.h>

#pragma hdrstop

#pragma argsused

intmain(intargc, char* argv[])

{

int flag, a;

float U, R, I;

cout<< "===========================ZakonOma===========================\n";

cout<< "Vvedite 1 dlyaraschetasilytoka\n";

cout<< "Vvedite 2 dlyaraschetasoprotivleniya\n";

cout<< "Vvedite 3 dlyaraschetanapryazheniya\n";

cin>> flag;

switch(flag)

{

case 1: cout<< "Vveditenapryazhenie\n";

cin>> U;

Q1:cout<< "Vveditesoprotivlenie\n";

cin>> R;

if (R!=0)

{

I=U/R;

cout<< "Otvet: I=" << I <<endl;

}

else {cout<< "Error!\n"; goto Q1;}

break;

case 2: cout<< "Vveditenapryazhenie\n";

cin>>U;

Q2: cout<< "Vveditesilytoka\n";

cin>>I;

if (I!=0)

{

R=U/I;

cout<< "Otvet: R=" << R <<endl;

}

else {cout<< "Error!\n"; goto Q2;}

break;

case 3: cout<< "Vveditesoprotivlenie\n";

cin>>R;

cout<< "Vveditesilytoka\n";

cin>>I;

U=R*I;

cout<<"Otvet: U="<<U<<endl;

break;

}

cout<< "Nazhmitelyubuyuklavishudlyavyhoda...\n";

cin>>a;

return 0;

}

 

§ Программа

 

4. Switch

§ Код

#include<vcl.h>

#include <iostream.h>

#pragma hdrstop

#pragma argsused

intmain(intargc, char* argv[])

{

int flag, a;

float U, R, I;

cout<< "===========================ZakonOma===========================\n";

cout<< "Vvedite 1 dlyaraschetasilytoka\n";

cout<< "Vvedite 2 dlyaraschetasoprotivleniya\n";

cout<< "Vvedite 3 dlyaraschetanapryazheniya\n";

cin>> flag;

if (flag==1)

{

cout<< "Vveditenapryazhenie\n"; cin>> U;

Q1:cout<< "Vveditesoprotivlenie\n"; cin>> R;

if (R!=0)

{

I=U/R;

cout<< "Otvet: I=" << I <<endl;

}

else {cout<< "Error!\n"; goto Q1;}

}

else if (flag==2)

{

cout<< "Vveditenapryazhenie\n";

cin>>U;

Q2: cout<< "Vveditesilytoka\n";

cin>>I;

if (I!=0)

{

R=U/I;

cout<< "Otvet: R=" << R <<endl;

}

else {cout<< "Error!\n"; goto Q2;}

}

else if (flag==3)

{

cout<< "Vveditesoprotivlenie\n";

cin>>R;

cout<< "Vveditesilytoka\n";

cin>>I;

U=R*I;

cout<<"Otvet: U="<<U<<endl;

}

cout<< "Nazhmitelyubuyuklavishudlyavyhoda...\n";

cin>>a;

return 0;

}

 

§ Программа

 

 

Вывод: мы освоили все виды ветвящихся процессов в с++



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: