|
|
ASUS OC School
- OC School – niedoceniane zalety chipsetu Intel X58, materiał wideo
13 Sie 2011 15:30Komentarzy: 34 - ASUS OC School, czyli szkoła podkręcania. Część 2. – niedoceniane cechy X58
11 Sie 2011 08:33 - OC School – podkręcanie kart graficznych, materiał wideo
16 Cze 2011 11:10 - Rusza Asus OC School
30 Maj 2011 17:28 - OC School, czyli szkoła podkręcania. Część 1. – karty graficzne
30 Maj 2011 17:27
Ostatnio dodane tematy
- iPod touch 2G 16GB.
przez Cintulek

Dzisiaj, 06:02 - Zalman CNPS10X Flex i i5-3570K
przez karoltyt

Dzisiaj, 05:58 - [C++/OOP(/fltk)] Jak z jednej klasy odwolywac sie do elementu skladowego innej klasy
przez hot_stuff

Dzisiaj, 02:19 - unreal tournament III ps3
przez radixpl93

Dzisiaj, 01:43 - Kupie monitor
przez sh1ne1337

Dzisiaj, 01:12 - Kupie Komputer
przez noisia

Dzisiaj, 00:30 - Kupię grafikę do 150 zł
przez GoFerYerFunk

Dzisiaj, 00:08 - zamienie komputer na laptopa Warszawa
przez VeNoM aKa Modder

