- •Министерство образования и науки российской федерации
- •Оглавление предисловие
- •Составление структурных схем алгоритмов и программ
- •Пример 1
- •Пример 2
- •Задания
- •Пример 3
- •Задания
- •Пример 4
- •Пример 5
- •Задания
- •Алфавит языка pascal. Типы данных. Раздел описаний. Оператор присваивания. Ввод-вывод. Составление простейших программ
- •Стандартные процедуры
- •Стандартные функции
- •Пример 1
- •Пример 2
- •Задания
- •Пример 3
- •Задания
- •Задания
- •Использование переменных логического типа. Логический оператор присваивания
- •Логический оператор присваивания
- •R операция_сравнения s
- •Пример 1
- •Задания
- •4. Программирование разветвляющихся структур
- •4.1. Использование в программах условного оператора
- •Пример 1
- •Задания
- •4.2. Использование в программах оператора варианта
- •Case выражение-селектор of метка_случая : оператор;
- •Пример 1
- •Задания
- •5. Использование переменных типа char
- •Задания
- •6. Реализация циклических структур
- •6.1. Применение оператора цикла с параметром
- •Шаг изменения параметра цикла:
- •Пример 1
- •Задания
- •Пример 2
- •Пример 3
- •Задания
- •Пример 4
- •Задания
- •Таким образом изображаются циклы в структурных схемах (в лабораторных работах, курсовых работах и т.Д.). Пример 5
- •Задания
- •Задания
- •Пример 6
- •Задания
- •Не смотря на то, что есть еще другие операторы цикла, обычно вводят и выводят массивы с помощью оператора цикла с параметром.
- •6.2. Применение оператора цикла с постусловием
- •Пример 1
- •Задания
- •6.3. Применение оператора цикла с предусловием
- •Основные различия между операторами циклов с постусловием и предусловием
- •Пример 1
- •Задания
- •6.4. Работа с двухмерными массивами.
- •Задания
- •Пример 1
- •Задания
- •7. Поиск и сортировка числовых данных
- •Пример 1
- •Задания
- •8. Решение задач с применением подпрограмм
- •Procedure имя(список параметров);
- •Var идентификаторы:имя типа;...; var идентификаторы: имя типа
- •Var идентификаторы:имя типа;...;var идентификаторы: имя типа;...; идентификаторы:имя типа;...;идентификаторы:имя типа
- •Идентификаторы:имя типа;идентификаторы:имя типа; ...;идентификаторы:имя типа
- •Локальные переменные доступны только внутри процедур, в которых они определены!
- •Пример 1
- •Задания
- •9. Использование переменных перечисляемого типа
- •Ввод и вывод значений переменных перечисляемого типа запрещен.
- •Задания
- •10. Использование переменных ограниченного типа
- •Задания
- •11. Использование переменных множественного типа
- •Var идентификатор : set of порядковый тип;
- •Запрещен.
- •Правила приоритета для множественных операций:
- •Задания
- •12. Использование записей
- •With префикс[,префикс [...]] do оператор
- •Пример 1
- •Задания
- •13. Работа со строками
- •Каждая переменная типа string вводится отдельной процедурой readln
- •Пример 1
- •Задания
- •14. Работа с файлами
- •Пример 1
- •Пример 2
- •Пример 3
- •Задания
- •Библиографический список
Задания
№18. Написать программу для вычисления an без использования формулы для возведения в степень, где n - натуральное число.
№19. Определить произведение элементов целочисленного массива из 17 элементов.
№20. Определить сумму положительных элементов целочисленного массива.
№21. Вычислить сумму квадратов элементов массива Х(50), попадающих в интервал [a,b].
№22. В массиве TEMPER содержится информация о ежедневной температуре апреля месяца некоторого года. Вычислить среднемесячную температуру.
№23. В группе 25 студентов. В массиве М(25) дана информация обо всех студентах (результаты сессии по информатике). Подсчитать отдельно количество студентов, получивших 2, 3, 4 и 5.
№24. Определить отдельно количество положительных, нулевых и отрицательных элементов массива из 100 элементов целого типа.
№25. Для целочисленного массива N(34) определить отдельно сумму положительных и отрицательных элементов массива.
№26. Определить первый положительный и последний нулевой элемент в массиве целого типа, а также их месторасположение в массиве.
Пример 6
Написать программу для определения максимального элемента вектора Х(50).
Решение
Как бы мы вычисляли максимальный элемент вручную?
5 8 -13 100 -110
Мы сравнили бы первый элемент со вторым и запомнили наибольший. Потом сравнили бы это запомненное число с третьим. Опять запомнили бы наибольшее из них и т.д.
Впрограмме должно наблюдаться аналогичное последовательное сравнение. Только тот элемент, который мы запоминаем, максимальный - надо как-то назвать, например,MAX.
Итак, сначала мы сравнивали первый элемент со вторым, потом результат с третьим. Будем считать, что сначала MAX=Х1 (т.е. допустим, что максимальный элемент - Х1) и начнем этот максимум сравнивать сначала со вторым элементом, потом с третьим и т.д. (т.е. установим, является ли действительно первый элемент максимальным; если это не так, то максимум будем изменять).
Составим программу:
Var
X:array [1..50] of real;
i:integer;
max:real;
Begin
for i:=1 to 50 do
READ(X[I]);
max:=x[1]; {допустим, что максимальным является первый элемент массива}
for i:=2 to 50 do
if max < x[i] then max:=x[i]; {то максимум новый}
Writeln(max)
End.
Эта программа написана для нахождения максимума из элементов некоторого одномерного массива. Минимум ищется аналогично.
Задания
№27. Известны результаты забега (в секундах) на 100 метров 13 спортсменов. Определить наилучший результат.
№28. В массиве DOGD содержатся сведения о количестве осадков, выпавших в каждом месяце некоторого года. Определить, в каком месяце выпало наибольшее количество осадков и какой месяц был самым сухим. Подсчитать также среднегодовое количество осадков.
№29. Написать программу выбора наименьшего из 25 данных чисел, не используя массив (должна многократно выполняться процедура ввода READ(X)).
№30. Написать программу вычисления суммы положительных и количества отрицательных чисел, содержащихся среди 250 данных чисел, не используя массив (должна многократно выполняться процедура ввода READ(X)).
№31. Написать программу для вычисления величины
Y=COS(1+COS(2+COS(3+...+COS(39+COS40)...))).