- •ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ
- •Требования к оформлению лабораторных работ
- •1. ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ
- •13.1 План разработки алгоритмов и программ
- •Таблица 1.1 Результат ручной прокрутки после первого этапа
- •Таблица 1.2 Результат ручной прокрутки после первого этапа
- •Таблица 1.3 Итог выполнения ручной прокрутки
- •13.2 Перевод алгоритма в Паскаль-программу
- •13.3 Использование готовых алгоритмов при решении задач
- •Подсчет элементов, обладающих заданным свойством
- •Поиск максимального и минимального элементов
- •Поиск элементов, обладающих заданным свойством
- •Задача 1. Подсчет ненулевых элементов
- •Задача 2. Подсчет элементов, абсолютная величина которых больше 7
- •Задача 3. Поиск элемента равного 7
- •Задача 5. Найти количество элементов массива больших среднего арифметического этих элементов
- •Задача 6. Поиск максимального элемента и подсчет частоты его появления в массиве
- •Задача 7. Поиск нулевого элемента
- •Задача 8. Поиск отрицательного числа с конца массива
- •13.4 Стандартная обработка двумерных массивов
- •Двумерный массив и его части
- •Индексы элементов двумерного массива
- •Индексы строки и столбца двумерного массива
- •Индексы диагоналей двумерного массива
- •Перенос простейших алгоритмов на двумерные массивы
- •13.5 Отладка и тестирование программ
- •2. СОЗДАНИЕ КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ СРЕДСТВАМИ DELPHI 7.0
- •13.1 Создание консольного приложения средствами Delphi
- •13.2 Структура программы в Delphi
- •Таблица 2.1
- •13.3 Введение в типы данных Delphi
- •13.4 Венгерская нотация
- •13.5 Отладка и тестирование программ средствами среды Delphi 7
- •3. ЛАБОРАТОРНАЯ РАБОТА №1 «ЛИНЕЙНЫЕ ПРОГРАММЫ»
- •13.1 Пояснения и примеры к лабораторной работе
- •13.2 Задания к лабораторной работе №1:
- •4. ЛАБОРАТОРНАЯ РАБОТА №2 «АЛГОРИТМЫ С ВЕТВЛЕНИЯМИ»
- •13.3 Пояснения и примеры к лабораторной работе
- •13.2 Реализация алгоритмов с ветвлениями средствами C#
- •13.3 Задания к лабораторной работе №2
- •5. ЛАБОРАТОРНАЯ РАБОТА №3 «ОПЕРАТОР ВЫБОРА»
- •13.1 Пояснения и примеры к лабораторной работе
- •13.2 Реализация оператора выбора в языке C#
- •13.3 Задания к лабораторной работе №3
- •6. ЛАБОРАТОРНАЯ РАБОТА №4 «ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ»
- •13.1 Основные разновидности циклов
- •Цикл с постусловием
- •Цикл с предусловием
- •Цикл с параметром
- •Программное прерывание выполнения циклов
- •13.2 Примеры решения задач с использованием операторов цикла
- •Проверка корректности введенных данных
- •Решение задач с использованием диапазонов чисел
- •Решение задач полным перебором
- •Пояснения к задачам 18, 23, 24, 25:
- •13.3 Задания к лабораторной работе №4
- •7. ЛАБОРАТОРНАЯ РАБОТА №5 «РЯДЫ И ПОСЛЕДОВАТЕЛЬНОСТИ»
- •13.1 Примеры решения задач
- •Вычисление суммы n-первых членов ряда
- •Вычисление суммы n-первых членов последовательности, удовлетворяющих условию
- •Нахождение наименьшего номера члена последовательности, для которого выполняется некоторое условие
- •13.2 Задания к лабораторной работе №5
- •8. ЛАБОРАТОРНАЯ РАБОТА №6 «ТАБУЛИРОВАНИЕ ФУНКЦИЙ»
- •13.1 Пример решения задачи на табулирование функции
- •8.1.2 Организация перенаправления ввода-вывода средствами C#
- •13.2 Задания к лабораторной работе №6
- •9. ЛАБОРАТОРНАЯ РАБОТА №7 «ПОДПРОГРАММЫ»
- •13.1 Задания к лабораторной работе №7
- •13.2 Задания к лабораторной работе №8
- •13.1 Примеры и пояснения к лабораторной работе
- •13.2 Задания к лабораторной работе №9
- •Задания к лабораторной работе №10
- •13.1 Примеры работы со строками
- •Пример 13.2 Удалить из строки символ, указанный пользователем.
- •Пример 13.3 Удалить из строки лишних пробелов (пробелы в начале и в конце строки, между словами также должен быть один пробел).
- •Пример 13.4 Определить количество слов в заданном тексте.
- •13.2 Задания к лабораторной работе №11
- •13.1 Задания к лабораторной работе №12
- •13.1 Пояснения к работе
- •13.1 Задания к лабораторной работе №13
- •13.1 Пояснения к лабораторной работе №14
- •Формирование файла случайных чисел
- •Анализ файла случайных чисел
- •13.2 Задания к лабораторной работе №14
- •13.1 Примеры решения задач с использованием текстовых файлов
- •13.2 Задания к лабораторной работе №15
- •13.1 Задания к лабораторной работе №16
- •13.1 Задания к лабораторной работе №17
- •13.2 Задания к лабораторной работе №18
- •13.1 Задания к лабораторной работе №19
- •ПРИЛОЖЕНИЕ А
- •ПРИЛОЖЕНИЕ Б
- •СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
- •ОГЛАВЛЕНИЕ
|
|
|
|
|
|
15 |
6 |
|
16 |
|
|
11 |
|
|
|
|
|
|
|
|
|
|
7 |
10 |
9 |
8 |
|
|
|
|
|
13.2Задания к лабораторной работе №9
Взадачах 1—12 сформировать квадратную матрицу порядка n по заданному образцу:
1. |
1 |
2 |
|
3 |
L |
n |
|
||||
|
|
|
|
−1 n − 2 L 1 |
|
|
|||||
|
n n |
|
|
||||||||
|
|
1 |
2 |
|
3 |
L |
n |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
n n |
−1 n − 2 L 1 |
|
||||||||
|
|
M |
|
M |
|
M |
O |
M |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
−1 n − 2 L 1 |
|
|
|||||
|
n n |
|
|
||||||||
|
|
(n-четное). |
|
|
|
|
|
||||
3. |
n |
0 |
|
0 |
L 0 |
0 |
0 |
|
|||
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
n−1 0 L 0 0 0 |
|
||||||||
|
|
0 0 |
n−2 L 0 0 0 |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
M |
|
M |
O M |
M |
M |
|
|||
|
|
0 |
0 |
|
0 |
L 0 |
2 |
|
|
|
|
|
|
|
0 |
|
|||||||
|
|
0 |
0 |
|
0 |
L 0 |
0 |
|
|
|
|
|
|
|
1 |
|
|||||||
5. |
1 |
1 |
1 |
|
L |
1 |
1 |
1 |
|
||
|
|
1 |
0 |
0 |
|
|
0 |
0 |
1 |
|
|
|
|
|
L |
|
|
||||||
|
|
1 |
0 |
0 |
|
L |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
M |
M |
|
O |
M |
M |
M |
|
||
|
|
1 |
0 |
0 |
|
L |
0 |
0 |
1 |
|
|
|
|
|
|
|
|||||||
|
|
1 |
1 |
1 |
|
L |
1 |
1 |
1 |
|
|
|
|
|
|
|
|||||||
7. 1 |
1 |
1 |
L |
1 |
1 |
1 |
|
||||
|
0 |
1 |
1 |
|
|
1 |
1 |
0 |
|
|
|
|
L |
|
|
||||||||
|
0 |
0 |
1 |
L |
1 |
0 |
0 |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
M |
M |
M |
O |
M |
M |
M |
|
||||
|
0 |
1 |
1 |
L |
1 |
1 |
0 |
|
|
||
|
|
|
|||||||||
|
1 |
1 |
1 |
L |
1 |
1 |
1 |
|
|
||
|
|
|
|||||||||
9. |
|
n |
0 |
0 |
|
0 |
|
0 |
|
||
|
|
L |
|
0 |
|||||||
|
n −1 n 0 L 0 |
|
0 0 |
||||||||
|
n −2 n −1 n |
L 0 |
|
0 0 |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
M |
M |
O |
M |
|
M |
M |
|
|
|
2 |
3 4 L n −1 n 0 |
|
|||||||
|
|
|
|||||||||
|
|
1 |
2 3 L n −2 n −1 n |
|
|||||||
|
|
|
2. |
|
|
|
0 |
|
0 |
|
0 |
0 |
|
|
|
0 |
|
|
L |
1 |
||||||
|
0 |
|
0 |
|
0 |
L |
0 |
2 |
0 |
||
|
|
0 |
|
0 |
|
0 |
K |
3 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
|
M |
|
M |
O |
M |
M |
M |
|
|
|
0 |
n |
− 1 0 L |
0 |
0 |
0 |
|
|||
|
|
|
|||||||||
|
|
n |
|
0 |
|
0 |
L |
0 |
0 |
0 |
|
|
|
|
|
|
|||||||
|
|
(n-четное). |
|
|
|
|
|
|
|||
4. |
|
|
|
|
0 L 0 |
0 |
|
|
|
|
|
|
1 2 0 |
|
|
0 |
|||||||
|
0 2 3 0 L 0 |
0 |
|
0 |
|||||||
|
|
0 0 3 4 L 0 |
0 |
|
0 |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
M |
|
M |
O M |
M |
|
M |
|
|
|
|
0 |
0 |
|
0 L 0 (n−1) |
n |
0 |
|
|
||
|
|
|
|
|
|||||||
|
|
0 |
0 |
|
0 L 0 |
0 |
|
|
|
|
|
6. |
|
|
|
n (n+1) |
|||||||
|
|
1 |
|
1 |
1 |
|
1 |
1 |
|
|
|
|
|
|
|
L |
1 |
||||||
|
|
|
2 |
|
2 |
2 |
L |
2 |
2 |
0 |
|
|
|
|
3 |
|
3 |
3 |
L |
3 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
|
M |
M |
O |
M |
M |
M |
|
|
|
|
− 1 n − 1 0 L |
0 0 0 |
|
||||||
|
n |
|
|||||||||
|
|
|
n |
|
0 |
0 |
L |
0 |
0 |
0 |
|
8. |
|
|
|
|
|||||||
|
|
0 |
|
0 |
|
0 |
|
0 |
|
|
|
|
1 |
|
L |
|
1 |
||||||
|
1 |
1 |
|
0 |
L |
0 |
|
1 |
1 |
||
|
|
1 |
1 |
|
1 |
L |
1 |
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
M |
|
M |
O |
M |
|
M |
M |
|
|
|
1 |
1 |
|
0 |
L |
0 |
|
1 |
1 |
|
|
|
|
|
|
|||||||
|
|
1 |
0 |
|
0 |
L |
0 |
|
0 |
1 |
|
10. |
|
|
|
|
|||||||
|
|
|
2 3 L |
|
|
|
|
|
|||
|
1 |
n − 2 n − 1 n |
|||||||||
|
2 |
3 4 L n − 1 |
|
n |
0 |
||||||
|
|
|
3 |
4 |
5 |
L |
n |
|
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
M |
M |
O |
M |
|
M |
M |
|
|
|
|
− 1 n 0 L |
0 |
|
0 |
0 |
|
|||
|
n |
|
|
||||||||
|
|
|
n |
0 |
0 |
L |
0 |
|
0 |
0 |
|
|
|
|
|
|
86
11. |
|
0 |
0 |
|
0 |
0 |
|
|
1 |
L |
n |
||||||
0 2 0 L 0 |
n −1 0 |
|||||||
|
0 0 |
3 |
L n − 2 |
0 |
0 |
|
||
|
|
|
|
|
|
|
|
|
M |
M |
M |
O |
M |
M |
M |
||
|
0 2 0 |
L |
0 |
n −1 0 |
|
|||
|
|
|||||||
|
1 |
0 |
0 |
L |
0 |
0 |
n |
|
|
|
13. Построить квадратную матрицу порядка 2n:
|
|
|
n |
|
|
|
n |
|
|
6 47 448 6 447 448 |
|||||||||
|
1 |
1 |
L |
1 2 |
2 |
L |
2 |
|
|
|
|
1 |
|
1 2 |
2 |
|
2 |
|
|
1 |
L |
L |
|
||||||
|
M |
M |
O |
M M |
M |
O |
M |
|
|
|
|
||||||||
|
1 |
1 |
L |
1 2 |
2 |
2 |
2 |
|
|
|
|
||||||||
|
3 |
3 |
L |
3 4 |
4 |
L |
4 |
|
|
|
3 |
3 |
L |
3 4 |
4 |
L |
4 |
|
|
|
M |
M |
O |
M M |
M |
O |
M |
|
|
|
|
||||||||
|
3 |
3 |
L |
3 4 |
4 |
L |
4 |
|
|
|
1 42 443 |
1 442 443 |
|
||||||
|
|
|
n |
|
|
|
n |
|
|
15.Даны действительные числа а1, а2,...,аn. Получить квадратную матрицу порядка n:
|
a |
a |
|
a |
|
L |
a |
n |
−2 |
a |
n−1 |
a |
n |
|
|||
|
|
|
1 |
|
2 |
|
3 |
|
|
|
|
|
|
||||
|
a2 |
a3 |
a4 |
L an−1 |
an−2 |
a1 |
|
||||||||||
|
a |
3 |
a |
4 |
a |
5 |
L |
a |
n |
a |
a |
2 |
|
||||
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|||||
|
|
M |
M |
M |
O |
|
M |
|
M |
|
M |
|
|||||
a |
n−1 |
a |
n |
a |
L |
a |
n |
−4 |
a |
n−3 |
a |
n |
−2 |
|
|||
|
|
|
|
1 |
|
|
|
|
|
||||||||
|
a |
n |
a |
a |
2 |
L |
a |
n−3 |
a |
n−2 |
a |
n−1 |
|
||||
|
|
|
|
1 |
|
|
|
|
|
|
17. Получить матрицу:
1 |
0 |
L 0 |
1 |
||
|
0 |
1 |
L 1 |
0 |
|
|
|
||||
|
M |
M |
O M |
M |
|
|
|
1 |
L 1 |
|
|
0 |
0 |
||||
|
1 |
0 |
L 0 |
1 |
|
|
|
19.Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, переставляя ее блоки размера nхn по часовой стрелке, начиная с блока в левом верхнем углу.
12. |
1 |
2 |
3 |
L n − 2 n −1 |
n |
|
||
|
|
|||||||
2 |
1 |
2 |
L n − 2 n − 2 n −1 |
|||||
|
3 |
2 |
1 |
L n − 4 n − 3 n − 2 |
|
|||
|
|
|
|
|
|
|
|
|
|
M |
M |
M |
O |
M |
M |
M |
|
|
|
|
n − 3 |
L 2 |
1 |
2 |
|
|
n −1 n − 2 |
|
|||||||
|
n |
n −1 |
n − 2 |
L 3 |
2 |
1 |
|
|
|
|
14.Дано действительное число х. Получить квадратную матрицу порядка n+1:
1x
x2
Mxn−1
xn
x x2 L xn−2
0 0 L 0
0 0 L 0
M M O M
0 0 L 0 xn−1 xn−2 L x2
xn−1
0
0
M
0 x
xn xn−1
xn−2 M x
1
16.Сформировать квадратную матрицу порядка N пo правилу
|
2 |
− J |
2 |
|
||
A[I, J ]= sin |
I |
|
|
|
и подсчитать ко- |
|
|
|
|
|
|||
|
|
N |
|
|
|
|
|
|
|
|
|
личество положительных элементов в ней.
18. Получить матрицу:
1 |
2 |
3 |
L |
9 |
10 |
||
|
0 |
1 |
2 |
|
8 |
9 |
|
|
L |
|
|||||
|
0 |
0 |
1 |
L |
7 |
8 |
|
|
|
|
|
|
|
|
|
M |
M |
M |
O |
M |
M |
|
|
|
0 |
0 |
0 |
L |
0 |
1 |
|
|
|
20.Дана действительная квадратная матрица порядка 2N. Получить новую матрицу, переставляя ее блоки размера N х N крест-накрест.
87
21.Дан линейный массив x1, x2, ..., xn- 1, xn. Получить действительную квадратную матрицу порядка n:
|
x |
1 |
x |
2 |
L |
x |
n |
−1 |
x |
n |
|
|
|
|
|
|
|
|
|||||
|
x12 |
x22 |
L xn2−1 |
xn2 |
|
||||||
|
M |
M |
O |
|
M |
M |
|
||||
|
|
|
|||||||||
|
|
n |
x |
n |
|
|
n |
−1 |
|
n |
|
|
x1 |
2 |
L xn |
xn |
|
23.Получить квадратную матрицу порядка n:
|
1 |
2 |
L |
n −1 |
n |
||||
|
n +1 |
n + 2 |
|
|
|
|
|
|
|
|
L 2n −1 2n |
||||||||
|
2n +1 |
2n + 2 |
L 3n −1 3n |
||||||
|
|
|
|
|
|
|
|
|
|
|
M |
M |
O |
|
|
M |
M |
|
|
|
(n −1)n +1 |
(n −1)n + 2 |
L n |
2 |
−1 n |
2 |
|
||
|
|
|
|
25.Магическим квадратом порядка n называется квадратная матрица
размера их и, составленная из чисел 1, 2, ..., n2 так, что суммы по каждому столбцу, каждой строке и каждой из двух больших диагоналей равны между собой. Построить такой квадрат.
Пример магического квадрата порядка 3:
6 |
1 |
8 |
||
|
7 |
5 |
3 |
|
|
|
|||
|
2 |
9 |
1 |
|
|
|
27 Получить матрицу:
|
0 |
0 |
0 |
L |
0 |
0 |
0 |
|
|
0 |
1 |
0 |
|
0 |
1 |
0 |
|
|
L |
|
||||||
|
0 |
1 |
0 |
L |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
M |
M |
M |
O |
M |
M |
M |
|
|
0 |
1 |
0 |
L |
0 |
1 |
0 |
|
|
|
|||||||
|
0 |
0 |
0 |
L |
0 |
0 |
0 |
|
|
|
22.Дан линейный массив x1, x2, ..., xn-1, xn Получить действительную квадратную матрицу порядка n:
|
1 |
1 |
L |
1 |
1 |
|
|
x1 |
x2 |
L xn−1 |
xn |
|
|
|
|
|||||
|
x2 |
x2 |
L x2 |
x2 |
|
|
|
1 |
2 |
|
n−1 |
n |
|
|
M |
M |
O |
M |
M |
|
xn−1 |
xn−1 |
L xn−1 |
xn−1 |
|
||
|
1 |
2 |
|
n−1 |
n |
|
24. Получить квадратную матрицу порядка n:
0 |
0 |
0 |
L |
0 |
0 |
|
|
|
0 |
1 |
0 |
|
0 |
0 |
|
|
L |
|
|||||
|
0 |
0 |
2 |
L |
0 |
0 |
|
|
|
|
|
|
|
|
|
M |
M |
M |
O |
M |
M |
|
|
|
0 |
0 |
0 |
L |
0 |
n − 1 |
|
|
|
26.Составить программу, которая заполняет квадратную матрицу порядка n натуральными числами 1, 2, 3, ..., n, записывая их в нее «по спирали».
Например, для n = 5 получаем сле-
дующую матрицу:
1 |
16 |
15 |
14 |
13 |
|
|
|
2 |
17 |
24 |
23 |
12 |
|
|
|
|||||
|
3 |
18 |
25 |
22 |
11 |
|
|
|
19 |
20 |
21 |
10 |
|
4 |
|
|||||
|
5 |
6 |
7 |
8 |
9 |
|
|
|
28 Получить матрицу:
1 |
0 |
0 |
L |
0 |
0 |
1 |
|
|
|
1 |
2 |
0 |
|
0 |
2 |
1 |
|
|
L |
|
||||||
|
1 |
2 |
3 |
L |
3 |
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
M |
M |
M |
O |
M |
M |
M |
|
|
1 |
2 |
0 |
L |
0 |
2 |
1 |
|
|
|
|||||||
|
1 |
0 |
0 |
L |
0 |
0 |
1 |
|
|
|
88
29 Получить квадратную матрицу, |
30 Получить матрицу из одномерного |
||||||
организованную |
по следующему |
массива, постепенно заполняя его |
|||||
принципу (зигзаг), для 5х5: |
столбцы по принципу: нечетные сверху |
||||||
1 |
2 |
6 |
7 |
15 |
вниз, а четные снизу вверх |
||
|
3 |
5 |
8 |
14 |
16 |
|
|
|
|
|
|||||
|
4 |
9 |
13 |
17 |
22 |
|
|
|
|
12 |
18 |
21 |
23 |
|
|
10 |
|
|
|||||
|
11 |
19 |
20 |
24 |
25 |
|
|
|
|
|
89