В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
asilwa1190
asilwa1190
05.10.2022 04:17 •  Информатика

Первое задание: взять любую пословицу придумать и нарисовать к ней блок систему

Показать ответ
Ответ:
Lyadavinchi
Lyadavinchi
01.01.2020 14:06
Type
  Frac = record
    P: integer;
    Q: 1..32767
  end;

function gcd(a: integer; b: integer): integer;
{Нахождение НОД}
var
  i: integer;
begin
  while b <> 0 do
  begin
    a := a mod b;
    i := b; b := a; a := i
  end;
  result := a
end;

function RedFrac(a: Frac): Frac;
{Сокращение дроби}
var
  igcd: integer;
  r: Frac;
begin
  igcd := gcd(a.P, a.Q);
  r.P := a.P div igcd;
  r.Q := a.Q div igcd;
  RedFrac := r
end;

function Add(a, b: Frac): Frac;
{Сложение дробей}
var
  r: Frac;
begin
  r.P := a.P * b.Q + b.P * a.Q;
  r.Q := a.Q * b.Q;
  Add := RedFrac(r)
end;

function Mult(a, b: Frac): Frac;
{Умножение дробей}
var
  r: Frac;
begin
  r.P := a.P * b.P;
  r.Q := a.Q * b.Q;
  Mult := RedFrac(r)
end;

var
  m, n, k: Frac;

begin
  m.P := 4; m.Q := 15; {4/15}
  n.P := 9; n.Q := 25; {9/25}
  k := Add(m, n);
  Writeln(k.P, '/', k.Q);
  k := Mult(m, n);
  Writeln(k.P, '/', k.Q);
end.

Результат выполнения программы:
47/75
12/125
0,0(0 оценок)
Ответ:
eliza3108
eliza3108
01.01.2020 14:06
#include <iostream>

using namespace std;

int gcd(int a, int b);

int main()
{
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
   
    int n;
   
    cin >> n;
   
    for (int i = 0; i < n; ++i)
    {
        int a, b, c, d;
       
        scanf("%d/%d+%d/%d=", &a, &b, &c, &d);
       
        int num = a * d + b * c;
        int den = b * d;
       
        int cur_gcd = gcd(num, den);
       
        num /= cur_gcd;
        den /= cur_gcd;
       
        cout << num;
        if(den != 1)
            cout << '/' << den;
        cout << endl;
    }
   
    fclose(stdin);
    fclose(stdout);
    return 0;
}

int gcd(int a, int b)
{
    if(a == 0)
        return b;
    return gcd(b % a, a);
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота