- •Введение
- •Основные команды управления
- •Основные команды управления
- •Основные команды управления
- •Основные команды управления
- •Основные команды управления
- •Задача 1
- •Начало
- •Основы алгоритмизации
- •Основы алгоритмизации
- •Основы алгоритмизации
- •Основы алгоритмизации
- •Основы алгоритмизации
- •Основы алгоритмизации
- •Основы алгоритмизации
- •Основы алгоритмизации
- •Основы алгоритмизации
- •Методика решения задач
- •Методика решения задач
- •Методика решения задач
- •Методика решения задач
- •Задача 2
- •Задача 2
- •Задача 3
- •Задача 3
- •Задача 3
- •Задача 4
- •Задача 4
Основы алгоритмизации
Начало
A,B
+
A=B
-
- A>B +
НОД(A,B) = НОД(min(A,B), |A-B|)
B=B-A |
|
A=A-B |
|
|
|
A
Конец Рис.7. Алгоритм Евклида
Основы алгоритмизации
Задача о шахматном коне
Рис.8. Варианты ходов коня
Основы алгоритмизации
|
|
|
|
|
2x 3 |
|
|
|
|
|
|
|
|
|
1 |
|
4 |
5 |
6 |
7 |
8 |
||
|
|
1 |
2 |
3 |
4 |
4 |
4 |
4 |
3 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
2 |
3 |
4 |
6 |
6 |
6 |
6 |
4 |
3 |
||
|
|
3 |
4 |
6 |
8 |
8 |
8 |
8 |
6 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
4 |
6 |
8 |
8 |
8 |
8 |
6 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
4 |
6 |
8 |
8 |
8 |
8 |
6 |
4 |
|
|
|
6 |
4 |
6 |
8 |
8 |
8 |
8 |
6 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
3 |
4 |
6 |
6 |
6 |
6 |
4 |
3 |
|
|
|
8 |
2 |
3 |
4 |
4 |
4 |
4 |
3 |
2 |
Рис. 9. Матрица потенциалов
Основы алгоритмизации
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
|
|
|
|
|
|
|
|
1 |
38 |
3 |
40 |
19 |
50 |
5 |
42 |
21 |
|
|
|
|
|
|
|
|
|
2 |
33 |
18 |
37 |
4 |
41 |
20 |
44 |
6 |
|
|
|
|
|
|
|
|
|
3 |
2 |
39 |
34 |
63 |
36 |
51 |
22 |
43 |
|
|
|
|
|
|
|
|
|
4 |
17 |
32 |
1 |
52 |
45 |
64 |
7 |
48 |
|
|
|
|
|
|
|
|
|
5 |
54 |
13 |
56 |
35 |
62 |
47 |
44 |
23 |
|
|
|
|
|
|
|
|
|
6 |
31 |
16 |
53 |
46 |
57 |
26 |
61 |
8 |
|
|
|
|
|
|
|
|
|
7 |
12 |
55 |
14 |
29 |
10 |
54 |
24 |
27 |
8 |
15 |
30 |
11 |
58 |
25 |
28 |
9 |
60 |
|
|
|
|
|
|
|
|
|
Рис. 10. Решение при x=3, y=4
Основы алгоритмизации
Начало 1
x, y |
2 |
Задать начальные значения C, R, Sx,Sy
i=2,64
Выбрать поле x1, y1
Сделать ход
R
Конец 8
3
4
5
6
7
С – матрица 8 8, содержащая
потенциалы полей;
R - матрица 8 8, содержащая решение
задачи в виде номеров ходов коня; Sx, Sy – массивы из 8 элементов,
содержащие смещения коня относительно текущей координаты, необходимые для реализации правила буквы "Г”:
Sx = ( 1, 2, |
2, |
1,-1,-2,-2,-1); |
Sy = (-2,-1, |
1, |
2, 2, 1,-1,-2); |
x, y – текущие координаты коня; x1,y1 – координаты поля с
минимальным потенциалом для текущих (x, y);
m – значение минимального потенциала допустимого поля.
Рис. 11. Алгоритм решения
Основы алгоритмизации
4 |
|
m=9 |
5.1 |
j=1,8 |
5.2 |
|
|
|
5.3 |
x0=x+Sx(j) y0=y+Sy(j) 6
- |
5.4 |
Ход |
|
|
допустим? |
+ 5.5
Уменьшить потенциал поля (x0,y0). Запомнить координаты поля (x1,y1) с меньшим потенциалом.
5 |
|
|
C(y,x)=9; R(y1,x1)=i |
6.1 |
|
x=x1; y=y1 |
||
|
4
Рис. 12 Детализация блока 5 Рис. 13. Детализация блока 6
Основы алгоритмизации
5.3
5.4.1
- |
x0>0&y0>0& |
5.2 |
x0<9&y0<9& |
|
C(y0,x0)<9 |
|
+ |
|
5.5 |
Рис. 14. Детализация блока 5.4
|
5.4 |
|
|
C(y0,x0)=C(y0,x0)-1 |
5.5.1 |
5.2 - |
C(y0,x0)<m |
5.5.2 |
+
m=C(y0,x0) 5.5.3 y1=y0; x1=x0
Рис.15. Детализация блока 5.5
Методика решения задач
Проектирование
1.Постановка задачи.
2.Моделирование и формализация задачи.
3.Разработка алгоритма.
4.Тестирование алгоритма.
5.Программирование алгоритма.
6.Тестирование программы.
7.Эксплуатация программы и интерпретация результатов
Реализация
80-90%
10-20%
Методика решения задач
Начало
A,B
+
A=B
-
-A>B +
B=B-A |
|
A=A-B |
|
|
|
A
Конец
A 35
B14
A=B нет нет нет да
A>B |
да |
да нет |
|
|
|
B |
|
7 |
A |
21 |
7 |
A |
7 |
Рис. 16. Тестирование алгоритма Евклида
Методика решения задач
Листинг программы вычисления НОД
#include <iostream> using namespace std; void main(void) {
int a,b;
cout << "a = "; cin >> a;
cout << "b = "; cin >> b; while (a!=b) {
if (a>b) a-=b; else b-=a;
}
cout << "NOD=" << a << endl;
}