
- •Часть 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 Ошибки стадии выполнения
- •Ошибки ввода-вывода
- •Фатальные ошибки
- •Библиографический список
9 Работа с текстовыми файлами
Требуется создать в текстовом редакторе входной текстовый файл - Input.txt, куда следует поместить текст, содержащий указанную в задании информацию. Далее необходимо разработать структурированную программу, которая должна прочитать данные из этого файла в оперативную память компьютера, осуществить преобразование этой информации и вывести ее в требуемой форме в выходной текстовый файл - Output.txt. Создавать промежуточные файлы с другими именами нельзя!
Список городов с указанием континента.
Input.txt: Лондон - Европа; Токио - Азия; Париж - Европа; Сидней - Австралия; Москва - Европа; Пекин - Азия; …
Output.txt:
Австралия: Сидней;
Азия: Пекин, Токио;
Европа: Лондон, Москва, Париж;
Перечень городов с указанием страны.
Input.txt:
Москва - Россия;
Санкт-Петербург - Россия;
Киев - Украина;
Новгород - Россия;
Одесса - Украина;
Стокгольм - Швеция;
Output.txt: Москва, Новгород, Санкт-Петербург - Россия; Киев, Одесса - Украина; Стокгольм - Швеция; …
Список судов, классифицированных по назначению.
Input.txt: ВОЛГО-БАЛТ 210 - Генгруз; НЕФТЕРУДОВОЗ-55М - Нефтенавалочное; ОМСКИЙ-107 - Генгруз; НЕФТЕРУДОВОЗ-11М - Нефтерудовоз; МОРСКОЙ-5 - Генгруз; МАРШАЛ ГРЕЧКО - Нефтенавалочное; …
Output.txt:
Генгруз: Волго-Балт 210, Морской-5, Омский-107.
Нефтенавалочное: Нефтерудовоз-55М, Маршал Гречко.
Нефтерудовоз: Нефтерудовоз-11М.
Перечень судов, классифицированных по назначению.
Input.txt:
ВОЛГО-БАЛТ 210 – Генгруз.
НЕФТЕРУДОВОЗ-55М – Нефтенавалочное.
ОМСКИЙ-107 – Генгруз.
НЕФТЕРУДОВОЗ-11М – Нефтерудовоз.
МОРСКОЙ-5 – Генгруз.
МАРШАЛ ГРЕЧКО – Нефтенавалочное.
Output.txt: ВОЛГО-БАЛТ 210, МОРСКОЙ-5, ОМСКИЙ-107 - ГЕНГРУЗ; НЕФТЕРУДОВОЗ-55М, МАРШАЛ ГРЕЧКО - НЕФТЕНАВАЛОЧНОЕ; НЕФТЕРУДОВОЗ-11М - НЕФТЕРУДОВОЗ;
Перечень судов с указанием типа главного двигателя.
Input.txt:
Kolomna - MAN; Lukhovitsy - MAN; Ulan Bator - MAN; Novozybkov - SULTZER; Boris Kornilov - Sultzer; Vyborg - MAN; E. Mravinsky - MAN
Output.txt:
MAN (E. Mravinsky, Kolomna, Lukhovitsy, Vyborg); SULTZER (Boris Kornilov, Novozybkov)
Перечень судов с указанием дедвейта в тоннах.
Input.txt:
Kolomna, 17800; Boris Kornilov, 1800; Novozybkov, 12500; Alekcandr Nevsky, 19885;
Output.txt:
Alekcandr Nevsky (19885), Kolomna (17800), Novozybkov (12500), Boris Kornilov, (1800).
Классификатор стран (код, название страны на русском и английском языках).
Input.txt:
DE, Германия, Germany.
DK, Дания, Denmark.
DZ, Алжир, Algeria.
EA, Эстония, Estonia.
EG, Арабская республика Египет, Egypt Arab.
ES, Испания, Spain.
Output.txt:
АЛЖИР, АРАБСКАЯ РЕСПУБЛИКА ЕГИПЕТ, ГЕРМАНИЯ, ДАНИЯ, ИСПАНИЯ, ЭСТОНИЯ.
Список стран на русском и английском языках.
Input.txt: Великобритания (United Kingdom); Йемен (Yemen, People's Democratic Republic of Arab); Вьетнам (Vietnam); Российская Федерация (Russia);
Output.txt:
Russia (Российская Федерация); United Kingdom (Великобритания); Vietnam (Вьетнам); Yemen, People's Democratic Republic of Arab (Йемен).
Классификатор портов (код, название порта на русском и английском языках).
Input.txt:
1007 Диксон Dikson,
1008 Кандалакша Kandalaksha,
1009 Мурманск Murmansk,
1010 Дудинка Dudinka,
1011 Енисейск Yeniseysk.
Output.txt:
Диксон (Dikson); Дудинка (Dudinka); Енисейск (Yeniseysk); Кандалакша (Kandalaksha); Мурманск (Murmansk) …
Классификатор портов (код, название порта на русском и английском языках).
Input.txt:
1007 Диксон Dikson.
1008 Кандалакша Kandalaksha.
1009 Мурманск Murmansk.
1010 Дудинка Dudinka
1011 Енисейск Yeniseysk
Output.txt: Dikson (1007); Dudinka (1010); Kandalaksha (1008); Murmansk (1009); Yeniseysk (1011)…
Справочник "Классификационные общества" (код страны, название общества на национальном языке).
Input.txt:
GB British Corporation Register,
GB Lloyd's Register of Shipping,
GR International Naval Surveys Bureau,
GR Hellenic Register of Shipping,
RF Речной Регистр Российской Федерации,
RF Российский Морской Регистр Судоходства.
Output.txt:
Великобритания (British Corporation Register, Lloyd's Register of Shipping);
Греция (International Naval Surveys Bureau, Hellenic Register of Shipping);
Россия (Речной Регистр Российской Федерации, Российский Морской Регистр Судоходства);
Справочник "Классификационные общества" (код страны, название общества на национальном языке).
Input.txt:
GB British Corporation Register,
GB Lloyd's Register of Shipping,
GR International Naval Surveys Bureau,
GR Hellenic Register of Shipping,
RF Речной Регистр Российской Федерации,
RF Российский Морской Регистр Судоходства.
Output.txt: British Corporation Register, Lloyd's Register of Shipping - United Kingdom; International Naval Surveys Bureau, Hellenic Register of Shipping - Greece; Речной Регистр Российской Федерации, Российский Морской Регистр Судоходства – Russia.
Справочник типов рейсов (код, название на русском и на английском языках).
Input.txt:
1. Международный International.
2. Короткий международный Short international.
3. Морской прибрежный Coastal sea trade.
4. По внутренним водным путям Inland waters.
Output.txt:
КОРОТКИЙ МЕЖДУНАРОДНЫЙ (SHORT INTERNATIONAL).
МЕЖДУНАРОДНЫЙ (INTERNATIONAL).
МОРСКОЙ ПРИБРЕЖНЫЙ (COASTAL SEA TRADE).
ПО ВНУТРЕННИМ ВОДНЫМ ПУТЯМ (INLAND WATERS).
Список судостроительных сталей (аббревиатура, предел текучести, коэффициент стали).
Input.txt: 09Г2, 295, 0.83; 09Г2С, 315, 0.78; 15ГБ, 355, 0.72; 10ХСНД, 390, 0.68; 10Г2С1Д-40, 390, 0.68.
Output.txt:
1 09Г2 295 0.83,
2 09Г2С 315 0.78,
3 15ГБ 355 0.72,
4 10ХСНД 390 0.68,
5 10Г2С1Д-40 390 0.68.
Перечень моряков (Фамилия, имя, отчество).
Input.txt: Смирнов Виктор Васильевич, Гаврилов Сидор Муслимович, Опенков Валентин Абрамович, Шаповалов Илья Осипович,
Output.txt: Смирнов В.В.; Гаврилов С.М.; Опенков В.А.; Шаповалов И.О.
Перечень моряков (Фамилия, имя, отчество).
Input.txt: Смирнов Виктор Васильевич; Гаврилов Сидор Муслимович; Опенков Валентин Абрамович; Шаповалов Илья Осипович
Output.txt:
В. В. Смирнов
С. М. Гаврилов
В. А. Опенков
И. О. Шаповалов
Перечень моряков (Фамилия, имя, отчество) с указанием знания иностранных языков.
Input.txt: Смирнов Виктор Васильевич (English, German); Гаврилов Сидор Муслимович (Portuguese, Spanish); Опенков Валентин Абрамович (English, French, Finnish); Шаповалов Илья Осипович (English)
Output.txt:
English: Виктор Смирнов, Валентин Опенков, Илья Шаповалов.
German: Виктор Смирнов.
Finnish: Валентин Опенков.
French: Валентин Опенков.
Portuguese: Сидор Гаврилов.
Spanish: Сидор Гаврилов.
Перечень моряков (Фамилия, имя, отчество) с указанием их вероисповедания.
Input.txt: Смирнов Виктор Васильевич (Atheist); Гаврилов Сидор Муслимович (Muslim); Опенков Валентин Абрамович (Jew); Шаповалов Илья Осипович (Atheist).
Output.txt:
Atheist: В.В. Смирнов, И.О. Шаповалов.
Jew: В.А. Опенков.
Muslim: С.М. Гаврилов.
Перечень моряков (Фамилия, имя, отчество) с указанием их POSITION.
Input.txt: Смирнов Виктор Васильевич (Cook); Гаврилов Сидор Муслимович (Master); Опенков Валентин Абрамович (Ch. Engineer); Шаповалов Илья Осипович (Ch. Engineer).
Output.txt:
Master - С.М. Гаврилов; Ch. Engineer - В.А. Опенков, И.О. Шаповалов; Cook - В.В. Смирнов.
Перечень моряков (Фамилия, имя, отчество) с указанием их семейного положения.
Input.txt: Смирнов Виктор Васильевич (Separated); Гаврилов Сидор Муслимович (Now married); Опенков Валентин Абрамович (Widowed); Шаповалов Илья Осипович (Now married).
Output.txt:
NOW MARRIED: С.М. Гаврилов, И.О. Шаповалов.
SEPARATED: В.В. Смирнов.
WIDOWED: В.А. Опенков.
Написать программу, которая считывает текст из файла Input.txt и выводит в файл Output.txt только предложения, содержащие введенное с клавиатуры слово.
Написать программу, которая считывает текст из файла Input.txt и выводит в файл Output.txt только предложения, содержащие только двузначные числа.
Написать программу, которая считывает английский текст из файла Input.txt и выводит в файл Output.txt только слова, начинающиеся с гласных букв.
Написать программу, которая считывает текст из файла Input.txt и выводит в файл Output.txt только предложения, не содержащие запятых.
Написать программу, которая считывает текст из файла Input.txt и выводит в файл Output.txt только предложения - цитаты, т.е. предложения, заключенные в кавычки.
Написать программу, которая считывает текст из файла Input.txt и выводит в файл Output.txt только предложения, состоящие из заданного количества слов.
Написать программу, которая считывает текст из файла Input.txt и выводит в файл Output.txt только предложения, содержащие введенное с клавиатуры слово, добавляя после него в скобках число, сколько раз это слово встретилось в предложении.
Написать программу, которая считывает текст из файла Input.txt и выводит в файл Output.txt все предложения в обратном порядке
Написать программу, которая считывает текст из файла Input.txt и выводит в файл Output.txt все предложения, меняя местами каждые два соседние предложения (т.е. первое со вторым, третье с четвертым, и т.д.).
Написать программу, которая считывает текст из файла Input.txt и выводит его в файл Output.txt, заменив в нем цифры от 0 до 9 на слова «ноль», «один», …, «девять» .