reegiinaaa
01.02.2022 16:25

Задание №1

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

Вариант 1.

Составить программу вычисления наибольшего общего делителя трёх введённых чисел х, у, z, используя процедуру вычисления наибольшего общего делителя этих чисел.

Procedure NOD(a,b:integer; var k:integer);

Begin

While a<>b do

If a>b then a:=a-b else b:=b-a;

k:=a;

End;

Вариант 2.

Составить программу, которая определяет, являются ли три введённые числа х, у, z взаимно-простыми. Взаимно-простыми называются числа, наибольший общий делитель которых равен 1. Использовать функцию вычисления наибольшего общего делителя этих чисел.

Function NOD(a,b:integer):integer;

Begin

While a<>b do

If a>b then a:=a-b else b:=b-a;

NOD:=a;

End;

Задание №2

1. Составить программу вычисления значения выражения:

, используя функцию для вычисления значения .

2. Напишите программу вычисления выражения:

, где .

Вычисление значений х оформить в виде подпрограммы-функции.

Задание №3

1.Составить программу, которая вычисляет периметр треугольника, если заданы координаты вершин . Вычисление расстояния между двумя точками оформить в виде функции по известной формуле: .

2. Составить программу, которая находит наибольшую сторону треугольника, если заданы координаты вершин . Вычисление расстояния между двумя точками оформить в виде функции по известной формуле: .

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
9156612755tana
17.04.2022 07:10
Одно из решений, возможно, не самое эффективное
#include <iostream>
#include <iomanip>
int main()
{
    using namespace std;

    //исходная последовательность
    const int N = 8;
    double Arr[N] = { 14.2, -3.4, 7.8, -3.1, 8.2, 98.22, -7, 12 };

    //вывод на экран исходной последовательности
    for (int i = 0; i < N; ++i)
        cout << Arr[i] << "  ";
    cout << endl;

    //подсчитаем количества отрицательных и неотрицательных элементов
    int kpos = 0;
    int kneg = 0;
    for (int i = 0; i < N; ++i)
        if (Arr[i] < 0)
            ++kneg;
        else
            ++kpos;

    //создадим массивы отрицательных и неотрицательных элементов
    double * ArrNeg = new double[kneg];
    double * ArrPos = new double[kpos];

    int kn = 0, kp = 0;
    for (int i = 0; i < N; i++)
        if (Arr[i] < 0)
            ArrNeg[kn++] = Arr[i];
        else
            ArrPos[kp++] = Arr[i];

    cout << "Enter a, b, c or d: ";
    char ch;
    cin >> ch;

    if (ch == 'a' || ch == 'b' || ch == 'c' || ch == 'd')
    {
        switch (ch)
        {
            //пункт а)
            case 'a':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[i];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[i];
                break;

                //пункт б)
            case 'b':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[--kn];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[i];
                break;

                //пункт в)
            case 'c':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[i];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[--kp];
                break;

                //пункт г)
            case 'd':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[--kn];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[--kp];
                break;
        }
    }
    else
        cout << "You entered wrong symbol\n";

    for (int i = 0; i < N; ++i)
        cout << Arr[i] << "  ";
    cout << endl;
    delete[] ArrNeg;
    delete[] ArrPos;
    return 0;
}
0,0(0 оценок)
Ответ:
papashamuslimo
30.01.2021 06:01

a = list(map(int, input().split()))

if len(a) != len(set(a)):

 raise ValueError('Числа введены не верно(повторяются)')

z = (a[0]%a[1]==0) and (a[0]%a[2]==0) and (a[0]%a[3]==0)

b = (a[0]%a[1]==0) or (a[0]%a[2]==0) or (a[0]%a[3]==0)

if z: print('Первое число делится без остатка на все введенные числа')

elif b: print('Первое число делится без остатка на одно или два из введенных чисел')

else: print('Первое число не делится без остатка ни на одно из введенных чисел')

if a[2]-a[3] != 0:  print((a[0]-a[1])/(a[2]-a[3]))

if a[2]+a[1]+a[3] != 0:  print(a[0]/(a[2]+a[1]+a[3]))

print(f'Наибольшее число - {max(a)}')

print(f'Наименьшее число - {min(a)}')

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота