Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчеты 1 семестр 3 вариант 4 факультет.docx
Скачиваний:
15
Добавлен:
12.05.2018
Размер:
705.38 Кб
Скачать
    1. Задание 3. Оператор множественного выбора

Задание. Составить схему алгоритма и программу на языке С++ для вычисления значений функции y=f(x) при произвольных значениях x.

a=2,73

b=1,68

x=-2; 3; 5; 7

Решение:

  1. Блок – схема алгоритма

Нет

Да

Нет

Нет

Да

Да

  1. Код программы

#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;

}

  1. Результат

Лабораторная работа № 3 Тема: Операторы повторений

Задание: Составить схему алгоритма и программу на языке С++ для вычисления значений функции в точках отx1=1 до xn=3 c шагом=0,2.

Решение:

  1. Блок – схема алгоритма

  1. WHILE

Начало

Ввод xn, xk, d

a = 3,9 b = 2,3

Да

Нет

Конец

Вывод xn, y

  1. DO… WHILE

Начало

Ввод xn, xk, d

a = 3,9 b = 2,3

Вывод xn, y

Да

Нет

Конец

  1. FOR

Начало

a = 3,9 b = 2,3

Ввод xn, xk, d

Нет

Да

Конец

Вывод i, y

  1. Текст программы (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;

}

  1. Результат

  1. Текст программы (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;

}

  1. Результат

  1. Текст программы (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;

}

  1. Результат