Forum Coders' city Strona Gwna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UytkownicyUytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj si, by sprawdzi wiadomociZaloguj si, by sprawdzi wiadomoci   ZalogujZaloguj 

Potrzebuj szybkiej odpowiedzi na moje pytanie... Zasady

Rysowanie rombu z gwiazdek



 
Odpowiedz do tematu    Forum Coders' city Strona Gwna -> Algorytmy + inynieria oprogramowania
Zobacz poprzedni temat :: Zobacz nastpny temat  
Autor Wiadomo
Matii
Go





PostWysany: Czw Gru 28, 2017 8:16 pm  OP    Temat postu: Rysowanie rombu z gwiazdek Odpowiedz z cytatem Pisownia

Witam

Postawiem sobie cel napisania programu rysujcego romb z gwiazdek w taki sposb jak na rysunku pod linkiem
https://drukant.pl/images/wzory/W_Wzory/pojedyncze/W002.png a oto kod:
Kod:
program romb;
uses Crt;
const
n = 23; { Ps. dowolna dodatnia liczba nieparzysta }
var
i,j: integer;
begin
     clrscr;
     for i := 1 to n do
        begin
             for j := 1 to n do
                if i < (n div 2) + 1 then  { gra }
                  if (j >= ((n div 2) + 1) - (i - 1)) and (j <= ((n div 2) + 1) + (i - 1)) then
                    write('*')
                  else
                      write(' ')
                else
                    if i = (n div 2) + 1 then  { rodek }
                      write('*')
                    else  { d }
                        if (j >= ((n div 2) + 1) - (n - i)) and (j <= ((n div 2) + 1) + (n - i)) then
                          write('*')
                        else
                            write(' ');
             writeln
        end
end.

Natomiast bardziej dowiadczonych programistw prosibym o przeanalizowanie go i ewentualne zoptymalizowanie, jeli co mona w nim usun lub poprawi tak, eby zajmowa jeszcze mniej linii ni zajmuje.

Pozdro
Powrt do gry
samolot



Doczy: 26 Sty 2006
Posty: 8312
Skd: Toru

PostWysany: Czw Gru 28, 2017 10:45 pm      Temat postu: Odpowiedz z cytatem Pisownia

Jeli chodzi o optymalizacj kodu, to waciwie nie chodzi o to, czy dana funkcja bdzie napisane w 10 czy 20 wierszach. Nie ma to dla kompilatora i systemu operacyjnego waciwie adnego znaczenia.
Kod musi by napisany tak, by:
1. Nie marnowa zasobw systemu
2. Nie marnowa czasu.
3. Niech zajmuje sobie 10 czy 20 wierszy, ale musi tak by napisany , bym po miesicu nie musia si domyla o co w nim chodzi.

Na pewno kady kod mona tak skomasowa, by w jednej linii upcha 20 wywoa rnych funkcji. Tylko, e jeli w algorytmie jest gdzie bd do przetestowania, to przy testowaniu robi si schody. Czasem staje si prawie niemoliwe znalezienie bdu, jeli si kodu nie rozbije na mniejsze czci i nie sprawdzi w kadej z nich z osobna, jakie wartoci przyjmuj zmienne.

_________________
Nie zadawaj bezcelowych pyta / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrt do gry
Zobacz profil autora Wylij prywatn wiadomo Wylij email
Matii
Go





PostWysany: Czw Gru 28, 2017 11:40 pm  OP(?)    Temat postu: Rysowanie rombu z gwiazdek Odpowiedz z cytatem Pisownia

Dzikuj za odpowiedz Samolot
Powrt do gry
Wywietl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Gwna -> Algorytmy + inynieria oprogramowania Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Moesz pisa nowe tematy
Moesz odpowiada w tematach
Nie moesz zmienia swoich postw
Nie moesz usuwa swoich postw
Nie moesz gosowa w ankietach
Moesz dodawa zaczniki na tym forum
Moesz pobiera pliki z tego forum




Debug: strone wygenerowano w 0.12014 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |