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

Почему возникла необходимость создания 3D редакторов в современном мире

👇
Открыть все ответы
Ответ:
raku13
raku13
04.02.2021
1. Создаем файл MatInt.pas следующего содержания:

// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
unit MatInt;

interface

type
  Matrix=array[,] of integer;

function MatCreate(m,n:integer):Matrix;
procedure MatPrint(a:Matrix;w:integer);
procedure MatMax(a:Matrix;var x,imax,jmax:integer);

implementation

function MatCreate(m,n:integer):Matrix;
// создает матрицу и инициализирует её нулями
begin
  SetLength(Result,m,n);
end;

procedure MatPrint(a:Matrix;w:integer);
// выводит матрицу, отводя w позиций под элемент
begin
  var n:=Length(a,1)-1;
  for var i:=0 to Length(a,0)-1 do begin
    for var j:=0 to n do Write(a[i,j]:w);
    Writeln
    end
end;

procedure MatMax(a:Matrix;var x,imax,jmax:integer);
// возвращает значение максимального элемента и его координаты
begin
  imax:=0; jmax:=0;
  var n:=Length(a,1)-1;
  for var i:=0 to Length(a,0)-1 do
    for var j:=0 to n do
      if a[i,j]>a[imax,jmax] then (imax,jmax):=(i,j);
  Inc(imax); Inc(jmax); x:=a[imax-1,jmax-1]
end;

end.

2. Компилируем файл, получая библиотеку MatInt.pcu

3. Пишем основную программу:

// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
uses
  MatInt;
begin
  var a:=MatCreate(5,8);
  var n:=Length(a,1)-1;
  for var i:=0 to Length(a,0)-1 do
  for var j:=0 to n do a[i,j]:=Random(-50,50);
  MatPrint(a,4);
  var irow,jcol,max:integer;
  MatMax(a,max,irow,jcol);
  Writeln('Максимальный А[',irow,',',jcol,']=',max)
end.

Тестовое решение
  11 -16  11  16  23  -4 -17 -34
 -12  -5  20   9  16  47  43  17
 -46 -26  47 -40  12 -31 -25  13
  -7  39 -20  26  11 -19  32 -15
  45 -10 -28  31 -46 -29 -29 -22
Максимальный А[2,6]=47
4,6(48 оценок)
Ответ:
Misha22313
Misha22313
04.02.2021

Program YouName;

Uses crt; // Использование модуля crt.

Const e = 2.71828; // Объявление константы e.

Var // Раздел для описания переменных.

m,n: Integer; // Объявляем целочисленные переменные.

x,u,y: Single; // Объявляем дробные переменные.

Label check1, check2; // Объявляем метки для оператора Goto.

Begin // Начало "тела" программы.

 check1: // Метка для без условного перехода с оператора Goto.

write('Введите m: '); // Вывод текстового сообщения на экран консоли.

// {$I-} - это деректива, которая перехватывает вывод ошибок.

// т.e., если во время выполнение программы между {$I-} и {$I+} не будет ошибок,

// то значение IOResult будет равно 0. Если во время выполения программы произойдет ошибка,

// то программа не остановится, а задаст значение IOResult неравное 0.

// {$I+} соответственно отключает дерективу.

{$I-} // Включение директивы.

readln(m); // Ввод значения переменной m.

{$I+} // Отключение директивы

If IOResult <> 0 then // Если IOResult не равно 0 (т.е есть ошибки во время включенной директивы $I), то..

  Begin // Начало подпрограммы.

   writeln('Вы ввели неизвестный символ.'); // Вывод текстового сообщения на экран консоли.

   writeln('Введите число'); // Вывод текстового сообщения на экран консоли.

   Goto check1; // Переход на метку check1

  End; // Конец подпрограммы.

check2: // Метка для без условного перехода с оператора Goto.

write('Введите n: '); // Вывод текстового сообщения на экран консоли.

{$I-} // Включение директивы.

readln(n); // Ввод значения переменной n.

{$I+} // Отключение директивы.

If IOResult <> 0 then // Если IOResult не равно 0 (т.е есть ошибки во время включенной директивы $I), то..

  Begin // Начало подпрограммы.

   writeln('Вы ввели неизвестный символ.'); // Вывод текстового сообщения на экран консоли.

   writeln('Введите число'); // Вывод текстового сообщения на экран консоли.

   Goto check2; // Переход на метку check2

  End; // Конец подпрограммы.

x:=(m*n-exp(ln(e)*((-m)*0.7)))/(2.67); // Вычисление x

y:=ln(2)*(m+1); // Вычисление y

u:=0.125*sqrt(x/y)+exp(ln(e)*cos(x-y)); // Вычисление u

writeln(u:0:4); // Вывод текстового сообщения на экран консоли.

// u:0:4 - это задает переменной u четыре знака после запятой.

End. // Конец "тела" программы.

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