![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
Aspire |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите кто знает !!!!!
Тема: Простые объекты. Задача: Описать объект, включающий заданные поля и методы. Написать программу, которая создает массив объектов и список объектов и содержит процедуры, работающие с указанными структурами. Объект - вещественное число, записанное с точкой. Параметры - значение числа и его запись. Методы: конструктор и функция, определяющая количество цифр в целой части числа. Определить среднее значение введенных чисел и среднее количество цифр в целой части. Реализовать два варианта (с массивом и списком). Зарание спасибо !!! |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
показывай, что пробовал делать
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Aspire |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
мисс_граффити |
![]()
Сообщение
#4
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
нет, я этого не знаю.
но в таких ситуациях надо почитать учебник и попробовать что-то сделать. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Серега |
![]() ![]()
Сообщение
#5
|
Гость ![]() |
вот и я добрался до этой типовой задачки.. пока мучает только один вопрос, что это за параметр такой "его запись" если есть мысли с удовольствием послушаю)) пока в голове вертиться, только, что это тоже число в строковом представлении....... |
Серега aka Безумство =) |
![]() ![]()
Сообщение
#6
|
Гость ![]() |
я намыслил так:
program project-olo-lo;
{$APPTYPE CONSOLE}
uses
SysUtils;
Type TInt = object
znachenie : single;
zapis : string[30];
constructor Init;
function CountNumFromDot(): integer;
end;
Constructor TInt.Init;
Begin
randomize;
znachenie:=10000*random;
znachenie:=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;
const
N = 5;
var
Obj1 : TInt;
k,summa_num: integer;
summa_all: single;
BEGIN
for k:=1 to N do
begin
Obj1.Init;
summa_all:=summa_all+Obj1.znachenie;
summa_num:=summa_num+Obj1.CountNumFromDot;
writeln(Obj1.zapis);
end;
writeln('srednee = ',summa_all/N:12:5,' srednee v celix = ', (summa_num/N):8:2);
readln;
END.
не мы первые, не мы последние, может кому и пригодиться) учитывая, что это русский форум, думаю сейчас обольют автора =D |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Цитата учитывая, что это русский форум, думаю сейчас обольют автора =D Нет, что ты... Мы будем восхищаться твоим шедевром. Это же, наверное, очень мудрая программа. Ничего, что она не компилируется, ибо нельзя минусы использовать в идентификаторах. В конце концов - это не главное. Главное - как написано-то!!! Песня!!! По барабану, что String и ShortString - это разные типы, и будут предупреждения. Не важно. Написано-то как!!! Вот же в чем сила!То, что один объект инициализируется неоднократно, и ни разу не освобождается - это тоже мелочи. Главное - автор просто гений, им же только восхищаться и остается! |
Безумство |
![]() ![]()
Сообщение
#8
|
Гость ![]() |
То, что один объект инициализируется неоднократно, и ни разу не освобождается - это тоже мелочи. Главное - автор просто гений, им же только восхищаться и остается! У мя компилится. собственно их окна Делфей и вытащил. Хм.. минусов не нашел в именах протрите монитор\очки, проблем с шотстрингом тоже не увидел, ибо функции для шотов и юзал... А насчет объектов, ну дык я ток учусь, ща пойдем посмотрим как освобождать... п.с. чего и следовало ожидать. Вместо того, чтобы объяснить где не прав (цитата строки кода), почему, и примера как надо.. Ну и на том спасибо. Бум думать |
TarasBer |
![]()
Сообщение
#9
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Очки должен протирать тот, кто НЕ видит то, что есть.
> program project-olo-lo; С каких пор это компилится? -------------------- |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Цитата У мя компилится. А у меня слон под кроватью. Это не может компилироваться ни одним компилятором Паскаля/Дельфи. Потому что запрещено. Точка.![]() Цитата проблем с шотстрингом тоже не увидел Собственно, Цитата протрите монитор\очки , Дельфи ясно предупреждает:[DCC Warning] Project5.dpr(17): W1057 Implicit string cast from 'ShortString' to 'string' Первое, второе и третье предупреждение - именно то, о чем сказано выше. О четвертом и пятом - отдельный разговор будет... "Если захочешь" (С) Цитата ибо функции для шотов и юзал... У Дельфи не спросил? Может, ее мнение по поводу этих функций отличается от мнения программиста? С каких пор Trim работает с ShortString-ами, например? Описание ее гласит, что она принимает и возвращает значение типа System.string. Про короткую строку - ни слова. AnsiString - аналогично.Цитата Вместо того, чтобы объяснить где не прав (цитата строки кода), почему, и примера как надо.. Как я могу объяснить, КАК надо, если неясно, ЧТО надо. Это что, постановка задания:Цитата вот и я добрался до этой типовой задачки.. ? С такой постановкой тебе вообще ничего не светит написать.Цитата п.с. чего и следовало ожидать. А чего, собственно, ты ожидал? Это что, Я пришел в чужую тему со своим |
Безумство |
![]() ![]()
Сообщение
#11
|
Гость ![]() |
Ну постановка задачки, уже описаны в первом посте у мя таже трабла)))
Иначе бы открыл новую тему, впрочем с ней уже разобрался, спасибо манулам, теперь меня занимает следующая лаба.. Но пока сам ковыряю... Но вот стал обращать внимание на предупреждение ( я тока учусь, в январе начались лекции, и ни в коей мере не претендую на гениальность ![]() Выдает [Hint] Unit16.pas(36): Value assigned to 'num' never used
procedure TMainForm.Sort_ButtonClick(Sender: TObject);
var num:Integer;
begin
subs2:=Sort_subs(subs,StringGrid1.RowCount);
num:=0; // при клике по подсказке помещает сюда курсор
for num:=1 to StringGrid1.RowCount-1 do
begin
StringGrid1.Cells[0,num]:=subs[num].name;
StringGrid1.Cells[1,num]:=floattostr(round(subs[num].ud_ves*100)/100);
StringGrid1.Cells[2,num]:=subs[num].electric;
end
end;
вот.. пока гугл и ф1 не помог объяснить в чем же дело ( буду признателен за подсказку пусть даже ехидную)) п.с. если надо какая то еще инфа функция, тип, модули... ?! п.п.с. а теперь думаю меня пошлют новую тему создавать а не флудить в этой =))) Isn't it?) |
TarasBer |
![]()
Сообщение
#12
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
А зачем обнулять переменную num перед циклом? Компилятор удивился, потому и спрашивает.
Ах, да, это не в эту тему надо. Сообщение отредактировано: TarasBer - 20.04.2010 13:41 -------------------- |
Безумство |
![]() ![]()
Сообщение
#13
|
Гость ![]() |
по поводу перво запостеной задачи вот что пока получилось
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.
|
Безумство |
![]()
Сообщение
#14
|
Гость ![]() |
|
TarasBer |
![]()
Сообщение
#15
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ctrl+Shift+F11, вырубить оптимизацию, потом Alt+P B (пересобрать с нуля проект, компилятор сам не догадается, что после смены опций компилятора надо все модули пересобирать, сам на этом горел, когда убирал флаги I/O Checking, компилировал проект, а потом выяснялось, что нихрена флаги не убрались), а потом уже запустить.
-------------------- |
Безумство |
![]() ![]()
Сообщение
#16
|
Гость ![]() |
TarasBer
Ого тонкости))) Спасибо снова, вы мне два дня сэкономили как минимум ![]() |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 1:01 |