Помощь - Поиск - Пользователи - Календарь
Полная версия: Процедуры и функции
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
KriN
1)Для заданных N и х1,х2,х3...хN написать программу,используяподходящую функцию
р1=произведение от i=1 до N(abs(i))/i!

p2=произведение от i=1 до N(abs(sqr(xi-p1)))/i!

p3=произведение от i=1 до N(abs(xi-p2)^3)/i!



2)Используя процедуру,поменять местами в кв.матрице заданного размера диагонали,прилегающие к главной диагонали
maksimla
что не понимаешь? а ты сделал что то можешь выложить?
KriN
Я вообще не врубаю как подпрограммы использовать(


maksimla

program razpolozenie_znakov;
  var m,a: integer;
  procedure slozenije(i,k: integer);{тут обезательно должны быть два данные потомучто в низу в процедуру обрасчались с двумя данными. еще можно было написать и m,a
под процедурой также под функцией может быть дополнительные данные которые используются только в процедуре или функцие}
  begin
  m:=i+k;
  end;

begin
writeln('napisite dva cisla');
 readln(m,a);{ну тут читаем данные}
  slozenije(m,a); {тут эти данные на процедуру отпровляем}
  writeln(m); {а тут уже результат видим на экране}
  readln;{чтобы  незакрылась до тех пор пока вход ненажмем}
end. 

надеюсь что понятно как писать процедуру
а вот функция
program razpolozenie_znakov;
  var m,a: integer;
function slozenije(i,k: integer): integer;
  begin
  slozenije:=i+k;
  end;

begin
writeln('napisite dva cisla');
 readln(m,a);
  writeln(slozenije(m,a));
   readln;
end.


надеюсь что понятно тебе сечас

разница между процедурой и функцией знаешь какая?
volvo
Цитата
разница между процедурой и функцией знаешь какая?
И какая же между ними разница? smile.gif
amega
Цитата
И какая же между ними разница?


в заглавии (procedure - function);
в том что функция возращает вместо сибя какойото результат;
Unconnected
Цитата
в заглавии (procedure - function);
в том что функция возращает вместо сибя какойото результат;


Насколько я знаю - функция может ничего и не возвращать, если ей ничего не присваивать.
amega
значит только в 1 слове разныца mega_chok.gif
volvo
Цитата
значит только в 1 слове разныца
Нет, не только... Есть еще разница: что-то, что можно с функцией, и нельзя - с процедурой. Думайте...
Unconnected
Ну сказали ведь, функции можно присваивать значение, или ты о чём-то другом? smile.gif
Рекурсию можно с функцией.
volvo
Цитата
Ну сказали ведь, функции можно присваивать значение, или ты о чём-то другом?
Ты ж сам сказал, что можно и не присваивать...

Цитата
Рекурсию можно с функцией.
Рекурсию можно и с процедурой...

Мне больше всего нравится, когда кто-то задает вопрос: "а знаешь, чем отличается A от B?", но сам ответа не знает. Чего спрашивал, интересно?
Unconnected
В принципе, можно ещё проводить разные арифметические операции с функциями, но это уже следует из того, что им (функциям) можно (не обязательно нужно smile.gif ) присваивать значения. А вообще - сам я не знаю, гугл тоже молчит, рассказывай smile.gif .
volvo
Цитата
В принципе, можно ещё проводить разные арифметические операции с функциями
Наконец-то... smile.gif

Только формулировку поменяем: функции (в отличие от процедур) можно использовать непосредственно в выражениях.
function f(a, b: integer): integer;
begin
  f := { неважно, что делается};
end;
...
writeln('Y = ', 5 * f(10, 11));
Попробуй то же самое сделать с процедурой.
KriN
program lab9;
type x=array[1..10000,1..10000] of real;
var
i,j,n :integer;
k:real;
procedure changediag( x:x;
var
i,j,n :integer;
k :real);
begin
For i := 1 To n do
For j := 1 To n do
k := 0;
For i := 1 To n - 1 do
For j := 1 To n - 1 do
k := x[i, i + 1] ;
x[i, i + 1] := x[j + 1, j] ;
x[j + 1, j] := k ;
end;
begin
For i := 1 To n do
For j := 1 To n do
write('n=');
readln(n);
writeln('x[',i,j:2,']=');
For i := 1 To n do
For j := 1 To n do
changediag(i,j,n,k,x[i,j]);
writeln(' x',x[i,j]:5:1);
end.




Проверьте пожалуйста
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.