Prawdziwe oblicze Informatyki. Tysiące linijek kodu i kompilatory które nigdy nie wybaczają.
Awatar użytkownika

winuser

Zasłużony użytkownik
Posty: 1437
Rejestracja: 29 sie 2013, 13:15
    Windows 8.1 Internet Explorer

Post05 wrz 2013, 16:03

Mam następujący problem - powróciłem na chwilę do Pascala, bo potrzebuję napisać bardzo prosty program - ma on pozwolić użytkownikowi na wpisanie cyfr po czym ma pokazać tylko liczby parzyste. Dobrnąłem do momentu:

Kod: Zaznacz cały

program liczby;
uses crt;
var
a:integer;
b:char;
begin
repeat
writeln('Podaj liczby');
readln(a);
if a mod 2 <> 0 then
writeln(a);
readln;
writeln('Czy chcesz dalej wpisywac');
writeln('Jesli tak wcisnij Y jesli nie to N');
until (b='n' or b='N');
i nie potrafię sobie poradzić dalej :[ Pomoże ktoś, proszę o szybką pomoc, bo potrzebne na jutro :(
Laptop: Lenovo ThinkPad T480s | Intel Core i5 8250U | Intel HD 620 | 24GB RAM Hynix | Lexar NM620 NVME 1TB | Windows 10 Pro
Laptop testowy: Lenovo ThinkPad T430 | Intel Core i7 3740QM | Intel HD 4000 | 16GB RAM Hynix | Samsung 850 Pro 256GB | Windows Vista SP3
PC: MSI Z87-G43 | Intel Xeon E3-1240 v3 | nVidia GTX 760 2GB | 20GB RAM Hynix | GoodRAM PX 500 NVME 512GB | Windows 10 Pro
Mobile: Google Pixel 6 | Google Tensor GS101 @2.8 GHz | Mali-G78 MP20 | 8GB RAM | 128GB MMC | Android 14
Serwer: AsRock AD2550-ITX | Intel Atom D2550 | PowerVR SGX545 | 8GB RAM Kingston | WD HDD 500GB | Windows Server 2012 R2 Datacenter
Sieć: Cudy WR3000 Wi-Fi 6 OpenWRT| Huawei HG8010H | Netia 1Gb/s
PlayStation 4 | CUH-1116A | 1TB SSD|

Awatar użytkownika

bsystem

Zasłużony użytkownik
Posty: 655
Rejestracja: 03 lis 2010, 16:44
    Windows 7 Chrome

Post05 wrz 2013, 17:40

nie wczytujesz b i nie masz "enda" na końcu imo.

Awatar użytkownika

piotrmika

Zasłużony użytkownik
Posty: 125
Rejestracja: 10 lut 2008, 16:20
Lokalizacja: Kraków
    Windows 8 Chrome

Post05 wrz 2013, 22:06

Nie lepiej utworzyć tablicę do której będziesz wczytywał liczby oddzielone przecinkami aż do momentu wciśnięcia Entera? Później przelecisz tablicę pętlą i wypiszesz tylko liczby parzyste.

Kod: Zaznacz cały

program liczby;
var a:integer;
var b:char;
begin
repeat
writeln('Podaj liczbę');
readln(a);
if a mod 2 <> 0 then
writeln(a);
writeln('Czy chcesz dalej wpisywać?');
writeln('Jeśli tak wciśnij Y, jeśli nie wciśnij N');
readln(b);
until(b='n');
end.
Działający kod. Nie używasz nigdzie crt.
MacBook Pro i5/8GB/256GB/Retina/MAC OS X Yosemite
iPhone 6, Samsung Galaxy S6 Edge

Awatar użytkownika

bsystem

Zasłużony użytkownik
Posty: 655
Rejestracja: 03 lis 2010, 16:44
    Windows 7 Chrome

Post05 wrz 2013, 22:07

piotrmika pisze:Nie lepiej utworzyć tablicę do której będziesz wczytywał liczby oddzielone przecinkami aż do momentu wciśnięcia Entera? Później przelecisz tablicę pętlą i wypiszesz tylko liczby parzyste.

Kod: Zaznacz cały

program liczby;
var a:integer;
var b:char;
begin
repeat
writeln('Podaj liczbę');
readln(a);
if a mod 2 <> 0 then
writeln(a);
writeln('Czy chcesz dalej wpisywać?');
writeln('Jeśli tak wciśnij Y, jeśli nie wciśnij N');
readln(b);
until(b='n');
end.
Działający kod. Nie używasz nigdzie crt.
Przecież Ty tego nie wczytujesz do tablicy :D

Awatar użytkownika

piotrmika

Zasłużony użytkownik
Posty: 125
Rejestracja: 10 lut 2008, 16:20
Lokalizacja: Kraków
    Windows 8 Chrome

Post05 wrz 2013, 22:14

Dałem przykład tylko jak można rozwiązać to inaczej. W tamtym roku pisałem program kuzynce koleżanki, to dostał pałę bo wykorzystałem tam tablicę, których nie brali i nie umiał wytłumaczyć skąd mu się to wzięło.
MacBook Pro i5/8GB/256GB/Retina/MAC OS X Yosemite
iPhone 6, Samsung Galaxy S6 Edge

Awatar użytkownika

Onset

Administrator
Posty: 2124
Rejestracja: 06 gru 2008, 19:27
Lokalizacja: multi(0)disk(0)rdisk(0)partition(1)\GDAŃSK partition(2) WARSZAWA
    Windows 8 Chrome

Post05 wrz 2013, 23:53

A może... POKAŻ, CO CI DEBUGGER MÓWI?
Windows 98 supports real multitasking - it can boot and crash simultaneously.
Mój pecet:
Spoiler

Obudowa: Modecom ThinkBell, Zasilacz: OCZ ModXStream 600W, Mobo: MSI B85M-G43, Procesor: Intel Core i5-4570 (Haswell) , Wypalarka: Optiarc DVD RW AD-7173A ATA, Grafika: Gigabyte Radeon R9 270x, HDD1: OCZ Vertex 4 128 GB, HDD2:WDC WD5001AALS-00L3B2 (500GB), HDD3+4: WD1002FAEX-00Z3A0 (RAID-0), RAM: Kingston HyperX Black + Red 16GB (2x4 GB + 2x4GB Dual-Channel) CL9, Mocarne chłodzenie: Scythe Mugen II Rev. B.
Retina MacBook Pro Early 2015:
Spoiler
Intel Core i5-5257u(Broadwell) @ 2.7 Ghz, RAM: 8 GB @ 1866 MHz DDR3, Intel Iris 6100, 128GB PCI-e SSD

Awatar użytkownika

lolasher

Zasłużony użytkownik
Posty: 2432
Rejestracja: 10 paź 2008, 19:28
Lokalizacja: Zadupie pod Siedlcami ;)
    Mac OS X Opera

Post06 wrz 2013, 0:18

Czemu nie robicie wcięć? Ja wiem, że krótki kod, ale ze trzy razy musiałem czytać, żeby załapać :)

