Odpowiedz 
 
Ocena wątku:
  • 1 Głosów - 5 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Program Turbo Pascal, Ile razy w zdaniu popjawi się litera
Autor Wiadomość
Madziulka Offline
Początkujący
*
Użytkownik

Liczba postów: 11
Dołączył: Jan 2010
Reputacja: 0
€: 18
OS:
Post: #1
Question Program Turbo Pascal, Ile razy w zdaniu popjawi się litera
HejSmiles Mam spory problemSads.
Nie potrafię zrobić takiego zadania a właściwie dwóch.
1) Napisz program, który oblicza ile razy w zdaniu pojawiła się literka 'a'
2)Program, który sprawdza czy pewna liczba x znajduje się w
n- element-owej tablicy liczb rzeczywistych i jaki jest indeks tej tablicy.

Byłabym wdzięczna za pomoc/wytłumaczenie.

Idea..doświadczenie płynące z naszych błędów czyni nas lepszymi..Arrow
12.04.2010 20:53
  Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post


Propagandi Offline
Początkujący
*
Użytkownik

Liczba postów: 91
Dołączył: Mar 2010
Reputacja: 8
€: 100
OS:
Post: #2
RE: Program Turbo Pascal, Ile razy w zdaniu popjawi się litera
W pierwszym przypadku masz do czynienia ze stringami, które w Pascalu można potraktować jak tablice znaków. Możesz zatem w pętli sprawdzać, czy kolejne znaki z ciągu to "a" i jeśli tak, to zwiększasz o jeden wartość jakiejś pomocniczej zmiennej, a po zakończeniu pętli wyświetlasz jej wartość:

Kod:
for i:=1 to length(zdanie) do if zdanie[i]='a' then licz := licz + 1;
writeln('Znak "a" wystepuje ', licz, ' razy.');

Długość stringa zwraca funkcja length. "licz", to wspomniana wcześniej zmienna pomocnicza.

Drugie zadanie wygląda podobnie, tzn w pętli sprawdzasz wartości dla kolejnych indeksów (zmienna "i") tablicy i je wyświetlasz. Jeśli nie ma liczby w tablicy, to dodatkowo możesz sobie pomóc jakąś zmienną typu boolean i na końcu wyświetlić odpowiedni komunikat:

Kod:
for i:=1 to zakres_petli do
begin
    if tablica[i] = x
    then
    begin
         writeln('Liczba ', x, ' wystepuje w tablicy pod indeksem ', i,'.');
         obecna := true;
    end
end;
if obecna=false then writeln('Liczba ', x, ' nie wystepuje w tablicy.');


Przed pętlą zmiennej logicznej obecna przypisujesz wartość fałszu.
14.04.2010 15:20
  Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Madziulka Offline
Początkujący
*
Użytkownik

Liczba postów: 11
Dołączył: Jan 2010
Reputacja: 0
€: 18
OS:
Post: #3
RE: Program Turbo Pascal, Ile razy w zdaniu popjawi się litera
I to wystarczy by działał? nie trzeba wypisywac zmiennych begin itd?
i jaki format beda miec tu zmienne? np a?

Idea..doświadczenie płynące z naszych błędów czyni nas lepszymi..Arrow
(Ten post był ostatnio modyfikowany: 14.04.2010 18:11 przez Madziulka.)
14.04.2010 18:07
  Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Propagandi Offline
Początkujący
*
Użytkownik

Liczba postów: 91
Dołączył: Mar 2010
Reputacja: 8
€: 100
OS:
Post: #4
RE: Program Turbo Pascal, Ile razy w zdaniu popjawi się litera
(14.04.2010 18:07)Madziulka napisał(a):  I to wystarczy by działał? nie trzeba wypisywac zmiennych begin itd?
i jaki format beda miec tu zmienne? np a?

Trzeba resztę naturalnie uzupełnić, ale najważniejsze są te pętle. Przykłady całych programów poniżej. To tyle jeśli chodzi o ryby i wędki Tongues

Kod:
Program ZliczLit;

var
zdanie : string;
i, licz: byte;

begin
write('Wpisz swoje zdanie: ');
readln(zdanie);

for i:=1 to length(zdanie) do if zdanie[i]='a' then licz := licz + 1;
writeln('Znak "a" wystepuje ', licz, ' razy.');

readln;
end.


Kod:
program czyxjestwtab;

const
tablica : array [1..15] of integer = (20, 15, 14, 33, 22, 20, 45, 16, 7, 21, 47, 221, 56, 28, 20);

var
i, x : integer;
obecna : boolean;

begin
obecna := false;
write('Podaj poszukiwana liczbe: ');
readln(x);

for i:=1 to 15 do
begin
    if tablica[i] = x
    then
    begin
         writeln('Liczba ', x, ' wystepuje w tablicy pod indeksem ', i,'.');
         obecna := true;
    end
end;

if obecna=false then writeln('Liczba ', x, ' nie wystepuje w tablicy.');
readln;
end.
(Ten post był ostatnio modyfikowany: 14.04.2010 20:22 przez Propagandi.)
14.04.2010 20:21
  Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Madziulka Offline
Początkujący
*
Użytkownik

Liczba postów: 11
Dołączył: Jan 2010
Reputacja: 0
€: 18
OS:
Post: #5
RE: Program Turbo Pascal, Ile razy w zdaniu popjawi się litera
Dziękuję bardzo za pomocSmiles

Idea..doświadczenie płynące z naszych błędów czyni nas lepszymi..Arrow
(Ten post był ostatnio modyfikowany: 14.04.2010 21:45 przez Madziulka.)
14.04.2010 20:32
  Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Propagandi Offline
Początkujący
*
Użytkownik

Liczba postów: 91
Dołączył: Mar 2010
Reputacja: 8
€: 100
OS:
Post: #6
RE: Program Turbo Pascal, Ile razy w zdaniu popjawi się litera
Pierwsze rozwiązania są w zasadzie takie same. W drugim przykładzie różnice wynikają ze sposobu deklaracji samych tablic. Ja zadeklarowałem 15-elementową statyczną tablicę i podałem od razu wartości:

Kod:
const
tablica : array [1..15] of integer = (20, 15, 14, 33, 22, 20, 45, 16, 7, 21, 47, 221, 56, 28, 20);

Kolega, czy koleżanka z kolei do pustej 10-elementowej tablicy wartości przypisuje dopiero w programie, losując w pętli liczby z zakresu 1 do 100, za pomocą czegoś takiego:

Kod:
for i := 1 to 10 do
tab[i] := random(100);
14.04.2010 21:45
  Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

 Wybierz styl: