0 / 0 / 0
Регистрация: 22.02.2022
Сообщений: 17
1

Создать объект животное

21.03.2022, 17:44. Показов 1005. Ответов 13

Author24 — интернет-сервис помощи студентам
Создать объект животное, имеющий классификацию, цвет, число потомков. Создать производный объект – домашнее животное, имеющий кличку, хозяина. Определить методы появления нового животного, смены клички или числа потомков. Предусмотреть возможность получения информации обо всех животных, имеющих определенного хозяина, и о животных данной классификации.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2022, 17:44
Ответы с готовыми решениями:

Создать объект класса Щенок, используя классы Животное, Собака. Методы: вывести на консоль имя, подать голос, прыгать, б
Создать объект класса Щенок, используя классы Животное, Собака. Методы: вывести на консоль имя,...

Создать класс Животное
Создать класс Животное. Описать его такими полями: название животного, скорость животные, возраст...

Создать игру «Отгадай животное»
Во время этой игры программа записывает в файл признаки животных и таким образом «учится» их...

Создать класс "животное" и производный класс "домашнее животное"
Создать класс животное, содержащее классификацию (строка), число конечностей, число потомков....

13
3584 / 2194 / 692
Регистрация: 29.05.2013
Сообщений: 9,365
22.03.2022, 20:34 2
Простоквашино.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
type
    TAnimal = object
     Class: String;
     Color: String;
     Childs: Integer;
     constructor Init(AnimalClass,AnimalColor: String);
    end;
 
    THomeAnimal = object(TAnimal)
     Nickname: String;
     Master: String;
     constructor Init(AnimalClass,AnimalColor,AnimalNickname,AnimalMaster: String);
     procedure Print;
    end;
 
constructor TAnimal.Init(AnimalClass,AnimalColor: String);
begin
 Class := AnimalClass;
 Color := AnimalColor;
end;
 
constructor THomeAnimal.Init(AnimalClass,AnimalColor,AnimalNickname,AnimalMaster: String);
begin
 TAnimal.Init(AnimalClass,AnimalColor);
 Nickname := AnimalNickname;
 Master := AnimalMaster;
end;
 
procedure THomeAnimal.Print;
begin
 WriteLn('|',Class:8,'|',Color:10,'|',NickName:14,'|',Master:10,'|',Childs:3,'|');
end;
 
var
   Animals: Array[1..6] of THomeAnimal;
   i: Integer;
begin
 ClrScr;
 Animals[1].Init('Кот','Полосатый','Матроскин','Дядя Федор');
 Animals[2].Init('Пес','Коричневый','Шарик','Дядя Федор');
 Animals[3].Init('Скворец','Черный','КтоТама','Дядя Федор');
 Animals[4].Init('Человек','Рыжий','Дядя Федор','Мама');
 Animals[5].Init('Человек','Рыжий','Вера Павловна','Мама');
 Animals[6].Init('Человек','Рыжий','Мама','Папа');
 Animals[6].Childs := 2;
 for i := 1 to 6 do Animals[i].Print;
 ReadLn;
end.
0
0 / 0 / 0
Регистрация: 22.02.2022
Сообщений: 17
22.03.2022, 20:38  [ТС] 3
Встречено 'Class', а ожидался оператор ( 3 строка )
0
3584 / 2194 / 692
Регистрация: 29.05.2013
Сообщений: 9,365
23.03.2022, 01:25 4
Вы в какой версии Паскаля компилируете? Подозреваю, что у вас Delphi так ругается.
0
Модератор
9853 / 5223 / 3304
Регистрация: 17.08.2012
Сообщений: 15,980
23.03.2022, 01:46 5
Пытливый, тут не только Delphi заругается. Во многих диалектах паскаля "class" - ключевое слово.

Glowww, замените везде слово "Class" на, например, "Category".
0
0 / 0 / 0
Регистрация: 22.02.2022
Сообщений: 17
23.03.2022, 15:21  [ТС] 6
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
type
    TAnimal = object
     category: String;
     Color: String;
     Childs: Integer;
     constructor Init(Animalcategory,AnimalColor: String);
    end;
 
    THomeAnimal = object(TAnimal)
     Nickname: String;
     Master: String;
     constructor Init(Animalcategory,AnimalColor,AnimalNickname,AnimalMaster: String);
     procedure Print;
    end;
 
constructor TAnimal.Init(Animalcategory,AnimalColor: String);
begin
 category := Animalcategory;
 Color := AnimalColor;
end;
 
constructor THomeAnimal.Init(Animalcategory,AnimalColor,AnimalNickname,AnimalMaster: String);
begin
 TAnimal.Init(Animalcategory,AnimalColor);
 Nickname := AnimalNickname;
 Master := AnimalMaster;
end;
 
procedure THomeAnimal.Print;
begin
 WriteLn('|',category:8,'|',Color:10,'|',NickName:14,'|',Master:10,'|',Childs:3,'|');
end;
 
var
   Animals: Array[1..6] of THomeAnimal;
   i: Integer;
begin
 ClrScr;
 Animals[1].Init('Кот','Полосатый','Матроскин','Дядя Федор');
 Animals[2].Init('Пес','Коричневый','Шарик','Дядя Федор');
 Animals[3].Init('Скворец','Черный','КтоТама','Дядя Федор');
 Animals[4].Init('Человек','Рыжий','Дядя Федор','Мама');
 Animals[5].Init('Человек','Рыжий','Вера Павловна','Мама');
 Animals[6].Init('Человек','Рыжий','Мама','Папа');
 Animals[6].Childs := 2;
 for i := 1 to 6 do Animals[i].Print;
 ReadLn;
