Δομή Επιλογής - Άσκηση5

2014-10-08 18:31

ΑΣΚΗΣΗ 2

Γράψτε αλγόριθμο που να επιλύει την δευτεροβάθμια εξίσωση ax2 + bx + c = 0.

 

Λύση

 

H Τ_Ρ(χ) βρίσκει την τετραγωνική ρίζα ενός αριθμού χ.

 

1ος ΤΡΟΠΟΣ (Εμφωλευμένη επιλογή)

ΠΡΟΓΡΑΜΜΑ Β_θμια_εξίσωση

ΜΕΤΑΒΛΗΤΕΣ

ΠΡΑΓΜΑΤΙΚΕΣ a, b, c, x1, x2, D

ΑΡΧΗ

ΔΙΑΒΑΣΕ a,b,c;

 

   ΑΝ a = 0 ΤΟΤΕ

      ΑΝ b = 0 ΤΟΤΕ

          ΑΝ c = 0 ΤΟΤΕ

              ΓΡΑΨΕ "Αόριστη"

          ΑΛΛΙΩΣ

              ΓΡΑΨΕ "Αδύνατη"

          ΤΕΛΟΣ_ΑΝ

       ΑΛΛΙΩΣ

           x1ß- c / b

           ΓΡΑΨΕ x1

      ΤΕΛΟΣ_ΑΝ

ΑΛΛΙΩΣ

    Dß b*b - 4*a*c

       ΑΝ D > 0 ΤΟΤΕ

          x1ß (-b+ Τ_Ρ(D))/(2*a)

          x2ß (-b- Τ_Ρ(D))/(2*a)

          ΓΡΑΨΕ x1,x2

        ΑΛΛΙΩΣ

           ΑΝ D = 0 ΤΟΤΕ

               x1ß -b/(2*a)

                ΓΡΑΨΕ x1

            ΑΛΛΙΩΣ

                ΓΡΑΨΕ " Δεν υπάρχουν πραγματικές ρίζες"

             ΤΕΛΟΣ_ΑΝ

         ΤΕΛΟΣ_ΑΝ

 

   ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ

 

2ος ΤΡΟΠΟΣ (Πολλαπλή Επιλογή)

 

ΠΡΟΓΡΑΜΜΑ Β_ΘΜΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: Α,Β,Γ,Δ,Χ1,Χ2
ΑΡΧΗ
  ΓΡΑΨΕ 'ΔΩΣΕ ΤΙΣ ΠΑΡΑΜΕΤΡΟΥΣ'
  ΔΙΑΒΑΣΕ Α,Β,Γ


  ΑΝ Α=0 ΚΑΙ Β=0 ΚΑΙ Γ=0 ΤΟΤΕ
      ΓΡΑΨΕ 'ΑΟΡΙΣΤΗ'
  ΑΛΛΙΩΣ_ΑΝ Α=0 ΚΑΙ Β=0 ΚΑΙ Γ <> 0 ΤΟΤΕ
      ΓΡΑΨΕ 'ΑΔΥΝΑΤΗ'
  ΑΛΛΙΩΣ_ΑΝ Α=0 ΚΑΙ Β <> 0 ΤΟΤΕ
      Χ1  -Γ/Β
      ΓΡΑΨΕ 'Η ΡΙΖΑ ΕΙΝΑΙ: ',Χ1
  ΑΛΛΙΩΣ_ΑΝ Α <> 0 ΤΟΤΕ
      Δ  (Β^2-4*Α*Γ)


      ΑΝ Δ < 0 ΤΟΤΕ
        ΓΡΑΨΕ 'ΜΗ ΠΡΑΓΜΑΤΙΚΕΣ ΡΙΖΕΣ'
      ΑΛΛΙΩΣ_ΑΝ Δ=0 ΤΟΤΕ
        Χ1  (-Β)/(2*Α)
        ΓΡΑΨΕ 'Η ΡΙΖΑ ΕΙΝΑΙ ΔΙΠΛΗ: ',Χ1
      ΑΛΛΙΩΣ
        Χ1  (-Β+Τ_Ρ(Δ))/(2*Α)
        Χ2  (-Β-Τ_Ρ(Δ))/(2*Α)
        ΓΡΑΨΕ 'Χ1= ',Χ1,' Χ2= ',Χ2
      ΤΕΛΟΣ_ΑΝ


  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