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

winuser

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

Post05 wrz 2013, 15: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 :(
Mój PC:
Intel Core2Quad Q9650 @3GHz + SilentiumPC SpartanPro | MSI P35 Neo2 FR | ATI Radeon HD5450 1GB | 8 GB RAM Kingston| Patriot Blaze SSD 120 GB | Seagate ST2000DM001 HDD 2TB | Windows 7 Pro x64
Laptop:
Lenovo IdeaPad P580 | Intel Core i7 3610QM @ 3.1 GHz| nVidia GeForce GT630M | 16GB RAM Kingston | LiteON LCS 128-L9S 128GB | Linux Mint 18.2 x64
Apple iPhone SE | Apple A9 @1.85 GHz | PowerVR GT7600 | 2GB RAM | 128GB PAMIĘCI | iOS 10.3
PlayStation 4 | CUH-1116A | 1TB |
Inne telefony:
Spoilerpokaż
Apple iPhone 5 | Apple A6 @1.3 GHz | PowerVR G6430 | 1GB RAM | 32GB PAMIĘCI | iOS 10.3
Nokia N9 | TI OMAP3630 @1,1GHz OC | PowerVR SGX-530 | 1GB RAM LPDDR | 16 GB PAMIĘCI | MeeGo 1.2 Harmattan
Lumia 520 | Qualcomm MSM8227 @ 1GHz | Qualcomm Adreno 305 | 512MB RAM | 8GB PAMIĘCI| WP 8.1 GDR2

Awatar użytkownika

bsystem

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

Post05 wrz 2013, 16:40

nie wczytujesz b i nie masz "enda" na końcu imo.
Spoilerpokaż
Asus n61v | c2d p7450 | GT 240m | 4GB DDR3 | 320GB | Windows 8.1 x64
Fujitsu Siemens Esprimo V5505 | C2D T7550 2,2GHz 4MB Cache L2 (Merom) | 4GB RAM DDR2| 120GB| Windows 8.1 x64
Pentium 4 |Pentium 4 3.0GHz (Prescott) | 1 GB RAM DDR1 | 60 GB |Windows 8 RTM
Toshiba Satellite 1400-503 | Celeron-S 1,33GHz (tualatin :hyhy:) | 768 MB SD-RAM | 40GB | Windows XP SP3
K6-2| AMD K6-2 300MHz | 64MB SD-RAM |1GB| Windows 2000 Fresh by Rublik
Serwer 'Sempik': AMD Sempron 2800+ | ASUS K8V-MX | 1024 MB RAM DDR1 | S3 Graphics DeltaChrome Pro IGP | 20GB + 500GB | Windows 2k8
Pentium 4 1,7 GHz| OEM Fujitsu | 512MB SD RAM| 40GB
Sempron 2200+ | jakieś mobo MSI | 128MB DDR | 40GB
Intel Pentium III Coppermine | mobo na intelu | 128MB SD RAM | 80GB
Sempron 2800+ | ASRock K8NF4G-SATA2 | 512MB DDR | 160GB RAID0
Pentium II | mobo na slot1 | 128MB SD RAM | 2GB


Komputery mniej lub bardziej kompletne:

Amilo M7400 | Pentium M 1,3 GHz (Banias)| 512 MB RAM | dysk zbrickowany | +15" CRT
iPhone 5c + Dell e6230

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, 21: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: 652
Rejestracja: 03 lis 2010, 16:44
    Windows 7 Chrome

Post05 wrz 2013, 21:07

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
Spoilerpokaż
Asus n61v | c2d p7450 | GT 240m | 4GB DDR3 | 320GB | Windows 8.1 x64
Fujitsu Siemens Esprimo V5505 | C2D T7550 2,2GHz 4MB Cache L2 (Merom) | 4GB RAM DDR2| 120GB| Windows 8.1 x64
Pentium 4 |Pentium 4 3.0GHz (Prescott) | 1 GB RAM DDR1 | 60 GB |Windows 8 RTM
Toshiba Satellite 1400-503 | Celeron-S 1,33GHz (tualatin :hyhy:) | 768 MB SD-RAM | 40GB | Windows XP SP3
K6-2| AMD K6-2 300MHz | 64MB SD-RAM |1GB| Windows 2000 Fresh by Rublik
Serwer 'Sempik': AMD Sempron 2800+ | ASUS K8V-MX | 1024 MB RAM DDR1 | S3 Graphics DeltaChrome Pro IGP | 20GB + 500GB | Windows 2k8
Pentium 4 1,7 GHz| OEM Fujitsu | 512MB SD RAM| 40GB
Sempron 2200+ | jakieś mobo MSI | 128MB DDR | 40GB
Intel Pentium III Coppermine | mobo na intelu | 128MB SD RAM | 80GB
Sempron 2800+ | ASRock K8NF4G-SATA2 | 512MB DDR | 160GB RAID0
Pentium II | mobo na slot1 | 128MB SD RAM | 2GB


Komputery mniej lub bardziej kompletne:

Amilo M7400 | Pentium M 1,3 GHz (Banias)| 512 MB RAM | dysk zbrickowany | +15" CRT
iPhone 5c + Dell e6230

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, 21: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: 2115
Rejestracja: 06 gru 2008, 19:27
Lokalizacja: multi(0)disk(0)rdisk(0)partition(2)\GDAŃSK
Kontakt:
    Windows 8 Chrome

Post05 wrz 2013, 22:53

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

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:
Spoilerpokaż
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: 2387
Rejestracja: 10 paź 2008, 18:28
Lokalizacja: Zadupie pod Siedlcami ;)
Kontakt:
    Macintosh Opera

