Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DEFINICIONES DE E/S: Entradas: Nmero de trminos (NumTerm) Salidas: Suma de los impares (suma) PSEUDOCDIGO: inicio Ingresar nmero de trminos: NumTerm Inicializar Elementos: suma cont impar = 0 {ACUMULADOR} = 1 {CONTADOR} = 1 {Primer impar}
acumular suma de impares: Mientras cont <= NumTerm, HACER inicio suma impar cont fin del MIENTRAS Escribir suma. fin DIAGRAMA DE FLUJO:
Inicio Ingresar NumTerm Suma = 0 Cont = 1 Impar = 1
cont <= NumTer m V Suma = suma + impar impar = impar + 2 Cont = cont + 1
F Escribir Suma
Fin
ENUNCIADO T02: Determinar la suma de N primeros trminos de la siguiente serie. 1/2 + 1/4 + 1/6 + DEFINICIONES DE E/S: Entradas: Nmero de trminos (NumTerm) Salidas: Suma de pares invertidos (sumainv) PSEUDOCDIGO: inicio Ingresar nmero de trminos: NumTerm Inicializar Elementos: sumainv par cont = 0 {ACUMULADOR de la suma} = 2 {primer denominador par} = 1 {CONTADOR de terminos}
acumular suma invertida: MIENTRAS cont <= NumTerm, HACER inicio sumainv par cont fin del MIENTRAS Escribir sumainv fin DIAGRAMA DE FLUJO:
Inicio Ingresar NumTerm Sumainv = 0 Cont =2 Impar =1
F Escribir Sumainv
Fin
ENUNCIADO T03: Determinar la suma de N primeros trminos de la serie de fibonacci, y mostrar sus valores considerando que N se mayor que 1. La secuencia de la serie es la siguiente: 0, 1, 1, 2, 3, 5, 8, 13 DEFINICIONES DE E/S: Entradas: Nmero de trminos (NumTerm) Salidas: Suma de la serie (suma) PSEUDOCDIGO: inicio Ingresar nmero de trminos: NumTerm Inicializar Elementos: cont suma NAct NAnt Proceso repetitivo: MIENTRAS Cont < NumTerm, HACER inicio escribir NAnt suma Nsig NAnt Nact Cont = suma +NAnt {acumula suma = NAnt + NAct {trmino siguiente = NAct = Nsig = Cont + 1 {el actual ser anterior {el siguiente ser actual {incrementa contador } } } } } =0 =0 =1 =0 {CONTADOR {ACUMULADOR {nmero actual {nmero anterior } } } }
fin del MIENTRAS Escribir suma de trminos: suma. fin Nota.- La condicin de trmino del MIENTRAS es (Cont < NumTerm) debido a que el contador empieza en CERO (0). Si el contador empezara en 1, la condicin de trmino sera (Cont <=NumTerm)
DIAGRAMA DE FLUJO:
cont <=N V Escribir Nant Suma = Suma + NAnt Nsig = Nant + NAnt Nant = Nact Nact = Nsig
F Escribir Suma
Fin
Cont = cont + 1
ENUNCIADO T04: Imprimir los 50 primeros trminos de la siguiente serie: 1 2 4 8 15 26 42 64 DEFINICIONES DE E/S: Entradas: Ninguna Salidas: 50 trminos de la serie indicada PSEUDOCDIGO: Definir constantes: Nterminos = 50 inicio Inicializar Elementos: cont ValorTerm Increm =0 =1 =1 {CONTADOR de trminos {valor de primer trmino {valor de primer incremento } } }
inicio Inicializar elementos: Cont ValorTerm =0 =1 {CONTADOR de trminos {valor del primer trmino } }
{Mostrar los trminos de la serie} MIENTRAS Cont < Nterminos, HACER inicio Cont =Cont + 1 {incrementar trmino } Escribir ValorTerm ValorTerm = ValorTerm + Increm Increm = Increm + Cont fin del MIENTRAS fin Observacin: Para resolver este tipo de algoritmos, se debe hacer un anlisis paciente del incremento que sufre cada trmino la secuencia correcta y adems hacer todas las pruebas de escritorio necesarias para ver los resultados que nos da el algoritmo. DIAGRAMA DE FLUJO: {nuevo trmino} {nuevo incremento}
Fin
ENUNCIADO T05: Mostrar los dgitos de un nmero entero positivo en forma invertida. Por ejemplo: 1234 se mostrar como 4321. DEFINICIONES DE E/S: Entradas Salidas : Nmero Entero positivo (NumEnt) : Nmero Invertido
PSEUDOCDIGO: inicio Ingresar NumEnt MIENTRAS NumEnt > 0, HACER inicio digito = RESIDUO de NumEnt/10 {ltimo dgito} Escribir digito NumEnt = ENTERO de NumEnt/10 {descarta ltimo dgito} fin del MIENTRAS fin Observaciones: Se trata de obtener el ltimo dgito del NumEnt para escribirlo en una misma lnea formando el nmero con los dgitos invertidos en pantalla. Luego de procesar el dgito, ste debe descartarse para que ya no forme parte del NumEnt, haciendo una divisin entera por 10. Cuando el resultado de la divisin entera sea 0, se habrn procesado todos los dgitos del nmero. DIAGRAMA DE FLUJO:
Inicio Ingresar NumEnt
NumEnt >0
ENUNCIADO T06: Determinar la cantidad de dgitos que tiene un nmero entero y adems mostrar la suma de los dgitos pares e impares. Considerar al cero (0) como dgito par. DEFINICIONES DE E/S: Entradas Salidas : Nmero entero (NumEnt) : Cantidad de dgitos (CantDig) Suma de dgitos pares (Sumapar) Suma de dgitos impares (Sumaimp) PSEUDOCDIGO: inicio ingresar un nmero entero: NumEnt Inicializar elementos: contDig Sumapar Sumaimpar inicio dgito = RESIDUO de NumEnt/10 SI dgito es par: ENTONCES Sumapar = sumapar + dgito SINO Sumaimp = sumaimp + dgito Fin del SI ContDig = ContDig + 1 NumEnt = ENTERO de NumEnt/10 {descarta lt.dgito} fin del MIENTRAS Escribir ContDig, Sumapar, Sumaimp fin { ltimo dgito } =0 =0 =0 {CONTADOR de dgitos {Suma dgitos pares {Suma de dgitos impares } } }
ENUNCIADO T07: Convertir un nmero entero de base 10 a una base menor que 10, mostrando el resultado en pantalla. DEFINICIONES DE E/S: Entradas Salidas : un nmero en base 10 (Num) Base menor que 10 (base) : nmero convertido a la base requerida.
PSEUDOCDIGO: inicio Ingresar nmero en base 10: Num Ingresar base menor que 10: base Asegurar que la base sea menor a 10: MIENTRAS NumEnt >0. HACER Ingresar base Fin del MIENTRAS Conversin del nmero a la base ingresada: MIENTRAS Num > 0, HACER inicio residuo = RESIDUO de Num/base Escribir la derecha a izquierda: residuo Num = ENTERO de Num/base fin del MIENTRAS fin Observaciones: Para la conversin se est aplicando el mtodo de las divisiones sucesivas escribiendo de derecha a izquierda los residuos, por lo que al trmino del algoritmo podemos ver en pantalla el nmero expresado en su nueva base de numeracin.
DIAGRAMA DE FLUJO:
Inicio Ingresar Num Ingresar base
Num > 0
Residuo = Residuo (Num/base) Escribir residuo de derecha a izquierda Num = Entero (Num/base)
Fin
ENUNCIADO T08: Convertir un nmero entero de base 10 a base 16; es decir, representarlo en el sistema Hexadecimal, almacenando el resultado de la conversin en una cadena, para luego mostrarla. Sugerencia: aplicar mtodo de divisiones sucesivas. DEFINICIONES DE E/S: Entradas Salidas : Nmero en base 10 (Num) : Nmero en base 16 (Hex).
inicio Ingresar nmero en base 10: Num Determinar su equivalencia en base 16: Hex = nulo MIENTRAS Num >0. HACER inicio residuo = RESIDUO de Num/16 En CASO que residuo SEA 10: dgito = A 11: dgito = B 12: dgito = C 13: dgito = D 14: dgito = E 15: dgito = F SINO {residuo menor a 10} dgito = CARCTER del residuo FIN del CASO Hex = dgito + Hex {forma la cadena } Num = ENTERO de Num/16 fin del Mientras escribir nmero en base 16:Hex. fin DIAGRAMA DE FLUJO:
10 11 12 12 12 12 12 dgito A dgito B dgito C dgito D dgito E dgito F
Dgito = carcter del residuo
Num > 0 V
residu o
ENUNCIADO T09: Determinar el nmero de veces en que se logra adivinar el valor de un nmero generado al azar que est comprendido entre 0 y 100. Orientar el siguiente intento mostrando un mensaje de ALTO, segn corresponda. Se obtiene un nmero al azar mediante una funcin denominada RANDOM. DEFINICIONES DE E/S: Entradas Salidas : un nmero (Num) : nmero de intentos (Intentos)
PSEUDOCDIGO: inicio Generar un nmero al azar: azar = RANDOM Inicializar CONTADOR del nmero de intentos: intentos = 1 Ingresar un nmero: Num Determinar nmero de intentos para adivinar: MIENTRAS Num< > azar; HACER inicio intentos = intentos + 1 SI SINO Escribir ALTO Fin del Si Ingresar un nmero: Num fin del MIENTRAS Escribir intentos. fin
Ingresar intentos Ingresar Num Escribir ALTO V Intentos = intentos + 1
Num < > azar
Escribir BAJO
DIAGRAMA DE FLUJO:
Fin
ENUNCIADO T10: Determinar el cociente entero de la divisin de 2 nmeros naturales por el mtodo de restas sucesivas hasta que la ltima diferencia sea menor al divisor. El siguiente ejemplo ilustra el fundamento del mtodos. Suponga que A = 1273 y B = 325 1273 325 = 948 948 325 = 623 623 325 = 298 { 1ra. resta } { 2da. resta } { 3ra. resta }
Ya no se realiza una cuarta resta porque la ltima diferencia (298) es menor que el divisor (325). Por lo tanto, el nmero de restas realizadas determina el cociente entero, que en este ejemplo sera 3. DEFINICIONES DE E/S: Entradas Salidas : 2 nmeros enteros (NumA, NumB) : cociente entero (NumDif)
Inicio Ingresar NumA, NumB
PSEUDOCDIGO: inicio ingresar 2 nmeros enteros: NumA, NumB Inicializar elementos: Dividendo = NumA {identifica el dividendo} NumDif = 0 {nmero de diferencias} Determinar cociente entero: MIENTRAS Dividendo >= NumB; HACER inicio Dividendo = Dividendo NumB NumDif = NumDif + 1 fin del MIENTRAS Escribir resultado: NumDif. fin
Escribir NunDif
DIAGRAMA DE FLUJO:
Fin