Главная / Учебники / Информатика 9 класс / Параграф § 1.2 / ГДЗ § 1.2
| Глава: | Глава 1. Алгоритмы и программирование |
|---|---|
| Параграф: | § 1.2 - Запись вспомогательных алгоритмов на языке Паскаль |
| Учебник: | Информатика 9 класс - |
| Автор: | Босова Людмила Леонидовна |
| Год: | 2025 |
| Издание: | 7-е издание, стереотипное |
Ответ:
Подпрограммы используются для:
Ответ:
Основное различие заключается в возвращаемом результате:
var) или не возвращать ничего.Для решения задачи можно использовать цикл while, который будет делить число на 10 и увеличивать счетчик, пока число не станет равным нулю.
function kdn(n: integer): integer;
var count: integer;
begin
count := 0;
if n = 0 then count := 1
else
while n <> 0 do
begin
n := n div 10;
count := count + 1;
end;
kdn := count;
end;
Количество двоичных цифр числа \( N \) равно \( \lfloor \log_2 N \rfloor + 1 \). В программе можно использовать цикл, аналогичный предыдущему заданию, но делить число на 2.
function kbin(n: integer): integer;
var count: integer;
begin
count := 0;
if n = 0 then count := 1
else
while n <> 0 do
begin
n := n div 2;
count := count + 1;
end;
kbin := count;
end;
Для нахождения НОК четырех чисел \( a, b, c, d \) можно последовательно применить формулу: \( \text{НОК}(a, b, c, d) = \text{НОК}(\text{НОК}(\text{НОК}(a, b), c), d) \).
Сначала потребуется процедура nod (из текста учебника):
procedure nod(a, b: integer; var c: integer);
begin
while a <> b do
if a > b then a := a - b else b := b - a;
c := a;
end;
Затем определим функцию для НОК:
function nok(a, b: integer): integer;
var temp_nod: integer;
begin
nod(a, b, temp_nod);
nok := (a * b) div temp_nod;
end;
Основная программа:
var n1, n2, n3, n4, result: integer;
begin
n1 := 36; n2 := 54; n3 := 18; n4 := 15;
result := nok(nok(nok(n1, n2), n3), n4);
writeln('НОК четырех чисел: ', result);
end.
Расчет НОК(36, 54) = (36 * 54) / НОД(36, 54) = 1944 / 18 = 108.
НОК(108, 18) = (108 * 18) / НОД(108, 18) = 1944 / 18 = 108.
НОК(108, 15) = (108 * 15) / НОД(108, 15) = 1620 / 3 = 540.
Ответ: 540.
Процедура swap (из текста учебника):
procedure swap(var x, y: integer);
var m: integer;
begin
m := x;
x := y;
y := m;
end;
Основная программа:
var a, b, c: integer;
begin
readln(a, b, c);
if a > b then swap(a, b);
if b > c then swap(b, c);
if a > b then swap(a, b);
writeln('Упорядоченные числа: ', a, ' ', b, ' ', c);
end.
Функция для вычисления факториала:
function factorial(n: integer): real;
var i: integer; fact: real;
begin
fact := 1;
for i := 1 to n do
fact := fact * i;
factorial := fact;
end;
Основная программа:
var n, i: integer; s: real;
begin
readln(n);
s := 0;
for i := 1 to n do
s := s + factorial(i);
writeln('Сумма ряда: ', s);
end.
Функция для вычисления степени \( x^y \):
function power(x, y: real): real;
var i: integer; p: real;
begin
p := 1;
for i := 1 to round(y) do
p := p * x;
power := p;
end;
Основная программа:
var x, s: real; a, b, n: integer;
begin
readln(x, a, b, n);
s := power(x, a) + power(x, b) + power(x, n);
writeln('Результат выражения: ', s);
end.
Функция для расчета длины отрезка \( L = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2} \):
function length(x1, y1, x2, y2: real): real;
begin
length := sqrt(sqr(x2 - x1) + sqr(y2 - y1));
end;
Основная программа для периметра треугольника:
var xA, yA, xB, yB, xC, yC, P: real;
begin
writeln('Введите координаты вершин A, B, C:');
readln(xA, yA, xB, yB, xC, yC);
P := length(xA, yA, xB, yB) + length(xB, yB, xC, yC) + length(xC, yC, xA, yA);
writeln('Периметр треугольника: ', P);
end.
Функция для расчета площади треугольника по координатам \( S = 0.5 \cdot |(x_A - x_C)(y_B - y_C) - (x_B - x_C)(y_A - y_C)| \):
function area_triangle(x1, y1, x2, y2, x3, y3: real): real;
begin
area_triangle := 0.5 * abs((x1 - x3) * (y2 - y3) - (x2 - x3) * (y1 - y3));
end;
Основная программа для площади четырехугольника (разбиваем на треугольники ABC и ACD):
var xA, yA, xB, yB, xC, yC, xD, yD, S: real;
begin
writeln('Введите координаты вершин A, B, C, D:');
readln(xA, yA, xB, yB, xC, yC, xD, yD);
S := area_triangle(xA, yA, xB, yB, xC, yC) + area_triangle(xA, yA, xC, yC, xD, yD);
writeln('Площадь четырехугольника: ', S);
end.
Задали создать проект?
Создай с помощью ИИ за 5 минут
Список готовых проектов к текущему параграфу.
ВНИМАНИЕ: Представленные фрагменты из учебных материалов используются исключительно в научно-образовательных целях в объеме, оправданном поставленной целью.
Данное использование осуществляется в рамках, установленных законодательством об авторском праве (в частности, нормами о свободном использовании произведения для образовательных целей).
В соответствии с законодательством, автор и источник заимствования указаны для каждого используемого фрагмента.