
- •Алфавит и лексемы
- •Константы
- •Имена, ключевые слова и знаки операций
- •Ввод с клавиатуры
- •Вывод на экран
- •Условный оператор if
- •Оператор варианта case
- •Цикл с предусловием while
- •Цикл с постусловием repeat
- •Цикл с параметром for
- •Рекомендации по использованию циклов
- •Оператор перехода goto
- •Перечисляемый тип данных
- •Интервальный тип данных
- •Двумерные массивы
- •Операции
- •Процедуры и функции для работы со строками
- •Множества
- •Операции над множествами
- •Подпрограммы для работы со всеми типами файлов Процедуры
- •Функции
- •Текстовые файлы
- •Бестиповые файлы
- •Компонентные файлы
- •Прямой доступ
- •Процедуры
- •Функции
- •Глобальные и локальные переменные
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Нетипизированные параметры
- •Открытые массивы и строки
- •Рекурсивные подпрограммы
- •Описание модулей
- •Использование модулей
- •Модуль System
- •Модуль Crt
- •Работа с экраном
- •Работа с клавиатурой
- •Модули Dos и WinDos
- •Модуль Graph
- •Структура графической программы
- •Модуль Strings
Модуль Strings
Модуль предназначен для работы со строками, заканчивающимися нуль-символом, то есть символом с кодом 0 (их часто называют ASCIIZ-строки). Модуль содержит функции копирования, сравнения, слияния строк, преобразования их в строки типа string, поиска подстрок и символов.
В модуле System определен тип pChar, представляющий собой указатель на символ (^Char). Этот тип можно использовать для работы со строками, заканчивающимися #0. Эти строки располагаются в динамической памяти, и программист должен сам заниматься ее распределением.
Кроме того, для хранения ASCIIZ-строк используются массивы символов с нулевой базой, например:
var str : array[0 .. 4000] of char;
p : pChar;
Массивы символов с нулевой базой и указатели на символы совместимы.
Задания для самопроверки.
Зад.1
Задача 1. |
Линейные программы |
Линейные программы
Задача #1. Линейные программы |
||||||||
|
||||||||
Заданы две формулы:
По значениям α посчитать z1 и z2. Формат входных данных Первая строка входного файла содержит единственное число α — значение угла. Формат выходных данных Выходной файл должен содержать две строки, в первой должно быть значение z1, во второй z2. Оба числа должны быть посчитаны с точностью 5 знаков после запятой.
|
Зад.2
Задача 1. |
Разветвляющиеся вычислительные процессы #1 |
Задача 2. |
Разветвляющиеся вычислительные процессы #2 |
Разветвляющиеся программы
Задача #1. Разветвляющиеся вычислительные процессы #1 |
||||||
|
||||||
Функция задана в виде графика (R = 2):
Написать программу, которая по введенному значению аргумента вычисляет значение функции. Формат входных данных Первая строка входного файла содержит единственное вещественное число x — значение аргумента (-4 ≤ x ≤ 10). Формат выходных данных Выходной файл должен содержать одну строку, в которой должно быть выведено значение функции, соответствующее значению аргумента из входного файла. Значение должно быть посчитано с точностью 5 знаков после запятой.
|
Задача #2. Разветвляющиеся вычислительные процессы #2 |
||||||
|
||||||
Написать программу, которая определяет, попадает ли точка с заданными координатами x, y в область, закрашенную на рисунке серым цветом.
Формат входных данных Первая строка входного файла содержит значение R. Следующая строка содержит координаты точки — пару вещественных чисел. Формат выходных данных Выходной файл должен содержать единственную строку. В ней должно быть true если соответсвующая точка попадает в серую область и false в противном случае.
|
Зад.3
Задача 1. |
Организация циклов #1 |
Задача 2. |
Организация циклов #2 |
Задача 3. |
Организация циклов #3 |
Программирование циклов
Задача #1. Организация циклов #1 |
||||||
|
||||||
Функция задана в виде графика (R = 2):
Написать программу, которая вычисляет значение функции на интервале от xнач до xкон с шагом dx (-4 ≤ xнач, xкон ≤ 10). Формат входных данных Первая строка входного файла содержит 3 вещественных числа — xнач, xкон и dx. Формат выходных данных Необходимо вывести для каждого допустимого значения результат вычисления функции ровно с 4 знаками после запятой. Каждое значение должно быть на отдельной строке.
|
Задача #2. Организация циклов #2 |
||||||
|
||||||
Даны координаты n выстрелов. Написать программу, которая определяет, попадает ли выстрел с заданными координатами x,y в мишень (область, закрашенная на рисунке серым цветом).
Формат входных данных Первая строка входного файла содержит два числа n и R — количество выстрелов и значение R. Следующие n строк содержат координаты выстрелов — в i + 1й строке содержится пара вещественных чисел x, y — координаты iго выстрела. Формат выходных данных Выходной файл должен содержать n строк. В iй строке должно быть true, если соответсвующий выстрел попадает в мишень и false в противном случае.
|
Задача #3. Организация циклов #3 |
||||||
|
||||||
Функция задана с помощью ряда Тейлора:
Написать программу, которая вычисляет сумму первых n членов ряда на интервале от xнач до xкон с шагом dx. Формат входных данных Первая строка входного файла содержит 4 числа — xнач, xкон, dx и n. Формат выходных данных Необходимо вывести для каждого допустимого значения сумму первых n членов ряда ровно с 4 знаками после запятой. Каждое значение должно быть на отдельной строке.
|
Зад.4
Задача 1. |
Одномерные массивы |
Одномерные массивы
Задача #1. Одномерные массивы |
||||||
|
||||||
Дан одномерный массив. Необходимо вычислить a — максимальный элемент массива, b — сумму элементов массива, расположеных до последнего положительного элемента и сжать массив, удалив из него все элементы, модуль которых находится в интервале [5, 8]. Освободившиеся в конце массива элементы заполнить нулями. Формат входных данных В первой строке входного файла содержится число n — количество элементов в массиве (n ≤ 1000). Во второй строке через пробел записаны элементы массива —n вещественных чисел. Формат выходных данных В первую строку выходного файла необходимо вывести a, во вторую — b. В третью строку неоходимо вывести все элементы сжатого массива. Все вещественные числа должны быть выведены с точностью 4 знака после запятой.
|