М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Ketti08
Ketti08
19.07.2021 08:06 •  Информатика

На одному квадратному безлюдному острові, довжина сторони якого х м., мешкали у потерпілих у корабельній аварії робінзонів.з’ясувати на скільки квадратних метрів менше прийшлось на кожного робінзона після того , як на острів висадився ще один робінзон.

👇
Ответ:
уютка
уютка
19.07.2021
Для початку визначаємо площу острова на якому мешкають Робінзони: Plostr:=K*K;. Друга дія, що повинна виконуватись – наявність вільного місця на острові VSostr:=Plostr-S*P, і на останок, якщо вільне місце буде то розраховуємо кількість Робінзонів яка б могла розміститися на острові у випадку аварії корабля поблизу острова: KP:=VSostr div P. Визначаємо типи змінних. Так як за умовою задачі сторона острова та площі мають бути цілими числами більшими за нуль але не обмеженими по величині виберемо для них тип integer, кількість людей, що проживають на острові також число ціле і воно може бути більше ніж 255(тип byte) то залишається обрати також тип integer. В результаті ми також отримуємо числа цілі але можливо там будуть і від’ємні значення тому тип змінних визначаємо як integer.Var K, P, S, Plostr, VSostr, KP:integer;
Begin
Write (‘введіть кількість проживаючих на острові Робінзонів:’);
Readln(P);
Write (‘введіть довжину острова у метрах:’);
Readln(K);
Write (‘введіть площу, яка визначена законом для проживання одного Робінзона:’);
Readln(S);
Plostr:=K*K;
VSostr:=Plostr-S*P;
If VSostr < 0 then write(‘Права Робінзонів порушені, так як площі острова не достатньо’)
Else
Begin
If Vostr=0 then write (‘На острові місця вистачить тільки для тих Робінзонів, які там вже проживають’)
Else 
Begin
KP:=VSostr div P;
If KP>0 then write(‘ На острові можуть бути поселені ще ’,KP,’ Робінзон(ів)’)
Else write(‘На острові місця вистачить тільки для тих Робінзонів, які там вже проживають ’);
End;
End;
Readln;
End.
4,8(31 оценок)
Открыть все ответы
Ответ:
iraapukhtina7
iraapukhtina7
19.07.2021
Без проверки полагаем, что по заданным координатам точек можно построить треугольники.

//PascalABC.Net 3.0, сборка 1111
type
  Point=record
  x,y:double
  end;

function TriangleSquare(A,B,C:Point):double;
begin
  Result:=0.5*abs(A.x*(B.y-C.y)+B.x*(C.y-A.y)+C.x*(A.y-B.y))
end;

procedure GetPoint(c:char; var A:Point);
begin
  Write('Введите координаты точки ',c,': ');
  Readln(A.x,A.y)
end;

var
  A:array['A'..'F'] of Point;
  i:'A'..'F';
  s1,s2:double;
begin
  for i:='A' to 'F' do GetPoint(i,A[i]);
  s1:=TriangleSquare(A['A'],A['B'],A['C']);
  s2:=TriangleSquare(A['D'],A['E'],A['F']);
  if s1>s2 then Writeln('Площадь первого треугольника больше')
  else
    if s2>s1 then Writeln('Площадь второго треугольника больше')
    else Writeln('Площади треугольников равны')
end.

Тестовое решение:
Введите координаты точки A: -4 3.7
Введите координаты точки B: -6.3 0
Введите координаты точки C: 10.2 5.93
Введите координаты точки D: 7.143 8.1
Введите координаты точки E: -6 -3
Введите координаты точки F: 7.4 -5.7
Площадь второго треугольника больше
4,8(90 оценок)
Ответ:
mari200423
mari200423
19.07.2021
1)когда найдется элемент равный заданому 
2)отсекается 1 элемент
3)Произведение элементов массива, которые лежат в промежутке [40;55)

в паскале как и почти любом ЯП есть переменные,которые содержат имя и значение,например (i: =0)->имя переменной i,значение 0.Значение переменной можно изменить,имя переменной нельзя.Массивы это переменные которые хранят несколько значений.Чтобы обратиться к определенному значению масива использовать синтаксис имямасива[индексмасива],например чтоб получить 3 элемент масива a использовать a[3].repeat  (expression) until(boolean) это цикл,в котором будет выполняться expression(любой код) до тех пор пока boolean не будет верно.Boolean это выражение значение которого будет равно true/false(правда/неправда).Напрмер в repeat 
i:=i+1; 
until (a[i]=x) or (i=10); к переменной i будет прибавляться 1 до тех пор пока a[i] не равно x или i будет меньше 10(так как в масиве всего 10 элементов,если например i будет 11 это будет выход за границу массива).Каждый блок выполнения в цикле(в нашем случае i:=i+1) называется итерацией.В цикле for(a to max) в a идет создание переменной-счетчика(в нашем случае создание переменной i со значением 0) ,потом пишется to и идет максимальное значение счетчика.И итерации этого цикла(if (a[i]=>40) and (a[i]<55) then s:=s*a[i]; 
).В конце каждой итерации автоматически значение счетчика увеличивается на 1.До тех пор пока счетчик меньше или равен max итерации будут выполняться.
А вообще в интернете очень много обучающих статей по данной теме
4,6(31 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