Está en la página 1de 19

0.- TITULO Y NMERO DEL PROBLEMA.

AUTOR: NOMBRE
ENUNCIADO
Antes que nada, debe DOMINARSE la seleccin de ESTILOS (en la parte superior izquierda de
la pantalla de WORD), de forma que el ttulo debe ir seleccionado con el estilo TITULO, este
enunciado con el estilo ENUNCIADO, el planteamiento con es estilo PLANTEAMIENTO, y
finalmente el listado del algoritmo con el estilo ALGORITMO.
Describir con este estilo (ENUNCIADO) el enunciado del problema. En caso de que se detecten
imprecisiones o incorrecciones, se podrn precisar, indicando las codificaciones efectuadas.
PLANTEAMIENTO Y SOLUCIN ADOPTADA
Con este estilo (ENUNCIADO) se describir con un cierto nivel de detalle la solucin adoptada al
problema, los mdulos que lo forman, los procesos bsicos seguidos y en caso de que existan diferentes
alternativas para resolver el problema, la justificacin de la adoptada (VER EJEMPLO).
Como normas bsicas se aceptarn las siguientes:
0.- LOS DOCUMENTOS EMPLEARN LA PLANTILLA PROPORCIONADA
1.- NO EMPLEAR RETORNOS DE CARRO PARA SEPARAR PRRAFOS
2.- NO UTILIZAR NEGRITAS NI SUBRAYADOS (ms que los propios de cada estilo)
3.- Emplear los tabuladores SOLO EN EL ALGORITMO, para mostrar el nivel de indentacin
4.- Se entregarn un MINIMO de CINCO y un MAXIMO DE QUINCE problemas resueltos
5.- Se valorarn de acuerdo a su cantidad, calidad y originalidad para aportar UN MINIMO DE 0.5
puntos (5 ejercicios poco originales, no excesivamente bien planteados) y UN MAXIMO DE 3 PUNTOS
EN LA NOTA FINAL. EL EXAMEN SER VALORADO DE 0 A 6 PUNTOS, SUMNDOSE CON
ESTE APARTADO y UN MXIMO DE UN PUNTO POR PARTICIPACIN EN CLASE, DE CARA A
LA CONSECUCIN DE LA NOTA FINAL.
6.- LA ENTREGA SE HAR POR CORREO ELECTRNICO A LA DIRECCIN:
OCON@ETSII.ULPGC.ES
PARA ELLO se incorporar EN UN SOLO MENSAJE COMO ADJUNTO ATTACHMENT UN
SOLO DOCUMENTO EN EL QUE ESTARN TODOS LOS ALGORITMOS (separados por saltos de
pgina). EL ALUMNO DEBE CONSERVAR SU TRABAJO EN EL DISCO P: DE LA RED DE LA
SALA 3 HASTA LA PUBLICACIN DE SU NOTA EN EL ACTA.
LISTADODELALGORITMO
FINALMENTE,conelestiloALGORITMOsedescribirelalgoritmo
UTILIZANDOELMISMOlenguajedelosapuntes(vereldocumento
EJEMPLO).LosTABULADORESseemplearnparaindentarlosbuclesy
losesquemascondicionales,ylosCOMENTARIOSseintroducirnel
lneasseparadasyenmarcadosentreASTERISCOS.SedebeECONOMIZAR
ALMXIMOELEMPLEODELETRASMAYSCULAS,utilizndolassloparalos
comentarios,etc.EJEMPLO:
*ESTOESUNEJEMPLODEUNDOBLEBUCLECONCONDICIONAL*
paraide1ay1
parajdei+1ay
six(i)<x(j)
paso=x(i)
x(i)=x(j)
x(j)=paso
finsi
finpara

finpara
fin

1.-MASTER MIND. N 18. AUTOR: VICENTE M. MARTNEZ RODRGUEZ.


