Важная информация
Показано с 1 по 5 из 5

Тема: Составить функцию, вычисляющую выражение. ( PascalABC.NET )

  1. #1 Составить функцию, вычисляющую выражение. ( PascalABC.NET ) 
    Новичок
    Регистрация
    28.03.2017
    Сообщений
    2
    Сказал(а) спасибо
    1
    Поблагодарили 0 раз(а) в 0 сообщениях
    Помогите пожалуйста сделать!

    Изображения
    Последний раз редактировалось >Quiet Snow<; 28.03.2017 в 17:55.
    Ответить с цитированием  
     

  2. #2  
    Профи Аватар для Сионист
    Регистрация
    21.01.2016
    Адрес
    Галактика Млечный Путь
    Сообщений
    509
    Сказал(а) спасибо
    11
    Поблагодарили 21 раз(а) в 20 сообщениях
    в том "задании", которое заявлено не понятно, чем третий вариант отличается от второго. xn+1=0? Тогда n<m. Ничем? Тогда n=m. m<n не получается ни как.
    Последний раз редактировалось >Quiet Snow<; 28.03.2017 в 17:59. Причина: Претензии пользователю удалены, модераторы есть на форуме.
    Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на си.
    Ответить с цитированием  
     

  3. #3  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,931
    Сказал(а) спасибо
    1,842
    Поблагодарили 982 раз(а) в 840 сообщениях
    Записей в блоге
    1
    sergey14889, ознакомьтесь с правилами форума. Старайтесь писать задание максимально понятным языком.
    Текст задания печатаем на форум, за исключением тех частей, которые напечатать не выходит.
    Проверьте условие вашего задания.
    Распишите, что у вас такое n и что m, т.е. почему у вас для одномерного массива X используется два индекса?
    И соотв. идём далее - нужно ли использовать для матрицы A созданную ранее процедуру?
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  4. #4  
    Профи Аватар для Сионист
    Регистрация
    21.01.2016
    Адрес
    Галактика Млечный Путь
    Сообщений
    509
    Сказал(а) спасибо
    11
    Поблагодарили 21 раз(а) в 20 сообщениях
    Стало видно целиком, теперь проясняется.
    Pascal Code:
    1. program p;
    2. const R=15;
    3. type TX=array[1..R] of integer;
    4.      TA=array[1..R,1..R] of integer;
    5. var A:TA;
    6.     i, j, row, col:integer;
    7. Buffer:TX;
    8. function N(x:TX):integer;
    9. var i,r:integer;
    10.     f:boolean;
    11. begin
    12.      r:=R;
    13. f:=true;
    14.      for i:=1 to R do
    15. begin
    16.       if f then begin
    17.                  if x[i]<>0 then begin
    18.                                               f:=false;
    19.                                               r:=i-1;
    20.                                          end;
    21.             end;
    22. end;
    23. N:=r;
    24. end;
    25.     for i:=1 to R do
    26. begin
    27.      for j:=1 to R do
    28. begin
    29.       write('A[',i,', ',j,']='); read(a[i,j]);   
    30. end;
    31. end;
    32. for i:=0 to R div 2-1
    33. begin
    34.      row:=i*2+2;
    35. writeln('N[row=', row, ']=', N(A[row]));
    36. end;
    37. for i:=0 to R div 2
    38. begin
    39.      col:=i*2+1;
    40. for j:=1 to R do
    41. begin
    42.       Buffer[j]:=A[j, col];
    43.   writeln('N[col=', col, ']=', N(Buffer));
    44. end;
    45.     end;
    46. end.
    Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на си.
    Ответить с цитированием  
     

  5. 2 пользователя(ей) сказали cпасибо:

    Free Admin (29.03.2017), sergey14889 (28.03.2017)

  6. #5  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,931
    Сказал(а) спасибо
    1,842
    Поблагодарили 982 раз(а) в 840 сообщениях
    Записей в блоге
    1
    Код для ABC.Net:
    Pascal Code:
    1. Uses Crt;
    2. Var
    3.  
    4.   X: Array of Integer;
    5.   q: Integer;
    6.  
    7.   A: Array of Array of Integer;
    8.   M: Integer;    {  Строки   }
    9.   N: Integer;    {  Столбцы  }
    10.   ix, iy: Integer;  {  Индекс столбца, строки  }
    11.   
    12. Function FN (B: Array of Integer; nn: Integer): Integer;
    13. Var i, mm : Integer;
    14.     Flag  : Boolean;
    15. Begin
    16.   {  Случай 1  }
    17.   If (B[0] <> 0) Then Begin
    18.      FN := 0; Exit;
    19.   End
    20.   {  Случаи 2 и 3  }
    21.   Else Begin
    22.      Flag := True;
    23.      {  Прочешем все элементы, флаг будет True если они равны нулю  }
    24.      For i := 0 To nn - 1 Do Begin
    25.         If (B[i] <> 0) Then Begin
    26.           Flag := False;
    27.           mm := i;      {  Запомним позицию  }
    28.           Break;
    29.         End;
    30.      End;
    31.      {  Случай 2  }
    32.      If Flag Then Begin
    33.        FN := nn; Exit;
    34.      End
    35.      {  Случай 3  }
    36.      Else Begin
    37.        FN := mm; Exit;
    38.      End;
    39.  
    40.   End;
    41. End;
    42.  
    43. Begin
    44.   ClrScr;
    45.   Write('Kol-vo elementov massiva X ? : ');
    46.   ReadLn(q);
    47.   {  Память под массив  }
    48.   SetLength(X, q);
    49.  
    50.   {  Заполняем маccив  }
    51.   For ix := 0 To q - 1 Do Begin
    52.       Write('Vvedi X[', ix + 1, '] : ');
    53.       ReadLn(X[ix]);
    54.       {X[ix] := Random(10);}
    55.   End;
    56.   WriteLn ('Znachenie funkcii N = ', FN(X, q));
    57.  
    58.   WriteLn ('Najmi lybuy knopku dlya prodoljenya...');
    59.   Repeat Until KeyPressed;
    60.  
    61.   ClrScr;
    62.   WriteLn('Vvedi parametry massiva...');
    63.   Write('Kol-vo strok    ? : ');
    64.   ReadLn(M);
    65.   Write('Kol-vo stolbcov ? : ');
    66.   ReadLn(N);
    67.   {  Память под матрицу  }
    68.   SetLength(A, N);
    69.   For ix := 0 To N - 1 Do
    70.      SetLength(A[ix], M);
    71.  
    72.   {  Заполняем матрицу  }
    73.   For iy := 0 To M - 1 Do Begin
    74.      For ix := 0 To N - 1 Do Begin
    75.         Write('Vvedi A[', ix + 1,', ', iy + 1, '] : ');
    76.         ReadLn(A[ix, iy]);
    77.         {A[ix, iy] := Random(10);}
    78.      End;
    79.      WriteLn;
    80.   End;
    81.  
    82.   {  Выводим матрицу  }
    83.   WriteLn('Matrica:');
    84.   For iy := 0 To M - 1 Do Begin
    85.      For ix := 0 To N - 1 Do Begin
    86.         Write( A[ix, iy]:3 );
    87.      End;
    88.      WriteLn;
    89.   End;
    90.  
    91.   {  Обработаем матрицу по чётным строкам  }
    92.   {  Переопределим память под массив X }
    93.   SetLength(X, N);
    94.     iy := 1;
    95.     Repeat
    96.          For ix := 0 To N - 1 Do  {  Скопируем строку из матрицы в массив  }
    97.          X[ix] := A[ix, iy];
    98.             
    99.             WriteLn ('Stroka ', iy + 1, ' Znachenie funkcii N = ', FN(X, N));
    100.             
    101.       iy += 2;
    102.     Until iy >= M;
    103.  
    104.   {  Обработаем матрицу по нечётным столбцам  }
    105.   {  Переопределим память под массив X }
    106.   SetLength(X, M);
    107.     ix := 0;
    108.     Repeat
    109.          For iy := 0 To M - 1 Do  {  Скопируем строку из матрицы в массив  }
    110.          X[iy] := A[ix, iy];
    111.             
    112.             WriteLn ('Stolbec ', ix + 1, ' Znachenie funkcii N = ', FN(X, M));
    113.             
    114.       ix += 2;
    115.     Until ix >= N;
    116.  
    117.   A := NIL;
    118.   WriteLn ('Lybuy knopku dlya vihoda...');
    119.   Repeat Until KeyPressed;
    120. End.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  7. Пользователь сказал cпасибо:

    Free Admin (29.03.2017)

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. [PascalABC]Задача с файлами
    от Oleksandr Tatarinov в разделе Pascal ABC
    Ответов: 2
    Последнее сообщение: 24.05.2016, 21:51
  2. Ответов: 1
    Последнее сообщение: 03.12.2014, 05:18
  3. Ответов: 0
    Последнее сообщение: 08.12.2013, 13:03
  4. Ответов: 0
    Последнее сообщение: 08.12.2013, 13:03
  5. Среда программирования PascalABC.Net
    от Doomer_ в разделе Pascal ABC
    Ответов: 8
    Последнее сообщение: 11.12.2011, 11:54
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •