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

Написать на Паскале условный оператор, проверяющий, попала ли точка с координатами (X, Y) внутрь заштрихованной области (числа X и Y ввести с клавиатуры).


Написать на Паскале условный оператор, проверяющий, попала ли точка с координатами (X, Y) внутрь за

👇
Ответ:
влад2305
влад2305
02.11.2021

Объяснение:

program graphic;

var

   x, y: real;

   underLine, underLog, inCircle: boolean;

begin

 writeln('введите Х:');

 readln(x);

 writeln('введите У:');

 readln(y);

 //проверяем, что попали в первую четверть

 if (x >= 0) and (y >= 0) then

 begin

   underLine := (y <= -x + 2);

   underLog := (exp(y) <= x);

   inCircle := (x*x + y*y <= 9);

   if inCircle and (underLog xor underLine) then

       writeln('внутри области')

   else

       writeln('вне области');

 end

 else

   writeln('вне области');

end.

UPD

если нужно записать это одним оператором, то это будет выглядеть так

program graphic_v2;

var

   x, y: real;

begin

 writeln('введите Х:');

 readln(x);

 writeln('введите У:');

 readln(y);

 if (x >= 0) and (y >= 0) and (x*x + y*y <= 9) and ((y <= -x + 2) xor (exp(y) <= x)) then

     writeln('внутри')

 else

     writeln('снаружи');

end.

4,8(60 оценок)
Открыть все ответы
Ответ:
svetaredkina
svetaredkina
02.11.2021

#include <iostream>

using namespace std;

int main()

{

   int N; cin >> N;

   int list[N];

   int a = 0;

   while (a < N)

   {

       int n; cin >> n;

       list[a] = n;

       a ++;

   }

   int flag_2 = 0;

   a = 0;

   while (a < N)

   {

       int b = 0;

       int flag = 0;

       while (b < N)

       {

           if (list[a] == list[b])

           {

               flag ++;

               flag_2 ++;

           }

           b ++;

       }

       if (flag > 1) cout << list[a] << " ";

       a ++;

   }

   if (flag_2 <= N) cout << 0;

}

1) ответ выводится не списком, а просто отдельными числами через пробел

2) каждое повторяющееся число выводится несколько раз(столько, сколько встречается)

3) в конце вывода лишний пробел

Могу решить на пайтоне, если важно просто закрыть задачу. А так, судя по всему, решение только массивами требует более глубоких знаний(динамические массивы и векторы), чем есть у меня в с++. Возможно, сможете улучшить мое решение

(кинул бы в комментарии, но там ограничение на кол-во символов)

4,5(79 оценок)
Ответ:
balashova1296
balashova1296
02.11.2021
Var
  i, n, s: longint;
  d, k: integer;

begin
  i := 3; k := 0;
  repeat
    s := 1;
    for d := 2 TO Trunc(sqrt(i)) do
    begin
      n := (i div d);
      if n * d = i then s := s + d + (i div d);
    end;
    if int(sqrt(i)) = sqrt(i) then s := s - Trunc(sqrt(i));
    if s = i then k := k + 1;
    i := i + 1
  until (k = 3);
  Writeln('Третье совершенное число равно ',s)
end.

Тестовое решение:
Третье совершенное число равно 496

const
  k=35; { k-е по порядку простое число }

var
  i,j,n,m:integer;

begin
  n:=1; i:=1;
  repeat
    j:=2;
    m:=round(sqrt(i));
    while (i mod j <>0) and (j<=m) do j:=j+1;
    if j>m then n:=n+1;
    i:=i+1
  until (n=k);
  Writeln(i-1)
end.

Тестовое решение:
137

var
  n, d1, d2, d3: integer;

begin
  Write('Введите трехзначное число ->');
  Readln(n);
  d1 := (n div 100);
  d2 := ((n mod 100) div 10);
  d3 := (n mod 10);
  if (d1 * d2 * d3 in [100..999]) then
    Writeln('Произведение цифр трехзначное')
  else Writeln('Произведение цифр не трехзначное')
end.

Тестовое решение:
Введите трехзначное число ->518
Произведение цифр не трехзначное

*** В блок-схемах использованы обозначения:
sqrt(x) - квадратный корень от х;
\ - операция целочисленного деления
% - операция остатка от целочисленного деления    
4,5(81 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