М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Albert116
Albert116
13.04.2022 04:56 •  Информатика

Нужно перевести данное творение из Питона в паскаль Задание вот: Яркости пикселей рисунка закодированы числами от 0 до 255 в виде матрицы. Преобразовать рисунок в черно-белый по следующему алгоритму: вычислить среднюю яркость пикселей по всему рисунку все пиксели, яркость которых меньше средней, сделать черными (записать код 0), а остальные – белыми (код 255).
Код на питоне:
import random
A = []
imax = 0
jmax = 0
imin = 0
jmin = 0
x = int(input("размер = "))
for i in range(x):
A.append([])
for c in range(x):
A[i].append(random.randint(10,99))
min = A[0][0]
max = A[0][0]
print('Матрица А:')
for i in range(x):
print()
for c in range(x):
print(" ",A[i][c],end = ' ')
for i in range(x):
print()
for c in range(x):
if(A[i][c] > max):
max = A[i][c]
imax = i+1
jmax = c+1
if(A[i][c] < min):
min = A[i][c]
imin = i+1
jmin = c+1
Заранее большое!

👇
Ответ:
Nadezhda136
Nadezhda136
13.04.2022
Хорошо, я могу помочь вам перевести данный код из языка Python в Pascal.

Перед тем, как начать переводить код, стоит отметить, что в языке Pascal индексы массивов начинаются с 1, в отличие от Python, где они начинаются с 0. Также, в Pascal нет готовой функции для генерации случайных чисел, поэтому нам придется вручную реализовать эту функцию.

Вот переведенный код на язык Pascal:

```Pascal
program ConvertToBlackAndWhite;

type
Matrix = array of array of Integer;

var
A: Matrix;
imax, jmax, imin, jmin, x, i, c, currentPixel, min, max, avg: Integer;

procedure GenerateRandomMatrix(var arr: Matrix; size: Integer);
var
i, c: Integer;
begin
SetLength(arr, size, size);
for i := 0 to size-1 do
for c := 0 to size-1 do
arr[i, c] := Random(90) + 10; // генерируем случайное число от 10 до 99
end;

procedure PrintMatrix(arr: Matrix; size: Integer);
var
i, c: Integer;
begin
for i := 0 to size-1 do
begin
for c := 0 to size-1 do
Write(' ', arr[i, c]);
Writeln;
end;
end;

begin
Randomize;
Write('Размер = ');
Readln(x);

SetLength(A, x, x);
GenerateRandomMatrix(A, x);

min := A[0, 0];
max := A[0, 0];

Writeln('Матрица A:');
PrintMatrix(A, x);

for i := 0 to x-1 do
begin
for c := 0 to x-1 do
begin
currentPixel := A[i, c];
if currentPixel > max then
begin
max := currentPixel;
imax := i+1;
jmax := c+1;
end;

if currentPixel < min then
begin
min := currentPixel;
imin := i+1;
jmin := c+1;
end;

avg := avg + currentPixel;
end;
end;

avg := avg div (x*x); // вычисляем среднюю яркость пикселей

Writeln('Средняя яркость = ', avg);

for i := 0 to x-1 do
begin
for c := 0 to x-1 do
begin
if A[i, c] < avg then
A[i, c] := 0 // черный цвет
else
A[i, c] := 255; // белый цвет
end;
end;

Writeln('Черно-белая матрица A:');
PrintMatrix(A, x);
Readln;
end.
```

Я добавил комментарии к коду, чтобы было понятно, что происходит на каждом шаге. Пожалуйста, дайте мне знать, если нужна дополнительная помощь или пояснения.
4,4(37 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