ENUNCIADO
Se trata de elaborar un programa para jugar al MASTER MIND numrico. Este juego
consiste en adivinar una secuencia aleatoria de cuatro dgitos en el menor nmero de intentos
posibles, teniendo en cuenta que el ordenador nos informar, tras cada intento, del nmero de
dgitos correctos en su posicin correcta( que denominaremos muertos), y del nmero de dgitos
correctos pero en posicin incorrecta( que definiremos como heridos. Se admiten repeticiones en
la generacin de los dgitos.
PLANTEAMIENTO Y SOLUCIN ADOPTADA.
La solucin propuesta se considera apropiada y sencilla para la resolucin del problema. Basada en un
bucle repetir que camina con cada intento del jugador, y donde tras leer la apuesta, se compara sta con la
solucin mediante bucles para, escribiendo despus el nmero de aciertos que se ha tenido, y usando
como condicin de salida del bucle repetir el tener 4 muertos en la ltima apuesta comparada, esto es,
haber acertado el nmero. Al final se informa del nmero de intentos que se han requerido para acabar el
juego.
LISTADODELALGORITMO
ALGORITMOMASTERMIND.
Variablesenterasi,j,heridos,muertos,intentos.
Vectoresenterosnumero(4),apuesta(4)
Intentos=1
Repetir
EMPIEZAELBUCLELEYENDOLAAPUESTA
Paraide1a4hacer
Leerapuesta(i)
Finpara
Heridos=0
Muertos=0
COMPARACIONDELAAPUESTACONELNUMERO
Paraide1a4hacer
Parajde1a4hacer
Siapuesta(i)=numero(j)entonces
Sii=jentonces
Muertos=muertos+1
Sino
Heridos=Heridos+1
Finsi
Finsi
Finpara
Finpara
AHORASEESCRIBENLOSRESULTADOS
Escribirmuertos=,muertos
Escribirheridos=,heridos
Intentos=intentos+1
HastaMuertos=4
Escribir Lohaconseguidoen,intentos,intentos
fin

2.-CAMPO MINADO. N 11. AUTOR: VICENTE M. MARTNEZ RODRGUEZ.


ENUNCIADO
El objetivo de este algoritmo consiste en distribuir aleatoriamente 50 minas (que se
representarn por un valor igual a 10) en una matriz entera de 10 filas y 15 columnas, y a
continuacin obtener para cada casilla no ocupada por una mina el nmero de minas adyacentes.
PLANTEAMIENTO Y SOLUCIN ADOPTADA.
Basndonos en una matriz 10 por 15, situamos las minas generando aleatoriamente coordenadas
enteras donde situamos las 15 minas mediante un bucle repetir. Luego obtenemos las minas adyacentes
mediante un barrido en las 8 casillas posibles usando bucles para y si. Finalmente se escriben los
resultados.
LISTADODELALGORITMO
ALGORITMOCAMPOMINADO.
Variablesenterasi,j,n,y,z.
Vectorenteroa(10.15)
Paraide1a10hacer
Parajde1a15hacer
a(i,j)=0
Finpara
Finpara
n=0
Repetir
i=(int(RND)*10)+1
j=(int(RND)*15)+1
Sia(ij)<>10entonces
a(i,j)=10
n=n+1
Finsi
Hastan=50
Paraide1a10hacer
Parajde1a15hacer
Sia(i,j)=0entonces
Paray=i1hastai+1hacer
Paraz=j1hastaj+1hacer
Sia(y,z)=10entonces
adyacen=adyacen+1

Finsi
Finpara
Finpara
Finsi
Escribirlacasilla,i,j,tiene,adyacen,minasadyacentes
Finpara
Finpara
fin

3.-. N 10.POKER DE DADOS AUTOR: VICENTE M. MARTNEZ RGUEZ.


ENUNCIADO
Dado un conjunto de 5 dados (con las caras numeradas del 1 al 6) calcular la frecuencia relativa
y absoluta de las veces que se obtienen parejas, tros, poker y escalera mediante unas simulacin de
jugadas, en las que las tiradas de dados se obtienen de forma aleatoria.
PLANTEAMIENTO Y SOLUCIN ADOPTADA.
La solucin planteada se basa en el uso del vector tiradas, donde guardamos las tiradas generadas
mediante aleatorios, y el vector frecuencias donde una vez teniendo las tiradas las guardamos como
frecuencias absolutas. Con las frecuencias ya obtenidas, las asociamos a las correspondientes jugadas y
finalmente las presentamos en pantalla, tanto las absolutas como las relativas, que son stas divididas por
el nmero total de tradas por el que hemos preguntado al principio.
LISTADODELALGORITMO
ALGORITMOPOKERDEDADOS.
Variablesenterasi,j,n,k,poker,tro,pareja,esc,escalera
Variablevectorenteratiradas(5),frecuencias(5)
Escribirelnmerodetiradases
Leern
Poker=0
Tro=0
Pareja=0
Escalera=0
Esc=0
Paraide1a5hacer
Tiradas(i)=0

Frecuencias(i)=0
Finpara
Parajde1anhacer
Paraide1anhacer
Tiradas(i)=int(RND*6+1)
Finpara
Paraide1a5hacer
Sitiradas(i)=1entonces
Frecuencias(1)=frecuencias(1)+1
Finsi
Sitiradas(i)=2entonces
Frecuencias(2)=frecuencias(2)+1
Finsi
Sitiradas(i)=3entonces
Frecuencias(3)=frecuencias(3)+1
Finsi
Sitiradas(i)=4entonces
Frecuencias(4)=frecuencias(4)+1
Finsi
Sitiradas(i)=5entonces
Frecuencias(5)=frecuencias(5)+1
Finsi
Sitiradas(i)=6entonces
Frecuencias(6)=frecuencias(6)+1
Finsi
Finpara
Parakde1a6hacer
Sifrecuencias(k)=4entonces
Poker=poker+1
Finsi
Sifrecuencias(k)=2entonces
Pareja=pareja+1
Finsi
Sifrecuencias(k)=3entonces
Tro=Tro+1
Finsi
Sifrecuencias(k)=1entonces
Esc=esc+1
Finsi
Siesc=5entonces
Escalera=escalera+1
Finsi
Finpara
Finpara
EscribirFrecuenciaabsolutadeparejas,pareja
EscribirFrecuenciaabsolutadetros,tro
EscribirFrecuenciaabsolutadepoker,poker
EscribirFrecuenciaabsolutadeescaleras,escalera
EscribirFrecuenciarelativadeparejas,pareja/n
EscribirFrecuenciarelativadetros,tro/n
EscribirFrecuenciarelativadepoker,poker/n
EscribirFrecuenciarelativadeescaleras,escalera/n
fin

4.-CONTROL DE PRESENCIA HORARIA. N 49. AUTOR: VICENTE M.


MARTNEZ RODRGUEZ.
ENUNCIADO
Dado un fichero secuencial (ENTRADAS.DAT) correspondiente a las entradas y salidas del
personal de una empresa a la misma, con el siguiente formato.
DNI (A8), Nombre y apellidos (A30), Fecha (AAMMDDHHMMSS) (A12)
Elaborar un algoritmo que genere otro fichero (PRESENCIA.DAT) con los siguientes valores.
DNI(A8), Nombre y apellidos (A30), Nmero de entradas total (I4), Total de horas (I4), Total de
minutos (I4), Total de segundos (I4).
Tnganse en cuenta que el fichero de entrada ha se ser tan grande como se desee de forma que
no se podr contemplar la carga del mismo en memoria. Igualmente, obsrvese que el fichero
original no distingue entre entradas y salidas, por lo que se contemplarn alternativamente para
cada usuario. No obstante se sabe que el nmero total de empleados no es muy grande por lo que el
proceso del fichero puede hacerse de forma directa (leyndose una vez cada registro)
PLANTEAMIENTO Y SOLUCIN ADOPTADA.
El algoritmo solucin que se planta se basa en un bucle mientras que va caminando para los
diferentes trabajadores y que para cada uno de ellos lee otro bucle mientras con el que obtenemos las
diferentes entradas y salidas. stas van acumulndose en la variable tiempo gracias a la invocacin de la
funcin transformar para ser luego computadas y presentadas en pantalla en las diferentes unidades
mediante la funcin escribir.
LISTADODELALGORITMO
ALGORITMOCONTROLDEPRESENCIAHORARIA.
Variableenteraent,i,in,out,tiempo
Registroestructuradoreg1
VariablecadenaDNI(8)
Variablecadenanombreyapellidos(30)
Variablecadenafecha(12)
Finregistro
Registroestructuradoreg2
VariablecadenaDNI(8)
Variablecadenanombreyapellidos(30)
Variableenteraentradastotal(4)
Variableenteratotalhoras(4)
Variableenteratotalminutos(4)
Variableenteratotalsegundos(4)
Finregistro
Ficherosdereg1file1
Ficherosdereg2file2
Abrirsecuencial(file1)
Abrirsecuencial(file2)
Iniciarlecturaenfile1
Iniciarlecturaenfile2
Mientras((nofin)File1)hacer
i=i+1
leer(file,reg1)
tiempo=0
contador=reg.dni

sivale(contador)entonces
mientras((nofin)File1)hacer
in=transformar(reg1.fecha)
leer(file1,reg1)
mientras((nofin)File1)orreg.dni<>contadorhacer
leer(file1,reg1)
finmientras
ent=ent+1
out=transformar(reg1.fecha)
tiempo=tiempo+outin
finmientras
escribir(ent,tiempo,reg1)
mientras((nofin)File1)hacer
leer(file1,reg1)
finmientras
finsi
finmientras
cerrar(file1)
cerrar(file2)
Funcionlogicavale(contador)
Parametroenterocontador
Variableenteraj
Vale=true
Abrir(file2)
Mientrasj<=ihacer
Leer(file2,reg2)
Sireg2.dni=contadorentonces
Vale=false
Finsi
J=j+1
Finmientras
Fin
Funciontransformar(numero)
Variableenteracantidad
Parametroenteronumero
Cantidad=numero(1,2)*12*30*24*60*60
Cantidad=Cantidad+numero(3,4)*30*24*60*60
Cantidad=Cantidad+numero(5,6)*24*60*60
Cantidad=Cantidad+numero(7,8)*60*60
Cantidad=Cantidad+numero(9,10)*60
Cantidad=Cantidad+numero(11,12)
Transformar=Cantidad
Fin
Procedimientoescribir(ent,tiempo,reg1)
Reg2.dni=reg1.dni
Reg2.nombreyapellidos=Reg1.nombreyapellidos
Reg2.numero=ent
Reg2.hora=int(tiempo/3600)
Tiempo=tiempo(int(tiempo/3600)*3600)
Reg2.minutos=int(tiempo/60)
Tiempo=tiempo(int(tiempo/60)*60)
Reg2.seg=tiempo
Escribir(file2,reg2)
Fin

5.-JUEGO DE SIMN. N 17. AUTOR: VICENTE M. MARTNEZ RGUEZ.


ENUNCIADO
Atendiendo al juego de Simn, cuatro teclas de colores diferentes(rojo, verde,azul, y amarillo).
Cada una de ellas con un sonido diferente,elaborar un algoritmo que simule dicho juego
apoyndose en una generacin aleatoria que se ir almacenando en un vector de longitud x.
PLANTEAMIENTO Y SOLUCIN ADOPTADA.
El algoritmo solucin se basa en dos contadores ndices, uno el j que se incrementa cada vez que se
acierta y hace el vector de la jugada de simn ms grande, y el ndice i que barre los vectores para las
comparaciones y para pedir los datos. Creo que la solucin adoptada es bastante sencilla y prctica.
LISTADODELALGORITMO
ALGORITMOJUEGODESIMON.
VectorenteroSimon(1000),Jugada(1000)
Variableenteraj,i,n.
VariablelgicaAcierto.
j=1
i=1
n=1000
Acierto=false
Mientrasj<=nhacer
Simon(j)=int(RND*4+1)
EscribirSimndice

Paraide1ajhacer
Escribir,Simon(i)
Finpara
Escribircontestat
Paraide1ajhacer
LeerJugada(i)
Finpara
Paraide1ajhacer
SiSimon(i)=Jugada(i)
Acierto=True
Finsi
Finpara
SiAcierto=True
j=j+1
EscribirPruebaotravez
Sino
j=n+1
EscribirHasfallado,gameover
Finsi
Finmientras
Fin

6.-FRECUENCIAS RELATIVAS. N 26. AUTOR: VICENTE M. MARTNEZ


RGUEZ.
ENUNCIADO
Suponiendo10000 tiradas con un dado de 6 caras, donde los resultados se obtienen de forma
aleatoria, calcular las frecuencias relativas para cada resultado posible.
PLANTEAMIENTO Y SOLUCIN ADOPTADA.
El algoritmo solucin se basa en dos contadores ndices, uno el j que se incrementa cada vez que se
acierta y hace el vector de la jugada de simn ms grande, y el ndice i que barre los vectores para las
comparaciones y para pedir los datos. Creo que la solucin adoptada es bastante sencilla y prctica.

LISTADODELALGORITMO
ALGORITMOFRECUENCIASRELATIVAS.
Variableenteran,i,j,Tirada
Variablevectorfrecuencias(6)
n=1000
Paraide1a6hacer
Frecuencias(i)=0
Finpara
Parajde1anhacer
Tirada=int(RND*6+1)
SiTirada=1entonces
Frecuencia(1)=frecuencia(1)+1
Finsi
SiTirada=2entonces
Frecuencia(2)=frecuencia(2)+1
Finsi
SiTirada=3entonces
Frecuencia(3)=frecuencia(3)+1
Finsi
SiTirada=4entonces
Frecuencia(4)=frecuencia(4)+1
Finsi
SiTirada=5entonces
Frecuencia(5)=frecuencia(5)+1
Finsi
SiTirada=6entonces
Frecuencia(6)=frecuencia(6)+1
Finsi
Finpara
Paraide1a6hacer
Frecuencia(i)=Frecuencia(i)/n
Finpara
Paraide1a6hacer
Escribirlafrecuenciarelativadel,i,es,frecuencia(i)
Finpara
Fin

7.-ENCRIPTACIN I. N 31. AUTOR: VICENTE M. MARTNEZ RGUEZ.


ENUNCIADO
Codificar un mensaje por el mtodo de Cesar. Este mtodo consiste en relacionar las letras tras
desplazar el abecedario.
PLANTEAMIENTO Y SOLUCIN ADOPTADA.
El planteamiento se basa en el uso de dos ficheros, abecedario que contiene el abecedario, y
abecedario2 que contiene el abecedario despus del desplazamiento pedido, gracias a la funcin cambio.
Luego este abecedario2 se aplica a entrada para obtener salida.
LISTADODELALGORITMO
ALGORITMOENCRIPTACIN
Ficherodecaracteresentrada,salida,abecedario,abecedario2
Variableenterai,j,k,x
VariabledecadenaNombre1,nombre2
Escribirnombredelficheroaencriptar
Leernombre1
Escribirnombredelficheroencriptado
Leernombre2
Abrirsecuencial(entrada,nombre1)
Abrirsecuencial(salida,nombre2)
Escribirnmerodeletrasdedesplazamiento
Leerk
Iniciarlecturaen(entrada)
Iniciarescrituraen(salida)
Iniciarlecturaen(abecedario)
Iniciarescrituraen(abecedario2)
Leer(abecedario,x)
Mientras(nofin(abecedario))hacer
Leer(abecedario,x)
Parai=1hastalongitud(x)hacer
abc2=cambio(x,i)
escribir(abecedario,abc2)
Finpara
Finmientras
Leer(entrada,ent)
Mientras(nofin(entrada))hacer
Leer(entrada,ent)
i=0
Mientras(nofin(abecedario))orent=xhacer
Leer(abecedario,x)
i=i+1
Finmientras
sal=abc2(i)
escribir(salida,sal)
Finmientras
Funcioncambio(k,i)
Parametroenterok,i
Variablecarcterpos
i=0

Abrir(abecedario,x)
Abrir(abecedario2,abc2)
Iniciarlectura(abecedario)
Iniciarescrituraen(abecedario2)
Leer(abecedario,x)
Pos=x(i+k)
Cambio=pos
Fin

8.-NUMEROS PRIMOS 1. N 3. AUTOR: VICENTE M. MARTNEZ RGUEZ.


ENUNCIADO
Realizar un algoritmo que imprima los n primeros primos.
PLANTEAMIENTO Y SOLUCIN ADOPTADA.
Muy sencilla y muy intuitiva. Se trabaja con cuatro variables. Una guarda el nmero de primos que se
quieren obtener, otra es el indice del bucle para llegar a ese nmero, y de las otras dos una es el primo que
se est estudiando y otra corre los diferentes divisores sobre esa variable para comprobar que
efectivamente es primo.
LISTADODELALGORITMO
ALGORITMONMEROSPRIMOS.
Variableenteranum,numero,i,n
Variablelogicaseguir,divisible
Escribirintroduzcan
Leern
Seguir=true
Divisible=false
Numero=0
Num=1
Mientrasnumero<nhacer
Num=num+1
i=num1
Mientrasi>=2andseguirhacer
Siint*(num/i)*i=numentonces
Divisible=verdadero
Seguir=false
Finsi
i=i1
Finmientras
Sidivisible=falseentonces
Numero=numero+1
Escribirnum
Sino
Divisible=false
Finsi
Finmientras

Fin

9.-REINAS. N 39. AUTOR: VICENTE M. MARTNEZ RGUEZ.


ENUNCIADO
Se trata de colocar 8 reinas en un tablero de ajedrez de forma que no se ataquen entre s. Como
modelo abstracto del problema, consideremos una matriz 8*8 inicialmente vaca, en la que habr
que seleccionar 8 celdas de modo que cada una cumpla las siguientes restricciones
Ninguna otra casilla seleccionada puede estar en la misma fila .
Ninguna otra casilla seleccionada puede estar en la misma columna .
Ninguna otra casilla seleccionada puede estar en la misma diagonal positiva.
Ninguna otra casilla seleccionada puede estar en la misma diagonal negativa.
PLANTEAMIENTO Y SOLUCIN ADOPTADA.
Usaremos un vector columna que representa una columna del tablero y pondremos inicialmente una
reina en la casilla 1,1 , esto es, en columna(1)=1. Mediante un bucle mientras colocaremos las siguientes
columnas haciendo uso de la funcin comprobar que vigila el que se cumplan las condiciones no dejando
salir a otra columna hasta que esto ocurre, y volviendo para atrs si se acaban las columnas y no se
encuentra solucin.
LISTADODELALGORITMO
ALGORITMOREINAS.
Variableenterai,k

Variablevectorenterocolumna(1,8)
Paraide1a8hacer
Columna(i)=0
Finpara
i=1
k=1
mientrasi<=8hacer
columna(i)=k
SiComprobar(i,k,columna)entonces
K=1
i=i+1
Sino
Sik<8entonces
K=k+1
Sino
K=columna(i1)
i=i1
Finsi
Finsi
FuncinlgicaComprobar(i,k,columna)
Variableenteraglobali,k
Variableenteravectorglobalcolumna(1,8)
Variablelogicaseguir
Variableenteram
Salir=false
m=1
mientrasm<iandnosalirhacer
Sicolumna(m)=columna(i)or
columna(m)+1=columna(i)+ior
columna(m)1=columna(i)ientonces
Salir=true
Sino
M=m+1
Finsi
Finmientras
Comprobar=nosalir
Fin

9.-NUMEROS PRIMOS 1. N 3. AUTOR: VICENTE M. MARTNEZ RGUEZ.


ENUNCIADO
Realizar un algoritmo que imprima los n primeros primos.
PLANTEAMIENTO Y SOLUCIN ADOPTADA.
Muy sencilla y muy intuitiva. Se trabaja con cuatro variables. Una guarda el nmero de primos que se
quieren obtener, otra es el indice del bucle para llegar a ese nmero, y de las otras dos una es el primo que
se est estudiando y otra corre los diferentes divisores sobre esa variable para comprobar que
efectivamente es primo.
LISTADODELALGORITMO

ALGORITMONMEROSPRIMOS.
Variableenteranum,numero,i,n
Variablelogicaseguir,divisible
Escribirintroduzcan
Leern
Seguir=true
Divisible=false
Numero=0
Num=1
Mientrasnumero<nhacer
Num=num+1
i=num1
Mientrasi>=2andseguirhacer
Siint*(num/i)*i=numentonces
Divisible=verdadero
Seguir=false
Finsi
i=i1
Finmientras
Sidivisible=falseentonces
Numero=numero+1
Escribirnum
Sino
Divisible=false
Finsi
Finmientras
Fin

8.-NUMEROS PRIMOS 1. N 3. AUTOR: VICENTE M. MARTNEZ RGUEZ.


ENUNCIADO
Realizar un algoritmo que imprima los n primeros primos.
PLANTEAMIENTO Y SOLUCIN ADOPTADA.
Muy sencilla y muy intuitiva. Se trabaja con cuatro variables. Una guarda el nmero de primos que se
quieren obtener, otra es el indice del bucle para llegar a ese nmero, y de las otras dos una es el primo que
se est estudiando y otra corre los diferentes divisores sobre esa variable para comprobar que
efectivamente es primo.
LISTADODELALGORITMO
ALGORITMONMEROSPRIMOS.
Variableenteranum,numero,i,n
Variablelogicaseguir,divisible
Escribirintroduzcan
Leern
Seguir=true
Divisible=false
Numero=0
Num=1
Mientrasnumero<nhacer
Num=num+1
i=num1
Mientrasi>=2andseguirhacer
Siint*(num/i)*i=numentonces
Divisible=verdadero
Seguir=false
Finsi
i=i1
Finmientras
Sidivisible=falseentonces
Numero=numero+1
Escribirnum
Sino
Divisible=false
Finsi
Finmientras
Fin

8.-NUMEROS PRIMOS 1. N 3. AUTOR: VICENTE M. MARTNEZ RGUEZ.


ENUNCIADO
Realizar un algoritmo que imprima los n primeros primos.
PLANTEAMIENTO Y SOLUCIN ADOPTADA.
Muy sencilla y muy intuitiva. Se trabaja con cuatro variables. Una guarda el nmero de primos que se
quieren obtener, otra es el indice del bucle para llegar a ese nmero, y de las otras dos una es el primo que
se est estudiando y otra corre los diferentes divisores sobre esa variable para comprobar que
efectivamente es primo.
LISTADODELALGORITMO
ALGORITMONMEROSPRIMOS.
Variableenteranum,numero,i,n
Variablelogicaseguir,divisible
Escribirintroduzcan
Leern
Seguir=true
Divisible=false
Numero=0
Num=1
Mientrasnumero<nhacer
Num=num+1
i=num1
Mientrasi>=2andseguirhacer
Siint*(num/i)*i=numentonces
Divisible=verdadero
Seguir=false
Finsi
i=i1
Finmientras
Sidivisible=falseentonces
Numero=numero+1
Escribirnum
Sino
Divisible=false
Finsi
Finmientras

Fin

También podría gustarte