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 19. 06. 2012 12:40

tunderke87
Zelenáč
Příspěvky: 4
Reputace:   
 

norma velkych cisel - PASCAL

Ahoj, furt tam mam hlasku fatal error compilation aborted. Co mam spatne? Pouzivam Free Pascal.

program normy;
const M=10;
type  u = array [1..M] of extended;
var N, i :integer;
     norm: extended;

begin
N:= 4;
u[1]:= 100000;
u[2]:= 1.0E+15;
u[3]:= 1.0E+25;
u[4]:= 1.0E+35;
norm:= 0;

for i:=1 to N do
   norm:= norm + u[i]*u[i];


norm:=sqrt(norm);
write(norm);
end.

Offline

 

#2 19. 06. 2012 13:30

Sulfan
Příspěvky: 373
Reputace:   23 
 

Re: norma velkych cisel - PASCAL

To, co jsi definoval jako u je typ datové struktury (pole), nikoliv samotná proměnná. správně by byla deklarace například:

Code:

type
Typ_pole = array [1..M] of extended;

var
u : Typ_pole;

Offline

 

#3 19. 06. 2012 13:54

tunderke87
Zelenáč
Příspěvky: 4
Reputace:   
 

Re: norma velkych cisel - PASCAL

Prepsala jsem program podle navodu, ale nadale hlaska compilation aborted. Uz vazne nevim co s tim. Mam verzi Free Pascal 2.4.0

program normy;
const M=10;
type Type_pole = array [1..M] of extended;
var N, i :integer;
     norm, vys: extended;
     u: Typ_pole;
begin
N:= 4;
u[1]:= 100000;
u[2]:= 1.0E+15;
u[3]:= 1.0E+25;
u[4]:= 1.0E+35;
norm:= 0;

for i:=1 to N do
   norm:= norm + u[i]*u[i];


vys:=sqrt(norm);
write(vys);
end.

Offline

 

#4 19. 06. 2012 14:04

Stýv
Vrchní cenzor
Příspěvky: 5710
Reputace:   215 
Web
 

Re: norma velkych cisel - PASCAL

type Type_pole

Offline

 

#5 19. 06. 2012 14:18

tunderke87
Zelenáč
Příspěvky: 4
Reputace:   
 

Re: norma velkych cisel - PASCAL

ani takhle to nejde. Zkusil to nekdo kompilovat v necem? pokud ano, v cem to funguje? Mela bych to s tim Free Pascalem? diky moc

program normy;
const M=10;
type Typ_pole = array [1..M] of extended;
var N, i :integer;
     norm, vys: extended;
     u: Typ_pole;
begin
N:= 4;
u[1]:= 100000;
u[2]:= 1.0E+15;
u[3]:= 1.0E+25;
u[4]:= 1.0E+35;
norm:= 0;

for i:=1 to N do
   norm:= norm + u[i]*u[i];


vys:=sqrt(norm);
write(vys);
end.

Offline

 

#6 19. 06. 2012 15:11

Sulfan
Příspěvky: 373
Reputace:   23 
 

Re: norma velkych cisel - PASCAL

↑ tunderke87:Ten poslední program, co tu uvádíš, se mi normálně zkompliluje a vypíše výsledek $1.0 \cdot 10^{35}$. Používám Free Pascal (editor i kompilátor) pro win32.

$10^{10}+10^{30}+10^{50}+10^{70} \approx 10^{70}$ co když se odmocní je opravdu $1.0 \cdot 10^{35}$

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson