2015-09-06 43 views
0
PROGRAM FactorPrimo(input,output); 
VAR 
    numero : integer; 
    factor : integer; 
    resto : integer; 
    primo : integer; 
    multiplicidad : boolean; 

BEGIN 
    write('Ingrese numero: '); 
    readln(numero); 
    factor := 2; 
    primo := 0; 
    multiplicidad := false; 
    IF numero > 1 THEN 
    BEGIN 
     REPEAT 
     BEGIN 
      resto := numero MOD factor; 
      IF resto = 0 THEN 
      BEGIN 
       numero := numero DIV factor; 
       primo := primo + 1; 
       multiplicidad := true; 
      END 
      ELSE IF multiplicidad = true THEN 
       IF primo > 1 THEN 
       writeln(factor,'^',primo); 
       multiplicidad := false; 
       ELSE 
       writeln(factor); 
       multiplicidad := false; 
      ELSE 
      factor := factor + 1; 
      primo := 0; 
      END; 
     UNTIL numero = 1 
     writeln(factor); 
    END 
    ELSE 
     write('Debe ingresar un numero mayor a 1'); 
END. 

您好抱歉打擾你,我previusly提出對Java的代碼,現在是裝盤要翻譯成PASCAL,但爲什麼它說我有一個語法錯誤,我不能想通了, 「;」預期但行(30,5)發現「ELSE」。 你能幫我嗎?Pascal語法錯誤行

+0

你需要後包圍的代碼你'和'begin' else'和'end' – nepb

回答

0

我設法在puting分號來解決這個問題:

UNTIL numero = 1;