Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИКУМ_4.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
292.35 Кб
Скачать

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

Самарский государственный архитектурно-строительный университет

Факультет информационных технологий

Кафедра прикладной математики и вычислительной техники

ПРАКТИКУМ ПО ОСНОВАМ ПРОГРАММИРОВАНИЯ

УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ ПО ОРГАНИЗАЦИИ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ

О.В. Прохорова

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;

}