- •Общее описание
- •Замечания о формулировках заданий
- •Ввод исходных данных и вывод результатов
- •Язык Паскаль
- •Язык Visual Basic
- •Языки платформы .Net (c# и vb.Net)
- •Ввод и вывод данных, оператор присваивания
- •1 Кг ирисок, а также во сколько раз шоколадные конфеты дороже ирисок.
- •Целые числа
- •Логические выражения
- •X2, y2(целые числа, лежащие в диапазоне 1–8). Проверить истинность вы-
- •Условный оператор
- •Оператор выбора
- •Цикл с параметром
- •Вложенные циклы
- •Цикл с условием
- •Последовательности
- •Вложенные циклы
- •Функции с числовыми параметрами
- •Дополнительные задания на процедуры и функции
- •Минимумы и максимумы
- •Одномерные массивы
- •Формирование массива и вывод его элементов
- •Анализ элементов массива
- •Работа с несколькими массивами
- •Удаление и вставка элементов
- •Сортировка массива
- •Серии целых чисел
- •Множества точек на плоскости
- •Двумерные массивы (матрицы)
- •Формирование матрицы и вывод ее элементов
- •Анализ элементов матрицы
- •Преобразование матрицы
- •Диагонали квадратной матрицы
- •Анализ и преобразование слов в строке
- •Дополнительные задания на обработку строк
- •Двоичные файлы
- •Преобразование файла
- •Обработка нетипизированных двоичных файлов
- •Работа с несколькими числовыми файлами. Файлы-архивы
- •Cимвольные и строковые файлы
- •Использование файлов для работы с матрицами
- •Текстовые файлы
- •Основные операции с текстовыми файлами
- •Анализ и форматирование текста
- •Текстовые файлы с числовой информацией
- •Дополнительные задания на обработку текстовых файлов
- •Разбор выражений
- •Перебор с возвратом
- •3 Непосредственных потомка: a с весом 1, b с весом 0 и c с весом −1.
- •Динамические структуры данных
- •Очередь
- •Двусвязный список
- •InsertAfter(l, d), которая вставляет новый элемент со значением d по-
- •Список с барьерным элементом
- •Динамические структуры данных (.Net)
- •Очередь
- •Двусвязный список
- •Список с барьерным элементом
- •Литература
Литература
1. Абрамян М. Э. 1000 задач по программированию. Часть I: Скалярные
типы данных, управляющие операторы, процедуры и функции. — УПЛ
РГУ, 2004. — 43 с.
2. Абрамян М. Э. 1000 задач по программированию. Часть II: Минимумы и
максимумы, одномерные и двумерные массивы, символы и строки, дво-
ичные файлы. — УПЛ РГУ, 2004. — 42 с.
3. Абрамян М. Э. 1000 задач по программированию. Часть III: Текстовые
файлы, составные типы данных в процедурах и функциях, рекурсия, ука-
затели и динамические структуры. — УПЛ РГУ, 2004. — 43 с.
4. Абрамян М. Э., Михалкович С. С. Основы программирования на языке
Паскаль: Скалярные типы данных, управляющие операторы, процедуры
и функции. 2-е изд. — Ростов-на-Дону: «ЦВВР», 2005. — 198 с.
5. Абрамян М. Э. Практикум по программированию на языке Паскаль: Мас-
сивы, строки, файлы, рекурсия, динамические структуры. 5-е изд., пере-
раб. — Ростов-на-Дону: «ЦВВР», 2006. — 187 с.
6. Абрамян М. Э. Практикум по программированию на языках C# и VB
.NET. — Ростов-на-Дону: «ЦВВР», 2006. — 220 с.
154
Содержание
Общее описание
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6
3
Замечания о формулировках заданий
Ввод исходных данных и вывод результатов
Язык Паскаль . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Язык C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Язык Visual Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
7
8
9
9
Языки платформы .NET (C# и VB.NET) . . . . . . . . . . . . . . . 10
Ввод и вывод данных, оператор присваивания
Целые числа
Логические выражения
Условный оператор
Оператор выбора
Цикл с параметром
11
14
17
20
22
25
Вложенные циклы . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Цикл с условием
Последовательности
29
32
Вложенные циклы . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Процедуры и функции
36
Процедуры с числовыми параметрами . . . . . . . . . . . . . . . 36
Функции с числовыми параметрами . . . . . . . . . . . . . . . . . 38
Дополнительные задания на процедуры и функции . . . . . . . . 42
Минимумы и максимумы
Одномерные массивы
46
49
Формирование массива и вывод его элементов . . . . . . . . . . 49
Содержание
155
Анализ элементов массива . . . . . . . . . . . . . . . . . . . . . . 51
Работа с несколькими массивами . . . . . . . . . . . . . . . . . . 54
Преобразование массива . . . . . . . . . . . . . . . . . . . . . . . . 55
Изменение элементов массива . . . . . . . . . . . . . . . . . 55
Удаление и вставка элементов . . . . . . . . . . . . . . . . . 57
Сортировка массива . . . . . . . . . . . . . . . . . . . . . . . . 59
Серии целых чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Множества точек на плоскости . . . . . . . . . . . . . . . . . . . . 61
Двумерные массивы (матрицы)
63
Формирование матрицы и вывод ее элементов . . . . . . . . . . 63
Анализ элементов матрицы . . . . . . . . . . . . . . . . . . . . . . 65
Преобразование матрицы . . . . . . . . . . . . . . . . . . . . . . . 68
Диагонали квадратной матрицы . . . . . . . . . . . . . . . . . . . . 70
Символы и строки
72
Символы и их коды. Формирование строк . . . . . . . . . . . . . . 72
Посимвольный анализ и преобразование строк.
Строки и числа . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Обработка строк с помощью стандартных функций.
Поиск и замена . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Анализ и преобразование слов в строке . . . . . . . . . . . . . . 76
Дополнительные задания на обработку строк . . . . . . . . . . . 77
Двоичные файлы
79
Основные операции с двоичными файлами . . . . . . . . . . . . 80
Создание файла, ввод и вывод его элементов . . . . . . . . 80
Преобразование файла . . . . . . . . . . . . . . . . . . . . . . 82
Обработка нетипизированных двоичных файлов . . . . . . 83
Работа с несколькими числовыми файлами. Файлы-архивы . . 84
Cимвольные и строковые файлы . . . . . . . . . . . . . . . . . . . 85
Использование файлов для работы с матрицами . . . . . . . . . 87
Текстовые файлы
90
Основные операции с текстовыми файлами . . . . . . . . . . . . 90
Анализ и форматирование текста . . . . . . . . . . . . . . . . . . 92
Текстовые файлы с числовой информацией . . . . . . . . . . . . 94
Дополнительные задания на обработку текстовых файлов . . . 96
Составные типы данных в процедурах и функциях
97
Одномерные и двумерные массивы . . . . . . . . . . . . . . . . . 97
Строки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Файлы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Записи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Рекурсия
110
Простейшие рекурсивные алгоритмы . . . . . . . . . . . . . . . . 110
Разбор выражений . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Перебор с возвратом . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Динамические структуры данных
116
Стек . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Очередь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Двусвязный список . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Список с барьерным элементом . . . . . . . . . . . . . . . . . . . 131
Динамические структуры данных (.NET)
134
Стек . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Очередь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Двусвязный список . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Список с барьерным элементом . . . . . . . . . . . . . . . . . . . 149
Литература
153