PDA

Просмотр полной версии : Госэкзамен. кто может, помогите с задачей на паскале. очень прошу!



Upfort
05.04.2008, 13:13
Списо состоит из слкдующей структуры:

- вещественное число
- строка из 20 символов
- указатель на следующий элемент списка (в последнем элементе это поле равно NIL ).
Элементы списка хранятся в динамически распределяемой памяти. (То есть, место для них выделяется процедурой new). Составить процедуру вычисления суммы числовых полей всех элементов списка. Процедуре должен передоваться адрес начала списка.

очень прошу вас помочь, 8-го госы

drummer
05.04.2008, 17:03
procedure summ(p:Ptvoi_tip);
begin
sum:=0;
while p<>nil do
begin
sum:=sum+p^.number;
p:=p^.next;
end;
end;

Upfort
05.04.2008, 17:43
это и вся задача?
просто я вообще не шарю(

Upfort
05.04.2008, 17:50
восьмого госы( я с этим пока разберусь...
я в этом дуб-дубом((
тут столько всего еще надо успеть, пожалуйста помогите с задачей. очень надо!

MOTOCoder
05.04.2008, 22:55
это и вся задача?
просто я вообще не шарю(

В принципе, приведенная процедура полностью соответствует поставленной задаче, но возможно потребуется описать тип данных:

type
PListItem=^TListItem;
TListItem=record
Number:real;
sData:string[20];
Next:PListItem;
end;


Тогда заголовок процедуры примет вид:
procedure summ(P:PListItem);

А вообще, советую описать эту подпрограмму как функцию:

function summ(p:PListItem):real;
var
sum:real;
begin
sum:=0;
while p<>nil do
begin
sum:=sum+p^.number;
p:=p^.next;
end;
summ:=sum;
end;

drummer
06.04.2008, 02:02
Я бы тоже делал функцию, но в условии было сказано


процедуру

Upfort
06.04.2008, 11:27
спасибо вам большое, за помощь! )
вы мне очень помогли.

Serge_Bliznykov
06.04.2008, 12:31
drummer,
Я бы тоже делал функцию, но в условии было сказано
Цитата:
процедуру
ну я бы результат процедуры всё таки вернул через параметер - использование глобальных переменных - некузявно!



procedure summ(p:PListItem, var Sum:real);
begin
sum:=0;
while p<>nil do
begin
sum:=sum+p^.number;
p:=p^.next;
end;
end;

drummer
07.04.2008, 01:57
зато будет чуточку быстрей работать

Хыиуду
07.04.2008, 11:41
Не думаю, что в учебных задачах критична скорость работы