1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
-- 23/02/2012 -- Escriba un programa que saque por pantalla todos los números primos comprendidos entre dos números introducidos por teclado. with ada.text_io; with ada.integer_text_io; procedure ada7x04 is use ada.text_io; use ada.integer_text_io; inicio,fin,i:integer; -- COMPRUEBA SI UN NUMERO ES PRIMO O NO: function numerosPrimos( num: in integer ) return boolean is -- Precondición: Se ha de recibir un parámetro de entrada de tipo entero. -- Poscondición: Devuelve true o false. i:integer; respuesta:boolean; begin i:=2; respuesta:=true; while i < num loop if num mod i = 0 then respuesta:=false; end if; i:=i+1; end loop; return respuesta; end numerosPrimos; begin put("Introduzca un número entero: "); get(inicio); put("Introduzca un segundo número entero: "); get(fin); put("Los números primos comprendidos entre "); put(inicio,width=>1); put(" y "); put(fin,width=>1); put_line(" son: "); new_line; put(" "); if inicio < fin then i:=inicio; while i<fin loop if numerosPrimos(i) then put(i,width=>1); put(", "); end if; i:=i+1; end loop; elsif inicio > fin then i:=fin; while i<inicio loop if numerosPrimos(i) then put(i,width=>1); put(", "); end if; i:=i+1; end loop; end if; end ada7x04; |