Εκτύπωση πολλαπλών **...

Ξεκίνησε από geoAlex, 06 Ιαν 2012, 08:10:55 ΜΜ

« προηγούμενο - επόμενο »

geoAlex

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

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

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

ΥΓ. Ο αλγόριθμος μπορεί να υλοποιηθεί και με την χρήση πολλαπλών ΑΝ, δεν είναι όμως αυτό το ζητούμενο. :-[
Γιώργος Αλεξίου

Πανάγος94

εγώ το μόνο πράγμα που έχω στα υπόψη μου είναι να χρησιμοποιήσεις τον διερμηνευτή γλώσσας και στις ρυθμίσεις του να μην τσεκάρεις την επιλογή που λέει
"να μην επιτρέπεται συνένωση αλφαριθμητικών"

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

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


ελπίζω να βοήθησα  ;D

sstergou

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

geoAlex

Ευχαριστώ Πανάγος94 για την επισήμανση στον διερμηνευτή,  :) ο αλγόριθμος που προτείνεις με βοήθησε σε αυτό (μιας και ζητάω περιττό αριθμό από "*"):

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


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

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

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


Γιώργος Αλεξίου