Файл: Основные структуры алгоритмов: сравнительный анализ и примеры их использования(Программирование линейных алгоритмов).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.05.2023

Просмотров: 91

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

В данное работе будет рассмотрено 6 заданий с различными видами уравнений, поисков переменных, поисков, входящих в фигуру точек, поиском различных массивов и индексов. Для выполнения всех этих задач использовалась программа Visual Studio 2015, а языком программирования служит С++. Так же в самой работе будут приведены скрины из данной программы с решением, для показания наглядного выполнения самих заданий, выполненных в ней.

Программирование линейных алгоритмов

Задание 1. Составить программу вычисления значения функции. Исходные значения ввести с клавиатуры.

Словесный алгоритм:

  1. Вводим исходные данные
  2. Вычисляем значение переменной h(выражение).
  3. Выводим результат

Описание переменных:

x,y,z, - исходные данные

h – значение функции

Листинг программы изображен на рисунке 1

#include "iostream"

Using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

float x, y, z, h;

cout<<"Введите значение x=";

cin>> x;

cout<<"Введите значение y=";

cin>> y;

cout<<"Введите значение z=";

cin>>z;

h = ((sin(z) + cos(2 * x)) / ((2 * pow(x, 5)) + tan(x)) + pow(((3 * x) + (2 * y)), (1 / 3)));

cout<<"Ответ h="<< h <<endl;

system("pause");

}

Рис.1. Листинг программы

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

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

Задание 2. Решить задачу для индивидуального варианта. Даны два сопротивления и, соединенные последовательно, сила тока в цепиI. Определить сопротивление цепи, напряжение на каждом сопротивлении, полное напряжение участка цепи.

Словесный алгоритм:

  1. Вводим исходные данные сопротивление , и силу токаi.
  2. Вычисляем значения полного сопротивления r, напряжения , и полного напряжения u.

Описание переменных:

,,i - исходные данные

r, , u2, u – значения полного сопротивления, напряжение 1 и напряжение 2, полное напряжение.

Листинг программы изображен на рисунке 3

#include "iostream"

Using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

float r, r1, r2, i, u1, u2, u;

cout<<"Введите значение r1=";

cin>> r1;

cout<<"Введите значение r2=";

cin>> r2;

cout<<"Введите значение i=";

cin>> i;

r = r1 + r2;

cout<<"Сопротивление цепи r="<< r <<endl;

u1 = i*r1;

cout<<"Напряжение 1 u1="<< u1 <<endl;


u2 = i*r2;

cout<<"Напряжение 2 u2="<< u2 <<endl;

u = u1 + u2;

cout<<" Полное напряжение u="<< u <<endl;

system("pause");

}

Рис.3. Листинг программы

Результаты работы программы представлен на рисунке 4

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

Программирование разветвляющихся алгоритмов

Задание 3. Даны два вещественных числа x и y. Определить, попадает ли точка с координатами x, y в заштрихованную область.















 

1

-1

-1

y

1

x

Словесный алгоритм

  1. Вводим координаты точки x, y
  2. Проверяем, попадает ли точка в область, , , .
  3. Если точка попадает в область, то выводиться сообщение: «Попадает».
  4. Если точка не попадает в область, то выводиться сообщение: «Не попадает».

Описание переменных:

x,- координаты точки

Листинг программы изображен на рисунке 5

#include “iostream”

Using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

float x, y;

cout<<"Введитеx: ";

cin>>x;

cout<<"Введите y: ";

cin>> y;

if (y >= -x-1 && y <= x+1 && y <= -x+1 && y >= x-1)

{

cout<<"Попадет"<<endl;

}

else

cout<<"Не попадет"<<endl;

system("pause");

return 0;

}

Рис.5. Листинг программы

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

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

Задание 4. Разработать программу в соответствии с заданием. Единицы массы пронумерованы следующим образом: 1 – килограмм, 2 – миллиграмм, 3 – грамм, 4 – тонна, 5 – центнер. Дан номер единицы массы (целое число в диапазоне 1-5) и масса тела в этих единицах (вещественное число). Найти массу тела в килограммах.

Словесный алгоритм:

  1. Выбираем исходные единицы измерения массы.
  2. Вводим искомую массу.
  3. Производим перевод в нужные единицы измерения.

Описание переменных:

edinica – исходные единицы измерения массы

massa – величина единицы измерения массы

Листинг изображен на рисунке 7

#include “iostream”

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

int edinica;

float massa;

cout<<"Выберите значение массы: "<<endl;

cout<<"(1 - килограмм, 2 - миллиграмм, 3 - грамм, 4 - тонна, 5 - центнеры)"<<endl;

cin>>edinica;


cout<<"Введите массу: ";

cin>>massa;

switch (edinica)

{

case 1:

cout<<massa<<"килограмм = "<<massa<<" килограмм"<<endl; break;

case 2:

cout<<massa<<"миллиграмм = "<<massa / 1000000 <<" килограмм"<<endl; break;

case 3:

cout<<massa<<"грамм = "<<massa / 1000 <<" килограмм"<<endl; break;

case 4:

cout<<massa<<"тонна = "<<massa * 1000 <<" килограмм"<<endl; break;

case 5:

cout<<massa<<"центнеры = "<<massa * 100 <<" килограмм"<<endl; break;

default: cout<< ("Введите значение от 1 до 5!") <<endl;

}

system("pause");

}

Рис.7. Листинг программы

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

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

Программирование программ циклических структур

Задание 5. Разработать программу вычисления значений функции . Интервал изменения переменных ввести с клавиатуры. Шаг изменения переменных: x=1, z=0.5.

Словесный алгоритм:

  1. Вводим исходные данные переменных xn, xk, zn, zk.
  2. Вычисляем значение переменной y(выражение).
  3. Выводятся все возможные переменные с заданным шагом.

Описание переменных:

xn, zn-начальные значения переменных x, z

xk, zk- конечные значения переменных x, z

y – значение функции

z, x-шаг изменения переменных

Листинг программы изображен на рисунке 9

#include "iostream"

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

int xn, xk;

double zn, zk;

cout<<"Введите значение xn= ";

cin>>xn;

cout<<"Введите значение xk= ";

cin>>xk;

cout<<"Введите значение zn= ";

cin>>zn;

cout<<"Введите значение zk= ";

cin>>zk;

int x;

double z, y;

for (x = xn; x <= xk; x++)

{

z = zn;

do

{

y = (x + pow(z, x)) / (1 + z);

cout<<"x="<< x <<" z="<< z <<" y="<< y <<"\n";

z = z + 0.5;

} while (z <= zk);

}

system("pause");

}

Рис.9. Листинг программы

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

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

Работа с массивами

Задание 6. Определить значение и индекс максимального элемента массива.

Словесный алгоритм:

  1. Заполняем массив данными.
  2. Проходим по всем элементам массива
  3. Находим индекс максимального значения.