Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 01. 11. 2010 13:13 — Editoval myrek (01. 11. 2010 13:14)

myrek
Příspěvky: 223
Reputace:   
 

pascal počet cifer

dobrý den
zadání: Určete počet cifer zadaného kladného celého čísla. Vstupní hodnotu načtěte ze standardního vstupu do proměnné celočíselného typu. Výsledek bude rovněž celé číslo, které zapište na standardní výstup. Např. pro zadané vstupní číslo 5814 se na výstupu musí objevit číslo 4.

Zkoušel jsem tohle, ale to asi není to pravé, protože potřebuji výsledek aby byl celé číslo nikoliv racionální

program pocetcifer;
var a,c:integer;b:real;
begin
read(a);
if a >=1 then
b:=(ln(a))/(ln(10))+1
else writeln('nelze');
writeln(b);
end.

děkuji za nápady.

a vzhledem k tomu že začínám v programování tak raději více vysvětlit.

Offline

  • (téma jako vyřešené označil(a) myrek)

#2 01. 11. 2010 13:30

septolet
Příspěvky: 334
Reputace:   
 

Re: pascal počet cifer

↑ myrek:

Využil bych spíše dělení 10 (div) a zbytku po dělení 10 (mod).

Offline

 

#3 01. 11. 2010 13:32

hradecek
Příspěvky: 772
Pozice: Student
Reputace:   25 
Web
 

Re: pascal počet cifer

Možno by bolo dobré previesť to na reťazec, a zistiť dĺžku(počet znakov) reťazca...
V tvojom prípade môžeš desatinnú časť jednoducho odrezať, alebo výraz pretypovať.


Netrápte sa nad svojimi problémami s matematikou, môžem vás uistiť, že tie moje sú ešte väčšie. ~~Albert Einstein~~
Jak spozná člověk, že není pitomec ? - Moudrý člověk to nepozná nikdy a blbci je to jedno. ~~Jak přicházejí básnici o iluze~~
Někteří lidi se nikdy nezmění. Anebo se rychle změní a pak se zase rychle změní nazpátek. ~~Homer Simpson~~

Offline

 

#4 01. 11. 2010 19:14

myrek
Příspěvky: 223
Reputace:   
 

Re: pascal počet cifer

myslis nejka pomoci lengthu?

Offline

 

#5 01. 11. 2010 19:23

hradecek
Příspěvky: 772
Pozice: Student
Reputace:   25 
Web
 

Re: pascal počet cifer

↑ myrek:
jj presne a zkonvertuješ to pomocou STR(odkiaľ-číslo, kam-reťazec) aspoň myslím...


Netrápte sa nad svojimi problémami s matematikou, môžem vás uistiť, že tie moje sú ešte väčšie. ~~Albert Einstein~~
Jak spozná člověk, že není pitomec ? - Moudrý člověk to nepozná nikdy a blbci je to jedno. ~~Jak přicházejí básnici o iluze~~
Někteří lidi se nikdy nezmění. Anebo se rychle změní a pak se zase rychle změní nazpátek. ~~Homer Simpson~~

Offline

 

#6 02. 11. 2010 11:16

myrek
Příspěvky: 223
Reputace:   
 

Re: pascal počet cifer

Pak me jeste napada tohle

program pocetcifer;
var a,c:integer;b:real;
begin
read(a);
if a >=1 then
b:=(ln(a))/(ln(10))+1
b:=trunc b
else writeln('nelze');
writeln(b);
end.

a vypsalo by me to zrejme u cisla napr 542 > 3.000000000......
ale nevim jestli by se to dalo uznat jestli nema byt resenim spise 3

diky

Offline

 

#7 02. 11. 2010 14:32

Honzc
Příspěvky: 4592
Reputace:   243 
 

Re: pascal počet cifer

↑ myrek:
Nejlépe asi takto:

var c,pc: Integer;
begin
  Write('Zadej cislo ');
  Readln(c);
  pc := 1;
  while c div 10 <> 0 do
  begin
    c := c div 10;
    pc := pc+1;
  end;
  WriteLn('Pocet cislic je ', pc);
  ReadLn;
end;

Offline

 

#8 02. 11. 2010 15:17 — Editoval Honza Matika (02. 11. 2010 15:17)

Jan Jícha
Veterán
Místo: Plzeň/Mnichov
Příspěvky: 1801
Škola: ZČU - FST - KMM
Pozice: Safety Engineer
Reputace:   74 
Web
 

Re: pascal počet cifer

↑ myrek:, kolega ↑ Honzc: použil cykly. Pokud jsi se cykly ještě neučil pak by to šlo i takto.

Code:

program pocetcifer;
uses wincrt;
var a,b:real;
begin
Writeln('Program vypocita pocet cifer zadaneho realneho cisla');
readln;
Write('Zadej cislo ');
readln(a);
if a >=1 then
begin
b:=(ln(a))/(ln(10))+1;
b:=trunc b;
end
else writeln('Cislo je mensi nez jedna');
writeln('Pocet cifer je ',b:2:0);
readln;
end.

Offline

 

#9 02. 11. 2010 19:59

myrek
Příspěvky: 223
Reputace:   
 

Re: pascal počet cifer

všem kolegům díky
téma považuji za vyřešené

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson