
- •Оглавление
- •1. Вычисление нод алгоритмом Евклида
- •2. Нахождение нод и нок
- •3. Вычисление факториала
- •4. Вычисление факториала рекурсивно
- •5. Вычисление биноминального коэффициента
- •7. Разложение целого числа на сумму биноминальных коэффициентов
- •8. Сумма некоторых элементов массива
- •9. Модификация массива данных. Вариант 1.
- •10. Модификация массива данных. Вариант 2.
- •11. Работа с числами массива
- •12. Поиск совпадений чисел в массиве
- •13. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 1.
- •14. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 2.
- •15. Подсчет количества цифр в целом числе
- •16. Проверка целого числа на симметрию цифр. Вариант 1.
- •17. Проверка целого числа n на симметрию цифр Вариант 2.
- •19. Программа проверки глубины вложения скобок
- •20. Формирование двумерного массива
- •21. Вычисление определителя матрицы второго порядка
- •22. Вычисление определителя матрицы 3 - го порядка
- •23. Нахождение обратной перестановки и по ней циклической формы
- •24. Сортировка_1 простыми вставками
- •25. Сортировка_2 простыми вставками
- •26. Сортировка алгоритмом Шелла
- •27. Быстрая сортировка Хоора
- •28. Поразрядная сортировка
- •29. Cортировка 1 методом пузырька
- •30. Cортировка 2 методом пузырька
- •31. Работа с библиотечными карточками
- •32. Работа 1 с конструктором и деструктором
- •33. Работа 2 с конструктором и деструктором
- •34. Работа с комплексными числами
- •35. Работа_1 с комплексными числами через указатели
- •36. Работа_2 с комплексными числами через указатели
- •37. Построение циклической очереди статическое распределение памяти
- •38. Построение стека символов статическое распределение памяти
- •39. Код работы с циклической очередью, переделанный из кода стека
- •40. Код работы со стеком, переделанный из кода циклической очереди
- •41. Генерирование случ. Чисел с показательным распределением
- •42. Работа со стеком динамическое распределение памяти
Министерство образования и науки РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Самарский государственный архитектурно-строительный университет Факультет информационных технологий Кафедра прикладной математики и вычислительной техники
|
ПРАКТИКУМ ПО ОСНОВАМ ПРОГРАММИРОВАНИЯ |
УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ ПО ОРГАНИЗАЦИИ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ |
|
О.В. Прохорова |
2013 |
Рассматривается построение кодов программ на языке С++ различных математических и прикладных задач. При построении кодов внимание уделяется эффективности построения кодов. |
Оглавление
1. Вычисление НОД алгоритмом Евклида 3
2. Нахождение НОД и НОК 4
3. Вычисление факториала 5
4. Вычисление факториала рекурсивно 6
5. Вычисление биноминального коэффициента 7
6. Поиск всех совершенных чисел < n 8
7. Разложение целого числа на сумму биноминальных коэффициентов 9
8. Сумма некоторых элементов массива 10
9. Модификация массива данных. Вариант 1. 11
10. Модификация массива данных. Вариант 2. 12
11. Работа с числами массива 13
12. Поиск совпадений чисел в массиве 14
13. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 1. 15
14. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 2. 17
15. Подсчет количества цифр в целом числе 18
16. Проверка целого числа на симметрию цифр. Вариант 1. 19
17. Проверка целого числа n на симметрию цифр Вариант 2. 20
18.Поиск всех простых чисел <=n 21
19. Программа проверки глубины вложения скобок 22
20. Формирование двумерного массива 23
21. Вычисление определителя матрицы второго порядка 24
22. Вычисление определителя матрицы 3 - го порядка 25
23. Нахождение обратной перестановки и по ней циклической формы 27
24. Сортировка_1 простыми вставками 29
25. Сортировка_2 простыми вставками 30
26. Сортировка алгоритмом Шелла 31
27. Быстрая сортировка Хоора 32
28. Поразрядная сортировка 34
29. Cортировка 1 методом пузырька 36
30. Cортировка 2 методом пузырька 37
31. Работа с библиотечными карточками 38
32. Работа 1 с конструктором и деструктором 39
33. Работа 2 с конструктором и деструктором 40
34. Работа с комплексными числами 41
35. Работа_1 с комплексными числами через указатели 42
36. Работа_2 с комплексными числами через указатели 43
37. Построение циклической очереди статическое распределение памяти 44
38. Построение стека символов статическое распределение памяти 45
39. Код работы с циклической очередью, переделанный из кода стека 47
40. Код работы со стеком, переделанный из кода циклической очереди 49
41. Генерирование случ. чисел с показательным распределением 51
42. Работа со стеком динамическое распределение памяти 53
1. Вычисление нод алгоритмом Евклида
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
void main ()
{
int m,n,r;
cout<<"Enter number m>n ";
cin>>m;
cout<<"Enter number n<m ";
cin>>n;
r=m%n; /* остаток от деления */
while( r>0 )
{
m=n;
n=r;
r=m%n;
}
cout<<" \n NOD = "<<n;
_getch();
}
2. Нахождение нод и нок
/* Даны натуральные числа m, n. Найти наибольший их делитель и наименьшее общее кратное */
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
int main()
{
int n,m,max,min,nok,nod=1,i;
cout<<"Enter n = ";
cin>>n;
cout<<"\n Enter m = ";
cin>>m;
max=n>m?n:m;
min=n<m?n:m;
// Поиск НОД (наибольшего общего делителя)
for(i=1;i<=min;i++)
if((m%i==0)&&(n%i==0))nod=i;
cout<<" \n NOD = "<<nod<<"\n";
// Поиск НОK
for(i=max;i<=m*n;i++)
if((i%m==0)&&(i%n==0))
{
nok=i;
break; // выход из внутреннего цикла
}
cout<<" \n NOK = "<<nok<<"\n";
getch();
return 0;
}