Turbo Pascal -zadanie
-
- Użytkownik
- Posty: 115
- Rejestracja: 15 lis 2007, o 14:03
- Płeć: Kobieta
- Lokalizacja: Warszawa
- Podziękował: 32 razy
- Pomógł: 4 razy
Turbo Pascal -zadanie
Mam takie zadanie:
Napisz program, który wyświetla wszystkie liczby dwucyfrowe nieparzyste,
z zakresu podanego z klawiatury.
I nie wiem, w jaki sposób przedstawić to w TP, z zaznaczeniem, że muszą to być liczby tylko dwucyfrowe.
Napisz program, który wyświetla wszystkie liczby dwucyfrowe nieparzyste,
z zakresu podanego z klawiatury.
I nie wiem, w jaki sposób przedstawić to w TP, z zaznaczeniem, że muszą to być liczby tylko dwucyfrowe.
-
- Użytkownik
- Posty: 31
- Rejestracja: 3 lut 2009, o 16:14
- Płeć: Mężczyzna
- Podziękował: 6 razy
- Pomógł: 1 raz
Turbo Pascal -zadanie
algorytm moze wygladac nastepujaco:
0. "a" i "b" integer;
1. wczytujesz "a" i "b" (zakres podany z klawiatury)
2. sprawdzasz ktora z nich jest mniejsza jesli nie sa podawane w kolejnosci rosnacej i sortujesz (przyjmijmy ze "a" bedzie tą mniejsza, "b" wieksza) //zeby zadanie mialo jakis sens przyjmuje ze choc jedna liczba jest z zakresu <0,99>
3. robisz petle od a do b, kazdy obieg petli zwieksza "a" o 1.
4. sprawdzasz w kazdym obiegu petli czy "a" dzieli sie przez "2" dajac reszte "1" oraz czy "a" >9 oraz czy "a"<100
jesli wszystko prawda, wypisujesz "a"
najlatwiejszy sposob
0. "a" i "b" integer;
1. wczytujesz "a" i "b" (zakres podany z klawiatury)
2. sprawdzasz ktora z nich jest mniejsza jesli nie sa podawane w kolejnosci rosnacej i sortujesz (przyjmijmy ze "a" bedzie tą mniejsza, "b" wieksza) //zeby zadanie mialo jakis sens przyjmuje ze choc jedna liczba jest z zakresu <0,99>
3. robisz petle od a do b, kazdy obieg petli zwieksza "a" o 1.
4. sprawdzasz w kazdym obiegu petli czy "a" dzieli sie przez "2" dajac reszte "1" oraz czy "a" >9 oraz czy "a"<100
jesli wszystko prawda, wypisujesz "a"
najlatwiejszy sposob
-
- Użytkownik
- Posty: 735
- Rejestracja: 7 lis 2005, o 23:56
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 2 razy
- Pomógł: 133 razy
Turbo Pascal -zadanie
polecam tak:
tworzysz zmienną liczba typu integer:
i pętlą for lecisz co drugą liczbę, poczynając od 1:
50% kodu masz napisanego, musisz to tylko sklecić w program (tj. wstawić w odpowiednie miejsce, deklaracja przed begin reszta po i dopisać wypisywanie)
[edit]
aha, nie zobaczyłem ograniczenia. Zamiast 1 trzeba wpisać start, zamiast 99 stop, przy czym jeśli start i stop podał użytkownik z klawiatury to liczymy:
te linijki oczywiście przed pętlą
tworzysz zmienną liczba typu integer:
Kod: Zaznacz cały
VAR liczba : INTEGER;
Kod: Zaznacz cały
FOR liczba := 1 TO 99 DO
{ tutaj wypisywanie liczby }
[edit]
aha, nie zobaczyłem ograniczenia. Zamiast 1 trzeba wpisać start, zamiast 99 stop, przy czym jeśli start i stop podał użytkownik z klawiatury to liczymy:
Kod: Zaznacz cały
IF (start MOD 2 = 0)
inc(start);
IF (stop MOD 2 = 0)
dec(stop);
-
- Użytkownik
- Posty: 53
- Rejestracja: 6 mar 2009, o 16:03
- Płeć: Mężczyzna
- Pomógł: 12 razy
Turbo Pascal -zadanie
Kod: Zaznacz cały
program licz;
uses crt;
var i:integer;
x:integer;
y:integer;
j:byte;
begin
clrscr;
writeln('Program zlicza liczby dwucyfrowe z podanego przedziału');
writeln('Za chwilę określisz granice przedziału wprowadzając dane z klawiatury');
writeln('Wciśnij enter, aby kontynuować');
readln;
writeln;
writeln('Wpisz liczbę, będącą dolną granicą przedziału, po czym wciśnij enter');
readln(x);
writeln('Wpisz liczbę, będącą górną granicą przedziału, po czym wciśnij enter');
readln(y);
if x>y then
begin
writeln('Błąd:');
writeln('Górna granica jest mniejsza od dolnej');
writeln('Zostaną one zamienione');
i:=x;
x:=y;
y:=i;
i:=0;
write('Dolna granica przedziału wynosi teraz ');
write(x);
write(', a górna ');
write(y);
writeln('.');
writeln('Wciśnij enter, aby kontynuować.');
readln;
end;
if x<10 then x:=10;
if y<10 then y:=10;
if y>100 then y:=100;
if x>100 then x:=100;
for j:=x to y do if j mod 2=1 then i:=i+1;
if i=0 then writeln('W podanym przedziale nie ma liczb dwucyfrowych, nieparzystych')
else writeln('W podanym przedziale jest ',i,' liczb dwucyfrowych, nieparzystych');
writeln;
writeln('Wciśnij jakiś klawisz, żeby wyjść');
readln;
end.
Ostatnio zmieniony 9 mar 2009, o 12:32 przez kertoip_90, łącznie zmieniany 1 raz.
-
- Użytkownik
- Posty: 115
- Rejestracja: 15 lis 2007, o 14:03
- Płeć: Kobieta
- Lokalizacja: Warszawa
- Podziękował: 32 razy
- Pomógł: 4 razy
Turbo Pascal -zadanie
Dziękuje, teraz już widzę, gdzie zrobiłam błąd.
A jak wyglądałby następujący program:
Napisz program, ktory wyswietla wszystkie liczby z przedzialu
od 50 - 100 podzielne przez dowolna liczbe k podawaną z klawiatury.
Czy podobnie?, jak ten poprzedni?
A jak wyglądałby następujący program:
Napisz program, ktory wyswietla wszystkie liczby z przedzialu
od 50 - 100 podzielne przez dowolna liczbe k podawaną z klawiatury.
Czy podobnie?, jak ten poprzedni?
-
- Użytkownik
- Posty: 53
- Rejestracja: 6 mar 2009, o 16:03
- Płeć: Mężczyzna
- Pomógł: 12 razy
Turbo Pascal -zadanie
Kod: Zaznacz cały
program liczprzedzial;
uses crt;
var k:integer;
i:byte;
j:byte;
begin
clrscr;
writeln('Program wyświetla wszystkie liczby z przedziału <50;100> podzielne przez liczbę k, wprowadzaną przez użytkownika jako parametr');
writeln;
writeln('Wprowadź liczbę całkowitą k i naciśnij enter');
readln(k);
clrscr;
writeln('Liczby wypisane poniżej należą do przedziału <50;100> i są podzielne przez', k, '.');
j:=0;
for i:=50 to 100 do if i mod k=0 then
begin
writeln(i);
j:=1;
end;
if j=0 then
begin
clrscr;
writeln('W przedziale <50;100> nie ma liczb podzielnych przez ', k, '.');
end;
writeln;
writeln('Wciśnij jakiś klawisz, żeby wyjść');
readln;
end.
-
- Użytkownik
- Posty: 115
- Rejestracja: 15 lis 2007, o 14:03
- Płeć: Kobieta
- Lokalizacja: Warszawa
- Podziękował: 32 razy
- Pomógł: 4 razy
Turbo Pascal -zadanie
Dziękuję za pomoc.
-- 9 marca 2009, 15:57 --A co do tego pierwszego programu, to jest w porządku, tylko że te liczby dwucyfrowe mają się wyświetlać na ekranie... Gdzie powinniśmy to dodać?
Bo jak sama próbuję, to coś innego przestaje działać...
-- 9 marca 2009, 15:57 --A co do tego pierwszego programu, to jest w porządku, tylko że te liczby dwucyfrowe mają się wyświetlać na ekranie... Gdzie powinniśmy to dodać?
Bo jak sama próbuję, to coś innego przestaje działać...
- Mariusz M
- Użytkownik
- Posty: 6909
- Rejestracja: 25 wrz 2007, o 01:03
- Płeć: Mężczyzna
- Lokalizacja: 53°02'N 18°35'E
- Podziękował: 2 razy
- Pomógł: 1246 razy
Turbo Pascal -zadanie
Wystarczy w jednej instrukcji iteracyjnej for
użyć instrukcji warunkowej if
W instrukkcji warunkowej if użyć funkcji odd
użyć instrukcji warunkowej if
W instrukkcji warunkowej if użyć funkcji odd