Napisz program, który dla trzech liczb a, b i c wprowadzonych z klawiatury sprawdza, czy są to trójki pitagorasa. Program c++ Python ​

Odpowiedź :

Odpowiedź:

Poniżej dwie wersje. W załącznikach .txt programy bez komentarzy.

Wyjaśnienie:

Program przy użyciu listy:

lista=[]  #zdefiniowanie pustej listy

for i in range(3):

 print('Podaj liczbę nr',i+1,end=': ')

 a=int(input())

 lista.append(a)  #dodawanie elementów do listy

lista.sort()   #sortowanie listy w kolejności rosnącej

a=lista[0]

b=lista[1]

c=lista[2]  #przypisanie kolejnych podanych wartości

if a**2+b**2==c**2:  #sprawdzenie warunku wynikającego z tw. Pitagorasa

 print('Liczby',a,',',b,'i',c,'tworzą trójkę pitagorejską')

else:

 print('Liczby',a,',',b,'i',c,'nie tworzą trójki pitagorejskiej')

Bez listy:

a=int(input('Podaj pierwszą liczbę: '))

b=int(input('Podaj drugą liczbę: '))

c=int(input('Podaj trzecią liczbę: '))

if a>b and a>c:  #szukanie największej liczby

 x=b

 y=c

 z=a

elif b>a and b>c:   #szukanie największej liczby

 x=a

 y=c

 z=b

else:

 x=a

 y=b

 z=c

if x**2+y**2==z**2:  #sprawdzenie warunku wynikającego z tw. Pitagorasa

 print('Liczby',a,',',b,'i',c,'tworzą trójkę pitagorejską')

else:

 print('Liczby',a,',',b,'i',c,'nie tworzą trójki pitagorejskiej')

Zobacz obrazek Animaldk
Zobacz obrazek Animaldk
Zobacz obrazek Animaldk

Odpowiedź

Załączniki

  1. Ponieważ brakowało najpierw napisałam program w C++.
  2. Porównując widać jak bardziej elegancko wygląda w języku Python.
  3. Może nie kod, który wygląda nieco bardziej skomplikowanie, ale takie same komunikaty jak w języku Python można osiągnąć w C++. Przykład pochodzi z  Code::Blocks,  ale ten sam kod źródłowy będzie działał również przy użyciu  Dev-C++  oraz  Visual Studio.
  4. Kilka przykładów wykonania dla różnych zestawów liczb wykonany na platformie replit.  ( Jak widać po lewej stronie kod jest prostszy, takiego typu jak w pierwszym załączniku, ale na tamtej platformie bez żadnych problemów można pisać komunikaty po polsku. )
  5. C++ z listą. W podanej postaci zadziała pod m.in. pod replit oraz Linuxem. Onlinegdb wymaga usunięcia polskich znaków z nazw zmiennych. Visual Studio wymaga usunięcia polskich znaków z komunikatów. A Code::Blocks i Dev-C++ jednego i drugiego...

Wyjaśnienie

W trzecim załączniku w wierszach 14-16 (4. załącznik wiersze 11-13) umieściłam po trzy instrukcje w jednym wierszu. Nie jest to przypadek, tylko próba osiągnięcia lepszej czytelności (zrozumiałości) programu!

Użycie listy – jak kolega powyżej, bądź tablicy  ( w C++ dynamiczna tablica  vector )  jest bardziej uniwersalnym rozwiązaniem, bo można w ten sposób badać sumę dwóch, trzech, czterech itd. kwadratów.

Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB