- •1 Семестр
- •18 Занятий
- •1. Линейные и разветвляющиеся алгоритмы
- •Вычисления по формулам. Стандартные математические функции
- •Побитовые операции
- •Область на плоскости
- •Условный оператор
- •Логическое выражение в условном операторе
- •Ветвления
- •2. Циклы
- •Целочисленная арифметика. Приведение типов
- •Вложенные циклы. Схема Горнера
- •2.3. Перебор значений
- •2.4. Итерационные циклы. Вычисления с точностью
- •2.5. Нахождение простых чисел
- •2.6. Вычисления без хранения последовательности значений
- •Массивы. Указатели
- •Обработка одномерных массивов
- •Построение новой матрицы по части заданной матрицы
- •Обход матрицы
- •Упорядоченность значений в матрицах
- •Алгоритм Эратосфена для нахождения простых чисел
- •Преобразование матриц
- •*** Использование массивов для представления «длинных» чисел
- •*** Экономичное хранение матриц. Матричная алгебра
- •Строки. Структуры
- •Использование строкового типа
- •Перевод из одной cистемы счисления в другую
- •Выделение слов в строке
- •Массив слов
- •Создание собственных процедур для обработки строк
- •Функции
- •5.1. Передача параметров по значению и по ссылке
- •5.2. Перегрузка и шаблон функций
- •5.3. Возврат ссылок
- •5.4. Рекурсия
- •5.5. *** Перебор с возвратом
- •2 Семестр (15 занятий)
- •5.6. Вычисление корня уравнения. Передача имени функции в качестве параметра. Аргументы по умолчанию
- •5.7. Вычисление интеграла. Передача имени функции в качестве параметра
- •5.8. Сортировка массивов
- •5.9. *** Сортировка массивов
- •6. Файлы
- •6.1. Использование структур для битового представления чисел
- •6.2. Файлы чисел
- •6.3. Файлы записей
- •7. Динамические структуры данных
- •7.1. Динамическое выделение памяти для массивов
- •7.2. Линейный список
- •7.3. Линейные списки
- •7.4. Двухсвязные списки
- •7.5. Деревья
- •7.6. *** Более сложные связанные динамические структуры данных
- •7.7. *** Графы
- •8.1. Класс «Многоразрядное число»
- •8.2 Класс «Массив»
- •8.3 Класс «Линейный список»
- •8.4. *** Класс «Двусвязный список»
- •8.5 *** Класс «Бинарное дерево»
- •8.6 *** Класс «Граф»
- •Наследование. Полиморфизм
- •9.1. Наследование
- •9.2. Полиморфизм. Виртуальные методы
- •9.3. *** Полиморфизм. Виртуальные методы
-
Выделение слов в строке
Выполнить следующие задания для заданной строки символов (заданного текста), используя C-строки для представления данных.
Текст – непустая последовательность символов.
Слово – непустая последовательность любых символов, кроме символов-разделителей.
Предложение – последовательность слов, разделенных одним или несколькими символами-разделителями.
Символы-разделители: «пробел», «.», «,», «:», «;», «!», «?», «-», «(», «)».
-
Записать в новую строку слова, которые состоят из тех же букв, что и первое слово в заданной строке символов.
-
Записать в новую строку слова, которые состоят из тех же букв, что и последнее слово заданной строки символов.
-
Записать в новую строку все несимметричные слова, которые имеют четную длину.
-
Записать в новую строку слова, которые имеют такую же длину, что и последнее слово заданной строки символов.
-
Записать в новую строку слова исходной строки, в которых доля гласных букв максимальна.
-
Записать в новую строку слова исходной строки, в которых доля согласных букв максимальна.
-
Записать в новую строку слова исходной строки, в которых нет повторяющихся букв
-
Записать в новую строку слова исходной строки, в которых повторяющихся букв больше неповторяющихся.
-
Записать в новую строку слова исходной строки, в которых буквы упорядочены по алфавиту.
-
Записать в новую строку слова исходной строки, в которых нет одинаковых символов.
-
Записать в новую строку слова исходной строки, в которых каждый символ слова повторяется.
-
Заменить всякое вхождение слова вида аbc на b, где a, b – подслова, c – обращение слова a.
-
Массив слов
Выполнить следующие задания для заданной строки символов (заданного текста) с использованием строк класса string.
-
В заданном тексте найти все пары слов, в которых одно является обращением другого.
-
В заданном тексте найти все слова, которые состоят из одинаковых наборов символов (количество повторений символов не учитывать).
-
В заданном тексте найти все слова, которые имеют одинаковую длину и состоят из одинаковых наборов символов (порядок символов может быть различный).
-
Для каждого слова заданного предложения указать, сколько раз оно встречается в предложении.
-
Вывести слово, наиболее часто встречающееся в строке.
-
Получить текст, в котором слова исходного текста упорядочены по длине слов.
-
Получить текст, в котором слова исходного текста упорядочены по алфавиту.
-
Получить текст, в котором слова исходного текста упорядочены по первой букве каждого слова.
-
Отредактировать заданное предложение, удаляя из него слова-серии, а также те слова, которые уже встречались в предложении раньше.
-
В предложении все слова начинаются с различных букв. Вывести (если можно) слова предложения в таком порядке, чтобы последняя буква каждого слова совпадала с первой буквой следующего слова.
-
Характеристикой слова назовем длину содержащейся в нем максимальной серии. Упорядочить слова заданного предложения в соответствии с ростом их характеристик.
-
Найти множество всех слов (без повторений), которые встречаются в каждом из двух заданных предложений.