Goncharovskai
02.04.2023 02:51

Обмін даними Розглянемо 2 ситуації: двоє учнів тримають по важкій книзі (потрібно тримати обома руками). Вони хочуть помінятись книгами. Як їм слід вчинити?
Або маємо у різних склянках різні соки. Потрібно поміняти місцями вміст двох склянок. Як це можна зробити?
В обох випадках нам потрібно скористатись додатковим тимчасовим місцем для збереження. У ньому розміщуємо вміст першого об'єкта, тоді перший бере вміст другого, а другий - забирає те, що лежало в тимчасовому сховку.
Для того, щоб поміняти місцями вміст двох змінних - потрібна третя.
Розглянемо це на прикладі задачі 1. Поміняти місцями вміст двох змінних
Задача 2. Перерозподілити вміст двох змінних так, щоб у змінній А містилось менше з двох чисел, а у змінній В - більше.

Зверніть увагу, що в цій задачі довелося скористатися умовним оператором if .
Задача 3. Записати у змінну А найменше з трьох чисел, у змінну В - середнє, у змінну С -
найбільше з трьох чисел.
Задачі для самостійного написання:
Задача 4. Знайти суму найбільшого та найменшого із трьох чисел.
Задача 5. Напишіть програму, яка б просила ввести ім’я кота та ім’я собаки. Потім собаці давала котяче ім’я та навпаки.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
2261747
20.02.2020 10:00
// PascalABC.NET 3.2, сборка 1401 от 14.03.2017
// Внимание! Если программа не работает, обновите версию!

1. Решение без проверки вводимых данных

begin
  var a,b:integer;
  Read(a,b);
  var P:=ArrFill(30,0);
  for var i:=a-1 to b-1 do P[i]:=2;
  P.Println
end.

Пример
2 10
0 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2. Решение с контролем ввода

begin
  var a:=ReadInteger('Введите a от 1 до 30:');
  if a<1 then begin Writeln('Неверно'); Exit end;
  var b:=ReadInteger('Введите b от '+a.ToString+' до 30:');
  if (b<a) or (b>30) then begin Writeln('Неверно'); Exit end;
  var P:=ArrFill(30,0);
  for var i:=a-1 to b-1 do P[i]:=2;
  P.Println
end.

Пример
Введите a от 1 до 30: 2
Введите b от 2 до 30: 10
0 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0,0(0 оценок)
Ответ:
Каварныи
27.02.2023 08:53
Используем формулу Герона для нахождения площади треугольника по трем сторонам: S=√(p·(p-a)·(p-b)·(p-c)), где p - полупериметр, равный
p=(a+b+c)/2

Программа:

program z;
var a1,b1,c1,a2,b2,c2,p1,p2,s1,s2:real;
begin
readln(a1,b1,c1);   {ввод длин сторон первого треугольника}
p1:=(a1+b1+c1)/2; {полупериметр первого треугольника}
s1:=sqrt(p1*(p1-a1)*(p1-b1)*(p1-c1)); {площадь первого треугольника}

readln(a2,b2,c2);  {ввод длин сторон второго треугольника}
p2:=(a2+b2+c2)/2; {полупериметр второго треугольника}
s2:=sqrt(p2*(p2-a2)*(p2-b2)*(p2-c2)); {площадь второго треугольника}
if s1=s2                   {если площади треугольников равны}
then writeln('Yes')   {то вывести положительный ответ}
else writeln('No');    {иначе вывести отрицательный ответ}
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота