Documente Academic
Documente Profesional
Documente Cultură
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