Zdravim potreboval by som help s jednym prikladom v pascale. Samotny priklad by nebol az taky problem ale neviem tie premeny.
Pr: uživatel zada cislo a progrym mu ponukne 4 moznosti:
1.prevod zadaneho cisla z desiatkovej do binárnej sustavy pomocou 8-bit zapisu
2. prevod z binarnej do 8-kovej
3.prevod z binárnej do 10-ovej
4.prevod z binárnej do 16 kovej sustavy.
A hned po stlaceni pozadovanej volby nasleduje vyis.
Ak niekto vie mohol by sa so mnou podelit o vedomosti inak diky.
Help s programom !!!
hmm no diky pozeral som ale nieje tam bohvie co
najviac sa hodi
ale hadye mi to chzbu a nieviem co s tym.
ak by niekto mal este nieco moze sem hodit.
najviac sa hodi
Kód: Vybrať všetko
program prevod;
uses crt;
type pole=array[1..100] of integer;
var a,i,p,u,g,desat,sestnast,mocnina,cislo:integer;
k,s:char;
b:pole;
z,f,dva,vysledok,pomocna:string;
label c;
begin
writeln('+++++ Spustil si program na prevody medzi sustavami +++++');
writeln('---------------------------------------------------------------');
writeln;
c:writeln('1: prevod z desiatkovej sustavy do dvojkovej sustavy');
writeln('2: prevod z desiatkovej do sesnastkovej sustavy');
writeln('3: prevod z dvojkovej sustavy do desiatkovej sustavy');
writeln('4: prevod z dvojkovej sustavy do sesnastkovej sustavy');
writeln('5: prevod zo sesnastkovej sustavy do dvojkovej sustavy');
writeln('6: prevod zo sesnastkovej sustavy do desiatkovej sustavy');
writeln('7: koniec');
writeln;
writeln('--------------------------------------------------------------');
writeln('Zadaj svoju volbu');
read(k);
case k of
'1':begin
writeln('Zadaj cislo ');
readln(a);
repeat begin
i:=i+1;
a:=a div 2;
b[i]:= a mod 2;
p:=i;
end;
until a=0;
for i:=p downto 1 do begin
write(b[i],' ');
end;
writeln(a,' v desiatkovej sustave je ',b[i],' v dvojkovej sustave');
writeln('ak chces pokracovat v programe, stlac 1');
readln(s);
if s='1' then goto c;
end;
'2':
begin
write('Zadaj cislo ');
readln(desat);
vysledok:='';
while desat>0 do begin
sestnast:=desat mod 16;
case sestnast of
10: vysledok:='A'+vysledok;
11: vysledok:='B'+vysledok;
12: vysledok:='C'+vysledok;
13: vysledok:='D'+vysledok;
14: vysledok:='E'+vysledok;
15: vysledok:='F'+vysledok;
0..9: begin
str(sestnast,pomocna);
vysledok:=pomocna+vysledok;
end;
end;
desat:=desat div 16;
end;
writeln(desat,'v sesnastkovej sustave je',vysledok);
writeln('ak chces pokracovat v programe, stlac 1');
readln(s);
if s='1' then goto c;
end;
'3':
begin
desat:=0;
mocnina:=1;
write ('Zadaj dvojkove cislo: ');
readln(dva);
for I:=length(dva) downto 1 do begin
str(dva[i],cislo);
desat:=desat+cislo*mocnina;
mocnina:=mocnina*2;
end;
writeln(dva,'v desiatkovej sustave je',desat);
writeln('ak chces pokracovat v programe, stlac 1');
readln(s);
if s='1' then goto c;
end;
end;
repeat until keypressed;
end.ak by niekto mal este nieco moze sem hodit.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
na konci
str(dva,cislo);
nieco ze to msi byt zadeklarovane ako real alebo integer alebo take nieco ak som dobre pochopil a ked to dam tak potom mi pise ze to nema zmysel.
uz nevim.
Kód: Vybrať všetko
str(dva[i],cislo);
nieco ze to msi byt zadeklarovane ako real alebo integer alebo take nieco ak som dobre pochopil a ked to dam tak potom mi pise ze to nema zmysel.