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

Информатика: решение на языке паскаль. текст : даны три натуральных числа. напишите программу, определяющую существует ли треугольник с такими длинами сторон. если такой треугольник существует, то определите его тип (равносторонний, равнобедренный, разносторонний)

👇
Ответ:
nata27veronika
nata27veronika
30.04.2020
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var (a,b,c):=ReadInteger3('a b c =');
  if (a+b>c) and (a+c>b) and (b+c>a) then
    if (a=b) or (a=c) or (b=c) then
      if (a=b) and (b=c) then Writeln('Треугольник равносторонний')
      else Writeln('Треугольник равнобедренный')
    else Writeln('Треугольник разносторонний')
  else Writeln('Треугольник не существует')
end.
4,8(19 оценок)
Ответ:
рома1344
рома1344
30.04.2020
Var       
i, a, b, c: integer;

function check_is(a, b, c: integer):
 boolean;
begin     
 if a >= b + c then check_is := false
else        if b >= a + c then
 check_is := false else     
  if c >= a + b then check_is := false else     
         check_is := true;           
       end;
procedure check_how(a, b, c: integer);begin 
     if ((a = b) and (b = c) and (a = c)) then writeln('равносторонний') else   
    if ((a = b) or (b = c) or (a = c)) then writeln('равнобедренный') else              writeln('разносторонний');     
  end;

begin     
 writeln('Введите стороны треугольника');   
    read(a, b, c);   
    if check_is(a, b, c) then check_how(a, b, c) else writeln('Нет такого треугольника!');          
   end.
4,4(22 оценок)
Открыть все ответы
Ответ:
MrDackes
MrDackes
30.04.2020
1. Вот так это пишется с функцией

// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
function IsPrime(n:integer):boolean;
begin
  if n<4 then Result:=True
  else begin
    var found:= (n mod 2 = 0);
    var p:=3;
    while (not found) and (sqr(p)<=n) do
      begin
      found:=(n mod p = 0);
      p+=2
      end;
    Result:=not found
    end
end;

begin
  Writeln('k=',ArrRandom(ReadInteger('n='),1,999).Println.
    Where(x->IsPrime(x)).Count)
end.

Тестовое решение:
n= 10
401 828 780 444 694 965 23 341 673 875
k=3

2. А вот так это пишется с процедурой

// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
procedure IsPrime(n:integer; var res:boolean);
begin
  if n<4 then res:=True
  else begin
    var found:= (n mod 2 = 0);
    var p:=3;
    while (not found) and (sqr(p)<=n) do
      begin
      found:=(n mod p = 0);
      p+=2
      end;
    res:=not found
    end
end;

begin
  var a:=ArrRandom(ReadInteger('n='),1,999); a.Println;
  var k:=0;
  var prime:boolean;
  foreach var e in a do begin
    IsPrime(e,prime);
    if Prime then Inc(k)
    end;
  Writeln('k=',k)
end.

Тестовое решение:
n= 12
199 43 71 365 417 904 170 212 694 103 161 689
k=4
4,8(69 оценок)
Ответ:
BaBaika322
BaBaika322
30.04.2020

//PascalABC.NET версия 3.4.2.1991 от 03.03.19

//Если программа не запускается, то обновите версию

const

   handsfree = true;

   nmax = 100;

   random_min = -50;

   random_max = 50;

var

   a: array[1..nmax] of real;

   i, n, count: integer;

procedure QuickSort(first, last: Integer);{ Быстрая сортировка массива A[] , использует массив как глобальную переменную}

var

   i, j: integer;

   x, y: real;

begin

   i := first;

   j := last;

   x := a[(first + last) div 2];

   repeat

       while (A[i] < x) do inc(i);

       while (x < A[j]) do dec(j);

       if (i <= j) then

       begin

           y := A[i]; a[i] := a[j]; a[j] := y;

           inc(i); dec(j);

       end;

   until (i > j);

   if (first < j) then QuickSort(first, j);

   if (i < last) then QuickSort(i, last);

end;

begin

   {ввод массива}

   n := nmax;

   if handsfree then begin

       n := random(nmax - 5) + 5;

       for i := 1 to n do

       begin

           a[i] := random(random_max - random_min) + random_min;

           write(a[i], ' ');

       end

   end

   else begin

       write('n = ');

       readln(n);

       for i := 1 to n do

           readln(a[i]);

   end;

   writeln();

   

   QuickSort(1, n);

   

   {вывод массива}

   writeln('Вывод массива[', n, ']:');

   for i := 1 to n do

       write(a[i], ' ');

   writeln();

   

   {подсчет разных}

   count := 1; {первый элемент точно разный}

   for i := 2 to n do

       if a[i] <> a[i - 1] then

           count := count + 1;

   writeln('Разных элементов = ', count);

end.

4,7(66 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