Post05 wrz 2013, 23: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: 1014
Rejestracja: 29 sie 2013, 12:15
    Windows 8.1 Internet Explorer

Post09 wrz 2013, 4:56

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 ;)
Mój PC:
Intel Core2Quad Q9650 @3GHz + SilentiumPC SpartanPro | MSI P35 Neo2 FR | ATI Radeon HD5450 1GB | 8 GB RAM Kingston| Patriot Blaze SSD 120 GB | Seagate ST2000DM001 HDD 2TB | Windows 7 Pro x64
Laptop:
Lenovo IdeaPad P580 | Intel Core i7 3610QM @ 3.1 GHz| nVidia GeForce GT630M | 16GB RAM Kingston | LiteON LCS 128-L9S 128GB | Linux Mint 18.2 x64
Apple iPhone SE | Apple A9 @1.85 GHz | PowerVR GT7600 | 2GB RAM | 128GB PAMIĘCI | iOS 10.3
PlayStation 4 | CUH-1116A | 1TB |
Inne telefony:
Spoilerpokaż
Apple iPhone 5 | Apple A6 @1.3 GHz | PowerVR G6430 | 1GB RAM | 32GB PAMIĘCI | iOS 10.3
Nokia N9 | TI OMAP3630 @1,1GHz OC | PowerVR SGX-530 | 1GB RAM LPDDR | 16 GB PAMIĘCI | MeeGo 1.2 Harmattan
Lumia 520 | Qualcomm MSM8227 @ 1GHz | Qualcomm Adreno 305 | 512MB RAM | 8GB PAMIĘCI| WP 8.1 GDR2

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, 8:13

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: 1014
Rejestracja: 29 sie 2013, 12:15
    Windows XP Opera

Post09 wrz 2013, 10: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ąć.
Mój PC:
Intel Core2Quad Q9650 @3GHz + SilentiumPC SpartanPro | MSI P35 Neo2 FR | ATI Radeon HD5450 1GB | 8 GB RAM Kingston| Patriot Blaze SSD 120 GB | Seagate ST2000DM001 HDD 2TB | Windows 7 Pro x64
Laptop:
Lenovo IdeaPad P580 | Intel Core i7 3610QM @ 3.1 GHz| nVidia GeForce GT630M | 16GB RAM Kingston | LiteON LCS 128-L9S 128GB | Linux Mint 18.2 x64
Apple iPhone SE | Apple A9 @1.85 GHz | PowerVR GT7600 | 2GB RAM | 128GB PAMIĘCI | iOS 10.3
PlayStation 4 | CUH-1116A | 1TB |
Inne telefony:
Spoilerpokaż
Apple iPhone 5 | Apple A6 @1.3 GHz | PowerVR G6430 | 1GB RAM | 32GB PAMIĘCI | iOS 10.3
Nokia N9 | TI OMAP3630 @1,1GHz OC | PowerVR SGX-530 | 1GB RAM LPDDR | 16 GB PAMIĘCI | MeeGo 1.2 Harmattan
Lumia 520 | Qualcomm MSM8227 @ 1GHz | Qualcomm Adreno 305 | 512MB RAM | 8GB PAMIĘCI| WP 8.1 GDR2

Awatar użytkownika

lolasher

Zasłużony użytkownik
Posty: 2387
Rejestracja: 10 paź 2008, 18:28
Lokalizacja: Zadupie pod Siedlcami ;)
Kontakt:
    Macintosh Opera

Post09 wrz 2013, 11:55

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, 12: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: 3273
Rejestracja: 01 lip 2010, 11:28
    Macintosh Safari

Post09 wrz 2013, 18:43

najbardziej lubię DevC++ - nie ma IDE
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: 2204
Rejestracja: 27 sty 2010, 7:53
    Windows 8 Opera

Post09 wrz 2013, 18:47

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

Awatar użytkownika

Rublik

Moderator
Posty: 2850
Rejestracja: 25 lut 2009, 16:11
Kontakt:
    Windows 7 Firefox

Post09 wrz 2013, 18:48

FANTASTYCZNY
"Prawo ponad prawem, państwo w państwie, manipulacja całych ludzi mas. Serwowane nam kłamstwo na kłamstwie, otworzyć oczy obudzić się czas"

Honorowy Członek Mafii C-QUAM


Stacjonarny: Gigabyte GA-H81M-S2H | Celeron G1840 | 4GB DDR3 1333 | Radeon HD4870 512MB | Chieftec GPS-400AA-101A | Seagate ST1000DM3 1TB SATA3 | Windows 10 Pro N
Laptop: Samsung NP300E5A-S06PL | Core i5 2450M | 6GB DDR3 1333 | HD3000 | GT520MX | SanDisk SSD Plus 120GB | Windows 10 Pro
Telefon: Hujawei P8 Lite

Kto jest online

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