Witam, mam problem. Mianowicie :
Napisz program, który wczyta imie, a nastepnie wyswietli informacje, czy jest
to imie żeńskie, czy meskie. Należy uwzglednic fakt, że imie może być
wpisane wyłacznie wielkimi literami.
Miałem taki pomysł, że wiadomo iż wszystkie imiona żeńskie kończą sie na literkę 'a', więc jeżeli ostatnia literka byłaby różna od 'a', bylo by to imię meskie ... Jednak kompletnie nie wiem, jak to zastosować w praktyce.
Będę wdzięczny za jakąś wskazówkę.
[pascal] Imiona żeńskie a męskie
Rozpoczęty przez
Radzik16_kg
, 07 12 2008 02:52
5 odpowiedzi w tym temacie
#1
Napisano 07 12 2008 - 02:52
#2
Napisano 07 12 2008 - 22:33
Witam!
Trzeba użyć w tym programie instrukcji warunkowej (IF ... THEN ... ELSE ...).
Źródło programu podaję niżej: (w razie jakiś pytań pisz?)
Trzeba użyć w tym programie instrukcji warunkowej (IF ... THEN ... ELSE ...).
Źródło programu podaję niżej: (w razie jakiś pytań pisz?)
PROGRAM plec; VAR imie : STRING; BEGIN WRITE ('Podaj imię: '); ReadLn (imie); IF UpCase (imie [Length (imie)]) = 'A' THEN WriteLn ('Imię żeńskie') ELSE WriteLn ('Imię męskie'); ReadLn; END.Pozdrawiam
#3
Napisano 08 12 2008 - 00:02
Hehe, działa Dzięki wielkie.
Mam jeszcze jedną prośbę, mógłbyś mi wytłumaczyć jak to działa? Chodzi mi dokładnie o te linijkę:
if upcase(imie[Length(imie)]) = 'A'
To sprawdza ostatnią literkę czy jak? Bo funkcja length podaje nam ilośc znaków w łańcuchu, to wiem, i nie kminie jak działa ta linijka if upcase(imie[Length(imie)]) = 'A'
Aczkolwiek program działa idealnie:)
Dzięki za pomoc:-)
Mam jeszcze jedną prośbę, mógłbyś mi wytłumaczyć jak to działa? Chodzi mi dokładnie o te linijkę:
if upcase(imie[Length(imie)]) = 'A'
To sprawdza ostatnią literkę czy jak? Bo funkcja length podaje nam ilośc znaków w łańcuchu, to wiem, i nie kminie jak działa ta linijka if upcase(imie[Length(imie)]) = 'A'
Aczkolwiek program działa idealnie:)
Dzięki za pomoc:-)
#4
Napisano 08 12 2008 - 00:25
Ja bym to tak napisał:
Jak będziesz miał jeszcze jakieś problemy z Pascalem, to pisz do mnie na GG:8520852
var I: String; // Zmienna w ktorej bedzie przechowywany tekst begin Write('Podaj imie: '); // Wyswietlenie napisu "Podaj imie: " Read(I); "Wczytanie podanego imienia do zmiennej I if UpCase(I[Length(I)]) = 'A' then // UpCase zamienia znak na duzo litere. // Operacja: Jezeli DuzyZnak(I[OstatniaLitera]) = 'A' to wykonaj... WriteLn ('Imie zenskie') // Wypisz, ze to Imie zenskie else WriteLn ('Imie meskie'); // Jezeli warunek nie jest spelniony, wypisz ze to Imie meskie end. // Koniec programu
Jak będziesz miał jeszcze jakieś problemy z Pascalem, to pisz do mnie na GG:8520852
#5
Napisano 08 12 2008 - 22:01
Mam jeszcze jedną prośbę, mógłbyś mi wytłumaczyć jak to działa? Chodzi mi dokładnie o te linijkę:
if upcase(imie[Length(imie)]) = 'A'
IF ... THEN ... ELSE ... [jeżeli {warunek} to {instrukcja_1} w przeciwnym razie {instrukcja_2}<-- to jest instrukcja warunkowa (to pewnie wiesz)
UpCase <-- zamienia znaki małe na duże, np. 'a' -> 'A', itd.
Length <-- zwraca długość zmiennej "imię"
A więc:
Jeżeli podany wyraz (przetworzony już przez program na duże litery funkcją UpCase) kończy się na dużą literę 'A' (dlatego jest ta instrukcja UpCase aby cały wyraz zamienić na duże litery) to pisz 'Imię żeńskie' w przeciwnym razie pisz 'Imię męskie'.
mgx8 bez urazy ale ten Twój program jest identyczny jak mój. Jest w nim tylko troche komentarzy tłumaczących poszczególne linijki.
#6
Napisano 08 12 2008 - 23:33
Dzięki:D Po prostu nie znałem jeszcze funkcji UpCase, ale teraz juz wszystko wiem:) dzieki.
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych