Pascal zliczanie klocków w piramidzie

Wszystko co dotyczy tworzenia i optymalizacji stron internetowych oraz programowania
anula943

Użytkownik
Posty: 10
Rejestracja: 15 paź 2011, 21:38

Pascal zliczanie klocków w piramidzie

Post15 paź 2011, 21:47

Witam;)
Mam ostatnio problem z pascalem :oops: :oops: :oops: :oops: . Mam takie zadanie :
Napisz program , ktory obliczy ilosc klocków w piramidzie 10 x 10
Nie mam pojęcia jak to zrobic;(
Mam to napisac w pascalu.
Trzeba urzyc pętli repeat lub while.
Bardzo proszę o pomoc i dziękuje. :oops: ;) ;)
Ostatnio zmieniony 15 paź 2011, 23:54 przez cosik_ktosik, łącznie zmieniany 1 raz.
Powód: zmiana tematu

Awatar użytkownika
cosik_ktosik

Administrator
Posty: 21416
Rejestracja: 13 lis 2008, 01:17
Lokalizacja: Szczecin
Kontaktowanie:

Programowanie- pascal, potrzebna pomoc.

Post15 paź 2011, 21:56

Tworzysz tablicę 10x10, w niej dajmy na to przechowujesz dane 0 i 1. 1 jest klocek, 0 nie ma nic.
Teraz wstawiasz losowo 0 i 1.

Zliczanie to dwie pętle, jedna w drugiej. Jedna pętla indeksuje po i wiersze, a druga po j kolumny.
Teraz jeżeli (IF) wartość w tabeli od indeksu (i,j) wynosi 1 to dodajesz do zmiennej z liczbą klocków +1, a jeśli 0 to nic nie robisz.
Hotfix
Pozdrawiam, cosik_ktosik :)

anula943

Użytkownik
Posty: 10
Rejestracja: 15 paź 2011, 21:38

Pascal zliczanie klocków w piramidzie (tabeli)

Post15 paź 2011, 22:06

kurcze, nie rozumiem;(

-- 15 paź 2011, 22:06 ---

Miałam dopiero 4 lekcje o pascalu i nie zbyt sie orientuje ;( :oops: :oops: :oops:

Awatar użytkownika
cosik_ktosik

Administrator
Posty: 21416
Rejestracja: 13 lis 2008, 01:17
Lokalizacja: Szczecin
Kontaktowanie:

Pascal zliczanie klocków w piramidzie (tabeli)

Post15 paź 2011, 22:07

No oki, deklarację tabeli znasz? Jak zadeklarujesz tabelę 10x10?
Hotfix
Pozdrawiam, cosik_ktosik :)

anula943

Użytkownik
Posty: 10
Rejestracja: 15 paź 2011, 21:38

Pascal zliczanie klocków w piramidzie (tabeli)

Post15 paź 2011, 22:22

Nie, nie znam. Jedyne co mieliśmy na lekcji to pętle : for, repeat, while no i losowanie liczb.

-- 15 paź 2011, 22:22 ---

program piramida;

var a,b:integer;

begin
a:=1
b:=0
while


no i nie wiem co dalej;( Prosze o pomoc jesli to mozliwe :oops: :oops: :oops: .

Awatar użytkownika
cosik_ktosik

Administrator
Posty: 21416
Rejestracja: 13 lis 2008, 01:17
Lokalizacja: Szczecin
Kontaktowanie:

Pascal zliczanie klocków w piramidzie (tabeli)

Post15 paź 2011, 22:26

oki, zanim zrobimy mętlik w głowie, co rozumiesz pod postacią piramidy? Jak przechowujesz tam dane?

Chodzi oto, żebyśmy się dobrze zrozumieli.
Hotfix
Pozdrawiam, cosik_ktosik :)

anula943

Użytkownik
Posty: 10
Rejestracja: 15 paź 2011, 21:38

Pascal zliczanie klocków w piramidzie (tabeli)

Post15 paź 2011, 22:44

1-są jakies dane
0- nie ma

Nic wiecej nie rozumiem;(
Mogłbyś mi wytłumaczyc?? Bardzo prosze;)

Awatar użytkownika
cosik_ktosik

Administrator
Posty: 21416
Rejestracja: 13 lis 2008, 01:17
Lokalizacja: Szczecin
Kontaktowanie:

Pascal zliczanie klocków w piramidzie (tabeli)

Post15 paź 2011, 23:15

A ja mam wątpliwość co do zadania.

-- So, 15 paź 2011, 23:15 ---

Czy chodzi o zadanie czysto matematyczne, zliczania klocków w trójkącie, czy chodzi o działanie na tablicach?
Hotfix
Pozdrawiam, cosik_ktosik :)

anula943

Użytkownik
Posty: 10
Rejestracja: 15 paź 2011, 21:38

Pascal zliczanie klocków w piramidzie (tabeli)

Post16 paź 2011, 00:05

Dziękuje Ci bardzo za pomoc;* ;*
Bede mogła jeszcze sie zgłosic do Ciebie jak bede miała z tym problem ?:) :oops: :oops: :oops:

-- 15 paź 2011, 23:48 ---

Chodzi o zadanie czysto matematyczne;) Własnie o tablice nie bardzo :oops: :oops: :oops: ;)

-- 16 paź 2011, 00:05 ---

Mogłbys jeszcze raz to napisac co napisałeś do mojego zadania??? Prosze;)

Awatar użytkownika
cosik_ktosik

Administrator
Posty: 21416
Rejestracja: 13 lis 2008, 01:17
Lokalizacja: Szczecin
Kontaktowanie:

Pascal zliczanie klocków w piramidzie (tabeli)

Post16 paź 2011, 00:08

no widzisz, to zmienia postać rzeczy

Kod: Zaznacz cały

                  for i:=1 to 10 do  begin
                                 
                 end; {for i}


Co tu się dzieje? Pętla leci od 1 do 10, jeśli wypiszesz te wartości to będzie kolejno 1,2,3, 4...10

Czy to rozumiesz? Jeśli tak, to rozumiesz już pętle.

Dajmy na to, że for od i jest wierszem (piętrem) piramidy, który leci od 1 do 10.

No tak, ale jak wygląda piramida? Na dole jest 10 klocków, na piętrze wyżej już jest ich o 1 mniej (zakładam, że klocki są przesunięte na środek), na kolejnym piętrze nie ma kolejnego klocka itd. A zatem na każdym piętrze znika o 1 i na końcu powinien zostać tylko 1.

No to trzeba teraz to ugryźć. Masz zliczać liczbę klocków, a więc na początku trzeba zadeklarować zmienną np suma=0;

Pętla będzie w zależności od poziomu dodawać do sumy kolejne wartości suma:=suma+tutaj_potrzebna_wartość;

Ile wynosi potrzebna wartość na danym poziomie?

Poziom 1: suma=suma+10
Poziom 2: suma=suma+9
Poziom 3: suma=suma+8
Poziom 4: suma=suma+7
Poziom 5: suma=suma+6
Poziom 6: suma=suma+5
Poziom 7: suma=suma+4
Poziom 8: suma=suma+3
Poziom 9: suma=suma+2
Poziom 10: suma=suma+1

Widzisz odwrotność liczb?
A zatem zapiszmy to matematycznie
poziom i: suma=suma+(10-i+1)

Zgadza się? Jeśli tak, to teraz zadaniem jest zmodyfikować odpowiednio pętlę for.

-- N, 16 paź 2011, 00:08 ---

No i na tym będzie koniec zadania, pozostanie wypisanie sumy.
Hotfix
Pozdrawiam, cosik_ktosik :)

anula943

Użytkownik
Posty: 10
Rejestracja: 15 paź 2011, 21:38

Pascal zliczanie klocków w piramidzie

Post16 paź 2011, 11:05

To ma byc cos takiego? Tyle,że to nie działa;(

program piramida;
var s,i:integer;

begin
s:=0
for i:=1 to 10 do
begin
s:=s+(10-i+1)
end;
writeln(oblicza ilosc klocków w piramidzie 10x10);
readln;
end.

mir

Stały bywalec
Posty: 617
Rejestracja: 01 kwie 2009, 15:23

Pascal zliczanie klocków w piramidzie

Post16 paź 2011, 11:24

program piramida;
var s,i:integer;

begin
s:=0;
for i:=1 to 10 do
begin
s:=s+(10-i+1);
end;
writeln('oblicza ilosc klocków w piramidzie 10x10');
readln;
end.

spróbuj teraz, potem w razie czego zastanowimy się nad samym algorytmem :)

-- 16 paź 2011, 11:24 ---

nie wiem, czy dobrze rozumiem to zadanie -> rozumiem je tak samo jak cosik_ktosik

anula943

Użytkownik
Posty: 10
Rejestracja: 15 paź 2011, 21:38

Pascal zliczanie klocków w piramidzie

Post16 paź 2011, 11:24

Błędów 0, ale jak wpisze cos w te czarne okno to od razu ginie i nic sie nie wyświetla oprócz tytułu zadania;(

mir

Stały bywalec
Posty: 617
Rejestracja: 01 kwie 2009, 15:23

Pascal zliczanie klocków w piramidzie

Post16 paź 2011, 12:09

trudno się dziwić, że nic nie wyświetla:) to czarne to konsola.
Pamiętaj że musisz wyświetlić wynik, a zatem:
program piramida;
var s,i:integer;

begin
s:=0;
for i:=1 to 10 do
begin
s:=s+(10-i+1);
end;
writeln('oblicza ilosc klocków w piramidzie 10x10');
writeln(s); //wyswietla s - czyli sume
readln;
end.

-- 16 paź 2011, 12:09 ---

sam algorytm jest poprawny

anula943

Użytkownik
Posty: 10
Rejestracja: 15 paź 2011, 21:38

Pascal zliczanie klocków w piramidzie

Post16 paź 2011, 16:38

O, działa!! Dziękuje bardzo;**** Możecie mi wytłumaczyc po co ma byc te s:=0? Gdzie je trzeba zawsze wstawiac?? I po co jest te i??? Jak to zadanie mozna zrobic na pętli repeat lub while ??



  • Reklama

Wróć do „Webmastering i programowanie”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 6 gości