- •Отчет по лабораторным работам
- •Лабораторная работа №2 Тема: Разветвляющиеся алгоритмы
- •Задание 1. Ветвление с двумя альтернативами
- •Задание 2. Вложенные ветвления
- •Задание 3. Оператор множественного выбора
- •Лабораторная работа № 3 Тема: Операторы повторений
- •Лабораторная работа № 4 Тема: Одномерный массив
- •Лабораторная работа № 5 Тема: Двумерные массивы
- •Лабораторная работа № 6 Тема: Итерация
- •Лабораторная работа № 7 Тема: Работа с файлами
- •Самостоятельная работа №1
- •Самостоятельная работа №2
- •Самостоятельная работа №3 Тема: Одномерный массив
Задание 3. Оператор множественного выбора
Задание. Составить схему алгоритма и программу на языке С++ для вычисления значений функции y=f(x) при произвольных значениях x.
a=2,73
b=1,68
x=-2; 3; 5; 7
Решение:
Блок – схема алгоритма
Нет
Да
Нет
Нет
Да
Да
Код программы
#include "stdafx.h"
#include <iostream>
#include "math.h"
#include <cstdlib>
#include <stdio.h>
#include <locale.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
system("cls");
double a, b, y;
int x;
a = 2.73;
b = 1.68;
cout << "х=";
cin >> x;
switch (x)
{
case -2:
y = sin(log10(abs((float)x)));
cout << "Esli x = " << x << "\nTogda y = " << y << endl;
break;
case 3:
y = (4 * (float)x + b)*(4 * (float)x + b);
cout << "Esli x = " << x << "\nTogda y = " << y << endl;
break;
case 5:
y = 1 / ((float)x*(float)x + a*a);
cout << "Esli x = " << x << "\nTogda y = " << y << endl;
break;
default: cout << "Znachenie x vvedeno neverno\nNazhmite \"Enter\"\n";
}
system("pause");
return 0;
}
Результат
Лабораторная работа № 3 Тема: Операторы повторений
Задание: Составить схему алгоритма и программу на языке С++ для вычисления значений функции в точках отx1=1 до xn=3 c шагом=0,2.
Решение:
Блок – схема алгоритма
WHILE
Начало
Ввод xn, xk, d
a = 3,9 b = 2,3
Да
Нет
Конец
Вывод xn, y
DO… WHILE
Начало
Ввод xn, xk, d
a = 3,9 b = 2,3
Вывод xn, y
Да
Нет
Конец
FOR
Начало
a = 3,9 b = 2,3
Ввод xn, xk, d
Нет
Да
Конец
Вывод i, y
Текст программы (While):
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
float xn, xk, d, y, a = 3.9, b = 2.3;
cout << "Введите начальное значение x0=";
cin >> xn;
cout << "Введите конечное значение x=";
cin >> xk;
cout << "Укажите шаг цикла d=";
cin >> d;
cout << endl; //пропуск строки
cout << "x" << "\t" << "y" << endl; //\t – горизонтальная табуляция
while (xn <= xk + d)
{
y = 1+a*(xn+b)/(3+cos(a*xn));
cout << "x=" << xn << "\t" << "y=" << y << endl;
xn = xn + d; //endl – переход на новую строку
}
system("pause");
return 0;
}
Результат
Текст программы (Do):
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
float xn, xk, d, y, a = 3.9, b = 2.3;
cout << "Введите начальное значение x0=";
cin >> xn;
cout << "Введите конечное значение x=";
cin >> xk;
cout << "Укажите шаг цикла d=";
cin >> d;
cout << endl;
cout << "x" << "\t" << "y" << endl;
do
{
y = 1+a*(xn+b)/(3+cos(a*xn));
cout << "x=" << xn << "\t" << "y=" << y << endl;
xn = xn + d; //endl – переход на новую строку
}
while (xn <= xk + d);
system("pause");
return 0;
}
Результат
Текст программы (For):
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
double xn, xk, d, y, i, a = 3.9, b = 2.3;
cout << "Введите начальное значение x0=";
cin >> xn;
cout << "Введите конечное значение x=";
cin >> xk;
cout << "Укажите шаг цикла d=";
cin >> d;
cout << endl;
cout << "x" << "\t" << "y" << endl;
for (i = xn; i <= xk + d; i = i + d)
{
y = 1+a*(i+b)/(3+cos(a*i));
cout << "x=" << i << "\t" << "y=" << y << endl;
}
system("pause");
return 0;
}
Результат