Основные структуры алгоритмов: сравнительный анализ и примеры их использования
Содержание:
Введение
Курсовая работа представляет собой написание программного кода на языке С++. В ней будут рассмотрены задания: Попадает ли точка в заштрихованную фигуру, поиски переменных, различных массивов и индексов, производится вычисления в уравнениях. Для выполнения этих задач использовалась программа VisualStudio 2015. Так же под каждым заданием будет добавлено изображение с выполнением проверки на правильность написания программы и выводом ответа.
1. Программирование линейных алгоритмов
Задание 1.
Составить программу вычисления значения функции. Исходные значения ввести с клавиатуры.
Словесный алгоритм:
- Ввод исходных данные x, z, b.
- Вычисление значения переменной h (выражение).
- Вывод результата на экран.
Описание переменных
x,z,b – Исходные
h–Выражение
Листинг представлен на рисунке 1
#include <iostream>
using namespace std;
int main()
{
int x, z, b;
double h;
cout<<"Введите значение x=";
cin >> x;
cout<<"Введите значение z=";
cin >> z;
cout<<"Введите значение a=";
cin >> b;
h = (1 + pow(sin(x), 3.0)) / pow(z, 2.0) + pow(cos(x), 2.0) + (pow(log(x), 2.0) + b) / pow(x, 4.0);
cout<<"Ответ h="<< h <<endl;
system("pause");
return 0;
}
Рис.1. Листинг программы
Результат выполнения программы представлен на рисунке 2
Рис.2. Результат выполнения программы
Задание 2.
Решить задачу для индивидуального варианта.
Известна длина окружности. Найти площадь квадрата, периметр которого равен длине окружности.
Листинг представлен на рисунках 3
#include <iostream>
using namespace std;
int main()
{
float с, s;
cout<<"Введите значение с=";
cin >> C;
s = pow((C / 4), 2.0);
cout<<"Ответ s="<< s <<endl;
system("pause");
}
Рис.3. Листинг программы
Результат выполнения программы представлены на рисунке 4
Рис.4. Результат выполнения программы
2. Программирование разветвляющихся алгоритмов
Задание 3.
Даны два вещественных числа x и y. Определить, попадает ли точка с координатами x, y в заштрихованную область.
1
y
-1
1
x
-1
- Вводим исходные данные x и y
- Проверяем попадает ли точка в область ограниченную линиями
Если попадает, то проверяем попадает ли в область
y<=x+1, y>=x-1, y>=-x-1, y<=-x+1
- Если точка попала в указанную область, то выводим на экран «Точка попадает»
- В противном случае «точка не попадает»
Описание переменных
x, y – Координаты
Листинг представлен на рисунке 5
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
float x, y;
cout << "Введите значения x = " << endl;
cin >> x;
cout << "Введите значения y = " << endl;
cin >> y;
if (sqrt(pow(x, 2) + pow(y, 2)) <= 1)
if (y<= x+1 && y>=x-1 && y>= -x-1 && y<= -x+1)
cout << "Не попадает" "\n";
else
cout << "Попадает" "\n";
else
cout << "Не попадает" "\n";
system("pause");
}
Рис.5. Листинг программы
Результаты выполнения программы представлены на рисунке 6.
Рис.6. Результаты выполнения программы
Задание 4.
Разработать программу в соответствии с заданием.
Единицы длины пронумерованы следующим образом: 1 – дециметр, 2 – километр, 3 – метр, 4 – миллиметр, 5 – сантиметр. Дан номер единицы длины ( целое число в диапазоне 1-5) и длина отрезка в этих единицах (вещественное число). Найти длину отрезка в метрах.
Словесное описание алгоритма.
- Выбираем номер единицы длины (n)
- Ввод значения длины (l)
- В зависимости от выбранной единицы длины будет производится перевод в метры. Результат выводим на экран.
Описание переменных
n – номер единицы длины
l – длина в заданных единицах
Листинг представлен на рисунке 7
#include <iostream>
using namespace std;
void main(void)
{
setlocale(LC_ALL, "Russian");
int n;
double l;
cout << "Введите номер единицы длины [от 1 до 5]: ";
cin >> n;
cout << "Введите длину: ";
cin >> l;
cout << "\n";
switch (n)
{
case 1: cout << l << " дм = " << l * 0.1 << " м\n\n";
break;
case 2: cout << l << " км = " << l * 1000 << " м\n\n";
break;
case 3: cout << l << " м - заданная длина уже в метрах\n\n";
break;
case 4: cout << l << " мм = " << l * 0.001 << " м\n\n";
break;
case 5: cout << l << " cм = " << l * 0.01 << " м\n\n";
break;
default: cout << "Неверно введён номер единицы длмны\n\n";
break;
}
system("pause");
}
Рис.7. Листинг программы
Результаты выполнения программы представлены на рисунке 8
Рис.8. Результаты выполнения программы
3. Программирование программы цикличных структур
Задание 5.
Разработать программу вычисления значений функции . Интервал изменения переменных ввести с клавиатуры. Шаг изменения переменных: .
- Ввод исходных данные xn-(начальное), xk-(конечное), zn-(начальное), zk-(конечное).
- Вычисление значения переменной y (выражение).
- Результат выводим на экран.
Описание переменных
xn, zn – начальные значения переменных x и z.
xk, zk – конечные значения переменных x и z.
x – счетчик цикла
z – счетчик цикла
y –y значения функций
Листинг представлен на рисунке 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 = pow(sin(x), 2.0) + cos(z);
cout << "x=" << x << " z=" << z << " y=" << y << "\n";
z = z + 0.5;
} while (z <= zk);
}
system("pause");
}
Рис.9. Листинг программы
Результаты выполнения программы представлены на рисунке 10
Рис.10. Результаты выполнения программы
4. Работа с массивами
Задание 6.
Найти К-й отрицательный элемент массива.
Словесный алгоритм
- Заполняем массив (mas)данными.
- Вывод на экран массива.
- Поиск К-го отрицательного числа массива.
- Результат выводим на экран.
Описание переменных
mas – Массив
k – к –й отрицательный элемент массив
kt – счетчик отрицательных элементов массива
i – счетчик массива
in – номер к-ого отрицательного числа массива
n – разрядность
Листинг предоставлен на рисунке 11
#include <iostream>
using namespace std;
void main(void)
{
setlocale(LC_ALL, "Russian");
const int n = 5;
int mas[n], i, k, kt = 0, in = 1;
cout << "Введите элементы массива\n";
for (i = 0; i < n; i++)
{
cout << "mas(" << i << ") = ";
cin >> mas[i];
}
cout << "\n\n Ваш массив: \n";
for (i = 0; i < n; i++)
{
cout << "mas(" << i << ") = " << mas[i] << "\n";
}
cout << "\n\n Введите k = ";
cin >> k;
for (i = 0; i < n; i++)
if ((mas[i] < 0) && (kt < k))
{
in = i;
kt++;
}
cout << "\n";
if (k == kt)
cout << "mas(" << in << ") = " << mas[in] << " является "
<< k << "-м отрицательным элементом массива";
else
cout << k << "-го отрицательного элемента нет!\n";
system("pause");
}
Результат выполнения программы предоставлен на рисунке 11
Рис.11. Результат выполнения программы.
Заключение
В данной работе мы научились основам языка программирования С++, а также на базовом уровне научились работать программой VisualStudio 2015. Все это было применено для решения заданий в данной работе.
Список использованных источников
1. Александреску, А. Язык программирования D / А. Александреску. — М.: Символ, 2013. — 536 c.
2. Александреску, А. Язык программирования D / А. Александреску. — СПб.: Символ-плюс, 2014. — 544 c.
3. Голицына, О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. — М.: Форум, НИЦ ИНФРА-М, 2013. — 400 c.
4. Страуступ, Б. Язык программирования С++. Специальное издание / Б. Страуступ. — М.: Бином, 2015. — 1136 c.
5. Ашарина, И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. — М.: Гор. линия-Телеком, 2012. — 208 c.
6. Microsoft, Руководство пользователя по VisualStudio, https://msdn.microsoft.com/ru-ru/library/dd831853.aspx.
- Менеджмент человеческих ресурсов ИП Клочкова С.Н.
- Политика развития персонала в системе стратегического управления кадровым направлением деятельности организации (Сущность и принципы организации обучения и повышения квалификации персонала организации)
- Анализ России в системе международных кредитных отношений
- Дидактическая игра как метод обучения
- Финансы муниципального образования «Мирный»
- Планирование как функция менеджмента, его значение в процессе управления в современных условиях
- Правовая культура. Правовой нигилизм и правовой фетишизм (Понятие правовой культуры)
- Проблемы диагностики и управления организационной культурой. Анализ организационной культуры на предприятии ОАО «РКЦ «Прогресс»
- Проблема адаптации персонала и молодых специалистов в организации (ООО «Озон»)
- Принятие управленческих решений (Сущность и характерные особенности решений)
- Создание игровой программы на языке C++
- Основные структуры алгоритмов: сравнительный анализ и примеры их использования