Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмический язык СИ++ Коковой.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
989.06 Кб
Скачать

2. Лабораторные работы

2.1. Лабораторная работа 1. Линейный вычислительный процесс

Цель работы: знакомство с консольным режимом работы, организация ввода/вывода.

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

Использовать библиотечные функции stdio.h или iostream в зависимости от того, какие операторы ввода/вывода будут использоваться.

Пример 1. Вычислить медианы треугольника со сторонами a, b, c по формулам:

Выдать на печать информацию в виде:

а) отпечатать, отступив 10 позиций, наименования исходных данных:

Стороны треугольника

А В С

б) под соответствующими наименованиями напечатать значения этих переменных;

в) пропустить 2 строки;

г) отпечатать ответ в виде:

Медианы треугольника:

МА=…

МВ=…

МС=…

На рис. 5 представлен алгоритм решения задачи в виде блок-схемы.

Рис. 5. Алгоритм решения задачи в виде блок-схемы

Программа:

#include "stdafx.h"

#include "math.h"

#include "stdio.h"

#include "iostream"// подключение библиотечных функций

using namespace System;

int main(array<System::String ^> ^args)

{ setlocale(LC_ALL,"rus"); // подключение русификатора

float a,b,c;

printf("Стороны треугольника: \nA=");

scanf ("%f", &a);

printf("B=");

scanf ("%f", &b);

printf("C="); scanf ("%f", &c);

float ma=0.5*sqrt(2*b*b+2*c*c-a*a);

float mb=0.5*sqrt(2*a*a+2*c*c-b*b);

float mc=0.5*sqrt(2*a*a+2*b*b-c*c);

printf(" Стороны треугольника\n \tA \tB \tC\n \t%.0f \t%.0f \t%.0f\n\n",a,b,c);

printf("Медианы треугольника\n------------------------\n MA=%.1f\n MB=%.1f\n MC=%.1f \n\n",ma,mb,mc);

system("pause");//задержка экрана

return 0; }

На рис. 6 показано окно с результатом работы программы.

Рис. 6. Результат выполнения программы

Пример 2. Расстояние от точки с координатами (x0, y0, z0) до плоскости, заданной уравнением , определяется по формуле:

Найти расстояние данной точки до плоскостей, заданных уравнениями:

Выдать на печать информацию в виде:

а) отступить 7 позиций слева и напечатать заголовок «Исходные данные»;

б) пропустить строку;

в) на следующей строке напечатать значения исходных данных в виде:

X=… Y=… Z=…

D1=… D2=…

A=… B=… C=…

г) пропустить 2 строки и в центре напечатать ответ в виде:

Ответ

Расстояние до 1 плоскости = …

Расстояние до 2 плоскости = …

На рис. 7 представлен алгоритм решения задачи.

Рис. 7. Алгоритм решения задачи в виде блок-схемы

Программа:

#include "stdafx.h"

#include <math.h>

#include <iostream>

#include <stdio.h>

#include <cstdlib>

using namespace std;

int main()

{ float x,y,z,D1,D2,A,B,C; double d1,d2;

setlocale(LC_ALL, "Russian");

cout << "Введите координаты точки (x,y,z)\n";

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

cout << "y="; cin >> y;

cout << "z="; cin >> z;

cout << "Введите коэффициенты уравнения (A,B,C)\n";

cout << "A="; cin >> A;

cout << "B="; cin >> B;

cout << "C="; cin >> C;

cout << "Введите коэффициенты D1, D2\n";

cout << "D1="; cin >> D1;

cout << "D2="; cin >> D2;

d1=(A*x+B*y+C*z+D1)/sqrt(pow(A,2)+pow(B,2)+pow(C,2));

cout << " Исходные данные \n\n";

cout << "x0=" << x << " y0=" << y << " z0=" << z;

cout << "\nD1=" << D1 << " D2=" << D2;

cout << "\nA=" << A << " B=" << B << " C=" << C;

cout << "\n______________________________________\n\n Ответ:\n";

cout << "Расстояние до 1 плоскости = " << d1 << "\n";

d2=(A*x+B*y+C*z+D2)/sqrt(pow(A,2)+pow(B,2)+pow(C,2));

cout << "Расстояние до 2 плоскости = " << d2 << "\n";

system("pause"); return 0; }

Результат выполнения программы показан на рис. 8.

Рис. 8. Результат выполнения программы

Задания к лабораторной работе 1

Вариант 1

Решить систему уравнений:

, используя правило Крамера.

Выдать на печать информацию в виде:

а) в центре строки напечатать слова «Ответ задачи»;

б) под словами напечатать ответ в виде:

Х=…

У=…

в) последнюю строку подчеркнуть;

г) пропустить две строки;

д) напечатать значение исходных данных в виде:

Исходные данные:

А= … В=… α=…

Вариант 2