Wczoraj, 23:41
Nowe artykuły
- Sieci komputerowe w praktyce – poradnik
Wczoraj, 05:45 - Diablo 3 – najnowsze, długo oczekiwane dziecko Blizzarda
19 Maj 2012 20:54 - Test ośmiu monochromatycznych laserowych urządzeń wielofunkcyjnych
17 Maj 2012 07:11 - AMD A10-4600M – mobilne Trinity kontra Core i3 oraz Core i5
15 Maj 2012 05:00 - Sony Ericsson Xperia neo V, Samsung Wave 3, Samsung Galaxy S Plus, Nokia 701, Motorola Defy+, LG Swift 2X – test smartfonów za mniej więcej tysiąc złotych
14 Maj 2012 07:16
Ostatnie aktualności
- Manta PowerTab MID07 – rzut oka
Wczoraj, 22:31 - V-Sync w Keplerze powoduje mikroprzycięcia. Poprawka w przyszłym miesiącu
Wczoraj, 14:29 - Windows 8, czyli żonglowanie interfejsami użytkownika
Wczoraj, 13:44 - Samsung prezentuje proste grafenowo-krzemowe układy scalone
19 Maj 2012 17:09 - Facebook debiutuje na giełdzie z wielką pompą
18 Maj 2012 19:21
Najnowsze pliki
- WTW 0.9.6.3360
Dzisiaj, 05:52Pobrań: 21244 - Fraps 3.5.2
Wczoraj, 22:05Pobrań: 11210 - Orbit Downloader 4.1.0.8
Wczoraj, 21:43Pobrań: 9318 - NetScream 1.5.21.2012
Wczoraj, 20:38Pobrań: 19450 - PCMedik 6.5.21.2012
Wczoraj, 20:38Pobrań: 7647
Pascal - zaliczenie
#1
Napisany 09 Luty 2012 - 14:27
Mam do napisania program, właściwie to będzie to kilka mniejszych programów na zaliczenie, z racji sytuacji materialnej musiałem iść do pracy co skutkuje tym iż przestałem chodzić na niektóre zajęcia i teraz mam zaległości, ale do rzeczy.
Oto co muszę zrobić, na ta chwile posiadam zadeklarowana tablice z liczbami od 1 do 100 wyświetlanymi kolejno (1,2,3,4,5,6,7...) w linii poziomej nie pionowej.
Niestety z resztą ciężko sobie poradzić czytam po forach od co najmniej 1godziny jak nie 2 ale nigdzie nie ma instrukcji z tablicami. Będę bardzo wdzięczny za pomoc. Środowisko oczywiście Dev Pascal.
- wypisywanie wektora liczb (100) i wybieranie z nich tych, ktore byly w przedziale 30-70
- wypisywanie wektora liczb (100) i wybieranie z nich tych, ktore byly w przedziale 30-70, a reszte (30> i 70<) byla zapisana jako zera, na koncu tego wektora
- wypisywanie wektora liczb i sumowanie ich za pomoca petli for
- wypisywanie wektora liczb i sumowanie ich za pomoca petli while
- wypisywanie wektora liczb i sumowanie ich za pomoca petli do..while
- wypisywanie wektora liczb i wyszukanie najwiekszej/najmniejszej wartosci
- wypisywanie wektora liczb w taki sposob, aby zadna z nich sie nie powtorzyla
Dziękuję i pozdrawiam
#2
Napisany 09 Luty 2012 - 16:48
Ten post był edytowany przez rz3pka dnia: 09 Luty 2012 - 16:52
#3
Napisany 09 Luty 2012 - 17:41
USES CRT;
var
i: byte;
a: array[1..100] of byte;
max,min:integer;
begin
min:=30;
max:=70;
for i:=0 to 99 do
begin
a[i]:=i+1;
if (a[i] > min) and (a[i] < max) then write(a[i], ' ');
end;
readln;
end.
END.
To jest program który wyrzuca liczby z przedziału 30< a >70
A to ten który ma wyrzucać reszte liczb jako 0
program Untitled;
USES CRT;
var
i: byte;
a: array[1..100] of byte;
max,min:integer;
max1,min1:integer;
begin
min:=30;
max:=70;
for i:=0 to 99 do
begin
a[i]:=i+1;
if (a[i] > min) and (a[i] < max) then write(a[i], ' ');
if (a[i] < min) then write('0 ');
if (a[i] > max) then write('0 ');
end;
readln;
end.
END.
Mam jeszcze pytanie co należy zrobić aby liczby były wyrzucane na ekranie pionowo po kolei a nie poziomo
Ten post był edytowany przez Spoko91 dnia: 09 Luty 2012 - 18:04
#4
Napisany 09 Luty 2012 - 19:07
Ten post był edytowany przez rz3pka dnia: 09 Luty 2012 - 19:17
#5
Napisany 09 Luty 2012 - 20:07
s:=s + a[i];
writeln('Suma liczb wynosi', s);
ale wyrzuca mi 0 :/
#7
Napisany 09 Luty 2012 - 20:14
USES CRT;
var
i: byte;
a: array[1..100] of byte;
s:integer;
begin
a[i]:=i+1;
write(a[i],' ');
begin
for i:=0 to 99 do
s:= i + a[i];
writeln('Suma liczb wynosi = ', s);
end;
readln;
end.
END.
To ma być już osobny program więc kombinuje coś na nowym, chciałbym żeby wyrzucał wszystkie liczby i pod nimi podawał ile wynosi suma
Potem zrobić to samo za pomocą pętli while i do...while ><
Ten post był edytowany przez Spoko91 dnia: 09 Luty 2012 - 20:15
#8
Napisany 09 Luty 2012 - 20:17
A tak w ogole to widze sporo bledow, zaraz ogarne ;p w pierwszym forze jeszcze powinno byc chyba a[i]:=i; Dobra ogarniete, powinno wygladac tak:
program Untitled;
var
i: byte;
a: array[1..100] of byte;
s:integer;
begin
for i:=1 to 100 do begin
a[i]:=i;
writeln(a[i],' ');
end;
s:=0;
for i:=1 to 100 do
s:= s + a[i];
writeln('Suma liczb wynosi = ', s);
readln;
end.
a wczesniej masz opis chyba wszystkeigo co poprawilem
Ten post był edytowany przez rz3pka dnia: 09 Luty 2012 - 20:28
#10
Napisany 09 Luty 2012 - 20:29
#11
Napisany 09 Luty 2012 - 20:32
a[i]:=i+1; a u Ciebie jest bez dodawania wartości 1,
i jeszcze jedno pytanie nie rozumiem jednego zabiegu
for i:=1 to 100 do begin <--- chodzi o ten begin on ma tak być?
#12
Napisany 09 Luty 2012 - 20:34
for i:=0 to 99 do s:= i + a[i];
bo nie robiles tutaj tak na prawde tego co chciales, zamiast do aktualnej sumy dodawac kolejna nastepna liczbe, po prostu dodawales do aktualnego indeksu i wartosc tablicy pod tym indeksem, czyli wiadomo, ze wynikiem s byla wartosc 99 (bo i konczylo sie na 99) + wartosc tablicy pod tym indeksem
Ten post był edytowany przez rz3pka dnia: 09 Luty 2012 - 20:38
#13
Napisany 09 Luty 2012 - 20:37
#14
Napisany 09 Luty 2012 - 20:40
Ten post był edytowany przez rz3pka dnia: 09 Luty 2012 - 20:43
#15
Napisany 09 Luty 2012 - 20:43
Dodałem dodawanie +1 do indeksu w pętli nie wiem czy dobrze, w warunku mam dać a[i]:=i+1, przed for napisać i:=1, i napisać i<=100 ale to wszystko w tym 1 for? xD
Cytuj
var
i: byte;
a: array[1..100] of byte;
s:integer;
begin
i:=1;
for i:=1 to 100 do begin
a[i]:=i+1;
i<=100
writeln(a[i],' ');
s:=0;
for i:=1 to 100 do
s:= s + a[i];
i:=i+1;
writeln('Suma liczb wynosi = ', s);
readln;
end.
Poprawiłem coś takiego ma wyjść?
Ten post był edytowany przez Spoko91 dnia: 09 Luty 2012 - 20:48
#16
Napisany 09 Luty 2012 - 20:44
Ten post był edytowany przez rz3pka dnia: 09 Luty 2012 - 20:44
#17
Napisany 09 Luty 2012 - 20:46
- wypisywanie wektora liczb i wyszukanie najwiekszej/najmniejszej wartosci
- wypisywanie wektora liczb w taki sposob, aby zadna z nich sie nie powtorzyla
#18
Napisany 09 Luty 2012 - 20:49
Spoko91, o 09 Luty 2012 - 20:43, napisał(a):
Dodałem dodawanie +1 do indeksu w pętli nie wiem czy dobrze, w warunku mam dać a[i]:=i+1, przed for napisać i:=1, i napisać i<=100 ale to wszystko w tym 1 for? xD
Poprawiłem coś takiego ma wyjść?
to nie bardzo ma sens
while warunek do
begin
instrukcja1
.
.
instrukcjan
end;
i teraz petla ma sie przerwac gdy i dojdzie do 100, zas w petli musisz zainicjalizowac wartosc tablicy, wypisac ja i dodac do sumy
Ten post był edytowany przez rz3pka dnia: 09 Luty 2012 - 20:53
#19
Napisany 09 Luty 2012 - 20:51
Wyżej w poprzednim poście napisałem co zmajstrowałem z tymi i<=100 itp. wynik taki sam jak był przy sumowaniu tych liczb nie wiem czy coś się miało zmienić.
Dobra więc co mam zmienić poproszę jak temu zaradzić xD, też się zastanawiałem dlaczego while nie podałem.
Wybaczcie mi ale miałem Pascala jakieś 3 lata temu jak nie 4, do tego z facetką która była mgr Matematyk..., a poza tym nie specjalnie lubiłem Pascala i ogólnie programowanie a wygląda na to że taki kierunek będę miał bo taką grupę budują.
Dobra gubię się powoli
Cytuj
var
i: byte;
a: array[1..100] of byte;
s:integer;
begin
while i<=100 do;
begin
i:=1;
s:=0;
for i:=1 to 100 do
s:= s + a[i];
i:=i+1;
writeln('Suma liczb wynosi = ', s);
end;
readln;
end.
Mam instrukcje na sumowanie i wypisanie, a co do podania wartości tablicy to mam wypisać a[i]:=i ?
Poddaje się pogubiłem się całkowicie.
Ten post był edytowany przez Spoko91 dnia: 09 Luty 2012 - 21:00
#20
Napisany 09 Luty 2012 - 20:56
Spoko91, o 09 Luty 2012 - 20:51, napisał(a):
Wyżej w poprzednim poście napisałem co zmajstrowałem z tymi i<=100 itp. wynik taki sam jak był przy sumowaniu tych liczb nie wiem czy coś się miało zmienić.
Dobra więc co mam zmienić poproszę jak temu zaradzić xD, też się zastanawiałem dlaczego while nie podałem.
Wybaczcie mi ale miałem Pascala jakieś 3 lata temu jak nie 4, do tego z facetką która była mgr Matematyk..., a poza tym nie specjalnie lubiłem Pascala i ogólnie programowanie a wygląda na to że taki kierunek będę miał bo taką grupę budują.
jezeli liczby mialyby byc losowe co w sumie nadawaloby sens tym zadaniom, to nasze przypisywanie a[i]:=i jest bez sensu ;p bo wtedy liczby po prostu maja wartosc indeksu, przydaloby sie sprecyzowac polecenie i napsiac co chcemy teraz zrobic
Jezeli nie chcesz losowych wartosci to by wygladalo tak:
program Untitled;
var
i: byte;
a: array[1..100] of byte;
s:integer;
begin
i:=1; s:=0; //inicjalizujemy indeks z ktorego bedziemy korzystac w petli i s
while i<=100 do
begin
a[i]:=i; //przypisujemy do komorki tablicy o indeksie i, wartosc jemu odpowiadajaca
s:=s+a[i]; //dodajemy do sumy ta wartosc;
writeln(a[i]); //no i wypisujemy ja
i:=i+1; // zwiekszamy indeks
end;
writeln ('suma wynosi = ', s); //po petli w ktorej przygotowalismy odpowiednia wartosc s, wypisujemy ja
readln;
end.
jednak jesli chcesz losowanie to napisz, bo tak na prawde nie wiem co chcesz osiagnac:p
Ten post był edytowany przez rz3pka dnia: 09 Luty 2012 - 21:11

Zaloguj się
Rejestracja
Pomoc



Wróć do góry
Multi cytowanie