Skocz do zawartości

Pierwszy Program


kotek900i

Polecane posty

Zapewne w każdy pamięta swój pierwszy program Pascalu. Dla mnie nastała ta chwila dość nie dawno, zaś ostatnio zrodził się pierwszy programik. Mimo dumy, chciałam go rozbudować. Niestety mimo wielu prób, okazały się one nieudolne.

 

Program albo nie widzi 3 zmiennej (w ogóle jej nie odczytuje), albo nie zezwala na konstrukcję

(...) end;

end.

 

Walczyłam z tym 4 dni, lecz nie udało mi się odkryć powodu. Mam nadzieję, że pomożecie Laikowi w skorygowaniu minionego błędu. Bądź naprowadzicie mnie na tyle bym samodzielnie go rozwiązała (UWAGA jestem dość wielkim Laikiem, ale czytałam poradniki odnośnie Pascal'a).

 

Program Kalkulator;

uses crt;

var a, b: longint;

var d: string;

begin

repeat

clrscr;

write('Podaj liczbę: ');

write('a= ');

read(a);

write('Podaj liczbę: ');

write('b= ');

read(b);

writeln('Suma podanych liczb wynosi: ',a+b);

writeln('Różnica podanych liczb wynosi: ',a-b);

writeln('Iloczyn podanych liczb wynosi: ',a*b);

if b=0 then writeln('Dzielenie przez 0 nie istnieje') else writeln('Iloraz podanych liczb wynosi: ',a/b);

write('Czy chcesz powtórzyć liczenie? Wpisz Tak lub Nie ');

read(d);

readln;

if d='Tak' then until else end;

end.

Link do komentarza
Udostępnij na innych stronach

Taką konstrukcję też próbowałam, przed tą podaną wyżej. Niestety w żadnej ani w moim powyższym poście, ani twoim, ani jeszcze:

write('Czy chcesz powtórzyć liczenie? Wpisz Tak lub Nie ');

readln(d);

 

until d = 'tak'

 

write('Czy chcesz powtórzyć liczenie? Wpisz Tak lub Nie ');

read(d);

until d = 'tak'

 

write('Czy chcesz powtórzyć liczenie? Wpisz Tak lub Nie ');

read(d);

until d = 'nie'

 

zmienna d nie jest widziana przez program, albo pętla jest powtarzana bez końca - wtedy program "niby" nie widzi żadnych błędów.

Link do komentarza
Udostępnij na innych stronach

Przede wszystkim, czy to Twoj pierwszy program czy nie. Gdy oczekujesz skutecznej pomocy i chcesz być traktowany poważnie. To naucz się porządnie formatować kod. Jeśli nie dajesz z tym rady sam to skorzystaj z gotowych rozwiązań. Jak JEDI Code Formatter, dodatek GExperts Alternative do Delphi z wbudowanym formatterem. Albo najprosciej skorzystać tego dostępnego z pod Lazarusem.

Pozdrawiam: olesio

Link do komentarza
Udostępnij na innych stronach

A propos Lazarusa i formatowania kodu... niedawno nieco przy tym grzebałem i ku mojemu zdziwieniu przy zaznaczeniu wielu linijek kodu, klawisz tabulacji zastępował ten kod, zamiast zrobić równe wcięcie dla każdej zaznaczonej linijki, jest jakaś równie prosta/intuicyjna metoda na to? Tab (wcięcie w prawo), Shift+Tab (wcięcie w lewo) w innych używanych przeze mnie edytorach działają.

Link do komentarza
Udostępnij na innych stronach

Masz poprawiony program:

 

Program Kalkulator;
uses crt;
var a, b: longint;
d: string;
begin
 repeat
clrscr;
write('Podaj liczbę: ');
write('a= ');
readln(a);
write('Podaj liczbę: ');
write('b= ');
readln(b);
writeln('Suma podanych liczb wynosi: ',a+b);
writeln('Różnica podanych liczb wynosi: ',a-b);
writeln('Iloczyn podanych liczb wynosi: ',a*b);
if (b=0) then
begin
 	writeln('Dzielenie przez 0 nie istnieje');
end else
begin
 	writeln('Iloraz podanych liczb wynosi: ',a/b);
end;
write('Czy chcesz powtórzyć liczenie? Wpisz Tak lub Nie ');
readln(d);
until d='Nie';
end.

 

Wszystkie zmienne wczytuj przez readln(), funkcja read() powoduje kłopoty (sam miałem z tym problem, pisząc jeden z pierwszych programów w TP). Sprawdzane w Turbo Pascalu oraz Delphi 2 i 7.

 

Pozdrawiam!

Link do komentarza
Udostępnij na innych stronach

@Avatar: ależ to logicznie. A kiedyś było inaczej? Przecież zaznaczenie treści w większości edytorów i naciśnięcie jakiegoś klawisza poza funkcyjnymi combo, powoduje nadpisanie treści. Także nie rozumiem zdziwienia. Chcesz sformatować kod pod Lazarusem. To używaj domyślnej kombinacji Ctrl+D lub takiej na jaką ją przestawiłeś w ustawieniach IDE. Ewentualnie wybierając ostatnią pozycję z menu "Źródło", rozwijając submenu Jedi i wybierając z niego pierwszą pozycję. A może kwestia wstawiania tabów po zaznaczeniu i wciśnięciu TAB'a, to kwestia jakichś ustawień edytora. Które nie są domyślne. Ale nie wiem gdzie to zmienić, o ile się da w ogóle.

Pozdrawiam: olesio

Link do komentarza
Udostępnij na innych stronach

Przecież zaznaczenie treści w większości edytorów i naciśnięcie jakiegoś klawisza poza funkcyjnymi combo, powoduje nadpisanie treści. Także nie rozumiem zdziwienia.

Zwykłe edytory tekstu mogą działać tak jak piszesz. Ale od edytora w środowisku programistycznym wymagałbym jednak innego działania. Kiedyś nie było takiego kolorowania składni jak teraz. Kiedyś nie było podpowiadania (code completion). Ale czy to znaczy, że współczesne edytory tego nie mają mieć? Wszystkie powinny się rozwijać.

 

No nic... Po prostu jak widziałem, że wieloliniowe wcięcia wykonywane TABem są obecne we wszystkich innych środowiskach programistycznych używanych przeze mnie (Eclipse, Code::Blocks, Geany IDE, Visual Studio), to brak tego w Lazarusie mnie zdziwił. Praca w Lazarusowym edytorze wydawała mi się dość toporna.

 

Tutaj pytający pisze, że w Delphi są do tego jakieś kombinacje klawiszy: http://stackoverflow...ual-studio-2010 - Lazarus też je ma? Na razie nie mam dostępu do Lazarusa. Nie będę go instalował tylko po to, żeby sprawdzić te kombinacje.

 

ależ to logicznie. A kiedyś było inaczej? Przecież zaznaczenie treści w większości edytorów i naciśnięcie jakiegoś klawisza poza funkcyjnymi combo, powoduje nadpisanie treści.

Wymieniłem wyżej trochę popularnych edytorów i w żadnym z nich, to co napisałeś się nie sprawdza (czyli TAB na zaznaczeniu wielolinijkowym zwiększa wcięcie, a nie zastępuje tekstu).

Link do komentarza
Udostępnij na innych stronach

@xevil21 dziękuję za pomoc :)

