Записи с меткой «Паскаль»

Сортировка пузырьком.

Сортировка простыми обменами, сортиро́вка пузырько́м Английский язык bubble sort) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов. Сложность алгоритма: Θ$$(n^2)$$.

Сортировка выбором.

Сортировка выбором (Selection sort) — Алгоритм сортировки. Может быть как устойчивый, так и неустойчивый. На массиве из n элементов имеет время выполнения в худшем, среднем и лучшем случае Θ$$(n^2)$$, предполагая что сравнения делаются за постоянное время.

Решаем задачи Абрамян на Паскале. Proc 48

Proc48. Учитывая, что наименьшее общее кратное двух целых положительных чисел $$A$$ и $$B$$ равно $$A$$*($$B$$/НОД($$A$$, $$B$$)), где НОД($$A$$, $$B$$) — наибольший общий делитель $$A$$ и $$B$$, и используя функцию NOD2 из задания Proc46, описать функцию NOK2($$A$$, $$B$$) целого типа, находящую наименьшее общее кратное чисел $$A$$ и $$B$$. С помощью NOK2 найти наименьшие общие кратные пар …

Решаем задачи Абрамян на Паскале. Proc 47

Proc47. Используя функцию NOD2 из задания Proc46, описать процедуру Frac1($$a$$, $$b$$, $$p$$, $$q$$), преобразующую дробь $$a/b$$ к несократимому виду $$p/q$$ (все параметры процедуры — целого типа, $$a$$ и $$b$$ — входные, $$p$$ и $$q$$ — выходные). Знак результирующей дроби $$p/q$$ приписывается числителю (то есть $$q > 0$$). С помощью Frac1 найти несократимые дроби, равные $$a/b …

Решаем задачи Абрамян на Паскале. Proc 46

Proc46. Описать функцию NOD2($$A$$, $$B$$) целого типа, находящую наибольший общий делитель (НОД) двух целых положительных чисел $$A$$ и $$B$$, используя алгоритм Евклида: НОД($$A$$, $$B$$) = НОД($$B$$, $$A mod B$$), если $$B \neq 0$$; НОД($$A$$, $$0$$) = $$A$$. С помощью этой функции найти наибольшие общие делители пар $$(A, B), (A, C), (A, D),$$ если даны числа …

Решаем задачи Абрамян на Паскале. Proc 45

Proc45. Описать функцию Power4($$x$$, $$a$$, $$\epsilon$$) вещественного типа (параметры $$x$$, $$a$$, $$\epsilon$$ — вещественные, $$|x| < 1; a, \epsilon> 0$$), находящую приближенное значение функции $$(1 + x)^a$$: $$(1 + x)^a = 1 + a*x + a*(a-1)*x^2/(2!) + … + a*(a-1)*…*(a-n+1)*x^n/(n!) + … .$$ В сумме учитывать все слагаемые, модуль которых больше $$\epsilon$$. С помощью Power4 …