1

Тема: Procedure

Допоможіть з програмкою, будь ласка.

Post's attachments

Безымянный.png 12.65 kb, 217 downloads since 2016-02-29 

2

Re: Procedure

«Допоможіть з програмкою» і «напишіть за мене все» — не одне й те ж ;)

Подякували: koala1

3 Востаннє редагувалося zolibil37 (29.02.2016 20:28:28)

Re: Procedure

Я не знаю куда і як записати процедуру

Post's attachments

Безымянный.png 7.26 kb, 196 downloads since 2016-02-29 

4 Востаннє редагувалося P.Y. (29.02.2016 21:14:15)

Re: Procedure

Викладайте код не в вигляді скріншотів, а як текст, виділивши його тегом [code][/code].
Опис процедури можна розмістити після оголошення змінних перед begin основної програми.
Її виклик — у тілі основної програми (тобто, десь між begin та end).

Не дуже розумію, що собою символізують літери К в завданні (це трикрапки так відобразились?) Очевидно, процедура має отримувати параметр-змінну типу array[1..8][1..8] of integer (точніше, цей тип треба попередньо описати в секції type) й параметр x зі списком вхідних коефіцієнтів. Тобто, має бути приблизно так:

type
     matrix=array[1..8, 1..8] of integer;
     vector=array[1..8] of integer;
//оголошення змінних основної програми
procedure fill(var m:matrix; x:vector); 
    //оголошення локальних змінних процедури
    begin
    //тіло процедури
    end;

begin
//тіло основної програми
end.
begin

PS Перепрошую, давно не писав на паскалі. Виправлення в рядку 2 — двовимірні масиви оголошуються так

Подякували: koala1

5

Re: Procedure

Там в умові замість К має бути крапка.

type
     matrix=array[1..8] of integer;
     vector=array[1..8] of integer;
//оголошення змінних основної програми

begin 

procedure fill(var x:matrix; y:vector); 
    //оголошення локальних змінних процедури
    var
    i,j,n:integer;
    begin
    //тіло процедури
      for i:=1 to 8 do
  begin 
    read(x[i]);
    y[i] :=1;
    end;
 
begin
//тіло основної програми
 
    for i := 1 to 8 do
    begin
      for j:=1 to 8 do 
      begin 
        y[j] :=y[j] * x[i];
        write(y[j]:6:2, '')
      end;
      end;
      writeln('');
    
      readln;
end;
end.

Чого не PascalABC не робить?
Але дуже гарно дякую!!!!!!!!!!!

6

Re: Procedure

zolibil37 написав:

Чого не PascalABC не робить?

Якщо хочете, щоб вам допомогли - розписуйте проблему конкретно. "Не робить" - це коли у вас в районі електрику вимкнули. Конкретно - які повідомлення про помилки, на якому рядку? З імовірністю 80% просто складання такого питання призведе вас до відповіді самостійно.

7 Востаннє редагувалося P.Y. (29.02.2016 21:12:39)

Re: Procedure

Ви не зрозуміли ідею. У процедурі має бути не ввід даних з клавіатури (це можна зробити в основній програмі), а заповнення двовимірного масиву обчисленими значеннями. Крім того, ви її ніде не викликаєте, а через чортзна-як розміщені begin та end у неї потрапило й тіло програми. І зробіть щось із відступами.

Має бути щось таке:

type
     matrix=array[1..8, 1..8] of integer;
     vector=array[1..8] of integer;
//оголошення змінних основної програми
var
    i,j: integer;
    y:matrix;
    x:vector;
 
procedure fill(var y:matrix; x:vector); 
    //оголошення локальних змінних процедури
    var
    i,j,n:integer;
    begin //тіло процедури
        for i := 1 to 8 do
        begin
          for j:=1 to 8 do 
          begin 
        y[i,j] :=y[i,j] * x[i];//тут доробите самі
          end;
           end;
    end;
     
begin //тіло основної програми     
   //ввід:
    for i:=1 to 8 do
      begin 
        read(x[i]);
        //y[i] :=1; - цей рядок зайвий
          end;
          
    fill(y,x);//виклик процедури
    
    //вивід:
    for i := 1 to 8 do
        begin
          for j:=1 to 8 do 
          begin 
        write(y[j]:6:2, '')
          end;
          writeln('');
        end;
     readln;
end.