Błąd udało mi się wyłapać też w innym programie, który pisałam. W tym pierwszym "Kalkulatorze' nic nie pomogło, więc przepisałam to jeszcze raz w nowym i zadziałało. Teraz już znacznie zgrabniej mi to idzie.

 

@olesio tak, to był mój pierwszy programik. Mimo wielu prób kompilacji - różnymi kompilatorami, wszystkie wyrzucały błąd i nie poprawiały. Nawet podany przez Ciebie JEDI. Problem w programie nie rozwiązał się, zaś po napisaniu go jeszcze raz takiego samego wszystko pięknie się kompilowało. Uznam, że Pascal źle mnie ocenił i nie chciał współpracować. ;)

Link do komentarza
Udostępnij na innych stronach

@kotek900i: ale ja miałem na myśli program "JEDI Code Formatter". Dzięki niemu ładnie byś sformatował sobie ten kod, bez męczenia się samodzielnie. Nie ma on wpływu na poprawność kodu tylko na jego czytelnośc. Ale skoro i tak działa już Tobie ok, to najważniejsze.

Pozdrawiam: olesio

Link do komentarza
Udostępnij na innych stronach

No nie ogarniam tego forum to fakt. Kurde nie patrzylem kto co pisze dokładnie, pisało coś 'avatar" pomyslałem a cholera taki nick to skopiuje i wkleje. A co tam :P Ludzie olewają na innych forach tagowanie, tutaj olewają formatowanie kodu, szukanie w google, A to i ja czasami mogę być na bakier z wyglądem forum. Tyle ode mnie w kwestii "usprawiedliwienia". Chociaż tylko winny się tłumaczy, a co ja się będę tłumaczył więcej, jeśli jestem aktualnietylko po siedmiu piwach. A wcześniej jak myliłem płci czy nicki to byłem trzeżwy.

Pozdrawiam: olesio

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...