В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
davidegorov19
davidegorov19
04.01.2021 22:18 •  Информатика

1. Для чего нужно оглавление?
2. Как с текстового процессора Word можно о
вать автоматический сбор заголовков?
3. Для чего необходимо придать стиль заголовкам?
4. Как уровни заголовков будут влиять на оглавление?
5. Какой создания оглавления для вас предпочтительнее?
Объясните, почему.
6. С какой целью применяется обновление оглавления?
7. В каких случаях используется режим обновить целиком?
8. Как можно быстро перейти из оглавления на необходимый за.
головок?

Показать ответ
Ответ:
Milena20171
Milena20171
19.11.2021 17:05
Const
  a=5.1;
  x=3.29;
var
  Y,Z:double;
begin
  Y:=2*exp(4*x)+arctan(x/a);
  Z:=cos(x*sqr(x))+sqr(sin(x));
  Writeln('Y=',Y,', Z=',Z)
end.

Результат выполнения программы:
Y=1038354.42291114, Z=-0.472433980670957

const
  m=6;
  n=8;
var
  a:array[1..m,1..n] of double;
  b:array[1..m*n] of double;
  i,j,k,imax,imin:integer;
  t:double;
begin
  // Инициализация А и формирование В
  Randomize;
  Writeln('Исходный массив A');
  k:=0;
  for i:=1 to m do begin
    for j:=1 to n do begin
      a[i,j]:=10*Random-5; { случайное число на [-5;5] }
      Write(a[i,j]:8:4);
      t:=cos(a[i,j]);
      if (t>=0) and (t<0.5) then begin Inc(k); b[k]:=a[i,j] end
    end;
    Writeln
  end;
  // Вывод сформированного массива В
  Writeln('Исходный массив В');
  for i:=1 to k do Write(b[i]:8:4);
  Writeln;
  // Поиск максимума и минимума с последующим обменом их местами
  imax:=1; imin:=1;
  for i:=2 to k do
    if b[i]<b[imin] then imin:=i
    else
      if b[i]>b[imax] then imax:=i;
  t:=b[imax]; b[imax]:=b[imin]; b[imin]:=t;
  // Вывод результирующего массива В
  Writeln('Результирующий массив В');
  for i:=1 to k do Write(b[i]:8:4);
  Writeln
end.

Тестовое решение:
Исходный массив A
 -1.6788 -0.7273 -3.4919  2.9903 -4.3249 -2.2230 -2.1157  0.9685
  2.0515  4.6821  0.2794 -1.4624  4.9668 -3.5754 -3.4115 -0.5592
  3.0535  1.1339  0.0992 -0.5307 -0.6266  2.2623  1.9578 -1.3175
 -0.6154  3.6080  2.4223 -4.8354 -2.2978  3.8982 -2.2427  2.0410
 -1.1019 -3.4703 -2.0104 -1.3044  0.7744  0.6897  3.1747  1.3257
 -4.3942 -1.6707 -3.2494 -0.6551  3.4726 -0.2896  3.4154  1.9644
Исходный массив В
 -1.4624  4.9668  1.1339 -1.3175 -4.8354 -1.1019 -1.3044  1.3257
Результирующий массив В
 -1.4624 -4.8354  1.1339 -1.3175  4.9668 -1.1019 -1.3044  1.3257
0,0(0 оценок)
Ответ:
olga0520
olga0520
23.10.2020 03:40

Задачка мне очень понравилась, прилагаю решение на C#, консольное приложение

Объяснение:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Археологи_строители

{ class Program

   {

       static void Main(string[] args)

       {

           //Объявляем и задаем переменные "M" и "N", а так же переменную для результата

           int M,N=new int();

           int MyResult = 0;

           Console.WriteLine("Ведите Текущее количество ступенек и Сколько их должно быть:");

           M = int.Parse(Console.ReadLine());

           N = int.Parse(Console.ReadLine());

           // Создаем массив для хранения данных о ступенях. M-Количество ступенек, Цифра - для колонок длины и высоты

           int[,] mass = new int[M,2];

           // Запись значений в массив

           for (int x = 0; x < M; x++){

               for (int y = 0; y < 2; y++){

                   if (y==0){  //Чисто для юзерфрендли отображения

                       Console.Write($"Введите значение Длины для ступеньки №{x + 1}= ");} else{

                       Console.Write($"Введите значение Высоты для ступеньки №{x + 1}= ");}

                   mass[x, y] = Convert.ToInt32(Console.ReadLine());}

                   Console.WriteLine();}

           /* Как оказалось, самый простой определить какую же ступеньку надо "поднимать"-

            * это вычислить площадь гипотетически "заполняемого" пространства над ступенькой и взять

            * наименьшее значение.

            *  

            * Итак, допустим если у нас 5 ступенек, то нам нам необходимо записать 4 значения

            * (в рамках лестницы) площади заполняемых ступенек.

            *  

            * Перемножаем Длину ступеньки N на высоту ступеньки N+1, M-1 раз и сохраняем в массив

            */

           int M2 = M; //Дублируем изначальное число ступенек для контроля цикла

           for (int z = 0; z <M2-N; z++)

           {

               int[] acreage = new int[M - 1];

               for (int x = 0; x < M - 1; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       acreage[x] = mass[x, 0] * mass[x + 1, 1];

                   }

               }

               /*

                * И так у нас есть все значения гипотетически заполняемой ступеньки.

                * Ищем минимальное значение площади  

                */

               int minAcreage = acreage[0];

               for (int i = 0; i < M - 1; i++)

               {

                   if (minAcreage > acreage[i])

                   {

                       minAcreage = acreage[i];

                   }

               }

               MyResult = MyResult+minAcreage; //Плюсуем данное значение в переменную результата

               // У нас есть минимальная площадь. Найдем номер данной ступеньки

               int IndexAcreage = Array.IndexOf(acreage, minAcreage);

               //"Достроим нужную нам ступеньку и запишем обновленные данные во временный массив"

               int[,] tempMass = new int[M - 1, 2]; //Он на размер меньше, т.к. и "полных" ступенек у нас стало меньше

               for (int x = 0; x < M - 1; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       //Ступеньки до IndexAcreage мы просто переписываем во временный массив

                       if (x < IndexAcreage)

                       {

                           tempMass[x, y] = mass[x, y];

                       }

                       //2 ступеньки от IndexAcreage мы превращаем в одну (застраивая их блоками)

                       else if (x == IndexAcreage)

                       {

                           tempMass[x, y] = mass[x, y] + mass[x + 1, y];

                       }

                       /* и после IndexAcreage мы та же копируем, но со сдвигом вправо, т.к. полноценных  

                        * ступенек стало меньше

                        */

                       else if (x > IndexAcreage)

                       {

                           tempMass[x, y] = mass[x + 1, y];

                       }

                   }

               }

               M = M - 1; //Поскольку ступенек теперь меньше, то и их фактическое число необходимо уменьшить

               for (int x = 0; x < M + 1; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       mass[x, y] = 0;

                   }

               }

               //переписываем данные в основной массив и запускаем следющую интерацию цикла

               for (int x = 0; x < M; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       mass[x, y] = tempMass[x, y];

                   }

               }

           }

           Console.WriteLine($"Минимально необходимое число блоков: {MyResult}");

           Console.ReadKey(true);

       }

   }

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота