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

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

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

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

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

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

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

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

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

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

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

А В С

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

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

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

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

МА=…

МВ=…

МС=…

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

начало
Вводa, b, c
ma=sqrt( Лабораторная работа 1. Линейный вычислительный процесс - student2.ru     mb=sqrt( Лабораторная работа 1. Линейный вычислительный процесс - student2.ru     mc=sqrt( Лабораторная работа 1. Линейный вычислительный процесс - student2.ru    
Вывод a, b, c
Вывод ma, mb, mc
конец

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

Программа:

#include"stdafx.h"

#include"math.h"

#include"stdio.h"

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

usingnamespace 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показано окно с результатом работы программы.

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

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

Пример 2.Расстояние от точки с координатами (x0, y0, z0) до плоскости, заданной уравнением Лабораторная работа 1. Линейный вычислительный процесс - student2.ru , определяется по формуле:

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

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

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

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

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

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

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

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

X=… Y=… Z=…

D1=… D2=…

A=… B=… C=…

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

Ответ

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

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

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

начало
x, y, z, A, B, C, D1, D2  
d1=(A*x+B*y+C*z+D1)/sqrt(A*A+B*B+C*C)  
Вывод x, y, z, D1, D2, A, B, C, d1,d2 a, b, c
конец
d2=(A*x+B*y+C*z+D2)/sqrt(A*A+B*B+C*C)  




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

Программа:

#include"stdafx.h"

#include<math.h>

#include<iostream>

#include<stdio.h>

#include<cstdlib>

usingnamespace 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.

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

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

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

Вариант 1

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

Лабораторная работа 1. Линейный вычислительный процесс - student2.ru , используя правило Крамера.

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

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

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

Х=…

У=…

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

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

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

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

А= … В=… α=…

Вариант 2

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

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

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

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

хa=… уa=…

хb=… уb=…

хc=… уc=…

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

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

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

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

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

Вариант 3

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

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

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

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

где Лабораторная работа 1. Линейный вычислительный процесс - student2.ru

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

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

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

hx=…

hy=…

hz=…

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

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

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

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

x=… y=… z=…

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

Вариант 4

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

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

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

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

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

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

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

г) пропустить строку и напечатать значение промежуточных результатов Лабораторная работа 1. Линейный вычислительный процесс - student2.ru и Лабораторная работа 1. Линейный вычислительный процесс - student2.ru в виде:

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

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

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

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

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

Вариант 5

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

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

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

где Лабораторная работа 1. Линейный вычислительный процесс - student2.ru

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

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

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

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

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

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

n1=… n2=…

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

Вариант 6

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

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

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

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

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

V=…

S=…

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

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

R1=…

R2=…

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

Вариант 7

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

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

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

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

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

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

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

сторона ВС=…

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

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

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

Сторона АС=…

Сторона АВ=…

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

Вариант 8

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

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

Найти объем шара сегмента Лабораторная работа 1. Линейный вычислительный процесс - student2.ru высоты h: Лабораторная работа 1. Линейный вычислительный процесс - student2.ru

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

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

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

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

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.

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

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

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

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

R=… L=…….

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

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

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

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

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

Наши рекомендации