OberonCore
https://forum.oberoncore.ru/

Даны 5 строк, каждая строка состоит из 5 цифр
https://forum.oberoncore.ru/viewtopic.php?f=35&t=4901
Страница 1 из 1

Автор:  bill [ Понедельник, 23 Декабрь, 2013 19:31 ]
Заголовок сообщения:  Даны 5 строк, каждая строка состоит из 5 цифр

Задача.
Даны 5 строк, каждая строка состоит из 5 цифр.
Строка 1 состоит из (1 1 1 1 1).
Строка 2 из (2 2 2 2 2).
Если Строка 1 + Строка 2 = (3 3 3 3 3).
Есть еше Строка 3, Строка 4 и Строка 5.

Нада разработать алгоритм который суммирует 2 разные строки.
Я уже придумал алгоритм но думаю он неудобен если будут даны 100 строк.
мой алгоритм:
Begin
Str_1:='1';
Str_2:='2';
Operaciya:='+';

if Str_1=1 then
begin
a1:=1; a2:=1; a3:=1; a4:=1; a5:=1;
end;

if Str_2=2 then
begin
b1:=2; b2:=2; b3:=2; b4:=2; b5:=2;
end;

if Operaciya = + then
begin
b1+a1; b2+a2; b3+a3.....
и так далее.
Так нада перебрать для каждого случая для 5 строк.
Как сделать алгоритм лучше моего?

Автор:  Иван Денисов [ Понедельник, 23 Декабрь, 2013 20:31 ]
Заголовок сообщения:  Re: Даны 5 строк, каждая строка состоит из 5 цифр

Билл, вы не перестаете удивлять новыми интересными задачами.

У меня предложение, чтобы обсуждать всё в рамках Компонентного Паскаля, напишите свой алгоритм в виде работающего модуля на нем в среде Блэкбокс. На многие вопросы при этом вы сами ответите, а потом уже обсудим, что надо улучшить.

Еще рекомендую вам сразу подумать о том, чтобы, сделать ваш алгоритм масштабируемым, хранить строки в массиве или цепочке, а также обязательно ознакомится с юмористической заметкой про китайский код.

Автор:  Пётр Кушнир [ Понедельник, 23 Декабрь, 2013 21:07 ]
Заголовок сообщения:  Re: Даны 5 строк, каждая строка состоит из 5 цифр

Пример реализации символьных вычислений находится в модуле Integers в BlackBox.
Цитата:
Модуль Integers реализует абстрактный тип данных Integer для представления целых чисел произвольной точности. Он также содержит наиболее важные арифметические операции для таких чисел и набор операций преобразования. Арифметические операции включают сложение, умножение, возвежение в степень, вычисления частных, разностей и наибольших общих делителей.

Автор:  bill [ Суббота, 28 Декабрь, 2013 21:27 ]
Заголовок сообщения:  Re: Даны 5 строк, каждая строка состоит из 5 цифр

Иван Денисов, Вот рабочий код моей программы как его улучшить? Я веду обучение, решая математические задачки, задача из алгебры, операции со строками в матрице
Код:
var
  str_1:real;
  str_2:real;
  x1,x2,x3,x4,x5:real;
  y1,y2,y3,y4,y5:real;
  z1,z2,z3,z4,z5:real;
  a1b1,a2b1,a3b1,a4b1,a5b1:real;
  a1b2,a2b2,a3b2,a4b2,a5b2:real;
  a1b3,a2b3,a3b3,a4b3,a5b3:real;
  a1b4,a2b4,a3b4,a4b4,a5b4:real;
  a1b5,a2b5,a3b5,a4b5,a5b5:real;
begin
   str_1:=1; str_2:=2;
(*______________________________________________________*)
   if str_1=1 then
   begin
   x1:=a1b1; x2:=a2b1; x3:=a3b1; x4:=a4b1; x5:=a5b1;
   end;

   if str_1=2 then
   begin
   x1:=a1b2; x2:=a2b2; x3:=a3b2; x4:=a4b2; x5:=a5b2;
   end;

   if str_1=3 then
   begin
   x1:=a1b3; x2:=a2b3; x3:=a3b3; x4:=a4b3; x5:=a5b3;
   end;

   if str_1=4 then
   begin
   x1:=a1b4; x2:=a2b4; x3:=a3b4; x4:=a4b4; x5:=a5b4;
   end;

   if str_1=5 then
   begin
   x1:=a1b5; x2:=a2b5; x3:=a3b5; x4:=a4b5; x5:=a5b5;
   end;

(*______________________________________________________*)
   if str_2=1 then
   begin
   y1:=a1b1; y2:=a2b1; y3:=a3b1; y4:=a4b1; y5:=a5b1;
   end;

   if str_1=2 then
   begin
   y1:=a1b2; y2:=a2b2; y3:=a3b2; y4:=a4b2; y5:=a5b2;
   end;

   if str_1=3 then
   begin
   y1:=a1b3; y2:=a2b3; y3:=a3b3; y4:=a4b3; y5:=a5b3;
   end;

   if str_1=4 then
   begin
   y1:=a1b4; y2:=a2b4; y3:=a3b4; y4:=a4b4; y5:=a5b4;
   end;

   if str_1=5 then
   begin
   y1:=a1b5; y2:=a2b5; y3:=a3b5; y4:=a4b5; y5:=a5b5;
   end;
   (*______________________________________________________*)

   z1:=x1-y1; z2:=x2-y2; z3:=x3-y3; z4:=x4-y4; z5:=x5-y5;
end;

Автор:  Иван Денисов [ Воскресенье, 29 Декабрь, 2013 16:15 ]
Заголовок сообщения:  Re: Даны 5 строк, каждая строка состоит из 5 цифр

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

Очень рекомендую все делать в Блэкбоксе и выкладывать тут рабочий код, иначе твою ветку перенесут в оффтоп. Этот раздел для делающих первые шаги в освоении Компонентного Паскаля, а не просто Паскаля.

Автор:  Евгений Темиргалеев [ Воскресенье, 29 Декабрь, 2013 17:18 ]
Заголовок сообщения:  Re: Даны 5 строк, каждая строка состоит из 5 цифр

Иван Денисов писал(а):
Этот раздел для делающих первые шаги в освоении Компонентного Паскаля, а не просто Паскаля.
Алгоритмизация к языку не привязана. Не обязательно, что администрация "Образовательного проекта Информатика-21" будет возражать...

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/