IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Требуеться помощь на тему: Простые объекты !
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Помогите кто знает !!!!!


Тема: Простые объекты.

Задача:
Описать объект, включающий заданные поля и методы. Написать программу, которая создает массив объектов и список объектов и содержит процедуры, работающие с указанными структурами.
Объект - вещественное число, записанное с точкой. Параметры - значение числа и его запись. Методы: конструктор и функция, определяющая количество цифр в целой части числа. Определить среднее значение введенных чисел и среднее количество цифр в целой части. Реализовать два варианта (с массивом и списком).

Зарание спасибо !!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






по поводу перво запостеной задачи вот что пока получилось


program lab14a;

{$APPTYPE CONSOLE}

uses
SysUtils;

Type TInt = object
znachenie : single;
zapis : string[30];
constructor Init;
function CountNumFromDot(): integer;
end;
Constructor TInt.Init;
Begin
readln(znachenie);
str(znachenie:18:12,zapis);
zapis:=trim(zapis);
End;

Function TInt.CountNumFromDot():integer;
var
pos: integer;
Begin
pos:=AnsiPos('.',zapis)-1;
CountNumFromDot:=pos;
End;


var
ObjM : array [1..100] of TInt;
i,summa_num, n: integer;
summa_all: single;

BEGIN

i:=0;
summa_all:=0;
summa_num:=0;

repeat
i:=i+1;
write('Vvedite Object(vixod:1000) ');
ObjM[i].Init;
until ObjM[i].znachenie=1000;

n:=i-1;

for i:=1 to n do
begin
summa_all:=summa_all+ObjM[i].znachenie;
summa_num:=summa_num+ObjM[i].CountNumFromDot;
end;

writeln('srednee = ',(summa_all/n):12:5,' ','srednee v celix = ', (summa_num/n):8:2);
readln;
end.



Ну хоть убейте мя компилятор Делфи 7 про стринги ничего не говорит (( может где-то включается отдельно?
и еще вычитал переключатель или как это называется
{H-} все строки считаются shortstring может быть его использовать..


и второй вариант (там просят с массивом и со списком)


program lab14b;

{$APPTYPE CONSOLE}

uses
SysUtils;

Type TInt = object
znachenie : single;
zapis : string[30];
constructor Init;
function CountNumFromDot(): integer;
end;
Constructor TInt.Init;
Begin
readln(znachenie);
str(znachenie:18:12,zapis);
zapis:=trim(zapis);
End;

Function TInt.CountNumFromDot():integer;
var
pos: integer;
Begin
pos:=AnsiPos('.',zapis)-1;
CountNumFromDot:=pos;
End;

Type tpoint = ^Spisok;
Spisok = record
val : TInt;
next : tpoint;
end;

var
fist, p, p1 : tpoint;
summa_num, n: integer;
summa_all: single;

BEGIN

n:=0;
summa_num:=0;
summa_all:=0;
p1:=nil;
new(fist);
fist^.next:=nil;

repeat
new(p);
if (fist^.next=nil) then fist^.next:=p
else p1^.next:=p;
write('Vvedite Object(vixod:1000) ');
p^.val.init;
p1:=p;
until p^.val.znachenie=1000;

p:=fist^.next;
while p^.next <> nil do
begin
n:=n+1;
p^.val.CountNumFromDot;
summa_num:=summa_num+p^.val.CountNumFromDot;
summa_all:=summa_all+p^.val.znachenie;
p:=p^.next;
end;

writeln('srednee = ',(summa_all/n):12:5,' ','srednee v celix = ', (summa_num/n):8:2);
readln;
end.


 К началу страницы 
+ Ответить 

Сообщений в этой теме
Aspire   Требуеться помощь на тему: Простые объекты !   14.12.2006 3:22
мисс_граффити   показывай, что пробовал делать   14.12.2006 3:36
Aspire   показывай, что пробовал делать Ты знаешь я не …   14.12.2006 5:16
мисс_граффити   нет, я этого не знаю. но в таких ситуациях надо по…   15.12.2006 3:11
Серега   вот и я добрался до этой типовой задачки.. пока му…   16.04.2010 19:55
Серега aka Безумство =)   я намыслил так: program project-olo-lo; {$A…   16.04.2010 21:17
volvo   Нет, что ты... Мы будем восхищаться твоим шедевром…   17.04.2010 17:06
Безумство   То, что один объект инициализируется неоднократно…   18.04.2010 3:08
TarasBer   Очки должен протирать тот, кто НЕ видит то, что ес…   19.04.2010 14:16
volvo   А у меня слон под кроватью. Это не может компилиро…   19.04.2010 15:08
Безумство   Ну постановка задачки, уже описаны в первом посте …   20.04.2010 17:23
TarasBer   А зачем обнулять переменную num перед циклом? Комп…   20.04.2010 17:36
Безумство   по поводу перво запостеной задачи вот что пока пол…   20.04.2010 17:36
Безумство   А зачем обнулять переменную num перед циклом? Ком…   20.04.2010 17:42
TarasBer   Ctrl+Shift+F11, вырубить оптимизацию, потом Alt+P …   20.04.2010 17:47
Безумство   TarasBer Ого тонкости))) Спасибо снова, вы мне дв…   20.04.2010 18:05


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 2.05.2024 5:17
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name