Académique Documents
Professionnel Documents
Culture Documents
LOGICA Y ALGORITMOS
1.-Algoritmos y Programas
Un Algoritmo:
Un algoritmo es un mtodo para resolver un problema mediante una serie de pasos precisos,
definidos, finitos que conducen a la solucin de un problema.
Es importante tener en cuenta que todo algoritmo debe ser totalmente independiente del lenguaje de
programacin que se utilice; es decir, que el algoritmo diseado deber permitir su traduccin a
cualquier lenguaje de programacin con independencia del ordenador en el que se vaya a ejecutar
dicho programa habitualmente.
Las caractersticas que debe cumplir todo algoritmo son las siguientes:
Debe ser conciso y detallado, es decir, debe reflejar con el mximo detalle el orden de ejecucin
de cada accin u operacin que vaya a realizar el ordenador.
Todo algoritmo se caracteriza por tener un comienzo y un final. Por ello se puede decir que es
finito o limitado.
Al aplicar el mismo algoritmo n veces con los mismos datos de entrada, se deben obtener
siempre los mismos resultados o datos de salida. Por ello se puede decir que es exacto o
preciso.
Debe ser flexible, es decir, que debe adaptarse con facilidad a cualquier lenguaje de
programacin y entorno o plataforma.
Debe facilitar el entendimiento as como su traduccin y las futuras modificaciones o
actualizaciones que sobre l sean necesarias realizar. Por tanto, se deber disear utilizando un
estilo amigable y entendible.
Por lo tanto, el esquema a seguir a la hora de disear un programa es:
Problema
Traduccin a
un lenguaje de
programacin
Diseo del
Algoritmo
Programa de
ordenador
Un Programa:
Es el algoritmo expresado en un lenguaje de especifico,denominado lenguaje de programacin,para
que pueda ser utilizado en una computadora.
LOGICA Y ALGORITMOS
Elementos Bsicos:
Un algoritmo puede ser escrito en lenguaje natural, pero esta descripcin puede ser ambigua,
por lo que se utilizan diferentes mtodos de representacin, que permiten
evitar dicha
ambigedad y al mismo tiempo que sean fcilmente codificables. Los mtodos ms usuales para
la representacin de algoritmos son:
Descripcin narrada
Diagrama de flujo
Pseudocdigo
DESCRIPCIN NARRADA
Es la forma ms sencilla de describir o expresar un algoritmo. Consiste en hacer un relato de la
solucin en lenguaje natural.
Por ejemplo Algoritmo en descripcin narrada para la suma de 2 nmeros.
1. obtener los nmeros a sumar
2. sumar los nmeros
3. anotar el resultado
El uso del lenguaje natural provoca frecuentemente que la descripcin sea imprecisa y poco
confiable, por lo que este tipo de representacin no es recomendable.
DIAGRAMA DE FLUJO
Es la representacin grfica de un algoritmo. Utiliza smbolos normalizados, con los pasos del
algoritmo escritos en el smbolo adecuado y los smbolos unidos por flechas, denominadas lneas de
flujo, que indican el orden en que los pasos deben ser ejecutados. Los smbolos principales son:
Smbolo
Descripcin
Inicio o fin del programa.
Indica la entrada y salida de
datos.
Pasos, procesos o lneas de
instruccin de programa de
cmputo.
Toma
de
decisiones
y
ramificacin
Conector para unir el flujo a
otra parte del diagrama.
Conector fuera de pgina.
LOGICA Y ALGORITMOS
Indica la salida de informacin
por impresora.
Lneas de Flujo.
PSEUDOCODIGO
Describen un algoritmo utilizando una mezcla de frases en lenguaje comn, instrucciones de lenguaje
de programacin y palabras claves que definen las estructuras bsicas. Son en la prctica los que se
utilizan ya que evitan los problemas que presentan las representaciones anteriores.
Como todo lenguaje el pseudocdigo est sujeto a un determinado conjunto de reglas:
1. Cada algoritmo descrito mediante pseudocdigo consta de :
Una cabecera en la que se especificar el nombre del algoritmo y la lista de parmetros que
representan la comunicacin del algoritmo con su entorno (parmetros de entrada y salida).
El cuerpo del algoritmo que constar de dos partes:
a) Entorno: Es este entorno se describirn todos aquellos datos que son necesarios en el algoritmo.
Se describirn tambin todos aquellos otros elementos necesarios para la comprensin del
algoritmo.
b) Proceso: Aqu se describirn todas las acciones que se realizarn cuando se ejecute el programa
correspondiente.
2. En cada algoritmo el proceso empezar con la palabra start o inicio y finalizar con la palabra end
o fin.
3. Slo se describir una accin por lnea.
4. Se debe representar la jerarqua entre las diferentes acciones insertando las lneas que describen
estas acciones.
DATOS Y EXPRESIONES
LOGICA Y ALGORITMOS
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carcter, tal como a,
un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede
tomar una variable.
Conjunto de los nmeros reales positivos y negativos (parte entera y parte decimal
separada por un punto).
cadena
LOGICA Y ALGORITMOS
Tipo
Cadena
Enumerado
Subrango
Dominio
Cardinal
Operaciones Bsicas.
8 de octubre
1908,***,etc.
Concatenacin(+),
operaciones relacionales(ver
ms adelante)
Operadores relacionales, y
ORD,SUC y PRED
Semana=(Lunes,Mart
es,Mircoles,Jueves,V
iernes,Sbado,Domin
go);
Palo=(oros,copas,esp
adas y bastos)
DiaLaborable=Lunes..
Viernes;
minscula=a..z
Secuencia
finita
de
caracteres,
escrita entre
comillas
Se
define
explcitamente
por
enumeracin
Cualquier
subconjunto
de un tipo
ordinal(*)
Ejemplos
de
Apellido
Nom_Curso
Nota1
Reglas para la formacin de identificadores
El nombre del identificador debe dar una idea del valor que contiene.
El primer carcter debe ser una letra.
Letras, dgitos y caracteres como la subraya ( _ ) estn permitidos
despus del primer caracter.
No deben existir espacios en blanco.
Generalmente la longitud no supera los 7 caracteres.
Constantes
Son aquellos datos cuyo valor no cambia durante la ejecucin del programa, es decir, inician con un
valor determinado y lo mantienen hasta el final.
Ejemplo:
pi = 3.1416
Variable
Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato
durante la ejecucin de un proceso, Su valor inicial es 0 siendo modificado durante la ejecucin del
programa, pero, en un instante dado, slo contienen un valor determinado, porque la asignacin de
Mg. Ing. Carlos Franco del Carpio
LOGICA Y ALGORITMOS
valores a una variable es una operacin destructiva, es decir, el valor que posea se destruye,
conservando solo el nuevo valor (bloque de asignacin).
Ejemplo:
rea = pi * radio ^ 2
Las variables son: el radio, el rea y la constate es pi
Clasificacin de las Variables
Por su Contenido
Numricas
Lgicas
Alfanumricas(String)
Por su Uso
De Trabajo
Contadores
Acumuladores
Variables
Por su Contenido
Variable Numricas: Son aquellas en las cuales se almacenan valores numricos, positivos o
negativos, es decir almacenan nmeros del 0 al 9, signos (+ y -) y el punto decimal.
Ejemplo:
pi=3.1416 costo=2500
Variables Lgicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos
representan el resultado de una comparacin entre otros datos.
Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras, nmeros y
caracteres especiales).
Ejemplo:
letra=a
apellido=Lpez
Por su Uso
Variables de Trabajo: Variables que reciben el resultado de una operacin matemtica completa y
que se usan normalmente dentro de un programa.
Ejemplo:
Suma=a+b/c
Contadores: Se utilizan para llevar el control del nmero de ocasiones en que se realiza una
operacin o se cumple una condicin. Con los incrementos generalmente de uno en uno.
Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una
serie de valores que se van leyendo o calculando progresivamente.
Definicin de variables
Una definicin de variable informa el nombre de la variable y el tipo de datos que va a guardar. Estos
ltimos conceptos sern definidos ms adelante.
Variables Globales: Las variables globales son aquellas variables que se definen o declaran en la
zona de encabezado de cualquier algoritmo.
Variables Locales: Las variables son consideradas como locales cuando su declaracin se hace
al inicio de una funcin o un procedimiento. Las variables que hayan sido declaradas como locales
solo podrn ser reconocidas por el procedimiento o funcin donde se haya declarado.
Mg. Ing. Carlos Franco del Carpio
LOGICA Y ALGORITMOS
Operadores aritmticos
Los operadores aritmticos permiten la realizacin de operaciones matemticas con los valores
(variables y constantes).
Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son
enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.
Operadores aritmticos
Suma
Resta
Multiplicacin
Divisin
Modulo (Residuo de la divisin entera)
Exponenciacin
+
*
/
mod
^
10*4 / 8 = 5
12 mod 7 = 5
3 + 5 * (10 - (2 + 4)) =23
Operadores relacionales
Se utilizan para establecer una relacin entre dos valores. Luego comparan estos valores entre s
produciendo un resultado de certeza o falsedad. Los valores que comparan deben ser del mismo tipo
(numricos o cadenas). Estos tienen el mismo nivel de prioridad en su evaluacin.
Ejemplo
Operadores relacionales
>
Mayor que
<
Menor que
>=
Mayor o igual que
<=
Menor o igual que
<>
Diferente
=
Igual
Si a = 15, b = 30, c = 40
Mg. Ing. Carlos Franco del Carpio
LOGICA Y ALGORITMOS
a
a
a
a
+
*
b
b
b
b
>
<
=
<>
AND OR
c
c
c
c
Verdadero
Verdadero
Falso
Verdadero
NOT
Ejemplos no lgicos:
a
10
a
<
<
>
b
20
5
<
<
<
c
30
30
Operadores lgicos
Operadores
Relacionales
< , > , = , <=,
>= , <>
AND
Operadores Aritmticos
Exponenciacin()
Operadores de Signo(+,-)
OR
Multiplicacin y Divisin(*, /)
Suma Y Resta (+, - )
Operador
Tipos de operandos
+,-,*
Enteros o reales
Enteros o reales
Enteros o reales
Real
LOGICA Y ALGORITMOS
Div,mod
Entero
Entero
=,<,>,,,
Ordinal
Lgico
V,
Lgico
Lgico
+ ( concatenacin)
Cadena
Cadena
Figura
Ejercicios Propuestos
Indicar el tipo de cada una de las siguientes constantes:
a) 440
b) 440.0
c) -440
d) 440
e) -45.3 * 104
f) 16 * 106
g) -45.6 * 10-3
h) inicio del ejercicio
Indicar el resultado y el tipo de las siguientes expresiones:
a) 6 ^ 2 + 8
b) 6 + 18 - 0.6
c) 3.0 ^ 4 + 1
d) 3 / 5 + 4
e) 29.0 / 2 + 4
f) 3 / 6.0 7
Lenguajes de programacin
Se puede definir un lenguaje de programacin como un conjunto de reglas o normas, smbolos y
palabras especiales utilizadas para construir un programa y con l, darle solucin a un problema
determinado.
El lenguaje de programacin es el encargado de que la computadora realice paso a paso las tareas
que el programador ha diseado en el algoritmo.
Niveles de Lenguaje
Los lenguajes de programacin se pueden clasificar as:
Lenguaje mquina: Las primeras computadoras se programaban en cdigo de mquina, es decir,
los programas eran diseados en cdigo binario. Eran difciles de leer, entender y corregir.
Lenguajes de bajo nivel: Para dar solucin a lo difcil que era programar en cdigo mquina, se
desarroll un lenguaje conocido como ensamblador. ste era el encargado de tomar algunas
palabras comunes a una persona y traducirlas al cdigo mquina. Lo anterior facilitara un poco la
escritura de programas.
Lenguajes de alto nivel: Como las personas resuelven problemas y se comunican en lenguajes
naturales (espaol, ingles, francs, etc.), se desarrollaron lenguajes de programacin que
estuvieran ms cerca de sta manera de resolver problemas.
Dentro de este tipo se pueden citar el Basic, Cobol, Fortran, Pascal, Turbo Pascal, C, Modula 2,
Ada, etc.
Aqu aparece la figura del compilador, como el encargado de traducir el programa a lenguaje de
mquina.
Tipos de Programacin
Dependiendo del lenguaje de programacin que se elija, se puede hablar del tipo de programacin
a realizar.
Secuencial: Se considera programacin secuencial a los programas que se disean con
instrucciones que van unas detrs de otras. Las lneas de cdigo se ejecutan una a una en
secuencia.
Mg. Ing. Carlos Franco del Carpio
10
LOGICA Y ALGORITMOS
Estructurada: Se considera programacin estructurada a la que se realiza por mdulos. Cada
mdulo realiza alguna tarea especfica y cuando se necesite esa tarea se llama a ese mdulo,
independiente de la ejecucin de los dems. Ejemplo: Turbo PASCAL, C, Modula, Ada, etc.
Orientada a objetos: Se considera la programacin orientada a objetos en aquellos lenguajes que
permiten la utilizacin de objetos dentro del diseo del programa. Ejemplo: Visual Basic, C Builder,
Java, XML, etc.
Lgica o de lenguaje natural: Son aquellos programas que se disean con interfaces donde el
usuario puede ordenar a la mquina tareas en un lenguaje natural. Pueden interactuar como una
persona pero nunca llegan a producir conocimiento. Estos lenguajes recorren o navegan las bases
de datos obedeciendo ciertas reglas. Ejemplo: Prolog (Programming Logic).
Inteligencia Artificial: Los programas de inteligencia artificial son programas que se acercan a la
inteligencia humana. Estos programas son capaces de desarrollar conocimiento.
ESTRUCTURAS ALGORITMICAS
Las acciones de un algoritmo se organizan en bloques segn el grfico veremos:
Estructuras
Algortmicas
Secuenciales
- Asignacin
- Entrada
- Salida
Selectivas
- Simples
-Dobles
-Mltiples
Repetitivas
- Hacer para
- Hacer mientras
- Repetir hasta
ESTRUCTURAS SECUENCIALES
Se caracterizan porque una accin se ejecuta detrs de la otra. El flujo del programa coincide con el
orden fsico en el que se han ido colocando las instrucciones. Es decir, es una secuencia lineal de
acciones, donde se ejecuta primero la accin uno, despus la dos, luego la tres, etc.
Dichas
acciones pueden consistir en acciones simples tales como:
Como leer datos
Realizar operaciones
Escribir resultados
Estas estructuras se representan de la siguiente forma:
Diagrama de Flujo
Pseudocdigo
Inicio
Accin 1
Accin 2
Accin 3
Fin
Accin 1
Accin 2
Accin 3
ESTRUCTURAS SELECTIVAS
Permiten controlar la ejecucin de acciones que requieran ciertas condiciones para su realizacin, es
decir, se ejecutan unas acciones u otras segn se cumpla o no una determinada condicin.
Estas estructuras son utilizadas cuando:
Mg. Ing. Carlos Franco del Carpio
11
LOGICA Y ALGORITMOS
Se tienen acciones que son excluyentes, es decir, que slo tienen que ejecutarse una o la otra,
pero no ambas.
Cuando es necesario elegir la accin a realizar de entre un conjunto de acciones existentes.
Cuando es necesario verificar que lo datos sean vlidos para la aplicacin en cuestin, por ejemplo:
no es posible dividir entre 0, la cuota por hora que se le paga a un trabajador no puede ser negativa,
etc.
Diagrama de Flujo
D-F
Accin
accin
si <condicin>
entonces
accin1
accin2
.
.
fin_si
accin
si
condicin
no
accin 1
accin 2
accin
DOBLES
Cuando el resultado de evaluar la condicin es verdad se ejecutara una determinada accin o grupo
de acciones y si el resultado es falso se ejecutara otra accin o grupos de acciones alternativas.En
ambos casos la sentencia podr ser simple o compuesta
Esta estructura se representa de la siguiente forma:
Pseudocdigo
Diagrama de Flujo
D-F
accin
accin
si <condicin>
entonces
accin 1
accin 2
.
sino
accin 3
accin 4
.
fin_si
accin
si
no
condicin
accin 1
accin 3
accin 2
accin 4
accin
Mg. Ing. Carlos Franco del Carpio
12
LOGICA Y ALGORITMOS
MULTIPLES
Las estructuras selectivas mltiples permiten controlar la ejecucin de acciones cuando se tienen ms
de dos opciones alternativas de seleccin. Aqu se ejecutarn unas acciones u otras segn el
resultado que se obtenga al evaluar una expresin.
Cada grupo de acciones se encuentra ligado con un valor o una serie de valores expresados
mediante: una constante, varias constantes separadas por comas, un rango expresado como
valor_inicial...valor_final, o una mezcla de constantes y rangos.
Cuando el valor obtenido al evaluar la expresin no est presente en ninguna lista de valores se
ejecutarn las acciones establecidas en la clusula sino (si existiese dicha clusula).
Esta estructura se representa de la siguiente forma:
Pseudocdigo
Diagrama de Flujo
accin
accin
segn_sea
<expresin> hacer
e 1 : accin 1
e 2 : accin 2
e 3 : accin 3
.
.
e n : accin n
otros : accin x
fin_segn
accin
Expresin
accin 1
accin 2
accin 3.
accin n
otros
accin
ESTRUCTURAS REPETITIVAS
Iterar o ciclar es repetir una tarea: hacer algo y luego regresar y hacerlo una y otra vez hasta terminar
la tarea, la condicin de terminacin debe estar bien definida. Las aplicaciones tpicas de la
computadora que requieren iteracin son:
La introduccin de muchos datos, uno tras otro, para efectuar diversos clculos (por ejemplo obtener
el promedio de calificaciones de un alumno).
La clasificacin peridica de una gran coleccin de datos (por ejemplo la clasificacin de
cheques procesados por sucursal bancaria, y para cada sucursal por nmero de cuenta del cliente
cada da de la semana).
Existen tres clases de mecanismos de iteracin:
1. Para todos los valores de la progresin.
2. Mientras se valida una condicin.
3. Repetir- hasta que se satisfaga una condicin. Veamos cada uno de ellos:
13
LOGICA Y ALGORITMOS
PARA:
Es usado cuando se conoce de antemano el nmero de veces que debe repetirse una instruccin o
conjunto de ellas. Es un ciclo incondicional, que abarca todos los valores de una progresin, empieza
con el primer valor y termina con un ltimo de ellos, los valores de la progresin deben ser asignados
a una variable, la cual se denomina variable de control.
Pseudocdigo
Diagrama de Flujo
D-F
accin
Accin
para v desde v i hasta v f hacer
accin 1
accin 2
.
.
accin n
fin_desde
accin
fijar la
variable ndice
al valor inicial
variable
ndice > valor final
verdadero
falso
acciones
incrementar
variable ndice
accin
MIENTRAS
La instruccin Mientras... hacer continuar repitindose mientras la condicin sea siendo vlida (es
decir, su valor de verdad sea verdadero).
Pseudocdigo
Diagrama de Flujo
D-F
accin
mientras <condicin> hacer
accin 1
accin 2
.
.
accin n
fin_mientras
accin
accin
no
condicin
si
acciones
14
accin
LOGICA Y ALGORITMOS
REPETIR HASTA
La instruccin Repitir...hasta continuar repitindose mientras no se satisfaga la condicin (su valor
de vedad sea falso).
Pseudocdigo
Diagrama de Flujo
D-F
Accin
accin
repetir
accin 1
accin 2
.
.
accin n
hasta_que <condicin>
accin
acciones
condicin
falsa
verdadera
accin
15
LOGICA Y ALGORITMOS
1.-Desarrolle un algoritmo que le permita leer un valor entero, Calcular su cuadrado y escribir
dicho resultado.
Anlisis:
En este ejercicio podemos identificar como tareas a realizar tres acciones: Leer, Calcular y Escribir.
Cada uno de los procesos mencionados se describen en smbolo respectivo quedando el
diagrama de flujo de la siguiente manera.
Pseudocdigo
Mg. Ing. Carlos Franco del Carpio
Diagrama de Flujo
16
LOGICA Y ALGORITMOS
Inicio
//Declarando variables
N, R: Entero
//Entrada
Leer (N)
//Proceso
R=N2
//Salida
Escribir (R)
Fin
INICIO
N, R : Entero
R=N2
FIN
2.- Desarrolle un algoritmo que le permita leer un valor para radio (R), calcular el rea (A) de un
crculo A =R y escribir su valor.
Anlisis:
En el ejercicio se identifican como tareas las tres acciones solicitadas. Leer, Calcular y Escribir.
Cada uno de los procesos mencionados se describe en el smbolo respectivo quedando el
diagrama de flujo de la siguiente manera:
Pseudocdigo
Diagrama de Flujo
INICIO
Inicio
//Declarando variables
R,A: Entero
//Entrada
Leer(R)
//Proceso
A =R
//Salida
Escribir(A)
Fin
R, A: Entero
A=R2
A
3.-Determinar la hipotenusa de un tringulo rectngulo conocidas las longitudes de sus dos
catetos. Desarrolle los correspondientes algoritmos.
Anlisis:
En el ejercicio se puede definir como tareas las tres acciones solicitadas. Leer, Calcular y Escribir,
Leer cada uno de los valores de los dos catetos y almacenarlos enFIN
cada uno de los identificadores
definidos para el caso, calcular la hipotenusa aplicando la frmula correspondiente almacenando su
valor en el identificador del caso y escribir el valor encontrado para la hipotenusa como respuesta.
Cada una de las acciones se describe dentro del smbolo respectivo, quedando el diagrama de
flujo de la siguiente manera.
Pseudocdigo
Mg. Ing. Carlos Franco del Carpio
Diagrama De Flujo
17
LOGICA Y ALGORITMOS
Inicio
//Declarando Variables
CatA, CatB, Hip: Entero
//Entrada
Leer (CatA, CatB)
//Proceso
Hip
INICIO
Cat A CatB
CatA, CatB
//Salida
Escribir (Hip)
Fin
Hip
FIN
4.-Desarrolle un algoritmo que le permita leer un valor que represente una temperatura expresada
en grados Celsius y convierta dicho valor en un valor expresado en grados Fahrenheit.
Anlisis:
En el ejercicio planteado, las tareas a realizar son: Leer, convertir y Escribir.
Pseudocdigo
Diagrama De Flujo
INICIO
Inicio
//Declarando Variables
C,F : Real
//Entrada
Leer(C)
//Proceso
F=9/5 *C+32
//Salida
Escribir (F)
Fin
C,F : Real
F = 9/5C + 32
FIN
Pseudocdigo
Diagrama De Flujo
INICIO
Inicio
//Declarando Variables
A, B, C, p, Area: Entero
Mg. Ing. Carlos Franco del Carpio
18
LOGICA Y ALGORITMOS
//Entrada
Leer(A, B, C)
//Proceso
p= (A+B+C)/2
A, B, C, p, Area: Entero
A, B, C
p=(A+B+C)/2
Area =
p(p-A)(p-B)(p-C)
FIN
Pseudocdigo
Diagrama de Flujo
INICIO
Inicio
//Declarando Variables
R, H, Vol, Area: Real
//Entrada
Leer(R, H)
//Proceso
Vol=R*H
rea=2*RH
//Salida
Escribir (rea, Vol)
Fin
R, H
VOL= R*H
Area=2*RH
Area, Vol
FIN
7.- Desarrolle un algoritmo que le permita calculas el rea (A) de un segmento de crculo.
Anlisis:
Mg. Ing. Carlos Franco del Carpio
19
LOGICA Y ALGORITMOS
Para calcular el rea de un segmento de crculo lo primero que hay que hacer es leer el valor
del radio y leer el valor de X que es la distancia del centro al segmento. Una vez ledo dichos
valores se calcula aplicando la frmula respectiva y por ltimo se escribe el valor del rea.
Pseudocdigo
Diagrama De Flujo
Inicio
//Declarando Variables
X, r, A: Entero
//Entrada
Leer(X , r)
//Proceso
A= (*r)/2 [X
r x
INICIO
X, r, A: Entero
+ r Sin-1 (x/r)]
X, r
//Salida
Escribir (A)
Fin
A= (*r)/2 [X
r X
+ r Sin-1
FIN
8.- Construye un algoritmo que dado dos nmeros calcule e imprima su media aritmtica,
media geomtrica, media armnica.
Anlisis:
Para el clculo de la media aritmtica, geomtrica y armnica lo primero que haremos ser leer los
dos nmeros y una vez que tengamos los valores aplicar las formulas para calcular la media.
Pseudocdigo
Diagrama De Flujo
Inicio
// Declarando variables
A, B, Mari, Mgeo, Marm: Real
//Entrada
Leer(A, B)
//Proceso
Mari= (A+B)/2
Mgeo= (A*B) ^1/2
Marm=(2*A*B)/ (A+B)
INICIO
A, B
//Salida
Escribir (Mari,Mgeo,Marm)
Fin
Mari= (A+B)/2
20
LOGICA Y ALGORITMOS
Mgeo=(A*B) ^1/2
Marm= (2*A*B)/(A+B)
FIN
9.- Suponga que un individuo desea invertir su capital en un banco y desea saber cunto
dinero ganara despus de un mes si el banco paga a razn de 4% mensual.
Anlisis:
En este ejercicio lo primero ser leer el capital a invertir con esta cantidad ya podremos aplicar lo que
ganar mensualmente.
Pseudocdigo
Diagrama De Flujo
Inicio
//Declarando variables
Cap_Inv, Gan : Entero
//Entrada
Leer (Cap_Inv)
//Proceso
Gan=Cap_Inv*0.04
//Salida
Escribir Gan
Fin
INICIO
Cap_Inv
Gan=Cap_Inv*0.04
Gan
FIN
10.-Una panadera ofrece un descuento del 20% sobre el total de la compra y un cliente desea
saber cunto deber pagar finalmente por su compra.
Anlisis:
Para solucionar este ejercicio lo primero ser leer el total de compra para que se pueda saber cunto
pagar el cliente finalmente con el descuento.
Mg. Ing. Carlos Franco del Carpio
21
LOGICA Y ALGORITMOS
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
Tc, D, Tp: Entero
//Entrada
Leer (Tc)
//Proceso
D= Tc*0.20
Tp=Tc-D
//Salida
Escribir (Tp)
Fin
INICIO
Tc
D=Tc*0.20
Tp=Tc-D
Tp
FIN
11.- Un alumno desea saber cul ser su calificacin final en la materia de Algoritmos. Dicha
calificacin se compone de los siguientes porcentajes:
65% del promedio de sus tres calificaciones parciales.
20% de la calificacin del examen final.
15% de la calificacin de un trabajo final.
Anlisis:
En este ejercicio podemos identificar como tareas a realizar tres acciones: Leer, Calcular y Escribir.
Cada uno de los procesos mencionados se describen en smbolo respectivo quedando el
diagrama de flujo de la siguiente manera.
Pseudocdigo
Diagrama De Flujo
Inicio
//Declarando Variables
C1, C2, C3, Tf, Ef, Cf,Ppar,Pef,ptf,prom: Real
//Entrada
Leer (C1, C2, C3, Tf, Ef)
//Proceso
Prom = (c1 + c2 + c3)/3
Ppar = prom * 0.65
Pef = ef * 0.20
ptf = tf * 0.15
cf = ppar + pef + ptf
//Salida
Escribir (cf)
Fin
INICIO
Ppar=prom*0.65
22
Pef=ef*0.20
LOGICA Y ALGORITMOS
Ptf=tf*0.15
Cf
FIN
12.- Un profesor desea saber que porcentaje de mujeres y que porcentaje de hombres hay en
un grupo de estudiantes.
Anlisis:
En este ejercicio podemos identificar como tareas a realizar tres acciones: Leer, Calcular y Escribir.
Cada uno de los procesos mencionados se describen en smbolo respectivo quedando el
diagrama de flujo de la siguiente manera.
Pseudocdigo
Diagrama De Flujos
Inicio
//Declarando Variables
nh,nm,ta :Entero
ph,pm : Real
//Entrada
Leer (nh, nm)
//Proceso
ta = nh + nm
ph = nh * 100 / ta
pm = nm * 100 / ta
//Salida
Escribir (ph, pm)
Fin
INICIO
nh,nm,ta :Entero
ph,pm :Real
nh, nm
ta = nh + nm
Ph=nh*100/ta
Pm=nm*100/ta
ph, pm
FIN
13.- Realizar un algoritmo que calcule la edad de una persona.
Anlisis:
Para la solucin de este ejercicio hemos identificado tres tareas: Leer, Calcular y Escribir.
Mg. Ing. Carlos Franco del Carpio
23
LOGICA Y ALGORITMOS
Pseudocdigo
Diagrama De Flujo
Inicio
//Declarando Variables
Fnac, fact, edad: Entero
//Entrada
Leer (fnac, fact)
//Proceso
Edad=fact-fnac
//Salida
Escribir Edad
Fin
INICIO
Edad=fact-fnac
Escribir Edad
FIN
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando Variables
vv,pv,igv Real
//Entrada
Leer vv
//Proceso
igv=vv*0.19
pv=vv+igv
//Salida
Escribir igv, pv
Fin
INICIO
Leer vv
igv=vv*0.19
pv=vv + igv
Escribir igv , pv
FIN
15.-Construya un algoritmo que determine la suma de las cifras de un numero entero positivo
de 6 cifras.
Anlisis:
Mg. Ing. Carlos Franco del Carpio
24
LOGICA Y ALGORITMOS
En este ejercicio podemos identificar como tareas a realizar tres acciones: Leer, Calcular y Escribir.
Cada uno de los procesos mencionados se describen en smbolo respectivo quedando el
diagrama de flujo de la siguiente manera:
Pseudocdigo
Diagrama De Flujo
Inicio
//Declarando Variables
X,sum,millares,centenas,decenas,unid,cociente :Entero
//Entrada
Leer X
//Proceso
unid=X MOD 10
cociente = N/10
decenas=cociente MOD 10
cociente cociente/10
centenas=cociente MOD 10
millares =cociente/10
sum=unid+cociente+decenas+cociente+centenas+millares
//Salida
Escribir sum
Fin
INICIO
Unid=X MOD 10
Cociente = N/10
Decenas=cociente MOD 10
cociente cociente/10
Centenas=cociente MOD 10
Millares =cociente/10
Sum=unid+cociente+decenas+cociente
+centenas+millares
sum
PROBLEMAS PROPUESTOS
FIN
1) Escribir un programa que lea el valor en millas marinas y las convierta en metros.
Expresando su valor en pantalla. Nota: Una milla marina equivale a 1852 metros.
2) Realizar un programa que calcule y escriba el porcentaje descontado en una compra
sabiendo el precio original y el pagado finalmente.
Mg. Ing. Carlos Franco del Carpio
25
LOGICA Y ALGORITMOS
26
LOGICA Y ALGORITMOS
ESTRUCTURAS SELECTIVAS
Se utilizan para tomar decisiones lgicas. En stas se evala una condicin y en funcin del resultado
de la misma se realiza una opcin u otra. Las condiciones se especifican usando expresiones lgicas.
En pseudocdigo stas palabras son if, then, else. Las estructuras selectivas pueden ser:simples,
dobles o mltiples.
Selectivas simples:
Ejecuta una determinada accin cuando se cumple una determinada condicin. La seleccin if then
(si entonces) evala la condicin y si es verdadera ejecuta la accin de lo contrario no realiza
ninguna accin.
Mg. Ing. Carlos Franco del Carpio
27
LOGICA Y ALGORITMOS
Selectiva doble:
Permite elegir entre dos opciones posibles en funcin del cumplimiento o no de una determinada
condicin. Si la condicin es verdadera, se ejecuta la accin 1, si es falsa, se ejecuta la accin 2. La
selectiva en pseudocdigo es if then else.
Selectivas mltiples:
La estructura de seleccin mltiple (case en pseudocdigo) evaluar una expresin que podr tomar
n valores distintos 1, 2, 3, 4,..n. Segn sea el valor en la condicin, se realizar una de las n
acciones.
1.- Dados dos nmeros enteros diferentes, devolver el nmero mayor.
Anlisis:
Para la solucin de este problema, se ingresara dos nmeros enteros que se almacenaran en las
variables A y B y luego tendr que devolver el mayor numero ( C )
Pseudocdigo
Diagrama de flujo
Inicio
//Declarando Variables
A, B, C: Reales
//Entrada
Leer A, B
//Proceso
Si (A>B) entonces
C=A
Fin si
Si (B>A) entonces
C=B
Fin Si
//Salida
Escribir C
Fin
INICIO
A, B, C: Reales
A, B
A>B
V
C=A
B>A
V
C=B
FIN
28
LOGICA Y ALGORITMOS
variable X.Luego para saber si el nmero almacenado en la variable X es mltiplo de l o s
nmeros 5 y 7 se hace la divisin entre X y 5 y X y 7, si la divisin es exacta entonces X es
mltiplo de 5 y 7, de lo contrario X no ser mltiplo de de 5 y de 7.
Pseudocdigo
Diagrama de Flujos
Inicio
//Declarando variables
X: Entero
//Entrada
Leer (X)
//Proceso
si X mod 5=0 y X mod 7=0 entonces
Escribir (X es mltiplo de 5 y 7)
si no
Escribir (X no es mltiplo de 5 y 7)
Fin si
Fin
INICIO
X: Entero
X no es mltiplo
de 5 y 7
X es mltiple de
5y 7
FIN
3.-Dado tres nmeros enteros hacer un algoritmo que devuelva el mayor nmero.
Anlisis
Para la solucin de este ejercicio se requiere que se ingresen tres nmeros enteros y se almacenen
en las variables A, B, C y que el algoritmo determine cul es el mayor nmero.
Pseudocdigo
Inicio
//Declarando Variables
A, B, C: Enteros
// Entrada
Leer (A, B, C)
//Proceso
Si A>B entonces
Si A>C entonces
Escribir (El mayor numero es A)
si no
Escribir (El mayor numero es C)
Fin si
Si no
Si B>C entonces
Mg. Ing. Carlos Franco del Carpio
29
LOGICA Y ALGORITMOS
A, B, C: Enteros
A, B, C
A>B
C es el mayor
nmero
B>C
C es el mayor
nmero
B es el mayor
nmero
A>C
A es el mayor
nmero
FIN
LOGICA Y ALGORITMOS
Pseudocdigo
Diagrama de flujo
Inicio
//Declarando variables
X:Entero
//Entrada
Leer (X)
//proceso
Si(X residuo 2=0) entonces
Escriba (X es par)
Sino
Escriba (X es impar)
Fin si
Fin
INICIO
X: Entero
No
X%2=0
Si
Es Impar
Es par
FIN
5.- Desarrolle un algoritmo que le permita leer un valor cualquiera A y escribir en la pantalla
si dicho nmero es Positivo o Negativo.
Anlisis:
Para resolver el ejercicio planteado hay que leer primero el valor del nmero y almacenarlo en
una variable (A).Para saber si dicho nmero es positivo o no, simplemente lo compara con
cero. En caso de que sea mayor o igual a cero entonces el nmero ser positivo, y para
el caso contrario el nmero ser negativo.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
A: Entero
//Entrada
Leer(A)
//Proceso
Si (N>=0) entonces
Escriba ("Es positivo")
Mg. Ing. Carlos Franco del Carpio
INICIO
A: Entero
31
LOGICA Y ALGORITMOS
Sino
Escriba ("Es negativo")
Fin si
Fin
No
N >=0
Es negativo
Si
Es positivo
FIN
6.- Desarrolle un algoritmo que le permita leer un valor cualquiera X y escribir si dicho
nmero es mltiplo de Z.
Anlisis:
Para resolver este ejercicio , hay que leer primero el valor del nmero y almacenarlo en una
variable (X).Luego leer otro valor y almacenarlo en la variable Z. Para saber si el nmero
almacenado en la variable X es mltiplo del nmero almacenado en Z, se hace la divisin entre
Z y X, si la divisin es exacta entonces X es mltiplo de Z, de lo contrario X no ser mltiplo de
Z.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
X, Z: Entero
//Entrada
Leer(X, Z)
//Proceso
Si (X residuo Z=0) entonces
Escriba ("X es mltiplo de Z")
Mg. Ing. Carlos Franco del Carpio
INICIO
X, Z: Entero
X, Z
32
LOGICA Y ALGORITMOS
Sino
Escriba ("X no es mltiplo de Z")
Fin si
Fin
X%Z= 0
No
Si
No es mltiplo
Es mltiplo
FIN
7.- Desarrolle un algoritmo que le permita leer un valor cualquiera X y escribir si dicho
nmero es comn divisor de otros dos valores ledos M y N.
Anlisis:
Para resolver el ejercicio planteado, hay que leer primero el valor del nmero y almacenarlo
en
una variable (X). Leer dos valores ms y almacenarlos en las variables M y N
respectivamente. Para saber si el valor almacenado en la variable X es comn divisor de M y N,
se chequea para ver si la divisin entre M/X y N/X son exactas. En caso de ser exactas entonces
el valor numrico almacenado en la variable X es comn divisor de los dos. En caso contrario no lo
ser.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
X, M, N: Entero
//Entrada
Leer(X, M, N)
//Proceso
Si (M residuo X=0 y N residuo X =0) entonces
Escriba ("X es comn divisor de M y N")
Sino
Escriba ("X no es comn divisor de M y N")
Fin si
Fin
INICIO
X, M, N: Entero
X, M, N
No
M%X= 0
y
N%X=0
No es comn divisor
Si
Es comn divisor
FIN
8.- Desarrolle un algoritmo que le permita leer un valor cualquiera N y escribir si dicho
nmero es comn mltiplo de M y P. M y P tambin se deben leer desde el teclado.
Mg. Ing. Carlos Franco del Carpio
33
LOGICA Y ALGORITMOS
Anlisis:
Para dar solucin a este problema, primero se deben leer los valores. En N se almacena un valor y
en las variables M y P se almacenarn los otros dos valores de los cuales se desea saber si N es
comn mltiplo o no. Para poder saber si N es mltiplo habr que realizar una divisin y
preguntar si dicha divisin es exacta o no, con cada uno de los dos valores (N/M y N/P). Si cada
divisin es exacta entonces escribir que N es comn mltiplo de M y P o en caso contrario decir que
N no es comn mltiplo.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
N, M, P: Entero
//Entrada
Leer(N, M, P)
//Proceso
Si (N residuo M=0 y N residuo P=0) entonces
Escriba ("N es comn mltiplo de M y P")
Sino
Escriba ("N no es comn mltiplo de M y P")
Fin si
Fin
INICIO
N, M, P: Entero
N, M, P
No
N%M= 0
y
N%P=0
N no es comn
mltiplo
Si
N es comn
mltiplo
FIN
9.- Desarrolle un algoritmo que le permita leer dos valores P y Q y que escriba cual de
los dos valores ledos es el mayor.
Anlisis:
Para dar solucin al ejercicio, primero se deben leer los dos valores y almacenar cada uno de
ellos en una variable. Para el caso del desarrollo se almacenar un valor en la variable P y el
otro en la variable Q . Para poder saber cual de los dos valores es mayor simplemente se
comparan las dos variables y se escribir cual de las dos es la mayor. Se supone que los dos
valores ledos son diferentes.
Pseudocdigo
Mg. Ing. Carlos Franco del Carpio
Diagrama de Flujo
34
LOGICA Y ALGORITMOS
Inicio
//Declarando variables
P, Q: Entero
//Entrada
Leer (P, Q)
//Proceso
Si (P>Q) entonces
Escriba ("P es el mayor")
Sino
Escriba ("Q es el mayor")
Fin si
Fin
INICIO
P, Q: Entero
P, Q
P>Q
No
Si
Q es el mayor
P es el mayor
FIN
10.- Desarrolle un algoritmo que le permita leer dos valores A y B y escriba cual de los dos
valores ledos es el menor.
Anlisis:
Este ejercicio es similar al anterior, primero se deben leer los dos valores y almacenar cada
uno de ellos en una variable. Para el caso del desarrollo se almacenar un valor en la variable
A y el otro en la variable B. Para poder saber cul de los dos valores es menor se
comparan las dos variables y se escribir cual de las dos es la menor. Se supone que los
dos valores ledos son diferentes.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
A, B: Entero
//Entrada
Leer(A, B)
//Proceso
Si (A<B) entonces
Escriba ("A es menor que B")
Mg. Ing. Carlos Franco del Carpio
INICIO
A,B : Entero
35
A, B
LOGICA Y ALGORITMOS
Sino
Escriba ("B es el menor")
Fin si
Fin
No
A<B
Si
B es menor
A es menor
FIN
11.- Desarrolle un algoritmo que le permita leer dos valores A y B e indicar si el resultado de
dividir la suma del los dos nmeros entre la resta del primer nmero con el segundo es
exacta.
Anlisis:
Primero se leen los dos valores almacenando cada uno de ellos en una variable,
para el caso del ejercicio, el primer valor es almacenado en la variable A y el
segundo valor es almacenado en la variable B. Para saber si la divisin es exacta
se chequea el residuo. En caso de que el residuo sea igual a cero es porque la
divisin fue exacta, de lo contrario la divisin no es exacta.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
A, B: Entero
//Entrada
Leer(A, B)
//Proceso
Si (A<B) entonces
Escriba ("A es menor que B")
Sino
Escriba ("B es el menor")
Fin si
Fin
INICIO
A, B: Entero
A, B
((A + B) %(A-B))=0
No
La divisin no
es exacta
Mg. Ing. Carlos Franco del Carpio
36
Si
La divisin es
exacta
LOGICA Y ALGORITMOS
FIN
12.- Desarrolle un algoritmo que le permita leer dos valores A y B e indicar cual
dos restas (B-A) o (A-B) es positiva.
de las
Anlisis:
Ledos los dos valores ,y almacenados los valores en las variables respectivas A y B,
se procede a comparar una de las dos restas, si dicha resta es positiva se escribe el mensaje o si
no se escribe lo contrario.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
A, B: Entero
//Entrada
Leer(A, B)
//Proceso
Si (A-B>=0) entonces
Escriba ("(A B) es positivo")
Sino
Escriba ("(B A) es positivo")
Fin si
Fin
INICIO
A, B: Entero
A, B
No
(A-B)>=0
(B-A) es positivo
Si
(A-B) es positivo
FIN
13.-Desarrolle un algoritmo que le permita leer dos valores A y B e indicar si la suma de los
dos nmeros es par.
Anlisis:
Primero se leen los dos datos almacenando cada uno de ellos en un variable, en el caso del
ejercicio el primer valor se almacena en la variable A y el segundo se almacena en la variable B.
Al sumarlos para saber si el resultado es par o impar se divide entre dos chequeando el
residuo. Si el residuo es cero es porque el valor es par y si el residuo es uno es porque el valor es
Mg. Ing. Carlos Franco del Carpio
37
LOGICA Y ALGORITMOS
impar.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
A,B: Entero
//Entrada
Leer (A,B)
//Proceso
Si (A+B) %2=0 entonces
Escriba ("La suma es par")
Sino
Escriba ("La suma es impar")
Fin si
Fin
INICIO
A, B: Entero
A,B
(A+B)%2=0
No
Si
La suma es impar
La suma es par
FIN
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
N: Entero
//Entrada
Leer (N)
//Proceso
Si No(N mod 2=0) entonces
Mg. Ing. Carlos Franco del Carpio
INICIO
N : Entero
38
LOGICA Y ALGORITMOS
Escriba (N*2)
Sino
Escriba (N*3)
Fin si
Fin
No (N mod2=0)
No
Si
N*3
N*2
FIN
15.-Un restaurante ofrece un descuento del 20% para consumos de hasta S/150.00 y un
descuento del 30%para consumos mayores, para ambos casos se aplica un impuesto del
19%.Determinar el monto del descuento, el impuesto y el importe a pagar.
Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese el consumo y el sistema
verifique y calcule el monto de descuento, el impuesto y el importe a pagar.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando constantes
D1=0.2: Real
D2=0.3: Real
IGV=0.19: Real
//Declarando variables
C, M_d, M_igv, p: Real
//Entrada
Leer (C)
//Proceso
Si C<=150.00 entonces
Escriba (M_d=C*D1)
Sino
Escriba (M_d= C*D2)
Fin si
M_igv=(C-M_d)*IGV
P=C M_d + M_igv
//Salida
Escribir M_d, M_igv, p
Fin
INICIO
D1=0.2: Real
D2=0.3: Real
IGV=0.19 Real
No
M_d= C*D2
39
C<=150
Si
LOGICA Y ALGORITMOS
M_d=C*D1
M_igv=(C-M_d)*IGV
P=C M_d + M_igv
M_d, M_igv, p
FIN
16.-Al ingresar el valor de una temperatura, obtener el tipo de clima segn la siguiente
tabla.
Temperatura
Temp.<10
Temp. Entre 10 y 20
Temp. Entre 21 y 30
Temp.>30
Tipo de Clima
Frio
Nublado
Calor
Tropical
Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese la temperatura y el sistema
verifique y determine el clima.
Pseudocdigo
Inicio
//Declarando variables
T: Entero
//Entrada
Leer (T)
//Proceso
Mg. Ing. Carlos Franco del Carpio
40
LOGICA Y ALGORITMOS
Si T<10 entonces
Escriba (Frio)
Sino
Si T>11 y T<20 entonces
Escriba (Nublado)
Sino
Si T>21 y T<30 entonces
Escriba (Calor)
Sino
Escriba (Tropical)
Fin si
Fin si
Fin si
Fin
Diagrama de Flujo
INICIO
T: Entero
T<10
T>11 y T<20
Nublado
T>21 y T<30
Tropical
Frio
Calor
FIN
17.-Elabore un algoritmo que resuelva una ecuacin de primer grado.
ax+b=0
x= - b
a
Considerar si a es diferente de 0 no es una ecuacin de primer grado.
Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese el valor de a y b, luego el
sistema verifique y determine el valor de x.
Mg. Ing. Carlos Franco del Carpio
41
LOGICA Y ALGORITMOS
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
a, b: Real
//Entrada
Leer(a, b)
//Proceso
Si (A<>0) entonces
Escriba (x=-b/a)
Sino
Escriba (x=0)
Fin si
Fin
INICIO
a, b: Real
a, b
No
a<>0
X= 0
Si
x=- b/a
FIN
Pseudocdigo
Diagrama de Flujo
//Declarando Variables
h, m, s: entero
//Entrada
Leer (h,m,s)
//Proceso
S=S+1
Si S=60 entonces
S=0
m=m+1
Si m=60 entonces
m=0
h=h+1
Si h=60 entonces
h=0
Fin si
Fin si
//Salida
Mg. Ing. Carlos Franco del Carpio
INICIO
h, m, s: entero
h,m,s
S=S+1
F
42
S=60
LOGICA Y ALGORITMOS
Escribir h, m, s
Fin
V
S=0
m=m+1
F
m=60
V
S=0
m=m+1
F
h=24
V
h=24
Escribir h, m, s
FIN
19.-Elabore un algoritmo que obtenga las races reales de una ecuacin de segundo grado.
x2= - b - b2 4ac
2a
Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese tres valores y se almacene en
las variables a, b, c, luego el algoritmo verifique y determine el valor de x1 y x2.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
a, b, c, x1,x2 : Real
Mg. Ing. Carlos Franco del Carpio
INICIO
43
LOGICA Y ALGORITMOS
//Entrada
Leer(a, b, c)
//Proceso
d = (b^2) 4 *a*c
Si (a<>0 y d>=0) entonces
Escriba x1= ( - b + d ^ (1/2))/2*a,
X2= ( - b - d ^ (1/2))/2*a
Sino
Escriba (x1 = 0 y x2 = 0)
Fin si
//Salida
Escribir X1, X2
Fin
a, b, c, x1,x2 : Real
a, b, c
d = (b^2) 4 *a*c
a<>0 y d>=0
X1 = 0
X2 = 0
X1 = (- b + d^ (1/2))/2*a
X2 = (- b - d^ (1/2))/2*a
X1, X2
FIN
20.-Calcule el pago de un trabajador por horas y minutos trabajados por cada hora el
trabajador recibe el 2.5.Nota si el numero de minutos es mayor a 30 se considera una nota
ms de trabajo en caso contrario se considera solo 0.5 de hora.
Pseudocdigo
Diagrama de flujo
Inicio
//Declarando variables
h, m, hp :Entero
pago: Real
//Entrada
Leer (h, m)
//proceso
Si (m > 30) entonces
hp =h + 1
Sino
hp =h+0.5*h
Fin si
pago =hp*2.5
//Salida
Escribir (pago)
Fin
INICIO
h, m, hp: Entero
pago: Real
h,m
m>30
hp=h + 1
hp=h+0.5*h
44
FIN
LOGICA Y ALGORITMOS
pago=hp*2.5
pago
21.- Dado dos nmeros enteros y un operador +,-,* y /, devolver la operacin de los dos
nmeros segn el operador ingresado, considere que si el segundo nmero es 0 y el operador
es /, no es divisible con el primer nmero, entonces devolver como resultado cero.
Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese un operador y dos nmeros y el
sistema verifique que operacin debe realizar y devuelve el resultado de la operacin.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando Variables
op: Carcter
n1, n2, r: entero
//entrada
Leer op, n1, n2
//Proceso
En caso de que op sea:
Caso `+
r=n1+n2
Caso `-
r=n1-n2
Caso`*
r=n1*n2
Caso`/
Si n2<>0 entonces
r=n1/n2
Sino
r=0
Fin si
Fin caso
//Salida
Escribir r
INICIO
op: Carcter
N1, n2, r: entero
op, n1, n2
op
`+
r= n1 + n2
Fin
`-
r= n1 - n2
`*
Mg. Ing. Carlos Franco del Carpio
45
LOGICA Y ALGORITMOS
F
r= n1 * n2
V
`/
n2<>0
r=0
r = n1/n2
FIN
22.-Dado una letra determinar si es una vocal
Anlisis:
Para la solucin de este problema, se requiere que el usuario ingrese una letra la cual se almacena
en la variable (L), luego el sistema analiza y determina si es una vocal.
Pseudocdigo
Diagrama De Flujo
Inicio
//Declarando Variables
L: Carcter
r: Cadena
//entrada
Leer L
//Proceso
Si L=`a O L=`A Entonces
r = Es vocal
Sino Si L=`e O L=`E Entonces
r = Es vocal
Sino Si L=`i O L=`I Entonces
r = Es vocal
Sino Si L=`o O L=`O Entonces
r = Es vocal
Sino Si L=`u O L=`U Entonces
r = Es vocal
INICIO
L: Carcter
r: Cadena
Sino
r = No es vocal
Fin Si
//Salida
Escribir r
Fin
L=`a O L=`A
r =Es Vocal
L=`e O L=`E
Mg. Ing. Carlos Franco del Carpio
46
L=`i
L=`o
L=`u
O OL=`I
OL=`O
L=`U
r
r r=Es
r=Es
=Es
Vocal
Vocal
Vocal
r =No es
Vocal
FIN
LOGICA Y ALGORITMOS
V
F
Mes
Estacin
1,2,3
VERANO
4,5,6
OTOO
7,8,9
INVIERNO
10,11,12
PRIMAVERA
47
LOGICA Y ALGORITMOS
Anlisis:
Para la solucin de este problema, se requiere que el usuario ingrese el numero del mes, luego el
sistema determine y verifique la estacin.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
M:Entero
E:Cadena
//Entrada
Leer M
//Proceso
En caso que M sea
Caso 1,2,3
E=Verano
Caso 4,5,6
E=Otoo
Caso 7,8,9
E=Invierno
Caso 10,11,12
E=Primavera
Fin caso
//Salida
Escribir E
Fin
INICIO
M: Entero
E: Cadena
M
1,2,3
E=Verano
F
4,5,6
E=Otoo
7,8,9
E=Invierno
10,11,12
F
E=Primavera
E
24.-Al ingresar un nmero entre 1 y 4 devolver la estacin del ao de acuerdo a la siguiente
tabla.
FIN
Nmero
Estacin
VERANO
INVIERNO
OTOO
PRIMAVERA
48
LOGICA Y ALGORITMOS
Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese un nmero entero y el sistema
realice el proceso para devolver la estacin.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
n:Entero
e:Cadena
//Entrada
Leer n
//Proceso
En caso que n sea
Caso 1
e=Verano
Caso 2
e=Invierno
Caso 3
e=Otoo
Caso 4
e=Primavera
Fin caso
//Salida
Escribir e
Fin
INICIO
n: Entero
e: Cadena
n
e=Verano
F
2
e=Invierno
e=otoo
4
F
e=Primavera
e
25.-Dado un nmero entero de un digito (0 al 5), devolver el numero en letras. FIN
Anlisis:
Para la solucin de este problema, se requiere que el usuario ingrese un nmero entero y el sistema
verifica y devuelve el nmero en letras.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando variables
Mg. Ing. Carlos Franco del Carpio
INICIO
49
LOGICA Y ALGORITMOS
n:Entero
r:Cadena
//Entrada
Leer n
//Proceso
En caso que n sea
Caso 0
r=Cero
Caso 1
r=Uno
Caso 2
r=Dos
Caso 3
r=Tres
Caso 4
r=Cuatro
Caso 5
r= cinco
Fin caso
//Salida
Escribir r
Fin
n: Entero
r: Cadena
n
0
F
r=Cero
1
F
r=uno
2
r=Dos
3
r=Tres
4
r=Cuatro
r=Cinco
r
26.-Dado la nota promedio de un estudiante universitario, obtener la categora segn la
FIN
siguiente tabla.
Promedio
Categora
Entre 0 y 5
Muy Malo
Entre 6 y 10
Malo
50
LOGICA Y ALGORITMOS
Entre 11 y 14
Regular
Entre 15 y 17
Bueno
Entre 18 y 20
Muy Bueno
Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario
Pseudocdigo
Diagrama De Flujo
Inicio
//Declarando Variables
p: Entero
C: Cadena
//entrada
Leer p
//Proceso
Si p>=0 y p<=5 Entonces
C = Muy malo
Sino Si p>=6 y p<=10 Entonces
C = Malo
Sino Si p>=11 y p<=14 Entonces
C = Regular
Sino Si p>=15 y p<=17 Entonces
C = Bueno
Sino Si p>=18 y p<=20 Entonces
C = Muy Bueno
Fin so
//Salida
Escribir C
Fin
INICIO
p: Entero
C: Cadena
p>=0 y p<=5
V
C =Muy malo
p>=6 y p<=10
V
C=Malo
p>=11 y p<=14
C=Regular
p>=15 y p<=17
V
C=Bueno
p>=18 y p<=20
C=Muy Bueno
51
C
FIN
LOGICA Y ALGORITMOS
F
27.-En una universidad se ha establecido los siguientes puntajes de ingreso a sus respectivas
facultades.
FACULTAD
Educacin
Derecho
Contabilidad
Industrial
PUNTAJE MINIMO
120
110
100
90
De acuerdo al puntaje obtenido por un postulante determinar la facultad a la cual ingreso o dar
un mensaje correspondiente para el caso que no ingrese.
Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese el puntaje, luego el sistema
verifica y devuelve la facultad a la que ingreso.
Pseudocdigo
Diagrama De Flujo
Inicio
//Declarando Variables
p: Entero
F: Cadena
//entrada
Leer p
//Proceso
Si p>=90 y p<=99 Entonces
F = Industrial
Sino Si p>=100 y p<=109 Entonces
F = Contabilidad
Sino Si p>=110 y p<=119 Entonces
F = Derecho
Sino Si p>=120 Entonces
F = Educacin
Sino
F= Ninguno
Fin si
//Salida
Escribir F
Fin
INICIO
p: Entero
F: Cadena
p>=90 y p<=99
F=Industrial
p>=100 y p<=109
V
F
p>=110 y p<=119
52
F = Contabilidad
LOGICA Y ALGORITMOS
F = Derecho
p>=120
F = Educacin
F=Ninguno
FIN
28.-Disee un algoritmo que determine quienes son contemporneos entre Juan, Mario y
Pedro.
Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese el nombre, luego el sistema
verifica y devuelve quienes son contemporneos.
Pseudocdigo
Diagrama de Flujo
Inicio
//Declaracin de Variables
Juan, Mario, Pedro: Entero
Cont: Cadena
//Entrada
Leer (Juan, Mario, Pedro)
//Proceso
Si (Juan=Mario and Mario=Pedro) Entonces
Cont =los tres son contemporneos
Sino Si (Juan=Mario) Entonces
Cont =Juan y Mario son contemporneos
Sino si (Juan=Pedro) Entonces
Cont =Juan y Pedro son contemporneos
Sino si (Mario=Pedro) Entonces
Cont = Mario y Pedro son contemporneos
Sino
Cont =No hay contemporneos
Fin si
//Salida
Escribir cont
Fin
INICIO
Juan=Mario
and Mario=Pedro
53
Juan=Mario
Cont
=No hay
Mario=Pedro
Juan=Pedro
contemporneos
Cont
FIN
Cont
Cont
Cont=Juan
=Mario
=Juany yy
Mario
Pedroson
son
contemporneos
contemporneos
LOGICA Y ALGORITMOS
F
V
COLEGIO
NIVEL SOCIAL
A
B
Particular
500
400
300
Nacional
300
200
100
Anlisis:
Mg. Ing. Carlos Franco del Carpio
54
LOGICA Y ALGORITMOS
Para la solucin de este ejercicio, se requiere que el usuario ingrese el colegio y el nivel
socioeconmico y el sistema verifique y determine el monto a pagar.
Pseudocdigo
Inicio
//Declarando Variables
C, n: Carcter
mp: Entero
//Entrada
Leer C, n
//Proceso
En caso que C sea:
Caso `P
En caso que P sea
Caso `
mp=500
Caso `B
mp=400
Caso `C
mp=300
Fin caso
Caso `N
En caso que N sea
Caso `
mp=300
Caso `B
mp=200
Caso `C
mp=100
Fin caso
Fin caso
//Salida
Escribir mp
Fin
Diagrama de Flujo
INICIO
C, n: Carcter
mp: Entero
C, n
C
V
`P`
F
`A`
`B`
mp=500
mp=400
`C`
mp=300
F
V
`N`
F
`A`
`B`
`C`
mp=300
V
V
mp=200
mp=100
55
mp
FIN
LOGICA Y ALGORITMOS
Diagrama de Flujo
INICIO
56
LOGICA Y ALGORITMOS
A, B, C: Enteros
A, B, C
A+B=C
A + B es igual
al tercero
A+C=B
B+C=A
A + C es igual al
tercero
B + C es igual al
tercero
FIN
PROBLEMAS PROPUESTOS
1) Un hombre desea saber cunto dinero se genera por concepto de intereses sobre la
Mg. Ing. Carlos Franco del Carpio
57
LOGICA Y ALGORITMOS
cantidad que tiene en inversin en el banco. l decidir reinvertir los intereses siempre y
cuando stos excedan a $7000, y en ese caso desea saber cunto dinero tendr
finalmente en su cuenta.
2) Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobar si su
promedio de tres calificaciones es mayor o igual a 70 y reprobar en caso contrario.
3) En un almacn se hace un 20% de descuento a los clientes cuya compra supere los
$1000 Cul ser la cantidad que pagar una persona por su compra?
4) Un obrero necesita calcular su salario semanal, el cual se obtiene de la sgte. manera:
Si trabaja 40 horas o menos se le paga $16 por hora.
Si trabaja ms de 40 horas se le paga $16 por cada una de las primeras 40 horas y
$20 por cada hora extra.
5) Una persona enferma, que pesa 70 kg, se encuentra en reposo y desea saber cuntas
caloras consume su cuerpo mientras realiza una actividad. Las actividades son nicamente
dormir o estar sentado. Dormido consume 1.08 caloras/minuto y sentado 1.66 caloras/min.
6) Lea dos nmeros e imprmalos en orden ascendente
7) Imprima el nombre de un artculo, clave, precio original y precio con descuento.El
descuento lo hace sobre la base de la clave, si la clave es 01 el descuento es 10% y si la
clave es 02 el descuento es 20%
8) Calcule el total a pagar por una compra de camisas. Si se compran tres camisas o ms se
aplica un descuento del 20%
10) Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si ste se le
asigna como un porcentaje de su salario mensual, que depende de su antigedad en la
empresa, de acuerdo con lo siguiente:
Tiempo
Utilidad
Menos de 1 ao
5% del salario
1 ao o ms y menos de 2 aos
7% del salario
58
LOGICA Y ALGORITMOS
10 aos o ms
11) Leer 2 nmeros; si son iguales que los multiplique, si el primero es mayor que el
segundo que los reste y si no que los sume.
12) Determinar el dinero que recibir un trabajador por concepto de horas extras trabajadas
en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se
consideran horas extras y stas se pagan al doble de una hora normal, cuando no exceden
de 8; si las horas extras exceden de 8 se pagan las primeras 8, al doble de lo que se pagan
las normales y el resto al triple.
13) Lea tres nmeros diferentes y escriba el nmero mayor de los tres.
14) El IMSS requiere clasificar a las personas que se jubilaran en el ao de 1997. Existen
tres tipos de jubilaciones: por edad, por antigedad joven y por antigedad adulta. Las
personas adscritas a la jubilacin por edad deben tener 60 aos o ms y una antigedad en
su empleo de menos de 25 aos. Las personas adscritas a la jubilacin por antigedad
joven deben tener menos de 60 aos y una antigedad en su empleo de 25 aos o ms.
Las personas adscritas a la jubilacin por antigedad adulta deben tener 60 aos o ms y
una antigedad en su empleo de 25 aos o ms. Determinar en que tipo de jubilacin,
quedara adscrita una persona.
15) En una tienda de descuento se efecta una promocin en la cual se hace un descuento
sobre el valor de la compra total segn el color de la bolita que el cliente saque al pagar en
caja. Si la bolita es de color blanco no se le har descuento alguno, si es verde se le har un
10% de descuento, si es amarilla un 25%, si es azul un 50% y si es roja un 100%.
Determinar la cantidad final que el cliente deber pagar por su compra.
59
LOGICA Y ALGORITMOS
es menor que $50.000 la cuota a pagar ser por el 3% del monto, y si el monto es mayor
que $50.000 la cuota a pagar ser el 2% del monto. La afianzadora desea determinar cul
ser la cuota que debe pagar un cliente.
20) En una escuela, la matrcula de los alumnos se determina segn el nmero de materias
que cursan. El costo de todas las materias es igual. Se estableci un programa de estmulo,
as: si el promedio obtenido por un alumno en el ltimo periodo es mayor o igual que 9, se
le har un descuento del 30% sobre la colegiatura y no se le cobrara IVA; si el promedio es
menor que 9 deber pagar la colegiatura completa, la cual incluye el 10% de IVA.
Obtener
Tipo de rbol
70%
pino
20%
oyamel
10%
cedro
60
LOGICA Y ALGORITMOS
pino
30%
oyamel
20%
cedro
El gobierno desea saber el nmero de pinos, oyameles y cedros que tendr que sembrar
en el bosque, si se sabe que en 10 metros cuadrados caben 8 pinos, en 15 metros
cuadrados caben 15 oyameles y en 18 metros cuadrados caben 10 cedros.
Se sabe
devaluacin de ste no es mayor que la mitad del incremento del valor del terreno. Aydale
a la persona a determinar si debe o no comprar el automvil.
27) En una fbrica de computadoras se planea ofrecer a los clientes un descuento que
depender del nmero de computadoras que compre. Si las computadoras son menos de
cinco se les dar un 10% de descuento sobre el total de la compra; si el nmero de
computadoras es mayor o igual a cinco pero menos de diez se le otorga un 20% de
descuento y si son 10 o ms se les da un 40% de descuento.
El precio de cada
computadora es de $11,000
28) En una llantera se ha establecido una promocin de las llantas que consiste en lo
siguiente: Si se compran menos de cinco llantas el precio es de $300 cada una; el precio es
de $250 si se compran de cinco a 10 y de $200 si se compran ms de 10.Obtener la
cantidad de dinero que una persona tiene que pagar por cada una de las llantas que compra
y la que tiene que pagar por el total de la compra.
29) En un juego de preguntas a las que se responde Si o No gana quien responda
correctamente las tres preguntas.Si se responde mal a cualquiera de ellas ya no se pregunta
la siguiente y termina el juego. Las preguntas son:
1. Colon descubri Amrica?
Mg. Ing. Carlos Franco del Carpio
61
LOGICA Y ALGORITMOS
% DESCUENTO
0-2
0%
2.01 - 5
10%
5.01 - 10
15%
10.01 en adelante
20%
Determinar cunto pagar una persona que compre manzanas en esa frutera.
32) El dueo de una empresa desea planificar las decisiones financieras del siguiente ao.
La planificacin depende de lo siguiente: Si actualmente su capital se encuentra con saldo
negativo, pedir un prstamo bancario para que su nuevo saldo sea de $10.000. Si su
capital tiene actualmente un saldo positivo pedir un prstamo bancario para tener un nuevo
saldo de $20.000, pero si su capital tiene actualmente un saldo superior a los $20.000 no
pedir ningn prstamo. Posteriormente repartir su presupuesto as:
de cmputo, $2.000 para mobiliario y del resto, la mitad ser para la compra de insumos y la
otra para otorgar incentivos al personal. Desplegar qu cantidades se destinarn para la
compra de insumos e incentivos al personal y, en caso de que fuera necesario, a cunto
ascendera la cantidad que se pedira al banco.
33) Segn los resultados de anlisis clnicos, un mdico determina si una persona tiene
anemia o no, lo cual depende de su nivel de hemoglobina en la sangre, su edad y su sexo.
Si el nivel de hemoglobina que tiene una persona es menor que el rango que le
corresponde, se determina su resultado como positivo y en caso contrario como negativo.
La tabla en la que el mdico se basa es la siguiente:
EDAD
NIVEL HEMOGLOBINA
0 - 1 mes
13
- 26 g%
10
- 18 g%
11
- 15 g%
11.5 - 15 g%
12.6 - 15.5 g%
62
LOGICA Y ALGORITMOS
13
- 15.5 g%
12
- 16 g%
14
- 18 g%
34) Una institucin estableci ste programa de estmulo a alumnos con buen
rendimiento acadmico:
Si el promedio es de 9.5 o ms y el alumno es de preparatoria, entonces este podr
cursar 55 unidades y se le har un 25% de descuento.
Si el promedio es mayor o igual a 9 pero menor que 9.5 y el alumno es de preparatoria,
entonces este podr cursar 50 unidades y se le har un 10% de descuento.
Si el promedio es mayor que 7 y menor que 9 y el alumno es de preparatoria, este podr
cursar 50 unidades y no tendr ningn descuento.
Si el promedio es de 7 o menor, el nmero de materias reprobadas es de 0 a 3 y el
alumno es de preparatoria, entonces podr cursar 45 unidades y no tendr descuento.
Si el promedio es de 7 o menor, el nmero de materias reprobadas es de 4 o ms y el
alumno es de preparatoria, entonces podr cursar 40 unidades y no tendr ningn
descuento.
Si el promedio es mayor o igual a 9.5 y el alumno es de profesional, entonces podr
cursar 55 unidades y se le har un 20% de descuento.
Si el promedio es menor de 9.5 y el alumno es de profesional, entonces podr cursar 55
unidades y no tendr descuento.
Obtener el total que tendr que pagar un alumno si la colegiatura para alumnos de
profesional es de $300 por cada cinco unidades y para alumnos de preparatoria es de
$180 por cada cinco unidades.
35) Lea tres nmeros diferentes y determine el nmero medio del conjunto de los tres
nmeros (el nmero medio es aquel nmero que no es ni mayor, ni menor).
63
LOGICA Y ALGORITMOS
1.-
Diagrama de Flujo
Inicio
//Declarando Variables
i,d,c,n: enteros
//Entrada
Leer (n)
//Proceso
Mientras n>0
d=n mod 10
Si d mod 2= 0 entonces
c=c+1
Fin si
n=n/10
Fin mientras
Mg. Ing. Carlos Franco del Carpio
INICIO
i,d,c,n: enteros
n>0
64
LOGICA Y ALGORITMOS
//Salida
Escribir C
Fin
V
d=n mod 10
V
F
d mod 2=0
V
c=c+1
n=n/10
FIN
Diagrama de Flujo
Inicio
//Declarando Variables
d,m,n: Entero
//Entrada
Leer (n)
//Proceso
Mientras n>0
d=n mod 10
Si d > m entonces
m=d
Fin si
n=n/10
Fin mientras
//Salida
Mg. Ing. Carlos Franco del Carpio
INICIO
d,m,n: Entero
n>0
65
LOGICA Y ALGORITMOS
Escribir m
Fin
V
d=n mod 10
V
F
d>m
V
m=d
n=n/10
FIN
Diagrama de Flujo
Inicio
//Declarando Variables
i, n,c:Entero
//Entrada
Leer(n)
//Proceso
Mientras n>0
n=n/10
c=c + 1
Fin mientras
//Salida
Escribir c
Fin
INICIO
i, n, c:Entero
n>0
Mg. Ing. Carlos Franco del Carpio
66
n=n/10
C
FIN
c=c+1
LOGICA Y ALGORITMOS
Diagrama de Flujo
Inicio
//Declarando Variables
i,c,n: Entero
//Entrada
Leer (n)
//Proceso
i=1
Mientras i <=n
Si i mod 7=0 entonces
c=c+1
Fin si
i=i+1
Fin mientras
//Salida
Escribir C
Fin
INICIO
i,c,n: Entero
i=1
i<=n
V
i mod 7=0
F
Mg. Ing. Carlos Franco del Carpio
67
LOGICA Y ALGORITMOS
c=c+1
i=i+1
FIN
Entrada
Nmero inicial (ni)
Nmero final (nf)
Salida
Cant. de pares (cp)
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando Variables
i, cp,ni, nf: Entero
//Entrada
Leer (ni,nf)
//Proceso
i=ni + 1
Mientras i <nf
Si i mod 2=0 entonces
cp=cp + 1
Fin si
i=i+1
Fin mientras
//Salida
Escribir cp
Fin
INICIO
ni,nf
i=ni + 1
i<nf
68
LOGICA Y ALGORITMOS
V
i mod 2=0
F
V
cp=cp+1
i=i+1
cp
FIN
Diagrama de Flujo
Inicio
//Variable
i,c,ni,nf :Entero
//Entrada
Leer (ni,nf)
//Proceso
i=ni+1
Mientras i<nf
c=c+1
i=i+1
Fin mientras
Mg. Ing. Carlos Franco del Carpio
INICIO
i, c,ni,nf :Entero
ni,nf
69
LOGICA Y ALGORITMOS
//Salida
Escribir C
Fin
i=ni+1
i<nf
V
c=c+1
i=i+1
FIN
Diagrama de Flujo
Inicio
//Variable
i,n,s :Entero
//Entrada
Leer (n)
//Proceso
i=1
Mientras i<=n
s=s+1
i=i+1
Fin mientras
//Salida
Escribir s
Fin
INICIO
i,n,s :Entero
i=1
i<=n
V
Mg. Ing. Carlos Franco del Carpio
70
s=s+1
s
i=i+1
FIN
LOGICA Y ALGORITMOS
Pseudocdigo
Inicio
//Variables
d, n,i :Entero
//Entrada
Leer n
//Proceso
Mientras n>0
d=n mod 10
n=n\10
i=i*10 +d
Fin Mientras
//Salida
Escribir i
Fin
Diagrama de Flujo
INICIO
d, n, i :Entero
n>0
V
d=n mod 10
n=n\10
i=i*10 + d
71
FIN
LOGICA Y ALGORITMOS
R (1)
R (2)
R (3)
Pseudocdigo
Inicio
// Declarando Variables
d, n,c,r :Entero
//Entrada
Leer n,d
//Proceso
Mientras n>= d
n=n - d
c=c+1
Fin Mientras
r=n
//Salida
Escribir c,r
Fin
Diagrama de Flujo
INICIO
d, n,c,r :Entero
n,d
n>=d
V
n=n - d
c =c+1
r=n
72
c,r
LOGICA Y ALGORITMOS
FIN
Pseudocdigo
Diagrama de Flujo
Inicio
//Variable
i,n,d :Entero
r : cadena
//Entrada
Leer (n)
//Proceso
t=n
Mientras t>0
d= t mod 10
t=t\10
i=i*10 + d
Fin mientras
Si n = i entonces
r= es capica
Sino
r=no es capica
Fin Si
//Salida
Escribir r
Fin
INICIO
i,n,d :Entero
r : cadena
t=n
t>0
V
d =t mod 10
t=t\10
i=i*10+d
73
LOGICA Y ALGORITMOS
n=i
r=no es capica
r=Es capica
FIN
11.-Dado un numero entero en base 10, convertir el numero a otra base menor que 10.
Anlisis:
Para la solucin de este problema, se requiere que el usuario ingrese el nmero entero y la
base a convertir, luego el sistema devuelve el nmero convertido a su nueva base.
Entrada
Nmero (n)
Base (b)
Salida
Nmero convertido (nc)
Pseudocdigo
Diagrama de Flujo
Inicio
//Declarando Variables
n,d,i,r :Entero
//Entrada
Leer (n,b)
//Proceso
Mientras n>0
d= n mod b
n= n \ 10
i=i* 10 + d
Fin Mientras
Mientras i>0
d= i mod 10
i=i\10
r=r*10 + d
Fin Mientras
//Salida
Escribir r
Fin
INICIO
n,d,i,r :Entero
n, b
n>0
V
d=n mod b
n=n\ b
i=i*10 + d
74
LOGICA Y ALGORITMOS
i>0
V
d=i mod b
i=i \ b
r=r*10 + d
FIN
12.-Crear un algoritmo que indique si un numero es cubo perfecto o no,se dice que un
numero es cubo perfecto si al sumar los cubos de sus dgitos dan el mismo nmero, por
ejemplo 153, cubos de sus dgitos 13+53+33=153 es cubo perfecto.
Anlisis:
Para la solucin de este problema, se requiere que el usuario ingrese el numero y el sistema
procesa y determina si es o no un cubo perfecto.
Entrada
Nmero (n)
Salida
Respuesta (r)
Pseudocdigo
Diagrama de Flujo
Inicio
//Variable
t,d,s,n :Entero
r : cadena
//Entrada
Leer (n)
//Proceso
t=n
Mientras t >0
d= t mod 10
t=t \ 10
s= s + d ^3
Fin mientras
Si n = s entonces
r= cubo perfecto
Sino
r=no es cubo perfecto
Fin Si
//Salida
Escribir r
Fin
Mg. Ing. Carlos Franco del Carpio
INICIO
t,d,s,n : Entero
r:Cadena
t=n
t>0
V
75
d =t mod 10
t=t\10
s= s + d^3
LOGICA Y ALGORITMOS
n=s
FIN
76