На плоскости задан треугольник с координатами своих вершин: А(ха, уа), В(хв, ув), С(хс, ус). Вычислить длину сторон данного треугольника. Выдать на печать информацию в виде:

а) отступив 10 пробелов слева, напечатать заголовок «Исходные данные»;

б) под заголовком напечатать значения исходных данных в виде:

Вершины треугольника

хa=… уa=…

хb=… уb=…

хc=… уc=…

в) последнюю запись подчеркнуть;

г) пропустить 3 строки;

д) в центре листа напечатать ответ в виде:

Длины сторон треугольника:

АВ=… ВС=… АС=…

Вариант 3

Вычислить высоты треугольника со сторонами x, y, z по формулам:

где

Выдать на печать информацию в виде:

а) отступить 5 позиций и напечатать слова «Высоты треугольника»;

б) под заголовком напечатать ответ в виде:

hx=…

hy=…

hz=…

в) последнюю строку подчеркнуть;

г) пропустить 3 строки;

д) напечатать значения исходных данных в виде:

Стороны треугольника:

x=… y=… z=…

е) последнюю строку подчеркнуть.

Вариант 4

По заданным радиусам оснований (R1 и R2), образующей (l) и высоте (h) вычислить площадь поверхности и объем усеченного конуса:

Выдать на печать информацию в виде:

а) в центре напечатать слова «Исходные Данные»;

б) R1=.. R2=.. l=.. h=..

в) подчеркнуть последнюю строку;

г) пропустить строку и напечатать значение промежуточных результатов и в виде:

Промежуточные результаты:

=.. =..

д) пропустить строку;

е) напечатать ответ в виде:

Ответ: S=.. V=..

Вариант 5

Вычислить координаты точки, делящий отрезок А в отношении n1, n2 по формулам:

где

Выдать на печать информацию в виде:

а) в центре листа напечатать ответ в виде «Координаты точки: х=…; y=…»;

б) пропустить 2 строки;

в) напечатать заголовок «Исходные данные»;

г) под заголовком напечатать значения исходных данных в виде:

XA=… XB=… YA=… YB=…

n1=… n2=…

д) последнюю строку подчеркнуть.

Вариант 6

Найти объем и площадь поверхности цилиндрического кольца высоты H с внешним радиусом R1 и внутренним R2.

Выдать на печать информацию в виде:

а) отступить 12 позиций слева и напечатать слова «Ответ задачи»;

б) подчеркнуть эти слова;

в) пропустить 2 строки и под словами напечатать ответ в виде:

V=…

S=…

г) пропустить 2 строки и, отступив 5 позиций, напечатать значения исходных данных в виде:

Исходные данные: H=…

R1=…

R2=…

д) пропустить строку и в центре листа напечатать слова «Задача решена».

Вариант 7

По заданным двум углам треугольника и стороне между ними ВС найти третий угол, две стороны и площадь треугольника:

;

Выдать на печать информацию в виде:

а) отступить 10 позиций слева и напечатать слова «Исходные данные»;

б) под словами напечатать значения исходных данных в виде:

угол В=… угол С=…

сторона ВС=…

в) подчеркнуть напечатанное;

г) пропустить 2 строки и напечатать в центре листа ответ в виде:

Ответ: Угол А=…

Сторона АС=…

Сторона АВ=…

Площадь треугольника =

Вариант 8

По заданному радиусу R найти объём шара V и площадь сферы S:

Найти объем шара сегмента высоты h:

Выдать на печать информацию в виде:

а) в центре листа напечатать заголовок «Исходные данные»;

б) подчеркнуть напечатанные слова;

в) пропустить строку и под заголовком напечатать значение исходных данных в виде:

R :

h :

г) пропустить 2 строки;

д) отступить 10 позиций, напечатать ответ в виде:

Ответ: V = … ;

S = … ; VC = …

Вариант 9

Найти объём, площадь поверхности прямоугольного параллелепипеда с измерениями a,b,c и площади каждой грани.

Выдать на печать информацию в виде:

а) отступить 15 позиций и напечатать слова «Измерения параллелепипеда»;

б) под словами напечатать значения A, B, C в виде:

A=…

B=…

C=…

в) пропустить 2 строки и в центре листа напечатать ответ в виде:

Ответ задачи

Объём =…

Площадь поверхности =…

Площадь граней =…

SAB=…

SBC=…

SAC=…

г) последнюю запись подчеркнуть.

Вариант 10

Вычислить силу тока в цепи, состоящей из последовательности соединенных сопротивления R, индуктивности L и емкости C при напряжении в цепи E и частоте F.

Выдать информацию на печать в виде:

a) отступить слева 7 позиций, напечатать значения исходных данных в следующем виде:

Исходные данные

R=… L=…….

C=… E=……. F=……;

б) подчеркнуть последнюю строку;

в) пропустить 2 строки;

г) в центре листа напечатать слова «Ответ задачи»;

д) под словами напечатать ответ в виде : сила тока = …….