end.
3 строка : Встречено 'category', а ожидалось ';'
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,429
Записей в блоге: 8
23.03.2022, 15:36 7
Glowww, это программа для нормальных компиляторов Паскаля, а не для непонятной сущности, которой является PascalABC.NET.
0
3584 / 2194 / 692
Регистрация: 29.05.2013
Сообщений: 9,365
23.03.2022, 15:44 8
Вот я потому и спрашивал, что у ТС за компилятор паскаля, но ТС об этом молчит.
0
0 / 0 / 0
Регистрация: 22.02.2022
Сообщений: 17
23.03.2022, 17:52  [ТС] 9
pascal abc net)
0
3584 / 2194 / 692
Регистрация: 29.05.2013
Сообщений: 9,365
23.03.2022, 18:25 10
Цитата Сообщение от Glowww Посмотреть сообщение
pascal abc net)
Тогда вам в другой раздел Я этого зверя даже не видел никогда.
0
Модератор
9853 / 5223 / 3304
Регистрация: 17.08.2012
Сообщений: 15,980
30.03.2022, 13:51 11
Glowww, значит, и "Category" в PABC.NET является ключевым словом. Замените на что-нибудь бессмысленное, например, на "Ctgry"
0
0 / 0 / 0
Регистрация: 22.02.2022
Сообщений: 17
30.03.2022, 19:40  [ТС] 12
Не помогает
0
Модератор
9853 / 5223 / 3304
Регистрация: 17.08.2012
Сообщений: 15,980
30.03.2022, 22:04 13
Лучший ответ Сообщение было отмечено Glowww как решение

Решение

Да, действительно, что-то я тормознул.

И не поможет, поскольку в Pascal ABC.NET объектов как таковых нет, в Pascal ABC.NET объект - это всего лишь экземпляр класса. Так что, либо используйте другой диалект паскаля, либо используйте классы.

Вот, откорректировал для Pascal ABC.NET:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
type
    TAnimal = class
     category: String;
     Color: String;
     Childs: Integer;
     constructor (Animalcategory,AnimalColor: String);
    end;
 
    THomeAnimal = class(TAnimal)
     Nickname: String;
     Master: String;
     constructor (Animalcategory,AnimalColor,AnimalNickname,AnimalMaster: String);
     procedure Print;
    end;
 
constructor TAnimal.create(Animalcategory,AnimalColor: String);
begin
 category := Animalcategory;
 Color := AnimalColor;
end;
 
constructor THomeAnimal.create(Animalcategory,AnimalColor,AnimalNickname,AnimalMaster: String);
begin
 TAnimal.create(Animalcategory,AnimalColor);
 Nickname := AnimalNickname;
 Master := AnimalMaster;
end;
 
procedure THomeAnimal.Print;
begin
 WriteLn('|',category:8,'|',Color:10,'|',NickName:14,'|',Master:10,'|',Childs:3,'|');
end;
 
var
   Animals: Array[1..6] of THomeAnimal;
   i: Integer;
begin
 Animals[1] := new THomeAnimal('Кот','Полосатый','Матроскин','Дядя Федор');
 Animals[2] := new THomeAnimal('Пес','Коричневый','Шарик','Дядя Федор');
 Animals[3] := new THomeAnimal('Скворец','Черный','КтоТама','Дядя Федор');
 Animals[4] := new THomeAnimal('Человек','Рыжий','Дядя Федор','Мама');
 Animals[5] := new THomeAnimal('Человек','Рыжий','Вера Павловна','Мама');
 Animals[6] := new THomeAnimal('Человек','Рыжий','Мама','Папа');
 Animals[6].Childs := 2;
 for i := 1 to 6 do Animals[i].Print;
 ReadLn;
end.
Логику работы не проверял, просто добился того, чтобы программа компилировалась.
0
0 / 0 / 0
Регистрация: 22.02.2022
Сообщений: 17
30.03.2022, 22:51  [ТС] 14
Благодарю за помощь
0
30.03.2022, 22:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2022, 22:51
Помогаю со студенческими работами здесь

Создать класс "животное" и производный класс "домашнее животное".
Создать класс животное, содержащее классификацию (строка), число конечностей, число потомков....

Создать объект стек и создать объект очередь с перегруженными операциями
Помогите, пожалуйста с заданиями. 1. Унарная операция Создать объект стек, перегрузив ++ и --...

Создать класс животное, содержащий в качестве параметров классификацию строка
Создать класс животное, содержащий в качестве параметров классификацию (строка), число конечностей,...

Создать базовый класс «Животное» и производные классы «Тигр», «Крокодил», «Кенгуру»
Создать базовый класс «Животное» и производные классы «Тигр», «Крокодил», «Кенгуру». С помощью...

Создать базовый класс Животное и производные классы Змея, Собака, Кошка
описать базовый класс Животное (Animal), у которого будут виртуальные методы “говорить”, “пить” и...

Создать базовый класс «Домашнее животное» и производные классы «Собака», «Кошка», «Попугай»
Создать базовый класс «Домашнее животное» и производные классы «Собака», «Кошка», «Попугай». С...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru