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
Początkujący

Liczba postów: 11
Dołączył: Jan 2010
Reputacja: 0
€: 18
OS:
|
Program Turbo Pascal, Ile razy w zdaniu popjawi się litera
Hej  Mam spory problem  .
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.
..doświadczenie płynące z naszych błędów czyni nas lepszymi..
|
|
| 12.04.2010 20:53 |
|
Propagandi
Początkujący

Liczba postów: 91
Dołączył: Mar 2010
Reputacja: 8
€: 100
OS:
|
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 |
|
Propagandi
Początkujący

Liczba postów: 91
Dołączył: Mar 2010
Reputacja: 8
€: 100
OS:
|
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
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 |
|
Madziulka
Początkujący

Liczba postów: 11
Dołączył: Jan 2010
Reputacja: 0
€: 18
OS:
|
|
| 14.04.2010 20:32 |
|
Propagandi
Początkujący

Liczba postów: 91
Dołączył: Mar 2010
Reputacja: 8
€: 100
OS:
|
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 |
|
Użytkownicy przeglądający ten wątek: 1 gości