- •Алгоритмизация и программирование
- •Алгоритмы. Блок-схемы алгоритмов
- •Контрольные вопросы
- •Задачи для самостоятельного решения
- •Линейные алгоритмы
- •Разветвляющиеся алгоритмы
- •Цикл с предусловием
- •1.2.4. Цикл с постусловием
- •Языки и системы программирования
- •Контрольные вопросы
- •Язык программирования Паскаль
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Целый и логический типы данных. Условный оператор
- •Целый тип данных. Цикл с параметром
- •Целый тип. Циклы с условиями
- •Вещественный тип. Циклы с условиями
- •Процедуры и функции. Рекурсия
- •Одномерные массивы
- •Двумерные массивы
- •Цикл с предусловием запишется в виде:
- •Цикл с параметром запишется в виде:
Вещественный тип. Циклы с условиями
Выписать фрагмент программы для решения указанной ниже задачи и обосновать, почему был выбран тот или иной вариант оператора цикла:
а) вычислить с — наибольший общий делитель натуральных чисел а и b;
б) найти и — первый отрицательный член последовательности cos (ctg п), где n =1,2, 3, ...;
в) вычислить у = cos (l + cos (2 + ...+ cos (39 + cos 40)...)).
Квадратное уравнение Ах2 + Вх+ С = 0 задается своими коэффициентами. Составить диалоговую программу нахождения корней квадратного уравнения.
Вычислить значение выражений:
а) sin х + sin (sin х) + ... + sin (sin (...sin x )…);
n раз
б) sin x + sin x2 + ... + sin xn;
в) sin x + sin2 x + ... + sinn x ;
Составить программу перевода действительного числа а (0 < а < 1) в двоичную систему счисления.
Дано 100 вещественных чисел. Вычислить разность между максимальным и минимальным из них.
Дано 200 вещественных чисел. Определить, сколько из них больше своих «соседей», то есть предыдущего и последующего чисел.
Процедуры и функции. Рекурсия
Найти сумму цифр числа.
Найти первую цифру числа.
Найти количество делителей числа.
Найти числа из промежутка от А до В, у которых больше всего делителей.
Найти сумму всех делителей числа.
Определить, является ли число совершенным, то есть, равно ли оно сумме своих делителей, кроме самого себя (используя преобразованную функцию из предыдущего примера).
Определить, является ли число простым.
Примечание. Для задач 1-7 следует построить соответствующие функции для нахождения чисел (арифметическая функция) и получения ответа true, false ( логическая функция).
Среди чисел из интервала от А до B найти все простые.
Составить программу, проверяющую, является ли число палиндромом (например, число 12721 — палиндром).
Определить, является ли число автоморфным, то есть квадрат этого числа заканчивается этим же числом, например число 6, так как его квадрат 36 заканчивается на 6 или число 25 — его квадрат 625.
Используя функцию из предыдущей задачи, найти все автоморфные числа из промежутка от А до В.
Примечание. Задачи 8 и 11 можно модифицировать — найти N первых таких чисел или найти первые N таких чисел, начиная с числа М.
Составить программу нахождения наибольшего общего делителя нескольких чисел, используя функцию нахождения НОД двух чисел.
Составить программу, вычисляющую наименьшее общее кратное четырех заданных с клавиатуры чисел (использовать функцию из предыдущего примера).
Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел. Например, если а = 25, b = 730, с = 127, d = 1995, то должна напечататься цифра 7.
Дано натуральное число п. Выяснить, имеются ли среди чисел п, п + 1,..., 2n близнецы, т.е. простые числа, разность между которыми равна двум.
Составить рекурсивную программу ввода с клавиатуры последовательности чисел (окончание ввода — 0) и вывода ее на экран в обратном порядке.
Найти сумму первых N членов арифметической (геометрической) прогрессии.
Найти первые N чисел последовательности, задаваемой рекурсивной формулой Ф(n) = (n-1) + 3*Ф(n-2) для всех n>2, а Ф(1) = 3 и Ф(2) = 5.