
- •Часть I. Этапы решения задачи на компьютере 7
- •Часть II. Задачи. Алгоритмизация и программирование 15
- •Часть III. Теоретические положения и примеры программ 188
- •Введение
- •Часть I. Этапы решения задачи на компьютере
- •1.1 Постановка и формализация условий задачи
- •1.2 Алгоритмизация задачи
- •1.2.1 Интерпретация объектов
- •1.2.2 Вычислительная схема
- •1.2.3 Вычислительная схема решаемой задачи
- •1.2.4 Составление блок-схемы
- •1.2.5 Трассировка
- •1.3 Составление программы на языке Паскаль
- •1.4 Подготовка текста программы на машинном носителе
- •1.5 Трансляция (компиляция) программы
- •1.6 Компоновка (редактирование связей)
- •1.7 Запуск программы на исполнение
- •1.8 Анализ результатов
- •Часть II. Задачи. Алгоритмизация и программирование классических вычислительных процессов
- •1 Линейный вычислительный процесс
- •1.1 Программирование формул
- •1.2 Формализация и алгоритмизация задачи
- •2 Разветвляющийся вычислительный процесс
- •2.1 Программирование формул
- •2.2 Формализация и алгоритмизация графических задач
- •2 .3 Параметрические задачи
- •3 Циклические вычислительные процессы
- •3.1 Арифметический цикл
- •Вычисление произведения n сомножителей.
- •Табулирование функции на конечном отрезке.
- •3.2 Итерационный цикл
- •Вычисление предела последовательности с заданной точностью.
- •Вычисление суммы бесконечного ряда с заданной точностью.
- •3.3 Арифметические циклы с рекуррентными соотношениями
- •3.4 Итерационные циклы с рекуррентными соотношениями
- •3.5 Двойной вложенный цикл
- •4. Пользовательские алгебраические функции
- •4.1 Применение функции в линейных и разветвляющихся вычислительных процессах
- •4.2 Использование функции в циклических процессах
- •4.3 Табуляция функции
- •5 Одномерные числовые массивы
- •5.1 Работа с компонентами массива
- •5.2 Работа с векторами
- •6 Двумерные числовые массивы
- •6.1 Работа с элементами массива
- •6.2 Работа с векторами и матрицами
- •6.3 Использование процедур и функций для работы с массивами
- •7 Работа со строками
- •7.1 Анализ и преобразование текста строки
- •7.2 Работа со строковыми функциями и процедурами
- •8 Работа со списками
- •8.1 Стеки
- •8.2 Очереди
- •8.3 Бинарные деревья
- •9 Работа с текстовыми файлами
- •10 Работа с файлами записей
- •11 Компьютерная графика
- •12 Анимация изображений
- •Часть III. Теоретические положения и примеры программ
- •1 Вычисление определителя квадратной матрицы
- •2.2 Использование записей для описания таблиц
- •Работа с полями записи
- •Использование оператора with … do
- •Ввод данных в массив записей с клавиатуры
- •2.3 Вложение записей
- •Присвоение значений полям вложенных записей
- •3 Файлы записей
- •3.1 Структура файла
- •3.2 Встроенные процедуры и функции обработки файлов
- •3.3 Организация последовательного доступа к записям файла
- •3.4 Организация прямого доступа к компонентам файла
- •3.5 Создание индексного файла
- •3.6 Работа с файлом произвольного доступа
- •Просмотр файла
- •Редактирование записей
- •Изменение структуры основного файла
- •Использование клавиш для управления программой
- •Удаление записи из файла
- •Добавление записи в файл
- •3.7 Информационное взаимодействие текстовых файлов и файлов записей
- •Экспорт данных. Копирование информации из файла записей в текстовый файл
- •Импорт данных. Копирование информации из текстового файла в файл записей
- •3.8 Запросы к файлам записей
- •Запрос с группировкой
- •4 Графическое программирование
- •4.1 Управление видеорежимом
- •Инициализация видеорежима. Процедура InitGraph
- •Закрытие видеорежима. Процедура CloseGraph
- •Создание графического окна. Процедура SetViewPort
- •Закрытие графического окна. Процедура ClearDevice
- •4.2 Построение графических фигур
- •Построение прямой линии. Процедуры SetColor, SetLineStyle, Line, LineRel, LineTo
- •Построение прямоугольника. Процедуры Rectangle и Bar
- •Построение окружности. Процедура Circle
- •Построение дуги окружности. Процедура Arc
- •Построение эллипса. Процедуры Ellipse, FillEllipse
- •Построение сектора. Процедуры PieSlice, Sector
- •4.3 Корректировка изображения Процедуры GetAspectRatio, SetAspectRatio
- •4.4 Создание пользовательского шаблона заливки
- •Заливка замкнутой области. Процедура FloodFill
- •Построение и окраска произвольного рисунка на примере замка
- •Построение и заливка правильного многоугольника
- •4.5 Работа с текстом
- •Выбор стандартного шрифта. Процедура SetTextStyle
- •Коррекция стандартного шрифта. Процедура SetUserCharSize
- •Вывод числовых величин на экран
- •5 Анимация изображений
- •5.1 Дублирования спрайта цветом фона
- •5.2 Манипулирование фрагментами изображения
- •5.3 Использование страниц видеопамяти
- •6 Сообщения об ошибках
- •6.1 Ошибки стадии компиляции
- •6.2 Ошибки стадии выполнения
- •Ошибки ввода-вывода
- •Фатальные ошибки
- •Библиографический список
7 Работа со строками
В этом разделе необходимо разработать алгоритм и составить код программы для работы с короткими строками типа STRING. При решении некоторых задач удобно использовать множество литер, то есть тип данных SET OF CHAR.
7.1 Анализ и преобразование текста строки
Ввести строку, подсчитать число символов в строке, и если оно нечетное, то удалить все символы, стоящие на нечетных позициях. Вывести полученную строку.
Ввести строку из символов 2-х типов: А и В. Подсчитать количество символов А и символов В в строке. Если число символов А больше числа символов В, то удалить в строке все символы В, иначе удалить в строке все символы А. Вывести полученную строку.
Вывести строку, представляющую собой запись числа в двоичной системе исчисления. Перевести это число в десятичную систему исчисления и выяснить, кратно ли оно 3. Вывести двоичную и десятичную записи числа.
Ввести строку, представляющую собой запись числа в восьмеричной системе исчисления. Перевести это число в десятичную систему исчисления и выяснить, кратно ли оно 5. Вывести восьмеричную и десятичную записи числа.
Ввести строку, представляющую собой запись числа в шестнадцатеричной системе исчисления. Перевести это число в десятичную систему исчисления и выяснить, кратно ли оно 7. Вывести шестнадцатеричную и десятичную записи числа.
Ввести строку, состоящую из нескольких слов. Поменять местами первый и последний символы каждого слова. Вывести результирующую строку.
Ввести строку, представляющую собой запись числа в римской системе исчисления. Вывести римскую и десятичную записи этого числа.
Ввести число. Вывести строку, представляющую собой запись этого числа в двоичной системе исчисления.
Ввести число. Вывести строку, представляющую собой запись этого числа в восьмеричной системе исчисления.
Ввести число. Вывести строку, представляющую собой запись этого числа в шестнадцатеричной системе исчисления.
Ввести строку. Построить две строки, одна из которых содержит все символы латинского алфавита исходной строки, а другая - все остальные символы исходной строки, сохраняя порядок следования символов.
Ввести строку. Построить две строки, одна из которых содержит все символы русского алфавита исходной строки, а другая - все остальные символы исходной строки, сохраняя порядок их следования.
Ввести строку. Подсчитать содержащееся в ней число символов русского алфавита, латинского алфавита и построить строку, содержащую все символы исходной строки, не входящие ни в русский, ни в латинский алфавит, сохраняя порядок их следования.
Ввести строку. Построить строку, содержащую все символы латинского алфавита из исходной строки, отсортировать ее в алфавитном порядке.
Ввести строку. Построить строку, содержащую все символы русского алфавита из исходной строки и отсортировать ее в алфавитном порядке.
Ввести натуральное число. Построить строку, содержащую запись этого числа в римской системе исчисления.
Ввести строку. Построить строку, содержащую все символы русского алфавита из исходной строки и отсортировать ее в обратном алфавитном порядке.
Ввести строку. Построить результирующую строку, состоящую из символов исходной строки с нечетными значениями кодов, отсортированными в алфавитном порядке.
Ввести строку. Построить результирующую строку, состоящую из символов исходной строки с четными значениями кодов, отсортированными в алфавитном порядке.
Ввести строку. Построить результирующую строку, состоящую из символов исходной строки с нечетными значениями кодов, отсортированными в обратном алфавитном порядке.
Ввести строку. Построить результирующую строку, содержащую только двузначные числа из исходной строки.
Ввести строку, содержащую только символы латинского алфавита. Построить результирующую строку, содержащую только слова из исходной строки, начинающиеся с гласных букв.
Ввести строку, состоящую их нескольких слов. Построить результирующую строку, в которой поменять местами каждые два соседних слова из исходной строки.
Ввести строку, состоящую из чисел. Построить результирующую строку, содержащую только двузначные числа из исходной строки.
Ввести строку, состоящую из нескольких предложений. Построить результирующую строку, содержащую только предложения, в которых отсутствуют запятые.
Ввести строку, состоящую из нескольких предложений. Построить результирующую строку, содержащую только предложения, в которых присутствуют запятые.
Ввести строку, состоящую из нескольких предложений. Построить результирующую строку, содержащую только предложения, заключенные в кавычки.
Ввести строку, состоящую из нескольких предложений. Построить результирующую строку, содержащую только предложения, состоящие из заданного количества слов.
Ввести строку символов, состоящую из нескольких слов. Построить результирующую строку, содержащую только слова текста, начинающиеся и оканчивающиеся на гласные буквы.
Ввести строку символов латинского алфавита, состоящую из нескольких слов. Построить результирующую строку, заменив каждую первую букву слов, начинающихся с гласной буквы, на прописную.