
- •Часть 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 Ошибки стадии выполнения
- •Ошибки ввода-вывода
- •Фатальные ошибки
- •Библиографический список
5.1 Работа с компонентами массива
В этом разделе необходимо разработать алгоритм и составить программу обработки числовых компонентов одномерного массива в соответствии с приведенными ниже заданиями. Численные значения исходного массива вводить с клавиатуры, после ввода реализовать его контрольный вывод на экран, затем вывести результирующий массив.
В массиве из 10 целых чисел найти наибольший элемент и поменять его местами с первым элементом.
В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом.
В массиве из 10 вещественных чисел отсортировать в порядке возрастания все положительные элементы. Отрицательные и нулевые элементы оставить на своих местах.
В массиве из 10 вещественных чисел отсортировать в порядке убывания все отрицательные элементы. Положительные и нулевые элементы оставить на своих местах.
Найти среднее арифметическое элементов целого массива размерности 10 и записать его на место первого элемента.
Найти среднее арифметическое элементов целого массива размерности 10 и записать его на место нулевых элементов.
Найти среднее геометрическое элементов вещественного массива размерности 10 и записать его на место последнего элемента.
Подсчитать число нулевых компонент целого массива из 10 элементов. Если нулевых элементов окажется больше 2, то поменять местами первый нулевой элемент с первым элементом массива, отличным от нуля.
Подсчитать число положительных, отрицательных и нулевых компонент вещественного массива из 10 элементов. Если отрицательных элементов окажется больше, то поменять знаки всех элементов массива на противоположные.
Подсчитать число компонент целого массива из 10 элементов, лежащих на отрезке [a, b].
Переставить в обратном порядке все положительные компоненты вещественного массива 10 из элементов.
Подсчитать число компонент вещественного массива из 10 элементов, которые лежат вне промежутка [a, b].
Дан массив из 10 целых чисел. Перестроить массив, записав в него сначала все положительные, затем отрицательные и нулевые элементы, сохраняя порядок их следования.
Дан массив из 10 вещественных чисел. Найти модуль суммы всех отрицательных элементов. Добавить найденную сумму ко всем отрицательным и нулевым элементам массива.
В массиве из 10 целых чисел требуется заменить первый элемент массива на сумму положительных элементов массива.
В массиве из 10 целых чисел требуется заменить последний элемент массива на удвоенную сумму отрицательных элементов массива.
В массиве из 10 целых чисел наибольший и наименьший элементы поменять местами.
Отсортировать массив из 10 вещественных чисел в порядке возрастания квадратов его компонент.
Найти максимальную разность двух соседних элементов массива из 10 вещественных чисел. Указать индексы этих элементов.
Найти номер элемента массива из 10 вещественных чисел, величина которого наиболее близка к среднему арифметическому. Если таких элементов несколько, вывести все номера в порядке их следования.
В массиве из 10 целых чисел найти сумму элементов, расположенных между первым и последним положительными элементами.
В массиве из 10 целых чисел найти произведение элементов, расположенных между первым и последним отрицательными элементами.
В массиве из 10 целых чисел найти сумму квадратов элементов, расположенных между наибольшим и наименьшим элементами массива.
В массиве из 10 целых чисел найти сумму логарифмов модулей элементов, расположенных между первым и вторым нулевыми элементами.
В массиве из 10 целых чисел найти произведение элементов, расположенных после последнего отрицательного элемента.
В массиве из 10 целых чисел найти сумму элементов, расположенных перед первым нулевым элементом.
В массиве из 10 целых чисел найти сумму квадратов элементов, расположенных между первым и последним отрицательными элементами.
В массиве из 10 целых чисел найти сумму кубов элементов, расположенных между первым и последним положительными элементами.
В массиве из 10 целых чисел найти произведение элементов, расположенных перед минимальным элементом.
В массиве из 10 целых чисел найти произведение элементов, расположенных после максимального элемента.