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

Проверьте ,, правильно ли составлена программа. : из трёх чисел x,y,z найти наибольшее. нужно, чтобы в программе было полное ветвление (if логическое условие then оператор 1 else оператор 2) или неполное ветвление (if логическое условие then оператор 1) program chislo; uses crt; var x,y,z,p: integer; begin clrscr; writeln ('введите первое число'); readln (x); writeln ('введите второе число'); readln (y); writeln ('введите третее число'); readln (z); if x> y then p: =x else p: =y; if x> z then p: =x else p: =z; if y> z then p: =y else p: =z; if y> x then p: =y else p: =x; if z> x then p: =z else p: =x; if z> y then p: =z else p: =y; writeln ('наибольшее число: ',p); end.

👇
Ответ:

Да, все верно.

Есть только полное ветвление.

4,4(5 оценок)
Ответ:
emilylund829
emilylund829
11.02.2020

Программа составлена правильно, но можно сделать компактнее

 

Program Chislo;
Uses Crt;
Var x,y,z,p: integer;
Begin
Clrscr;
WriteLn ('Введите первое число');
ReadLn (x);
WriteLn ('Введите второе число');
ReadLn (y);
WriteLn ('Введите третее число');
ReadLn (z);
if x>y then p:=x else p:=y;
if x>z then p:=x else p:=z;
if y>z then p:=y else p:=z;
WriteLn ('Наибольшее число:',p);
End.

 

Я вырезал

If y>x then p:=y else p:=x;
If z>x then p:=z else p:=x;
If z>y then p:=z else p:=y;

 

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

 

Вопросы, неточности в ЛС

4,4(50 оценок)
Открыть все ответы
Ответ:
1)
#include <iostream>
using namespace std;

int main()
{
    double s, s1, s2, s3;
    cout << "1 тенге (KZT) = 0.19 RUB" << "\n";
    cout << "1 тенге (KZT) = 0.002743 EUR" << "\n";
    cout << "1 тенге (KZT) = 0.002995 USD" << "\n";
    cout << "Введите сумму в тенге:", cin >> s, cout << "\n";
    s1 = s*0.19;
    s2 = s*0.002743;
    s3 = s*0.002995;
    cout << s << " тенге (KZT) = " << s1 << " RUB, " << s2 << " EUR, " << s3 << " USD" << "\n";
    return 0;
}

Пример:
1 тенге (KZT) = 0.19 RUB
1 тенге (KZT) = 0.002743 EUR
1 тенге (KZT) = 0.002995 USD
Введите сумму в тенге:20000
20000 тенге (KZT) = 3800 RUB, 54.86 EUR, 59.9 USD

2 a)
#include <iostream>
using namespace std;

int main()
{
    int a = 5;
    int b = 4;
    int c;
    c = a;
    a = b;
    b = c;
    cout << "a = " << a << ", b = " << b << "\n";
    return 0;
}

Результат:
a = 4, b = 5

2 b)
#include <iostream>
using namespace std;

int main()
{
    int a = 5;
    int b = 4;
    a = a+b;
    b = a-b;
    a = a-b;
    cout << "a = " << a << ", b = " << b << "\n";
    return 0;
}
a = 4, b = 5

3)
#include <iostream>
using namespace std;

int main()
{
    int a, b, c;
    a = 5;
    b = a+3;
    c = a+b;
    cout << "a = " << a << ", b = " << b << ", c = " << c << "\n";
    return 0;
}

Результат:
a = 5, b = 8, c = 13

4)
#include <iostream>
using namespace std;

int main()
{
    int p1=10;
    int p2=15;
    int p3=12;
    int k1, k2, k3, s;
    cout << "k1 = ", cin >> k1, cout << "\n";
    cout << "k2 = ", cin >> k2, cout << "\n";
    cout << "k3 = ", cin >> k3, cout << "\n";
    s = p1*k1+p2*k2+p3*k3;
    cout << "Общая стоимость покупок = " << s << "\n";
    return 0;
}
k1 = 2
k2 = 5
k3 = 3
Общая стоимость покупок = 131
4,5(21 оценок)
Ответ:
Colnkor
Colnkor
11.02.2020
Если ввести X или Y значительно больше чем Z то программа на втором или тертьем условии выдаст false и закончит свою работу ничего не написав. Например: если указать X = 10 , Y = 2, Z = 3; то на первом условии будет true, потому что 10 +2 > 3 , но на третьем условии выдаст false потому что 2+3 < 10 но так как ничего не прописано на этот случай программа просто закончит свою работу.
Что бы исправить этот баг необходимо все условия свести в одно: 
if ((x + y > z)and (x + z > y) and (y + z > x) ) then 
   writeln('треугольник построить можно')
else  
 writeln('треугольник построить нельзя');
end.

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