Создать матрицу из членов геометрической прогрессии - Turbo Pascal
Формулировка задачи:
Ask the user to input three positive integers M, N and q. Make the 2 dimensional array of integers with size MxN, where all the elements of I (I = 1,…,M) line will be members of geometrical progression with first element equal to the number of line (I) and denominator q.
Просим пользователя ввести три положительных целых числа M, N и q. Сделать 2-мерный массив целых чисел размером MxN, где все элементы I (I = 1,...,M) линии будут членами геометрической прогрессии с первым элементом, равным номеру строк (I) и знаменатель q.
Решение задачи: «Создать матрицу из членов геометрической прогрессии»
textual
Листинг программы
var a : array [1..100, 1..100] of integer; q, n, m, i, j, b : integer; begin write('введите q: '); readln(q); repeat writeln('введите M и N: '); readln(m, n) until (m in [2..100]) and (n in [2..100]); for i := 1 to n do begin b := i; for j := 1 to m do begin a[i,j] := b * round(exp((j - 1) * ln(q))); write(a[i,j]:4) end; writeln end; readln end.
Объяснение кода листинга программы
Этот код написан на Turbo Pascal и предназначен для создания матрицы из членов геометрической прогрессии. В начале объявляются переменные:
a
- матрица размером 100x100, которая будет содержать значения прогрессии;q
,n
,m
,i
,j
,b
- целочисленные переменные, которые будут использоваться в вычислениях. Затем происходит чтение значенийq
,m
иn
с помощью функцииreadln()
. Далее идет циклrepeat
, который продолжается до тех пор, покаm
иn
удовлетворяют определенным условиям:m
должно быть от 2 до 100, аn
также должно быть от 2 до 100. Внутри цикла считываются значенияm
иn
, и переменнаяb
инициализируется значениемi
. Затем идет вложенный циклfor
, который проходит по каждому элементу массиваa
и вычисляет его значение с помощью формулы геометрической прогрессии. Формула выглядит следующим образом:a[i,j] = b * round(exp((j - 1) * ln(q)))
. Здесьj
- это номер текущего элемента внешнего цикла, аb
- это значение переменнойb
, которое было инициализировано значениемi
. После завершения вложенного цикла выводится значение каждого элемента массиваa
с помощью функцииwrite()
. В конце кода происходит чтение следующего ввода с помощью функцииreadln()
и цикл повторяется, пока не будут введены корректные значенияm
иn
. Обратите внимание, что этот код предполагает, что пользователь будет вводить значенияq
,m
иn
в каждой итерации цикла. Если пользователь введет некорректные значения, код может работать некорректно или выдавать ошибки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д