Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

С++ / лаба3 / LAB3C

.docx
Скачиваний:
8
Добавлен:
04.06.2022
Размер:
238.45 Кб
Скачать

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

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

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

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

Кафедра Радиотехнических систем

Отчет

по лабораторной работе №3

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

Тема: ОПЕРАТОРЫ ВЕТВЛЕНИЯ, ПРОГРАММИРОВАНИЕ ВЕТВЯЩИХСЯ ПРОЦЕССОВ.

Студент гр. 1102

Кузембаева А. С.

Преподаватель

Андреева О. М.

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

2021

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

  1. 1. Создала новый консольный проект. Имя файла модуля – unit_If_1, имя файла проекта – Pr_If_1.

  2. Написала код, позволяющий:

  1. Cсообщить пользователю, что запущенная программа позволяет вычислить либо значение функции , либо значение функции .

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

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

П ример кода и работы 1 программы:

#include <iostream>

#include <cmath>

float fl;

float x;

float y;

int main()

{

using namespace std;

cout << "Vvedite chislo x, chtob raschitat y=1-x^2\n";

cout << "x = "; cin >> x;

y = 1 - x * x;

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

cout << "\n";

cout << "Vvedite chislo 1 chtoby raschitat y=|y|\n";

cout << "fl = "; cin >> fl;

if (fl == 1) {

cout << "y=|y|\n";

cout << abs(y);

}

if (fl != 1)

{

cin >> y;

}

начало

}

Ввод : fl,x,y

Конец

y=|y|

Fl=1?

y = 1 - x * x

П ример кода и работы 2 программы:

#include <iostream>

#include <cmath>

float fl;

float x;

float y;

int main()

{

using namespace std;

cout << "Vvedite chislo 0 chtoby raschitat y=1-x^2,ili luboe drugoe chislo chtob raschitat y=|1-x^2|\n";

cout << "fl = "; cin >> fl;

if (fl == 0) {

cout << "Vicheslyaem y=1-x^2\n";

cout << "x = "; cin >> x;

y = 1 - x * x;

cout << "y=1-x^2\n";

cout << (y);

}

if (fl != 0)

{

cout << "Vicheslyaem y=|1-x^2|\n";

cout << "x = "; cin >> x;

cout << "y=|1-x^2|\n";

cout << abs(1 - x * x);

Начало

}

}

y = 1 - x * x

Fl=0?

float fl; float x; float y;

Конец

y = |1 - x * x|

НЕТ ДА

УПР 2

  1. Открыла проект OperatorSwitch.

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

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

  4. Блок-схема программы:

Начало

y=3x+7

num=1||2||3?

Ввод: float x, res; int num

нет

1 3

Конец

y=lg(x)

y=sin(x)

2

5) Запустила проект, убедилась в его работоспособности:

6) Убрала команды break, запустила проект и просмотрела его работу во всех возможных ветвях. Программа не верна:

7) Просмотрела работу проекта в пошаговом режиме (трассировка должна

начаться с оператора switch), чтобы пронаблюдать причины ошибки. Вернула

исходный вариант работы.

8)Изменила проект так, чтобы при расчете третьей функции учитывалась

бы ее область определения. Запустила, убедилась в его работоспособности,

сохранила все изменения.

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

Соседние файлы в папке лаба3