Awatar użytkownika

winuser

Zasłużony użytkownik
Posty: 1437
Rejestracja: 29 sie 2013, 13:15
    Windows 8.1 Internet Explorer

Post09 wrz 2013, 5:56

piotrmika pisze:Nie lepiej utworzyć tablicę do której będziesz wczytywał liczby oddzielone przecinkami aż do momentu wciśnięcia Entera? Później przelecisz tablicę pętlą i wypiszesz tylko liczby parzyste.

Kod: Zaznacz cały

program liczby;
var a:integer;
var b:char;
begin
repeat
writeln('Podaj liczbę');
readln(a);
if a mod 2 <> 0 then
writeln(a);
writeln('Czy chcesz dalej wpisywać?');
writeln('Jeśli tak wciśnij Y, jeśli nie wciśnij N');
readln(b);
until(b='n');
end.
Działający kod. Nie używasz nigdzie crt.
Wielkie dzięki :) Leci + do Ciebie ;)
Laptop: Lenovo ThinkPad T480s | Intel Core i5 8250U | Intel HD 620 | 24GB RAM Hynix | Lexar NM620 NVME 1TB | Windows 10 Pro
Laptop testowy: Lenovo ThinkPad T430 | Intel Core i7 3740QM | Intel HD 4000 | 16GB RAM Hynix | Samsung 850 Pro 256GB | Windows Vista SP3
PC: MSI Z87-G43 | Intel Xeon E3-1240 v3 | nVidia GTX 760 2GB | 20GB RAM Hynix | GoodRAM PX 500 NVME 512GB | Windows 10 Pro
Mobile: Google Pixel 6 | Google Tensor GS101 @2.8 GHz | Mali-G78 MP20 | 8GB RAM | 128GB MMC | Android 14
Serwer: AsRock AD2550-ITX | Intel Atom D2550 | PowerVR SGX545 | 8GB RAM Kingston | WD HDD 500GB | Windows Server 2012 R2 Datacenter
Sieć: Cudy WR3000 Wi-Fi 6 OpenWRT| Huawei HG8010H | Netia 1Gb/s
PlayStation 4 | CUH-1116A | 1TB SSD|

Awatar użytkownika

piotrmika

Zasłużony użytkownik
Posty: 125
Rejestracja: 10 lut 2008, 16:20
Lokalizacja: Kraków
    Windows 8 Chrome

Post09 wrz 2013, 9:13

