El alumno debe saber estos errores en el pseudocódigo no conllevan ningún problema, pero
cuando escriba en el lenguaje de programación el algoritmo debe respetar las normas léxicas y
sintácticas del lenguaje o tendrá errores de compilación
8.1 Algoritmo que lea un número por el teclado e indique si el número leído es mayor
que 10 y si el número leído es menor que 20.
Programa CompararNumero;
Entorno
Entero numero;
Inicio
Escribe “Introduce un número:”;
Lee numero;
Si numero > 10 entonces
Escribe “El número es mayor que 10”;
Fin si;
Si numero < 20 entonces
Escribe “El número es menor que 20”;
Fin si;
Fin;
8.2 Algoritmo que lea dos números por teclado y muestre un mensaje por pantalla
indicando si el cuadrado el primero es mayor que el cubo del segundo.
Programa CoparaConOperaciones;
Entorno
Entero num1, num2; // Nºs leidos por teclado
Entero cuadrado, cubo; // Vars. Temporales
Inicio
Escribe “Introduce el primer número”;
Lee num1;
Escribe “Introduce el segundo número”;
Lee num2;
© Santiago D. Página 1 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
cuadrado = n1 * n1;
cubo = n2 * n2 * n2;
Si cuadrado > cubo entonces
Escribe “El cuadrado del 1º es mayor que el cubo del 2º”;
Fin si;
Fin;
8.3 Algoritmo que lean un número entero entre 1 y 10, y nos muestre por pantalla el
número en letra (el literal). Si el número leído no esta comprendido entre 1 y 10
mostrar dicha incidencia.
Programa NumeroALiteral;
Entorno
Entero n;
Inicio
Escribe “Introduce un número: “;
Lee n;
/* Aunque se cumpla una condición el ordenador debe evaluarlas
todas, con el coste de rendimiento que esto representa */
Si n = 1 entonces
Escribe “Uno”;
Fin si;
Si n = 2 entonces
Escribe “Dos”;
Fin si;
Si n = 3 entonces
Escribe “Tres”;
Fin si;
Si n = 4 entonces
Escribe “Cuatro”;
Fin si;
Si n = 5 entonces
Escribe “Cinco”;
Fin si;
Si n = 6 entonces
Escribe “Seis”;
Fin si;
Si n = 7 entonces
Escribe “Siete”;
Fin si;
Si n = 8 entonces
Escribe “Ocho”;
Fin si;
Si n = 9 entonces
Escribe “Nueve”;
Fin si;
Si n = 10 entonces
Escribe “Diez”;
Fin si;
/* Comprobamos si el número no está entre 1 y 10 para mostrar
mensaje */
Si n < 1 o n> 10 entonces
Escribe “El número no está entre 1 y 10”;
Fin si;
Fin;
10.1 Realizar un algoritmo que lea tres números por teclado y nos indique cual de ellos
es el mayor.
Programa NumerosOrdenados;
Entorno
Entero n1, n2, n3; // Nºs leidos por teclado
© Santiago D. Página 2 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
Inicio
Escribe “Introduce 3 números”;
Lee n1, n2, n3;
Si n1 > n2 entonces
// El mayor será n1 o n3
Si n1 > n3 entonces
Escribe “El mayor es “, n1;
Sino // n1 <= n3
Escribe “El mayor es “, n3;
Fin si;
Sino
// n1 <= n2, debemos comparar n2 y n3. El mayor será n2 o n3
Si n2 > n3 entonces
Escribe “El mayor es “, n2;
Sino
Escribe “El mayor es “, n3;
Fin si;
Fin si
Fin
10.2 Algoritmo que lee tres números cualesquiera y los escribe ordenados de forma
ascendente.
Programa NumerosOrdenAscendente;
Entorno
Entero n1, n2, n3;
Inicio
Escribe “Introduce tres números: “;
Lee n1, n2, n3;
Si n1 > n2 entonces
Si n2 > n3 entonces
Escribe n3, n2, n1;
Sino // n2 <= n3
Si n1 > n3 entonces
Escribe n2, n3, n1;
Sino
Escribe n2, n1, n3;
Fin si;
Fin si;
Sino // n1 <= n2
Si n2 < n3 entonces
Escribe n1, n2, n3;
Sino // n2 >= n3 y n2 >= n1
Si n1 > n3 entonces
Escribe n3 n1, n2;
Sino
Escribe n1, n3, n2;
Fin si;
Fin si;
Fin si
Fin;
© Santiago D. Página 3 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
7<=Nota<9 NOT
9<=Nota<=10 SOB
Programa NumeroALiteral;
Entorno
Entero n;
Inicio
Escribe “Introduce un número: “;
Lee n;
/* No sangraremos todas las sentencias incluidas dentro del
Sino pues no hay espacio en el papel y además está forma es más
clara. No hay que olvidar poner tantos Fin si como Si hayamos
abierto */
Si n = 1 entonces
Escribe “Uno”;
Sino Si n = 2 entonces
Escribe “Dos”;
Sino Si n = 3 entonces
Escribe “Tres”;
Sino Si n = 4 entonces
Escribe “Cuatro”;
Sino Si n = 5 entonces
Escribe “Cinco”;
Sino Si n = 6 entonces
Escribe “Seis”;
Sino Si n = 7 entonces
Escribe “Siete”;
Sino Si n = 8 entonces
Escribe “Ocho”;
Sino Si n = 9 entonces
Escribe “Nueve”;
Sino Si n = 10 entonces
Escribe “Diez”;
Sino
/* El número no está entre 1 y 10 para mostrar mensaje */
Escribe “El número no está entre 1 y 10”;
Fin si; Fin Si; Fin Si; … Fin Si;
/* A diferencia de la implementación del ejercicio 8.3 este
algoritmo cuando una condición es cierta no evalúa el resto
innecesariamente */
Fin;
11.1 Algoritmo que lee tres números cualesquiera y nos indica todas sus relaciones
de igualdad
Programa RelacionesIgualdad;
Entorno
Entero n1, n2, n3;
Inicio
Escribe “Introduce tres números: “;
Lee n1, n2, n3;
Si n1 = n2 y n1 = n3 entonces
Escribe “Los tres números son iguales”;
Sino
Si n1 = n3 entonces
Escribe “El 1º y el 2º son iguales”;
Sino
Si n2 = n3 entonces
Escribe “El 2º y el 3º son iguales”;
Sino
Escribe “Todos son distintos”;
© Santiago D. Página 4 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
Fin si;
Fin si;
Fin si
Fin;
11.2 Algoritmo que recibe como datos de entrada una hora expresada en horas,
minutos y segundos que nos calcula y escribe la hora, minutos y segundos que
serán transcurrido un segundo.
Programa UnSegundoDespues;
Entorno
Entero hora, min, seg;
Inicio
Escribe “Introduce hora: “;
Lee hora;
Escribe “Introduce minuto: “;
Lee min;
Escribe “Introduce segundo: “;
Lee seg;
11.3 Algoritmo que lee como dato de entrada un año y nos dice si se trata de un año
bisiesto o no. Se sabe que son bisiestos todos los años múltiplos de 4, excepto los
que sean múltiplos de 100 sin ser múltiplos de 400.
Programa EsBisiesto;
Entorno
Entero anyo;
Inicio
Escribe “Introduce Año: “;
Lee anyo;
Si (anyo % 4 = 0) y
No ( anyo % 100 = 0 y no ( anyo % 400 =0) ) entonces
Escribe “El año “, anyo , “ es bisiesto”;
Sino
Escribe “El año “, anyo , “ NO es bisiesto”;
Fin si;
Fin;
© Santiago D. Página 5 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
12.2 Algoritmo que lee el precio final pagado por un producto y su precio de tarifa y
nos calcula el porcentaje de descuento que le ha sido aplicado.
Programa Calculo_Descuento;
Entorno
Entero PrecioFinal, PrecioTarifa;
Inicio
Escribe “Introduce precio Tarifa: “;
Lee PrecioTarifa;
Escribe “Introduce precio Final: “;
Lee PrecioFinal;
12.3 Algoritmo que lee 3 números distintos y nos dice cual de ellos es el menor.
Programa NumeroMenor;
Entorno
Entero n1, n2, n3; // Nºs leidos por teclado
Inicio
Escribe “Introduce 3 números”;
Lee n1, n2, n3;
Si n1=n2 o n1=n3 o n2=n3 entonces
Escribe “Los números no son distintos”;
Sino
Si n1 < n2 entonces
// El menor será n1 o n3
Si n1 < n3 entonces
Escribe “El menor es “, n1;
Sino // n1 >= n3
Escribe “El menor es “, n3;
Fin si;
© Santiago D. Página 6 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
Sino
// n1 >= n2, debemos comparar n2 y n3. El menor será n2 o n3
Si n2 < n3 entonces
Escribe “El menor es “, n2;
Sino
Escribe “El menor es “, n3;
Fin si;
Fin si;
Fin si;
Fin
12.4 Algoritmo que lee como datos de entrada una fecha expresada en día (1..31),
mes (1..12, y año y nos dice la fecha que será el día siguiente. Se supondrá que
febrero tiene siempre 28 días.
Programa UnDiaDespues;
Entorno
Entero dia, mes, anyo;
Entero numDiasMes;
Inicio
Escribe “Introduce Dia: “;
Lee dia;
Escribe “Introduce Mes: “;
Lee mes;
Escribe “Introduce Año: “;
Lee Año;
Si mes = 2 entonces
numDiasMes = 28;
Sino
Si mes=4 o mes=6 o mes=9 o mes=11 entonces
// Meses de 30 días: Abrir, Junio, Sept. Nov.
NumDiasMes = 30;
Sino
// El resto tiene 31 días
NumDiasMes = 31;
Fin si;
Fin si;
Si dia > numDiasMes entonces
mes = mes + 1;
dia = 1;
Si mes > 12 entonces
anyo = anyo + 1;
mes = 1;
Fin si;
Fin si;
Escribe “Un día después es: “, dia, “/”, mes, “/”, anyo;
Fin;
12.5 Plantea el algoritmo anterior sin suponer que febrero tiene 28 días.
Programa UnDiaDespues;
Entorno
Entero dia, mes, anyo;
Entero numDiasMes;
Inicio
Escribe “Introduce Dia: “;
Lee dia;
Escribe “Introduce Mes: “;
Lee mes;
© Santiago D. Página 7 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
Si mes = 2 entonces
Si (anyo % 4 = 0) y
No ( anyo % 100 = 0 y no ( anyo % 400 =0) ) entonces
// Es bisiesto
numDiasMes = 29;
Sino
numDiasMes = 28;
Fin Si;
Sino
Si mes=4 o mes=6 o mes=9 o mes=11 entonces
// Meses de 30 días: Abrir, Junio, Sept. Nov.
NumDiasMes = 30;
Sino
// El resto tiene 31 días
NumDiasMes = 31;
Fin si;
Fin si;
// Filtramos si la fecha es correcta
Si dia>=1 y dia<=numDiasMes y Mes >= 1 y mes <= 12 entonces
Si dia > numDiasMes entonces
mes = mes + 1;
dia = 1;
Si mes > 12 entonces
anyo = anyo + 1;
mes = 1;
Fin si;
Fin si;
Escribe “Un día después es: “, dia, “/”, mes, “/”, anyo;
Sino
Escribe “La fecha es incorrecta”;
Fin Si;
Fin;
12.6 Algoritmo que lee dos números enteros, positivos y distintos y nos dice si el
mayor es múltiplo del menor o, lo que es lo mismo, si el menor es divisor del mayor.
Programa EsDivisorElMenor;
Entorno
Entero n1, n2; // Nºs leídos por teclado
Entero mayor, menor; // Variables temporales
Inicio
Escribe “Introduce 2 números”;
Lee n1, n2;
// Buscamos el mayor y el menor
Si n1 > n2 entonces
mayor = n1;
menor = n2;
Sino
mayor = n2;
menor = n1;
Fin si;
Si mayor % menor = 0 entonces
Escribe Mayor, “ es múltiplo de ”, menor;
Sino
Escribe “No existe ninguna relación entre los números”;
Fin si;
Fin
© Santiago D. Página 8 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
12.7 Algoritmo que calcula la edad de una persona recibiendo como datos de entrada
la fecha de nacimiento, y la fecha actual, ambas en tres variables.
Programa EdadEnAnyos;
Entorno
Entero d_n, m_m, a_n; // Fecha de nacimiento
Entero d_a, m_a, a_a; // Fecha de actual
Entero Edad; // variable temporal
Inicio
Escribe “Introduce Fecha nacimiento: “;
Lee d_n, m_n, a_n;
Escribe “Fecha actual: “;
Lee d_a, m_a, a_a;
16.1 Realizar un algoritmo que muestre por pantalla los números pares menores de
100.
Programa ParesMenoresQue100;
Entorno
Entero n;
Inicio
n = 2;
Mientras n<100 hacer
Escribe n;
n = n + 2;
Fin Mientras;
Fin
Otra forma
Programa ParesMenoresQue100;
Entorno
Entero n;
Inicio
n = 1;
Mientras n<100 hacer
Si n % 2 = 0 entonces
Escribe n;
Fin si;
n = n + 1;
Fin Mientras;
Fin
16.2 Realizar un algoritmo que muestre por pantalla los números múltiplos de 5
menores que 10000.
Programa MultDe5Menor1000;
Entorno
Entero n;
Inicio
© Santiago D. Página 9 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
n = 5;
Mientras n<1000 hacer
Escribe n;
n = n + 5;
Fin Mientras;
Fin
16.3 Algoritmo que lea un número por teclado e imprima por pantalla todos los
números positivos menores que N
Programa ListaNumeros;
Entorno
Entero n;
Entero i; // Contador
Inicio
Escribe “Introduce un número: “;
Lee n;
i = 1;
Mientras i < n hacer
Escribe i;
i = i + 1;
Fin Mientras;
Fin
Otra forma
Programa ListaNumeros;
Entorno
Entero n;
Inicio
Escribe “Introduce un número: “;
Lee n;
Mientras n>1 hacer
n = n - 1;
Escribe n;
Fin Mientras;
Fin
20.1 Algoritmo que lee una secuencia de 10 números y obtiene e imprime cuantos hay
positivos, negativos y nulos.
Programa CuentaNumeros;
Entorno
Entero n;
Entero i; // Variable control del bucle
Entero nPos, nNeg, nNulos; // Contadores
Inicio
nPos=0; nNeg=0; nNulos=0;
i = 0;
Mientras i<10 hacer
Escribe “Introduce un número: “;
Lee n;
Si n>0 entonces
nPos = nPos + 1; // Es positivo
Sino
Si n < 0 entonces
nNeg = nNeg + 1; // Es negativo
Sino
nNulos = nNulos + 1; // Es cero
FinSi;
FinSi;
i = i + 1;
© Santiago D. Página 10 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
Fin Mientras;
Escribe “Total positivos :”, nPos;
Escribe “Total negativos :”, nNeg;
Escribe “Total nulos :”, nNulos;
Fin
20.2 Algoritmo que lee una secuencia de números no nulos, terminada con la
introducción de un 0, y obtiene e imprime el mayor, visualizando un mensaje de si
ha leído algún número negativo.
Programa CuentaNumeros;
Entorno
Entero n;
Entero mayor; // Guarda el valor del mayor
Booleano hayNegativos; // switch
Inicio
hayNegativos = false; // suponemos que no hay negativos
/* El menor de los posibles, cualquier número de los leídos por
teclado será mayor que este */
mayor = -9999999;
hacer
Escribe “Introduce un número: “;
Lee n;
Si n <> 0 entonces
// Procesamos el número leído
Si n < 0 entonces
hayNegativos = true; // Se ha encontrado un negativo
FinSi;
Si n > mayor entonces
/* Se ha encontrado un número mayor que el actual, lo
seleccionamos como mayor */
mayor = n
Fin si;
Fin si;
Mientras n <> 0;
Escribe “El mayor es :”, mayor;
Si hay Negativos entones
Escribe “Se han encontrado números negativos”;
Fin Si;
Fin
© Santiago D. Página 11 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
20.3 Algoritmo que lee un número entero positivo N y calcula e imprime el factorial de
N!. Si lee un número negativo indica con un mensaje que no es posible la
operación.
Programa Factorial;
Entorno
Entero n;
Entero i; // Contador
Entero resultado;
Inicio
Escribe “Introduce un número: “;
Lee n;
Si n < 0 entonces
Escribe “No existe factorial de un número negativo”;
Sino
resultado = 1; // Inicializamos el acumulador
i = 1;
Mientras i < n hacer
resultado = resultado * i;
Fin Mientras;
Escribe “El factorial de ”, n, “ es ”, resultado;
Fin si;
Fin
20.4 Algoritmo que lee un número X y otro entero positivo N y calcula la N-ésima
potencia de X (sin utilizar el operador de potencia).
Programa Potencia;
Entorno
Entero x, n;
Entero i; // Contador
Entero resultado;
Inicio
Escribe “Introduce un número: “;
Lee x;
Escribe “Introduce la potencia: “;
Lee n;
Si n < 0 entonces
Escribe “No se calcular potencias negativas”;
Sino
resultado = 1; // Inicializamos el acumulador
i = 1;
Mientras i < n hacer
resultado = resultado * x;
Fin Mientras;
© Santiago D. Página 12 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
20.5 Algoritmo que obtenga el producto de dos números enteros positivos mediante
sumas sucesivas.
/* Ampliamos el problema para permitir números negativos */
Programa Producto;
Entorno
Entero n1, n2;
Entero i; // Contador
Entero resultado;
Booleano resultadoNeg;
Inicio
Escribe “Introduce un número 1º: “;
Lee n1;
Escribe “Introduce un número 2º: “;
Lee n2;
/* Debemos considerar el caso de que alguno de los números
sea negativo, lo mejor es poner los dos números en positivo y
luego considerar el signo.
Vamos a evitar usar el operador de producto * */
resultadoNeg = (n1 < 0 o n2 < 0) y no (n1 < 0 y n2 < 0);
20.6 Algoritmos que obtenga el cociente y el resto de dos números enteros positivos
mediante restas.
/* Ampliamos el problema para permitir números negativos */
Programa Division;
Entorno
Entero dividendo, divisor;
Entero resto, cociente;
Booleano resultadoNeg;
Inicio
Escribe “Introduce dividendo: “;
Lee dividendo;
Escribe “Introduce divisor: “;
Lee divisor;
/* Debemos considerar el caso de que alguno de los números
sea negativo, lo mejor es poner los dos números en positivo y
luego considerar el signo.
© Santiago D. Página 13 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
20.7 Algoritmo que lee tres números A, B, C, y los imprime en orden creciente e indica
si fueron introducidos en ese orden.
/* Este problema es casi idéntico a uno resulto con anterioridad
*/
Programa NumerosOrdenAscendente;
Entorno
Entero n1, n2, n3;
Inicio
Escribe “Introduce tres números: “;
Lee n1, n2, n3;
Si n1 > n2 entonces
Si n2 > n3 entonces
Escribe n3, n2, n1;
Sino // n2 <= n3
Si n1 > n3 entonces
Escribe n2, n3, n1;
Sino
Escribe n2, n1, n3;
Fin si;
Fin si;
Sino // n1 <= n2
Si n2 < n3 entonces
Escribe n1, n2, n3;
Sino // n2 >= n3 y n2 >= n1
Si n1 > n3 entonces
Escribe n3 n1, n2;
Sino
Escribe n1, n3, n2;
Escribe “Los números se introdujeron ordenados”;
Fin si;
Fin si;
Fin si
Fin;
© Santiago D. Página 14 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
21.1 Algoritmo que lea un número por teclado y nos diga si es primo.
/* Un número es primo cuando solo es divisible por si mismo y por
el 1.
*/
Programa NumeroPrimo;
Entorno
Entero n, cont;
Booleano esPrimo; // Variable que indicará si es primo o no
Inicio
Escribe “Introduce un número: “;
Lee n;
esPrimo = true; // suponemos que el número es primo
cont = 2; // Empezamos dividiendo por 2
21.2 Algoritmo que genera la lista de los N primeros números primos, siendo N el dato
de entrada.
/* Para resolver este algoritmo es necesario realizar una
aproximación descendente. Partiendo del hecho de que ya sabemos
calcular si un número es o no primo, damos por supuesta esta
operación e intentamos resolver el problema.
Lee n;
i = 1; // Contador que avanza por los números
nPrimos = 0; // Nº de primos que hemos visualizado
mientras i < n hacer
Si i es un número primo entonces
Escribe i;
nPrimos = nPrimos + 1;
Fin Si;
/* Fijarse que está fuera del si, se incrementa siempre
independiente de que el número i sea primo o no */
© Santiago D. Página 15 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
i = i + 1;
Fin Mientras;
Programa NPrimerosPrimos;
Entorno
// Variables utilizadas para ver si el número i es primo
Entero i, cont;
Booleano esPrimo; // Variable que indicará si es primo o no
// Variables utilizadas para ir probando los números
Entero nPrimos;
Entero n;
// Enterio i; Declarada previamente
Inicio
Escribe “Introduce un número: “;
Lee n;
Si esPrimo entonces
Escribe i;
nPrimos = nPrimos + 1;
Fin Si;
/* Fijarse que está fuera del si, se incrementa siempre
independiente de que el número i sea primo o no */
i = i + 1;
Fin Mientras;
Fin;
21.3 Algoritmo lea un número N y muestre por pantalla los números primos menores
que N.
/* Para resolver este algoritmo es necesario realizar una
aproximación descendente. Partiendo del hecho de que ya sabemos
calcular si un número es o no primo, damos por supuesta esta
operación e intentamos resolver el problema.
Lee n;
Para i=1 hasta n-1 hacer
Si i es un número primo entonces
© Santiago D. Página 16 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
Escribe i;
Fin Si;
Fin Para;
Programa NPrimerosPrimos;
Entorno
// Variables utilizadas para ver si el número i es primo
Entero i, cont;
Booleano esPrimo; // Variable que indicará si es primo o no
// Variables utilizadas para ir probando los números
Entero n;
// Enterio i; Declarada previamente
Inicio
Escribe “Introduce un número: “;
Lee n;
Si esPrimo entonces
Escribe i;
Fin Si;
Fin Para;
Fin;
21.4 Algoritmo que calcula e imprime los números perfectos menores que 1000. (Un
número es perfecto si la suma de sus divisores, excepto él mismo, es igual al propio
número.).
/* Para resolver este algoritmo es necesario realizar una
aproximación descendente. Damos por supuesta la operación es
numero perfecto que más adelante desarrollaremos
© Santiago D. Página 17 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
Fin Para;
Programa NumerosPerfectos;
Entorno
Entero n i, sumaDivisores;
Inicio
Para n=1 hasta 999 hacer
/* Si n es numero perfecto entonces */
sumaDivisores = 0;
Para i=1 hasta n-1 hacer
Si n % i = 0 entonces
sumaDivisores = sumaDivisores + n;
Fin si;
Fin Para
Si sumaDivisores = n entonces
// N es un número perfecto
Escribe n;
Fin Si;
Fin Para;
Fin;
21.5 Algoritmo que evalúa un polinomio de grado N. Los datos de entrada son el valor
de la variable y los coeficientes.
Programa EvaluaPolinomio;
Entorno
Entero coef, grado, x, i;
Entero valorPol;
Inicio
Escribe “Grado del polinomio: “;
Lee grado;
Escribe “Valor de X: “;
Lee x;
// Acumulador en el que guardaremos el valor del polinomio
valorPol = 0;
Para i=x hasta 0 incremento -1
Escribe “Introduce coeficiente de grado (“, i, “):”;
Lee coef;
valorPol = valorPol + coef * x ^ i;
Fin para;
Escribe “El valor del polinomio es: “, valorPol;
Fin
21.6 Algoritmo que lee un número entero positivo N e imprime su tabla de multiplicar.
Programa TablaMultiplicar;
Entorno
© Santiago D. Página 18 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
Entero n, i;
Inicio
Escribe “Introduce un número: “;
Lee n;
22.1 Algoritmo que lee un número entero y positivo N y escribe la lista de sus
divisores.
Programa ListaDivisores;
Entorno
Entero n, i;
Inicio
Escribe “Introduce un número: “;
Lee n;
22.2 Algoritmo que lee un número entero y positivo y calcula y escribe la suma de sus
divisores.
Programa SumaDivisores;
Entorno
Entero n, i;
Entero suma;
Inicio
Escribe “Introduce un número: “;
Lee n;
Suma=0;
Para i=1 hasta n
Si n % i = 0 entonces
Suma = suma + i;
Fin Si;
Fin Para;
Escribe “La suma de sus divisores es: “, suma;
Fin
22.3 Algotimo que lee un número entero y positivo N y escribe los N primeros términos
de la sucesión de Fibonacci. La sucesión se caracteriza porque cada término es
igual a la suma de sus dos anteriores, dandose por definición el primero (0) y el
segundo (1).
a1 = 0 a2= 1 an = an-1 + an-2
Programa Fibonacci;
Entorno
Entero an, an_1;
Entero suma; // an + an_1
Entero n, cont;
Inicio
Escribe “Introduce un número: “;
© Santiago D. Página 19 de 20
Fundamentos de Programación I.E.S San Sebastián - Huelva
Lee n;
// Comenzamos bucle
an_1 = 0;
an = 1;
/* Los dos casos anteriores ya se han visualizado, por eso
empezamos en 3 */
Para cont=3 hasta n
Suma = an + an_1; // Calculamos el término siguiente
Escribe suma;
// Los dos últimos términos avanzan una posición
an_1 = an;
an = suma;
Fin Para;
Fin
© Santiago D. Página 20 de 20