9 класс Информатика ГДЗ учебник Босова Параграф 2.4. Запись вспомогательных алгоритмовна языке Паскаль
Стр.106-107.
Ответы на вопросы
- Презентация может дополнить информацию из текста параграфа, предоставляя наглядные примеры кода, схемы блоков процедур и функций, а также пошаговое объяснение выполнения подпрограмм.
- Подпрограммы используются для упрощения кода, повторного использования кода, структурирования программы и улучшения её читабельности и поддержки. Они позволяют разбивать сложные задачи на более простые подзадачи.
- Основное различие между процедурами и функциями заключается в том, что процедура может возвращать несколько значений через параметры-переменные, тогда как функция возвращает единственное значение, совпадающее с её именем.
- Программа для вычисления наименьшего общего кратного (НОК) четырёх чисел с использованием процедуры вычисления наибольшего общего делителя (НОД):
1234567891011121314151617181920212223242526272829303132program LCM;vara, b, c, d, lcm1, lcm2, finalLcm: integer;procedure nod(x, y: integer; var g: integer);beginwhile x <> y doif x > y thenx := x - yelsey := y - x;g := x;end;function nok(x, y: integer): integer;varg: integer;beginnod(x, y, g);nok := (x * y) div g;end;begina := 36;b := 54;c := 18;d := 15;lcm1 := nok(a, b);lcm2 := nok(c, d);finalLcm := nok(lcm1, lcm2);writeln('LCM: ', finalLcm);end. - Программа перестановки значений переменных a, b, c в порядке возрастания с использованием процедуры swap:
12345678910111213141516171819program Sort;vara, b, c: integer;procedure swap(var x, y: integer);varm: integer;beginm := x;x := y;y := m;end;beginreadln(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. - Видоизменённая программа сортировки массива выбором с использованием процедуры выбора наибольшего элемента:
123456789101112131415161718192021222324252627282930program SelectionSort;constn = 10;vararr: array[1..n] of integer;i, j, maxIdx, temp: integer;procedure findMaxIndex(startIdx: integer; var maxIdx: integer);vari: integer;beginmaxIdx := startIdx;for i := startIdx + 1 to n doif arr[i] > arr[maxIdx] thenmaxIdx := i;end;beginrandomize;for i := 1 to n doarr[i] := random(100);for i := 1 to n - 1 dobeginfindMaxIndex(i, maxIdx);temp := arr[i];arr[i] := arr[maxIdx];arr[maxIdx] := temp;end;for i := 1 to n dowrite(arr[i], ' ');end. - Программа вычисления суммы факториалов:
123456789101112131415161718192021program FactorialSum;varn, i: integer;s: longint;function factorial(x: integer): longint;varf, j: integer;beginf := 1;for j := 1 to x dof := f * j;factorial := f;end;beginreadln(n);s := 0;for i := 1 to n dos := s + factorial(i);writeln('S = ', s);end. - Программа вычисления выражения:
123456789101112131415161718192021program Expression;varx, n, i, exp: integer;function power(base, exponent: integer): integer;varp, j: integer;beginp := 1;for j := 1 to exponent dop := p * base;power := p;end;beginreadln(x, n);exp := 0;for i := 3 to n doif i mod 2 = 1 thenexp := exp + power(x, i);writeln('S = ', exp);end. - Программа вычисления длины отрезка и периметра треугольника:
123456789101112program TrianglePerimeter;varx1, y1, x2, y2, x3, y3: real;function distance(x1, y1, x2, y2: real): real;begindistance := sqrt(sqr(x2 - x1) + sqr(y2 - y1));end;beginreadln(x1, y1, x2, y2, x3, y3);writeln('Perimeter: ', distance(x1, y1, x2, y2) + distance(x2, y2, x3, y3) + distance(x3, y3, x1, y1):0:2);end. - Программа вычисления площади треугольника и четырёхугольника:
123456789101112program Area;varx1, y1, x2, y2, x3, y3, x4, y4: integer;function triangleArea(x1, y1, x2, y2, x3, y3: integer): real;begintriangleArea := abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) / 2;end;beginreadln(x1, y1, x2, y2, x3, y3, x4, y4);writeln('Area of quadrilateral: ', triangleArea(x1, y1, x2, y2, x3, y3) + triangleArea(x1, y1, x3, y3, x4, y4):0:2);end.
| § 2.2 | § 2.3 | § 2.4 | § 2.5 | § 3.1 |