Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Δομή επανάληψης => Μήνυμα ξεκίνησε από: geoAlex στις 06 Ιαν 2012, 08:10:55 ΜΜ

Τίτλος: Εκτύπωση πολλαπλών **...
Αποστολή από: geoAlex στις 06 Ιαν 2012, 08:10:55 ΜΜ
Μελέτη περίπτωσης.
Ζητείται να περιγραφεί αλγόριθμος ο οποίος θα εμφανίζει το εξής συνδυασμό από αστεράκια με χρήση  της ΓΙΑ:
*
***
*****
*******
Μια ενδεικτική υλοποίηση του αλγορίθμου θα μπορούσε να γίνει με μια ΓΙΑ εμφωλευμένη σε ένα ΓΙΑ, δηλαδή:

Για i από 1 μέχρι 7 με_βήμα 2
  Για j από 1 μέχρι i
    Εμφάνισε "*"
  Τέλος_επανάληψης
Τέλος_επανάληψης

Το θέμα όμως είναι ότι ο εσωτερικός βρόχος υλοποιείται σε νέα γραμμή και δεν αποτυπώνει τα "*" το ένα δίπλα στο άλλο. Υπάρχει εντολή που απενεργοποιεί την εκτέλεση της "/newline" για κάποιες επαναλήψεις;  :-\

ΥΓ. Ο αλγόριθμος μπορεί να υλοποιηθεί και με την χρήση πολλαπλών ΑΝ, δεν είναι όμως αυτό το ζητούμενο. :-[
Τίτλος: Απ: Εκτύπωση πολλαπλών **...
Αποστολή από: Πανάγος94 στις 06 Ιαν 2012, 08:53:06 ΜΜ
εγώ το μόνο πράγμα που έχω στα υπόψη μου είναι να χρησιμοποιήσεις τον διερμηνευτή γλώσσας και στις ρυθμίσεις του να μην τσεκάρεις την επιλογή που λέει
"να μην επιτρέπεται συνένωση αλφαριθμητικών"

και επίσης ο αλγόριθμος θα μπορούσε να είναι κάπως έτσι:

Αλγόριθμος ασκ
Σ ← ""
Για ι από 1 μέχρι 1
  Σ ← ""
  Για κ από 1 μέχρι 4
    Σ ← Σ + "*"
    Εμφάνισε Σ
  Τέλος_επανάληψης
Τέλος_επανάληψης
Τέλος ασκ


ελπίζω να βοήθησα  ;D
Τίτλος: Απ: Εκτύπωση πολλαπλών **...
Αποστολή από: sstergou στις 06 Ιαν 2012, 09:24:37 ΜΜ
Δοκίμασε
Κώδικας [Επιλογή]
Για i από 1 μέχρι 7 με_βήμα 2
  Για j από 1 μέχρι i
    Εμφάνισε "* "
  Τέλος_επανάληψης
  Εμφάνισε ""
Τέλος_επανάληψης
Τίτλος: Απ: Εκτύπωση πολλαπλών **...
Αποστολή από: geoAlex στις 06 Ιαν 2012, 10:16:36 ΜΜ
Ευχαριστώ Πανάγος94 για την επισήμανση στον διερμηνευτή,  :) ο αλγόριθμος που προτείνεις με βοήθησε σε αυτό (μιας και ζητάω περιττό αριθμό από "*"):

Κώδικας [Επιλογή]
Σ ← ""
Για i από 1 μέχρι 7 με_βήμα 2
  Σ ← ""
  Για j από 1 μέχρι i
    Σ ← Σ + "*"
  Τέλος_επανάληψης
  Εμφάνισε Σ
Τέλος_επανάληψης


Το ωραίο είναι ότι αν τοποθετήσω το "Εμφάνισε Σ" μέσα στο 2ο loop του Για, δηλαδή:
Κώδικας [Επιλογή]
Σ ← ""
Για i από 1 μέχρι 7 με_βήμα 2
  Σ ← ""
  Για j από 1 μέχρι i
    Σ ← Σ + "*"
    Εμφάνισε Σ
  Τέλος_επανάληψης
Τέλος_επανάληψης

τότε θα έχω την εμφάνιση ελατοειδούς κατατομής κατά το ήμισυ.  :P

Thnks και σε σένα sstergou για την πρότασή σου, δουλεύει άψογα.