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

Даны три фигуры: 1 ) прямоугольник со сторонами a = 2, b = 3 2 ) круг радиуса r = 5 3 ) треугольник со сторонами x = 3, y = 4, z = 5. напишите программу (на алгоритмическом языке паскаль) для расчета площади фигуры, выбранной пользователем. выбор осуществляется путем ввода с клавиатуры пользователем соответствующего номера фигуры. составьте блок-схему алгоритма.

👇
Ответ:
csonzdanova
csonzdanova
04.11.2020
Блок-схема - в прилагаемом файле.
var n:integer; a,b,r,x,y,z,p,s:real;
begin
writeln('Введите номер фигуры: 1) прямоугольник; 2) круг; 3) треугольник:');
readln(n);
case n of
 1: begin 
    write('a, b: '); readln(a,b);
    s:=a*b;
    writeln('s = ',s);
    end;
 2: begin 
    write('r = '); readln(r);
    s:=pi*r*r;
    writeln('s = ',s);
    end;
 3: begin 
    write('x, y, z: '); readln(x,y,z);
    p:=(x+y+z)/2;    s:=sqrt(p*(p-x)*(p-y)*(p-z));    writeln('s = ',s);
    end;
 else writeln('Ошибка ввода');
 end;
end.

Пример:
Введите номер фигуры: 1) прямоугольник; 2) круг; 3) треугольник:
3
x, y, z: 3 4 5
s = 6
Даны три фигуры: 1 ) прямоугольник со сторонами a = 2, b = 3 2 ) круг радиуса r = 5 3 ) треугольник
4,5(35 оценок)
Открыть все ответы
Ответ:
danilstal14
danilstal14
04.11.2020
Const
  n = 5;

type
  tM = array[1..n, 1..n] of integer;
  tV = array[1..n] of integer;

procedure ProdMV(a: tM; b: tV; var c: tV);
var
  i, j, s: integer;
begin
  for i := 1 to n do
  begin
    s := 0;
    for j := 1 to n do s := s + a[i, j] * b[j];
    c[i] := s;
  end
end;

procedure SumV(a, b: tV; var c: tV);
var
  i: integer;
begin
  for i := 1 to n do c[i] := a[i] + b[i]
end;

procedure InitMatrix(var a: tM; p, q: integer);
{ Инициализация элементов случайными числами на [p;q]}
var
  i, j, k: integer;
begin
  k := q - p + 1;
  for i := 1 to n do
    for j := 1 to n do
      a[i, j] := Random(k) + p
end;

procedure InitVector(var a: tV; p, q: integer);
{ Инициализация элементов случайными числами на [p;q]}
var
  i, k: integer;
begin
  k := q - p + 1;
  for i := 1 to n do
    a[i] := Random(k) + p
end;

procedure DisplayMatrix(a: tM; s: string);
var
  i, j: integer;
begin
  Writeln(s);
  for i := 1 to n do
  begin
    for j := 1 to n do Write(a[i, j]:5);
    Writeln
  end
end;

procedure DisplayVector(a: tV; s: string);
var
  i: integer;
begin
  Writeln(s);
  for i := 1 to n do Write(a[i]:5);
  Writeln
end;

var
  A, B: tM;
  x, y, r, r1, r2: tV;

begin
  Randomize;
  InitMatrix(A, -50, 50);
  DisplayMatrix(A, 'Матрица А');
  InitMatrix(B, -20, 65);
  DisplayMatrix(B, 'Матрица B');
  InitVector(x, -10, 14);
  DisplayVector(x, 'Вектор x');
  InitVector(y, 5, 40);
  DisplayVector(y, 'Вектор y');
  ProdMV(A, x, r1);
  ProdMV(B, y, r2);
    { Для отладки раскомментарить две нижележащие строчки }
  { DisplayVector(r1,'Вектор r1');
    DisplayVector(r2,'Вектор r2'); }
  SumV(r1, r2, r);
  DisplayVector(r, 'Вектор результата')
end.

Тестовое решение:
Матрица А
  -19   27   30   25  -14
   32  -35    9  -38   16
  -39  -36   13   41  -37
    7  -18   -8   35  -10
    1  -48    1  -19   -2
Матрица B
  -15   62  -18   58   62
   32   58   43    3   12
   15   11   39  -20  -16
   47  -10   24   16   55
   -8   46   10    0   45
Вектор x
    2   -6   10    0   -3
Вектор y
   15   14   22   14   15
Вектор результата
 2131 2776 1096 2214 1725
4,4(75 оценок)
Ответ:
mishinevav
mishinevav
04.11.2020
Ищем в именах файлов закономерности, чтобы выделить пять из них.
1. Есть ровно пять файлов, начинающихся символом "p". В расширении имени (после точки) они имеют от одного до  трех символов.
Регулярное выражение будет иметь вид p[a-z]*.[a-z]*
2. Есть ровно пять файлов, имена которых завершаются символом "r". В расширении имени (после точки) они имеют от двух до  трех символов.
Регулярное выражение будет иметь вид [a-z]*r.[a-z]*

Ищем среди ответов похожий.
p+[a-z]*.[a-z]* - в принципе, то же, знак + тут необязателен, но и не мешает.
[a-z]*r+.[a-z]{3} - все портит это {3}, требующее ровно 3 повторения, а у нас от 2 до 3.

ответ:
p+[a-z]*.[a-z]*
4,7(84 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