Контрольная работа по PHP
1
2
/*
3
Создать класс "student", атрибутами которого являются идентификаторы студента и случайный номер студенческого билета.
4
Используя один из алгоритмов сортировки, вставки, включения или обмена ("пузырька") упорядочить по возростанию номера студенческого билета список студентов ЭУ-220.
5
*/
6
class student{
7
public $name;
8
public $lastname;
9
public $bilet;
10
public $group;
11
12
public function __construct(string $name="", string $lastname="", string $group="") {
13
$this->name = $name;
14
$this->lastname = $lastname;
15
$this->group = $group;
16
$this->bilet = rand(0,999);
17
}
18
public function displayStudentInfo(){
19
$bilet = $this->bilet;
20
if ($bilet) {
21
echo 'Группа:'. $this->group .'<br/>';
22
echo 'Студенческий билет: '.$bilet.'<br/>';
23
}
24
echo '<ul style="padding-left:15px;">';
25
echo 'Фамилия:'. $this->name .'<br/>';
26
echo 'Имя:'. $this->lastname .'<br/>';
27
echo '</ul>';
28
}
29
public function bubbleSort(&$students){
30
$count = count($students);
31
for($i = 0; $i < $count; $i=$i+1)
32
{
33
for($j = 0; $j < $count-1; $j=$j+1)
34
{
35
if ($students[$j]->bilet > $students[$j+1]->bilet)
36
{
37
$b = new Student();
38
$b = $students[$j];
39
$students[$j] = $students[$j+1];
40
$students[$j+1] = $b;
41
}
42
}
43
44
}
45
}
46
}
47
$students = [
48
new Student("Уткина","Елена", 'ЭУ-220'),
49
new Student("Попова","Эвелина", 'ЭУ-220'),
50
new Student("Надеин","Дмитрий",'ЭУ-220')
51
];
52
// перебираем массив
53
for ($j = 0; $j < count($students) - 1; $j++){
54
for ($i = 0; $i < count($students) - $j - 1; $i++){
55
// если текущий элемент больше следующего
56
if ($students[$i]->bilet > $students[$i + 1]->bilet){
57
// меняем местами элементы
58
$tmp_var = $students[$i + 1];
59
$students[$i + 1] = $students[$i];
60
$students[$i] = $tmp_var;
61
}
62
}
63
}
64
65
foreach($students as $Student){
66
$Student->displayStudentInfo();
67
}
68
x
1
xxxxxxxxxx
1
1
Results:
Группа:ЭУ-220
Студенческий билет: 502
Студенческий билет: 557
Студенческий билет: 573
Студенческий билет: 502
- Фамилия:Попова
Имя:Эвелина
Студенческий билет: 557
- Фамилия:Надеин
Имя:Дмитрий
Студенческий билет: 573
- Фамилия:Уткина
Имя:Елена
xxxxxxxxxx
86
1
2
3
abstract class Pet{
4
public $name;
5
public $age;
6
public $gender;
7
public function setPet($name, $age, $gender){
8
$this->name = $name;
9
$this->age = $age;
10
$this->gender = $gender;
11
}
12
}
13
14
15
class Dog extends Pet{
16
private $clas;
17
public function setPet($name, $age, $gender){
18
parent::setPet($name,$age,$gender);
19
$this->clas = "Собака";
20
}
21
public function showAnimal(){
22
echo $this->clas . "<br> Имя: ";
23
echo $this->name . "<br> Пол: ";
24
echo $this->gender. "<br> Возраст: ";
25
echo $this->age. "<br><br>";
26
}
27
}
28
29
class Cat extends Pet{
30
private $clas;
31
public function setPet($name, $age, $gender){
32
parent::setPet($name,$age,$gender);
33
$this->clas = "Кот";
34
}
35
public function showAnimal(){
36
echo $this->clas . "<br> Имя: ";
37
echo $this->name . "<br> Пол: ";
38
echo $this->gender. "<br> Возраст: ";
39
echo $this->age. "<br><br>";
40
}
41
}
42
43
class Whale extends Pet{
44
private $clas;
45
public function setPet($name, $age, $gender){
46
parent::setPet($name,$age,$gender);
47
$this->clas = "Кит";
48
}
49
public function showAnimal(){
50
echo $this->clas . "<br> Имя: ";
51
echo $this->name . "<br> Пол: ";
52
echo $this->gender. "<br> Возраст: ";
53
echo $this->age. "<br><br>";
54
}
55
}
56
57
class Shinshilla extends Pet{
58
private $clas;
59
public function setPet($name, $age, $gender){
60
parent::setPet($name,$age,$gender);
61
$this->clas = "Шиншилла";
62
}
63
public function showAnimal(){
64
echo $this->clas . "<br> Имя: ";
65
echo $this->name . "<br> Пол: ";
66
echo $this->gender. "<br> Возраст: ";
67
echo $this->age. "<br><br>";
68
}
69
}
70
71
$dog = new Dog();
72
$dog ->setPet("Дик",10,"Мальчик");
73
$dog -> showAnimal();
74
$cat = new Cat();
75
$cat ->setPet("Симба", 9, "Мальчик");
76
$cat ->showAnimal();
77
$whale = new Whale();
78
$whale -> setPet("Стефания",1,"Девочка");
79
$whale -> showAnimal();
80
$shinshilla = new Shinshilla();
81
$shinshilla->setPet("Шина", 3,"Девочка");
82
$shinshilla -> showAnimal();
83
84
85
86
xxxxxxxxxx
1
1
xxxxxxxxxx
1
1
Results:
Собака
Имя: Дик
Пол: Мальчик
Возраст: 10
Кот
Имя: Симба
Пол: Мальчик
Возраст: 9
Кит
Имя: Стефания
Пол: Девочка
Возраст: 1
Шиншилла
Имя: Шина
Пол: Девочка
Возраст: 3
Имя: Дик
Пол: Мальчик
Возраст: 10
Кот
Имя: Симба
Пол: Мальчик
Возраст: 9
Кит
Имя: Стефания
Пол: Девочка
Возраст: 1
Шиншилла
Имя: Шина
Пол: Девочка
Возраст: 3