РЕШИТЬ ЗАДАЧУ "На завод!" У Пети есть X грамм краски, а у Васи — Y грамм краски. Одного грамма краски хватает, чтобы покрасить плитку 1×1. На заводе есть неограниченное количество квадратных плиток любых размеров. Петя выберет максимальную плитку, на которую у него хватит краски. Вася поступит аналогично. Таня работает в плановом отделе, и в её интересах сделать так, чтобы суммарно было потрачено как можно больше краски. Поэтому Таня интересуется: а что если Петя отдаст всю свою краску Васе? Получится ли тогда потратить больше краски или нет? В данной задаче запрещено использовать функцию sqrt, а также операцию возведения в степень.
Входные данные
В двух строках входного файла содержатся натуральные числа x и y — количество краски у Пети и Васи соответственно. Все числа не превышают 1000.
Выходные данные
Если выгоднее будет отдать всю краску Васе, то выведите на экран "Petya gives paint to Vasya". Если выгоднее оставить краску у Пети, то выведите на экран "Petya leaves paint to himself". Если расход краски в обоих случаях одинаков, то выведите "Equal".
Ответы на вопрос:
1) absolute - директива для адреса переменной.например: var a : integer absolute $0040: $0002; //сеегмент: смещение
2) asm - директива для ассемблерных вставок. используется в критичных участках кода. пример:
begin asm xor ax, ax endend.
3)конструктор и деструктор нужны для создания и уничтожения экземпляра класса.существуют конструкторы/деструкторы по умолчанию, но если мы хотим заменить его своим, то используются constructor/destructor.пишется просто - вместо function/procedure пишется constructor/destructor, ну и в классе прописывается.type ooo = class public a, b : integer; constructor create (x, y : integer); end;
constructor ooo.create (x, y : integer); begin a : = x; b : = y; end;
4) implementation - в модуле обозначает начало исполняемой части, то есть там сами функции, процедуры и инициализация модуля.нужна, разумеется, чтобы отделить части модуля друг от друга.
пример модуля:
unit embler;
interface
procedure adds (x,y: integer, var z: integer);
implementation procedure addd (x,y: integer, var z: integer); begin z : = 2 * x + y; end; end.
5) например, graph - позволяет работать с графикой,math - функции, windows - системные функции.
6) pointer хранит адрес. по этому адресу можно пойти и взять значение переменной, при этом неважно какого она типа. там, например может быть массив.
7) @ - берет адрес переменной ^ - обозначение, что это указатель или что это разыменование
пример: var a : ^integer; // указатель на integer; b : integer; begin a : = @b; b : = a^ + 2; //то же самое, что b : = b + 2; end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
1230987420.06.2020 08:54
-
zzzXXXD07.11.2022 05:36
-
куся2624.01.2021 21:49
-
Лейла01102.03.2020 20:46
-
Лейла522512.06.2021 20:10
-
Shkolnikvolodya01.06.2023 03:25
-
Станислав201717.07.2020 17:59
-
Страус12355222.07.2021 13:40
-
nicita13254769p06wrf14.05.2021 08:06
-
kolya132512.02.2022 18:01
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.