lolasher pisze:Czemu nie robicie wcięć? Ja wiem, że krótki kod, ale ze trzy razy musiałem czytać, żeby załapać :)
Bo w dzisiejszych czasach każdy normalny kompilator pomaga Ci, robiąc te wcięcia za Ciebie, gdy mądrze używasz klamer, ale nie Free Pascal. Poza tym czas przeznaczony na robienie wcięć w tak prostym projekcie można przeznaczyć na coś bardziej pożytecznego.
MacBook Pro i5/8GB/256GB/Retina/MAC OS X Yosemite
iPhone 6, Samsung Galaxy S6 Edge

Awatar użytkownika

winuser

Zasłużony użytkownik
Posty: 1437
Rejestracja: 29 sie 2013, 13:15
    Windows XP Opera

Post09 wrz 2013, 11:26

Niestety Free Pascal jest nieco zacofany, z wszystkich kopmilatorów najbardziej lubię DevC++ - nie ma IDE tylko normalne środowisko okienkowe, nie razi w oczy i jest po Polsku (chociaż w Angielskim nie tkwi problem). Temat można zamknąć.
Laptop: Lenovo ThinkPad T480s | Intel Core i5 8250U | Intel HD 620 | 24GB RAM Hynix | Lexar NM620 NVME 1TB | Windows 10 Pro
Laptop testowy: Lenovo ThinkPad T430 | Intel Core i7 3740QM | Intel HD 4000 | 16GB RAM Hynix | Samsung 850 Pro 256GB | Windows Vista SP3
PC: MSI Z87-G43 | Intel Xeon E3-1240 v3 | nVidia GTX 760 2GB | 20GB RAM Hynix | GoodRAM PX 500 NVME 512GB | Windows 10 Pro
Mobile: Google Pixel 6 | Google Tensor GS101 @2.8 GHz | Mali-G78 MP20 | 8GB RAM | 128GB MMC | Android 14
Serwer: AsRock AD2550-ITX | Intel Atom D2550 | PowerVR SGX545 | 8GB RAM Kingston | WD HDD 500GB | Windows Server 2012 R2 Datacenter
Sieć: Cudy WR3000 Wi-Fi 6 OpenWRT| Huawei HG8010H | Netia 1Gb/s
PlayStation 4 | CUH-1116A | 1TB SSD|

Awatar użytkownika

lolasher

Zasłużony użytkownik
Posty: 2432
Rejestracja: 10 paź 2008, 19:28
Lokalizacja: Zadupie pod Siedlcami ;)
    Mac OS X Opera

Post09 wrz 2013, 12:55

piotrmika pisze:Bo w dzisiejszych czasach każdy normalny kompilator pomaga Ci, robiąc te wcięcia za Ciebie, gdy mądrze używasz klamer, ale nie Free Pascal. Poza tym czas przeznaczony na robienie wcięć w tak prostym projekcie można przeznaczyć na coś bardziej pożytecznego.
W Pascalu swego czasu też robiłem wcięcia, nie wiem jak w Free, ale w Turbo 7.0 tab przesuwał tak ładnie o trzy znaki. Aktualnie mi się najlepiej pisze w XCode, albo Visual Studio, Deva strasznie, nie lubię, może to kwestia konfiguracji, ale brak debuggera irytuje.

Awatar użytkownika

piotrmika

Zasłużony użytkownik
Posty: 125
Rejestracja: 10 lut 2008, 16:20
Lokalizacja: Kraków
    Windows 8 Chrome

Post09 wrz 2013, 13:23

Nie miałem czasu na szukanie kompilatora, bo nie programuję w Pascalu, a kojarzyłem tylko FreePascal.

Co do VisualStudio, uważam, że kwestie pomocy w pisaniu kodu są tam najlepiej rozwiązane. Gdy programuję w PHP używam NetBeansa, który również jest bardzo pomocny.
MacBook Pro i5/8GB/256GB/Retina/MAC OS X Yosemite
iPhone 6, Samsung Galaxy S6 Edge

Awatar użytkownika

pc.qwerty

Zasłużony użytkownik
Posty: 3276
Rejestracja: 01 lip 2010, 12:28
    Mac OS X Safari

Post09 wrz 2013, 19:43

winuser pisze:najbardziej lubię DevC++ - nie ma IDE
http://www.bloodshed.net/devcpp.html pisze:Bloodshed Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language.
Wygląda legalnie.
There is no cloud. It's just someone else's computer.

Awatar użytkownika

PisarzKsiazkowicz

Moderator
Posty: 2149
Rejestracja: 27 sty 2010, 7:53
    Windows 8 Opera

Post09 wrz 2013, 19:47

winuser pisze:z wszystkich kopmilatorów najbardziej lubię DevC++.
:homerpalm:

Awatar użytkownika

Rublik

Moderator
Posty: 2878
Rejestracja: 25 lut 2009, 16:11
Lokalizacja: Brzesko
    Windows 7 Firefox
Kontakt:

Post09 wrz 2013, 19:48

FANTASTYCZNY
A w sumie na chuj mi ten podpis xD

Kto jest online

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