Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OAiP_laba.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
634.37 Кб
Скачать

Лабораторная работа № 1. Способы представления алгоритмов Условие задачи: Есть действительные числа x1, y1, x2. Вычислить max(x1, y1, x2).

Словесно-формульное описание алгоритма

Блок-схема алгоритма

  1. Ввод переменных

  2. Присваеваем большей большей переменной значение max

  3. Сравниваем max с оставшейся переменной

  4. Выводим max значение

x2

Условие задачи: Определить, имеется ли среди трёх чисел a, b и c хотя бы одна пара равных между собой чисел.

Словесно-формульное описание алгоритма

Блок-схема алгоритма

Лабораторная работа № 2. Основные элементы языка С++. MS Visual Studio 2015

Задание №2

Исходные данные: n=2; b= -0.12; x=

Вычислить: z=1/(x-1)+sinx- ; y=( /2z

Программа:

#include <iostream>

void main()

{

double z, y, n = 2, b = -0.12, x = 1.3e-4;

z=1/(x-1)+sin(x)-sqrt(n);

y=(exp(-b)+1)/(2*z);

std::cout << "z=" << z;

std::cout << "y=" << y;

}

Ответ:

Задание №5

Исходные данные: b = 40, x = 1.1, a = 5e-6

Вычислить: w=(a+b)tg x/(x+1) ; v=1/2*b-

Программа:

#include <iostream>

void main()

{

double w, v, b = 40, x = 1.1, a = 5e-6;

w=(a+b)*tan(x)/(x+1);

v=1/(2*b)-tan(w-a*b);

std::cout << "w=" << w;

std::cout << "v=" << v;

}

Ответ:

Лабораторная работа № 3. Ввод и вывод информации

  1. Нарисовать шестиугольник по центру консольного окна, закрашенный введенным символом.

  2. #include <iomanip>

  3. #include <iostream>

  4. void main()

  5. {

  6. setlocale(LC_CTYPE, "Russian");

  7. using namespace std;

  8. char c, probel; probel = ' ';

  9. cout << "Введите символ "; cin >> c;

  10. cout << setw(35) << setfill(probel) << probel;

  11. cout << setw(10) << setfill(c) << c << endl;

  12. cout << setw(34) << setfill(probel) << probel;

  13. cout << setw(12) << setfill(c) << c << endl;

  14. cout << setw(33) << setfill(probel) << probel;

  15. cout << setw(14) << setfill(c) << c << endl;

  16. cout << setw(34) << setfill(probel) << probel;

  17. cout << setw(12) << setfill(c) << c << endl;

  18. cout << setw(35) << setfill(probel) << probel;

  19. cout << setw(10) << setfill(c) << c << endl;

  20. }

Ответ:

2. Разделить число m на две части, разность которых равна 5.

#include <iostream>

int main()

{

float a, b, c;

std::cin >> a;

b=(a-5)/2;

c=b+5;

std::cout << b << std::endl;

std::cout << c << std::endl;

system("PAUSE");

return 0;

}

Ответ:

Лабораторная работа № 4. Разветвляющиеся программы

Задание: 4. Написать и выполнить программу по первой блок-схеме лабораторной работы № 1.

#include <iostream>

using namespace std;

int main()

{

double x1, y1, x2;

cin >> x1 >> y1 >> x2;

double max = x1;

if (y1 > max) {

max= y1;

}

if (x2 > max) {

max = x2;

}

cout << "max=" ;

cout << max << endl;

return 0;

}

Задание : Определить, имеется ли среди трёх чисел a, b и c хотя бы одна пара равных между собой чисел.

#include <iostream>

#include <conio.h>

#include <stdio.h>

using namespace std;

void main()

{ setlocale(LC_CTYPE, "Russian");

int a,b,c;

cout << "введите 3 числа" << endl;

cin >> a >> b >> c;

if(a == b || b == a || a == c || c == a || b == c || c == b) {

cout << "да" << endl;

}

else {

cout << "нет" << endl;

}

_getche();

}

Задание : 6. Написать программу, реализующую диалог на любую тему с использованием оператора switch.

int main()

{ setlocale(LC_CTYPE, "Russian");

int k;

puts("Вы голодны? (1-да, 2-нет)");

std::cin >> k;

switch (k)

{ case 1:

{ puts("Что закажете? (1- трюфеля, 2-свинина, 3- брокколи)");

std::cin >> k;

switch (k)

{

case 1: puts("А денег хватит"); break;

case 2: puts("Отличный выбор"); break;

case 3: puts("Не советовал бы"); break;

}

break;

}

case 2: puts("Дома пообедал"); break;

default: puts("Некорректный вариант"); break;

}

return 0;

}

7. Дополнительные задачи

1. Разработать консольную программу-калькулятор для целых чисел с операциями %, /, +, -, *.

#include <iostream>

using namespace std;

int main()

{

int a, b;

char op;

int res;

char answer = 'y';

while (answer == 'y')

{

setlocale(LC_CTYPE, "Russian");

cout <<"Введите значения: ";

cin >> a;

cin >> op;

cin >> b;

if( op == '+')

res = a+b;

else if (op == '-')

res = a-b;

else if (op == '*')

res = a*b;

else if (op == '/')

res = a/b;

else if (op == '%')

res = a%b;

else

{

cout << " Ошибка";

return 0;

}

cout <<"Результат =";

cout << res;

cout << endl;

cout << "Продолжить? [y/n]";

cin >> answer;

}

return 0;

}

Лабораторная работа № 5. Циклические программы

Блок-схема

программа

начало

Вывод I, z

y = pow(i*b-(b*b)*a, sd);z =y*tan(n/4)-xp(1+b);

Ввод i

K=1,3

Sd=1/2, a=2e-3, b=8.5, n=2

начало

#include <iostream>

void main()

{

setlocale(LC_CTYPE, "Russian");

float z, y, i, sd, a, b, n;

sd = 1.0 / 2.0;

a=2e-3; b=8.5; n=2;

for (int k = 1; k <= 3; n++)

{

printf("Введите i ");

scanf_s("%f", &i);

y = pow(i*b-(b*b)*a, sd);

z = y*tan(n/4)-exp(1+b);

printf("i = %5.2f\t", i);

printf("z = %5.2f\n", z);

}

}

Блок-схема

программа

y = pow(i*b-(b*b)*a, sd);z = y*tan(n/4)-exp(1+b);

нет

да

Вывод i,z

i = i + 0.5

i<3.1

конец

начало

i=1, sd=1/2, a=2e-3, b=8.5,n=2

#include <iostream>

using namespace std;

void main()

{

setlocale(LC_CTYPE, "Russian");

double i, a, b, z, y, sd, n;

sd = 1.0 / 2.0;

a=2e-3; b=8.5; n=2;

i=1;

do

{

y = pow(i*b-(b*b)*a, sd);

z = y*tan(n/4)-exp(1+b);

cout << "i=" << i << "\t";

cout << " z=" << z << endl;

i = i + 0.5;

}while (i<3.1);

}

Блок-схема

программа

да

нетт

j = 1, k=2, a=2e-3, sd=1/2

Начало

Конец

b=b+0.5

Вывод b,y,z

y = pow(k*b-(b*b)*a, sd);

z = y*tan(n/4)-exp(1+b);

b <= 3

Ввод N

b = 2

i = 1, 4

да

#include <iostream>

using namespace std;

void main()

{

float y, z, n, j = 1, k=2, a=2e-3, sd = 1.0 / 2.0;

for (int i = 1; i<=4; i++)

{

float b = 2;

cout << "N = ";

cin >> n;

while (b <= 3)

{

y = pow(k*b-(b*b)*a, sd);

z = y*tan(n/4)-exp(1+b);

cout << "B = "<< b << "\tY = " << y<< "\tZ = "<<z<< endl;

b += 0.5;

}

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]