
- •Тема 1. Программирование линейных алгоритмов. Арифметические выражения
- •Тема 2. Программирование разветвляющихся вычислительных процессов
- •Тема 3. Программирование циклических вычислительных процессов.
- •Тема 4. Обработка одномерных массивов.
- •Тема 5. Обработка двумерных массивов.
- •Тема 6. Обработка символьных данных.
- •Тема 7. Обработка строковых данных.
- •Тема 8. Составление программ с использование процедур
- •5Доп. [16-19], 10доп.[104-116], 11доп.[187-211]
- •Тема 9. Составление программ с использование функции
- •5Доп. [16-19], 10доп.[104-116], 11доп.[187-211]
- •Тема 10. Составление программ с использованием записи.
- •5Доп [19-22], 10доп.[95-99], 11доп.[321-338]
- •Тема 11. Множества.
- •Тема 12. Составление программ с использованием типизированных файлов
- •5Доп. [16-19], 10доп.[87-95], 11доп.[359-369]
- •Тема 13. Составление программ с использованием текстовых файлов
- •5Доп. [16-19], 10доп.[87-95], 11доп.[359-369]
- •Тема 14. Динамическая память и указатели.
- •Тема 15.
Тема 12. Составление программ с использованием типизированных файлов
Методические рекомендации: Разработать алгоритм и программу для решения задачи по обработке типизированных файлов.
Варианты заданий:
Число компонент файла f, компонентами которого являются целые числа, кратно 10. Переписать компоненты файла f в файл g, изменяя порядок чисел в каждой десятке так, чтобы в начале шли числа, делящиеся на 3, затем числа, дающие при делении на 3 остаток 1, затем числа, дающие при делении на 3 остаток 2. Порядок самих десяток должен быть сохранен.
Исходный текст содержит список целых десятичных чисел. Сгруппировать в выходном файле вначале числа, начинающиеся с цифры 1, затем с цифры 2, 3, 4 и т.д., причем относительная последовательность чисел в каждой группе должна быть такой же, как и в исходном тексте. Если какое-либо из исходных чисел содержит незначащие нули, то такие нули должны быть удалены. Если в исходном списке число 0, то это число должно быть первым в выходном файле.
Даны два файла вещественных чисел с именами NameA и NameB, содержащие элементы квадратных матриц A и B (по строкам). Создать новый файл с именем NameC, содержащий элементы произведения A·B. Если матрицы A и B нельзя перемножать, то оставить файл NameC пустым.
Даны два файла вещественных чисел с именами Name1 и Name2, элементы которых упорядочены по возрастанию. Объединить эти файлы в новый файл с именем Name3, сохранив упорядоченность элементов.
Даны два файла вещественных чисел с именами Name1 и Name2, элементы которых упорядочены по убыванию. Объединить эти файлы в новый файл с именем Name3, сохранив упорядоченность элементов.
Дан файл целых чисел. Удалить в нем все отрицательные и нечетные числа.
Дан файл целых чисел. Продублировать в нем все числа, принадлежащие диапазону 5..10.
Дан файл, содержащий ненулевые целые числа. Заменить в нем все положительные и четные числа двумя нулями.
Дан файл целых чисел с элементами A(i), i = 0, ..., N–1 (N — размер файла). Заменить исходное расположение его элементов на следующее: A(0), A(N–1), A(1), A(N–2), A(2), ... .
Даны три файла целых чисел одинакового размера с именами NameA, NameB и NameC. Создать новый файл с именем NameD, в котором чередовались бы элементы исходных файлов с одним и тем же номером: A0, B0, C0, A1, B1, C1, A2, B2, C2, ... .
1осн.[119-139]
5Доп. [16-19], 10доп.[87-95], 11доп.[359-369]
Тема 13. Составление программ с использованием текстовых файлов
Методические рекомендации: Разработать алгоритм и программу для решения задачи по обработке текстовых файлов.
Варианты заданий:
Даны два файла целых чисел одного размера с именами Name1 и Name2. Создать текстовый файл с именем NameT, содержащий изображения этих чисел, расположенные в два столбца шириной по 30 символов: первый содержит числа из файла Name1, второй — из файла Name2. В начале и конце каждой строки текстового файла ввести разделитель " | " (код 124). Числа выравниваются по левому1|правому2 краю столбца.
Дан текстовый файл с именем NameT, содержащий таблицу из трех столбцов вещественных чисел. Ширина столбцов таблицы и способ их выравнивания являются произвольными. Специальных символов-разделителей таблица не содержит. Создать файлы вещественных чисел с именами Name1, Name2 и Name3, каждый из которых содержит числа из соответствующего столбца таблицы.
Дан текстовый файл, представляющий собой таблицу, состоящую из трех столбцов с целыми числами. В начале и в конце каждой строки таблицы, а также между ее столбцами располагается символ-разделитель. Ширина столбцов таблицы и способ их выравнивания являются произвольными. Создать файл целых чисел, содержащий сумму чисел из каждой строки исходной таблицы.
Дан текстовый файл. Создать символьный файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания (без повторений). Символы располагать в порядке убывания их кодов.
Дан текстовый файл. Создать символьный файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания (без повторений). Символы располагать в порядке их первого появления в тексте.
Дан текстовый файл с именем NameT. Подсчитать число повторений в нем строчных русских букв ("а"–"я") и создать строковый файл с именем NameS, элементы которого имеют вид: "<буква>–<число повторений данной буквы>". Буквы, отсутствующие в тексте, в файл не включать. Строки упорядочить по убыванию числа повторений букв, а при равном числе повторений — по возрастанию кодов букв.
Дано целое число N и текстовый файл с именем Name1, содержащий один абзац текста, выровненный по левому краю. Отформатировать текст так, чтобы его ширина не превосходила N позиций, и выровнять текст по правому краю. Пробелы в конце строк удалить. Сохранить отформатированный текст в новом текстовом файле с именем Name2.
Дано целое число N и текстовый файл Name1, содержащий текст, выровненный по левому краю. Абзацы текста отделяются друг от друга одной пустой строкой. Отформатировать текст так, чтобы его ширина не превосходила N позиций, и выровнять текст по левому краю, сохранив деление на абзацы. Пробелы в конце строк удалить. Сохранить отформатированный текст в новом текстовом файле Name2.
Дана строка K, состоящая из 10 цифр, и файл с русским текстом. Зашифровать файл, выполнив циклическую замену каждой русской буквы, стоящей на i-й позиции строки, на букву того же регистра, расположенную в алфавите на K[i]-м месте после шифруемой буквы (символы строки K также перебираются циклически: для i = 11 снова используется смещение K[1] и т.д.). Букву "ё" в алфавите не учитывать, знаки препинания и пробелы не изменять.
Дана строка S1 и файл с русским текстом, зашифрованным по следующему правилу. Каждая русская буква, стоящая на i-й позиции строки, циклически заменена на букву того же регистра, расположенную в алфавите на K[i]-м месте после шифруемой буквы (символы строки K также перебираются циклически: для i = 11 снова используется смещение K[1] и т.д.). Букву "ё" в алфавите не учитывать, знаки препинания и пробелы не изменять. Строка S1 представляет собой первую расшифрованную строку текста. Расшифровать остальные строки и заменить в файле зашифрованный текст на расшифрованный. Если информации для расшифровки недостаточно, то исходный файл не изменять.
1осн.[119-139]