Vous êtes sur la page 1sur 76

LOGICA Y ALGORITMOS

Mg. Ing. Carlos Franco del Carpio

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.

Tcnicas de Programacin: Algortmica Programacin Estructurada


La programacin estructurada es un estilo con el cual el se busca que el programador elabore
programas sencillos y fciles de entender.
Ventajas de la programacin Estructurada

Fcil de leer y comprender.


Fcil de codificar en una amplia gama de lenguajes y en diferentes sistemas.
Fcil de mantener.
Eficiente, aprovechando al mximo los recursos de la computadora.
Modularizable.

La programacin estructurada es un conjunto de tcnicas para desarrollar algoritmos fciles de


escribir, verificar, leer y modificar. Utiliza:
Diseo descendente. El cual consiste en disear los algoritmos en etapas, partiendo de los
conceptos generales hasta llegar a los detalles. El diseo descendente se ver complementado y
ampliado con la modularizacin.
Recursos abstractos. En cada descomposicin de una accin compleja se supone que todas las
partes resultantes estn ya resueltas, posponiendo su realizacin para el siguiente refinamiento.
Estructuras bsicas. Los algoritmos debern ser escritos utilizando nicamente tres tipos de
estructuras bsicas: secuenciales, decisin e iteracin, las cuales se describen ms adelante.
Mg. Ing. Carlos Franco del Carpio

LOGICA Y ALGORITMOS

TEOREMA DE BHM Y JACOPINI


Para que la programacin sea estructurada, los programas han de ser propios. Un programa se
define como propio si cumple las siguientes caractersticas:
Tiene un solo punto de entrada y uno de salida
Toda accin del algoritmo es accesible, es decir, existe al menos un camino que va desde el
inicio hasta el fin del algoritmo, se puede seguir y pasa a travs de dicha accin.
No posee lazos o bucles infinitos.

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.

Mg. Ing. Carlos Franco del Carpio

LOGICA Y ALGORITMOS
Indica la salida de informacin
por impresora.

Indica la salida de informacin


en la pantalla o monitor.

Lneas de Flujo.

Recomendaciones para el diseo de Diagramas de Flujo

Se deben se usar solamente lneas de flujos horizontales y/o verticales.


Se debe evitar el cruce de lneas utilizando los conectores.
Se deben usar conectores solo cuando sea necesario.
No deben quedar lneas de flujo son conectar.
Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo y de
izquierda a derecha.
Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando el uso de
muchas palabras.

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

Mg. Ing. Carlos Franco del Carpio

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.

Figura Esquema de tipo de datos


Tipos de Datos Simples
Datos Numricos:
Son datos simples. Pueden ser enteros o reales.
Tipo entero

Conjunto de los nmeros enteros positivos y negativos.


En la prctica estn limitados [-32 767, +32 767]
Tipo real

Conjunto de los nmeros reales positivos y negativos (parte entera y parte decimal
separada por un punto).

Este tipo de datos permiten realizar operaciones aritmticas comunes.


Datos Lgicos:
Son aquellos que solo pueden tener dos valores (verdadero o falso) ya que representan el resultado
de una comparacin entre otros datos (numricos o alfanumricos).
Datos Alfanumricos (String):
Los hay simples (caracteres o char) o estructurados (cadenas o string).Pueden ser o contener letras
del abecedario, dgitos o smbolos especiales.
Un dato tipo carcter contiene un solo carcter (obvio, no?), mientras que un dato tipo cadena
contiene un conjunto de caracteres.
Es posible representar nmeros como alfanumricos, pero estos pierden su propiedad matemtica, es
decir, no es posible hacer operaciones con
ellos. Este tipo de datos se representan encerrados
entre comillas.
Datos tipo
carcter
e
4
@

Datos tipo cadena


algortmica2008
477-7777
elzorro@hotmail.com

cadena

Mg. Ing. Carlos Franco del Carpio

Datos de tipo carcter y

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(*)

Las que se aplique al tipo en


cuestin

Ejemplos
de

Figura Datos estructurados

Identificadores, Constantes y Variables.


Identificadores
Los identificadores representan los datos de un programa (constantes, variables, tipos de datos). Un
identificador es una secuencia de caracteres que sirve para identificar una posicin en la memoria de
la computadora.
Ejemplo:

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

direccin=Av. Libertad #190

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

Operaciones, operadores y operandos


Una operacin es una cadena sintcticamente correcta de operandos y operadores. Segn sea el tipo
de datos que manipulan, se clasifican en aritmticas, relacionales y lgicas.
Un operador es un smbolo que da instrucciones para que se ejecute alguna operacin, o accin, en
uno o ms operandos.
Un operando es algo sobre lo cual acta un operador (podra considerarse como una expresin).

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
^

Prioridad de los operadores aritmticos


Todas las expresiones entre parntesis se evalan primero.
En expresiones con parntesis anidados el parntesis ms interno se evala primero.
Dentro de una misma expresin los operadores se evalan en el siguiente orden:
1.-Exponenciacin
2.-Multiplicacin, Divisin, Mdulo.
3.-Suma y Resta.
Los operadores en una misma expresin con igual nivel de prioridad se evalan de izquierda a
derecha.
Ejemplos:
5+3*6= 23

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

Estos operadores se utilizan para establecer


relaciones entre valores lgicos. Estos valores pueden ser resultado de una expresin relacional.
Operadores lgicos
NOT
NEGACIN
AND
Y
OR
O
Tabla Tipos de operadores lgicos jerarquizados

Figura Resultado de operaciones Lgicas


Operadores
Lgicos
NOT

Operadores
Relacionales
< , > , = , <=,
>= , <>

AND

Operadores Aritmticos
Exponenciacin()
Operadores de Signo(+,-)

OR

Multiplicacin y Divisin(*, /)
Suma Y Resta (+, - )

Figura Clasificacin de operadores


Prioridad de los operadores en general
1. ( )
2. ^
3. *, /, Mod, Not
4. +, -, And
5. >, <, > =, < =, < >, =, Or

Operador

Tipos de operandos

Tipo del resultado

+,-,*

Enteros o reales

Enteros o reales

Enteros o reales

Real

Mg. Ing. Carlos Franco del Carpio

LOGICA Y ALGORITMOS
Div,mod

Entero

Entero

=,<,>,,,

Ordinal

Lgico

V,

Lgico

Lgico

+ ( concatenacin)

Cadena

Cadena

Figura

Operadores, operandos y resultados segn sus clases

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.

Las estructuras selectivas pueden ser: simples, dobles o mltiples.


SIMPLES.
Se evala la condicin y si sta da como resultado verdad se ejecuta una determinada accin o
grupo de acciones; en caso contrario no se ejecuta dicho grupo de acciones y se contina con el
flujo.
Esta estructura se representa de la siguiente forma:
Pseudocdigo

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:

Mg. Ing. Carlos Franco del Carpio

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

Mg. Ing. Carlos Franco del Carpio

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

Mg. Ing. Carlos Franco del Carpio

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

CatA, CatB, Hip: Entero

Cat A CatB

CatA, CatB

//Salida
Escribir (Hip)
Fin

Hip CatA CatB

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

5.-Desarrolle un algoritmo que le permita calcular el rea de un tringulo en funcin de las


longitudes de sus lados previamente ledos desde el teclado.
Anlisis:
En este problema planteado primero se leen los valores de los tres lados del tringulo, luego se
procede a calcular el valor de su rea en funcin de los valores ledos, aplicando la frmula
correspondiente y por ltimo se da orden de escribir el valor calculado.

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

Area= p (p- A) (p-B) (p-C)


//Salida
Escribir (Area)
Fin

p=(A+B+C)/2

Area =

p(p-A)(p-B)(p-C)

FIN

6.- Desarrolle un algoritmo que le permita determinar el rea y volumen de un cilindro


cuyo radio (R) y altura (H) se leen desde teclado.
Anlisis:
En este ejercicio planteado es necesario leer el valor del radio y el valor de la altura del cilindro desde
algn medio de entrada de datos a la computadora, generalmente el teclado. Una vez se tengan
almacenados los dos valores en memoria del computador se procede a calcular el rea y el volumen
aplicando las frmulas respectivas.

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, Area: Real

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, Mari, Mgeo, Marm :Real

A, B

//Salida
Escribir (Mari,Mgeo,Marm)
Fin

Mg. Ing. Carlos Franco del Carpio

Mari= (A+B)/2

20

LOGICA Y ALGORITMOS

Mgeo=(A*B) ^1/2

Marm= (2*A*B)/(A+B)

Mari, Mgeo, Marm

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: Entero

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, Tp: Entero

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

C1, C2, C3, Tf, Ef,Cf,ppar,pef,ptf,prom: Real

C1, C2, C3, Tf, Ef

Prom = (c1 + c2 + c3)/3

Ppar=prom*0.65

Mg. Ing. Carlos Franco del Carpio

22

Pef=ef*0.20

LOGICA Y ALGORITMOS

Ptf=tf*0.15

cf = ppar + pef + ptf

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

Fnac, fact, edad: Entero

Leer fact, fnac

Edad=fact-fnac
Escribir Edad

FIN

14.-Dado el valor de venta de un articulo electrodomstico, Hallar el IGV (19%) y el precio de


venta de dicho artculo.
Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese el valor de venta del artculo y
luego realizar los clculos respectivos para hallar el IGV y el precio de venta.

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

vv, pv, igv: Real

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

X, sum, millares, centenas,


Decenas, unid, cociente: Entero

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

3) Elabore un algoritmo que lea un nmero entero positivo y determinar el nmero de


dgitos decimales necesarios para la representacin de dicho valor. Ejemplo: El
valor 358 necesita 3 dgitos, el 9863 necesita 4 dgitos, etc.
4) Elaborar un algoritmo que lee 4 valores numricos y calcule su producto.
5) Diseo un algoritmo que calcule el resultado de una potencia dada su base y su
exponente.
6) Disear el algoritmo correspondiente a un programa que obtiene la ltima cifra de un
nmero introducido.
7) Disear el algoritmo correspondiente a un programa que calcule el rea y el permetro de
un tringulo rectngulo dada la base y la altura.
8) Disear el algoritmo correspondiente a un programa que tras introducir una medida
expresada en centmetros la convierta en pulgadas (1pulgada = 2,54 centmetros)
9) Disear el algoritmo correspondiente a un programa que exprese en horas, minutos y
segundos un tiempo expresado en segundos.
10) Dado un nmero de 6 dgitos, Devolver el nmero en orden inverso.
11) Dado 5 nmeros enteros, obtener el porcentaje de cada uno en funcin a la suma de
los 5 nmeros ingresados12) Elabora un algoritmo para hallar el rea y permetro de un rectngulo.
13) Hallar un algoritmo para convertir grados centesimales a sexagesimales.
14) Disear el algoritmo correspondiente a un programa que lea el valor correspondiente
a una distancia en millas marinas y las escriba expresadas en metros. Sabiendo
que 1 milla marina equivale a 1852 metros.

Mg. Ing. Carlos Franco del Carpio

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

2.-Determinar si un numero es mltiplo de 5 y 7


Anlisis:
Para resolver este ejercicio , hay que leer primero el valor del nmero y almacenarlo en una
Mg. Ing. Carlos Franco del Carpio

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 mod 5=0 y X mod 7=0

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

Escribir (El mayor numero es B)


Si no
Escribir (El mayor numero es C)
Fin si
Fin si
Fin
Diagrama de Flujo
INICIO

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

4.-Desarrolle un algoritmo que le permita leer un valor cualquiera X y escribir si dicho


nmero es par o impar.
Anlisis:
Para resolver el ejercicio planteado hay que leer primero el valor y almacenarlo en una variable (X).
Para saber si el numero es par, la divisin por dos (2) debe ser exacta. Por tanto la decisin si la
divisin es exacta o no, la debe tomar el computador usando el smbolo respectivo en el diagrama.
(En los diagramas se utilizar el smbolo % para representar el residuo de la divisin de dos
operandos, en este caso de la divisin de X y 2). Una vez resuelva la asercin el computador escribir
si es par o impar el numero ledo y almacenado en la variable X.
Mg. Ing. Carlos Franco del Carpio
30

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

14.-Dado un nmero devolver el doble si el numero no es par, caso contrario el triple.


Anlisis:
Para la solucin de este ejercicio se requiere ingresar un nmero entero y almacenarlo en una
variable N, luego el sistema verifique y devuelva el doble o el triple del nmero

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

C, M_d, M_igv, p: Real

No

Mg. Ing. Carlos Franco del Carpio

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

18.-Dado la hora, minuto y segundo, encuentre la hora del siguiente segundo.


Anlisis:
Para la solucin de este ejercicio lo primero que se requiere es que el usuario ingrese la hora,
minuto y segundo luego que el sistema verifique y determine la hora, minuto y segundo del
siguiente segundo.

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.

ax2 +bx + c=0


x1= - b + b2 4ac
2a

x2= - b - b2 4ac
2a

Considerar que a 0, para poder dividir.


Considerar b2 4ac0, para poder obtener la raz cuadrada.

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

Mg. Ing. Carlos Franco del Carpio

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

23.-Al ingresar el nmero de un mes, devolver la estacin del ao de acuerdo a la siguiente


tabla.

Mes

Estacin

1,2,3

VERANO

4,5,6

OTOO

7,8,9

INVIERNO

10,11,12

PRIMAVERA

Mg. Ing. Carlos Franco del Carpio

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

Mg. Ing. Carlos Franco del Carpio

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

Mg. Ing. Carlos Franco del Carpio

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

Mg. Ing. Carlos Franco del Carpio

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

Mg. Ing. Carlos Franco del Carpio

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, Pedro: Entero


Cont: Cadena

Juan, Mario, Pedro

Juan=Mario
and Mario=Pedro

Mg. Ing. Carlos Franco del Carpio

53

Juan=Mario
Cont
=No hay
Mario=Pedro
Juan=Pedro

contemporneos

Cont
FIN

Cont =los tres


son
contemporneos

Cont
Cont
Cont=Juan
=Mario
=Juany yy
Mario
Pedroson
son
contemporneos
contemporneos

LOGICA Y ALGORITMOS

F
V

29.-Determine el importe a pagar para el examen de admisin de una universidad, cuyo


valor depende del nivel socioeconmico y el colegio de procedencia

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

Mg. Ing. Carlos Franco del Carpio

55

mp
FIN

LOGICA Y ALGORITMOS

30.-Desarrolle un algoritmo que le permita leer tres valores A, B, C e


indicar si la suma de dos nmeros cualquiera es igual al tercero.
Anlisis:
Primero se deben leer los tres valores y almacenar cada valor en una
variable. En el caso del ejemplo se guardaran los valores en los
identificadores A,B, y C. luego se proceder a realizar las diferentes
comparaciones.
Pseudocdigo
Inicio
//Declarando Variables
A, B, C :Enteros
//Entrada
Leer (A, B, C)
//Proceso
Si A+B=C entonces
Escribir (La suma de A + B = C)
Sino Si A+C=B entonces
Escribir (La suma de A + C = B)
Sino Si C+B=A entonces
Escribir (La suma de C + B = A)
Sino
Escribir (En ningn caso la suma es igual)
Fin si
Fin si
Fin si
Fin

Diagrama de Flujo
INICIO

Mg. Ing. Carlos Franco del Carpio

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

En ningn caso la suma


de dos cualquiera es
igual al tercero

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%

sobre el total de la compra y si son menos de tres, un

descuento del 10%


9) Una empresa quiere comprar varias piezas de la misma clase a una fbrica de
refacciones. La empresa, dependiendo del monto total de la compra, decidir qu hacer
para pagar al fabricante:
-

Si el monto total de la compra excede de $500.000 la empresa tendr la capacidad de


invertir de su propio dinero un 55% del monto de la compra, pedir prestado al banco un
30% y el resto lo pagar solicitando un crdito al fabricante.

Si el monto total de la compra no excede de $500 000 la empresa tendr capacidad de


invertir de su propio dinero un 70% y el restante 30% lo pagar solicitando crdito al
fabricante. El fabricante cobra por concepto de intereses un 20% sobre la cantidad que
se le pague a crdito.

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

Mg. Ing. Carlos Franco del Carpio

58

LOGICA Y ALGORITMOS

2 aos o ms y menos de 5 aos

10% del salario

5 aos o ms y menos de 10 aos

15% del salario

10 aos o ms

20% del salario

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.

Se sabe que solo

hay bolitas de los colores mencionados.


16) Calcular el total que una persona debe pagar en una llantera, sabiendo que el precio de
cada llanta es de $800 si se compran menos de 5 llantas y de $700 si se compran 5 o ms.
17) En un supermercado se hace una promocin, mediante la cual el cliente obtiene un
descuento dependiendo de un nmero que se escoge al azar.Si el nmero escogido es
menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o igual a 74
el descuento es del 20%.Obtener cunto dinero se le descuenta.
18) Calcular el nmero de pulsaciones que debe tener una persona por cada 10 segundos
de ejercicio aerbico; la formula que se aplica cuando el sexo es femenino es:
nm. pulsaciones = (220 - edad) / 10

y si el sexo es masculino la frmula es: nm.

pulsaciones = (210 - edad) / 10.


19) Una compaa de seguros est abriendo un dpto. de finanzas y estableci un programa
para captar clientes, que consiste en lo siguiente: si el monto por el que se efecta la fianza
Mg. Ing. Carlos Franco del Carpio

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

cuanto debe pagar un alumno.


21) Una empresa de bienes races ofrece casas de inters social, bajo las siguientes
condiciones: Si los ingresos del comprador son menores de $8000 el enganche ser del
15% del costo de la casa y el resto se distribuir en pagos mensuales, a pagar en diez aos.
Si los ingresos del comprador son $8000 o ms el enganche ser del 30% del costo de la
casa y el resto se distribuir en pagos mensuales a pagar en 7 aos. La empresa quiere
obtener cunto debe pagar un comprador por concepto de enganche y cunto por cada
pago mensual.
22) El gobierno ha establecido el programa SAR (Sistema de Ahorro para el Retiro) que
consiste en que los dueos de la empresa deben depositar en una cuenta bancaria un
porcentaje del salario de los trabajadores; adicionalmente los trabajadores pueden solicitar a
la empresa que deposite una cuota fija o un porcentaje de su salario en la cuenta del SAR,
la cual le ser descontada de su pago. Un trabajador que ha decidido aportar a su cuenta
del SAR desea saber la cantidad total de dinero que estar depositado a esa cuenta cada
mes, y el pago mensual que recibir.
23) Una persona desea iniciar un negocio, para lo cual quiere saber cunto dinero le
prestara el banco por hipotecar su casa. Tiene una cuenta bancaria, pero no quiere disponer
de ella a menos que el monto por hipotecar su casa sea muy pequeo. Si el monto de la
hipoteca es menor que $1.000.000 entonces invertir el 50% de la inversin total y un socio
invertir el otro 50%. Si el monto de la hipoteca es de $ 1.000.000 o ms, entonces invertir
el monto total de la hipoteca y el resto del dinero que necesite para cubrir la inversin total
se repartir a partes iguales entre el socio y l.
24) El gobierno desea reforestar un bosque que mide determinado nmero de hectreas.
Si la superficie del terreno excede a 1 milln de metros cuadrados, entonces decidir
sembrar as:
% de la superficie del bosque

Tipo de rbol

70%

pino

20%

oyamel

10%

cedro

Mg. Ing. Carlos Franco del Carpio

60

LOGICA Y ALGORITMOS

Si la superficie es menor o igual a un milln de metros cuadrados, entonces sembrar


as:
50%

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

que una hectrea equivale a 10 mil metros cuadrados.


25) Una fbrica ha sido sometida a un programa de control de contaminacin para lo cual se
efecta una revisin de los puntos IMECA generados por la fbrica. El programa de control
de contaminacin consiste en medir los puntos IMECA que emite la fabrica en cinco das de
una semana y si el promedio es superior a los 170 puntos entonces tendr la sancin de
parar su produccin por una semana y una multa del 50% de las ganancias diarias cuando
no se detiene la produccin. Si el promedio obtenido de puntos IMECA es de 170 o menor
entonces no tendr ni sancin ni multa. El dueo de la fbrica desea saber cunto dinero
perder despus de ser sometido a la revisin.
26) Una persona se encuentra con un problema de comprar un automvil o un terreno, los
cuales cuestan exactamente lo mismo. Mientras el automvil se devala, con el terreno
sucede lo contrario.

La persona comprar el automvil si al cabo de tres aos la

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

2. La independencia de Mxico fue en el ao 1810?


3. The Doors fue un grupo de rock Americano?
30) Un proveedor de estreos ofrece descuento del 10% sobre el precio sin IVA de algn
aparato si este cuesta $2000 ms. Adems, independientemente de sto, ofrece un 5%
de descuento si la marca es Nosy. Determinar cunto pagar, con IVA incluido, un cliente
cualquiera por la compra de su aparato.
31) Una frutera ofrece las manzanas con descuento segn la siguiente tabla:
NUM. DE KILOS COMPRADOS

% 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:

$5.000 para equipo

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%

> 1 y < = 6 meses

10

- 18 g%

> 6 y < = 12 meses

11

- 15 g%

> 1 y < = 5 aos

11.5 - 15 g%

> 5 y < = 10 aos

12.6 - 15.5 g%

Mg. Ing. Carlos Franco del Carpio

62

LOGICA Y ALGORITMOS

> 10 y < = 15 aos

13

- 15.5 g%

Mujeres > 15 aos

12

- 16 g%

Hombres > 15 aos

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).

Mg. Ing. Carlos Franco del Carpio

63

LOGICA Y ALGORITMOS

1.-

Dado un nmero, determinar la cantidad de dgitos pares que contiene.


Anlisis:
Para la solucin de este problema, se requiere que el usuario ingrese un nmero entero y el
sistema verifique y devuelva la cantidad de dgitos enteros que contiene el nmero.
Entrada
Nmeros(n)
Salida
Cantidad de dgitos pares (C)
Pseudocdigo

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

2.-Dado un numero devolver el digito mayor.


Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese un nmero entero, luego el
sistema verifica y devuelve el digito mayor.
Entrada
Numero entero (n)
Salida
Dgito mayor (m)
Pseudocdigo

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

3.-Dado un numero determinar cuntos dgitos tiene.


Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese un nmero entero, luego el
sistema verifica y determina la cantidad de dgitos que contiene.
Entrada
Numero (n)
Salida
Cantidad de dgitos (C)
Pseudocdigo

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

4.-Obtener la cantidad de los primeros N nmeros mltiplos de 7.


Anlisis:
Para la solucin de este problema, se requiere que el usuario ingrese un nmero, luego el
sistema devuelva la cantidad de nmeros mltiplos de 7.
Entrada
Numero (n)
Salida
Cantidad(c)
Pseudocdigo

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

5.-Dado un rango de nmeros enteros, obtener la cantidad de nmeros pares que


contiene.
Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese el nmero inicial y final y el
sistema procese y devuelva la cantidad de nmeros pares que contiene el rango.

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

Mg. Ing. Carlos Franco del Carpio

INICIO

i,cp, ni, nf: Entero

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

6.-Dado un rango de nmeros enteros, obtener la cantidad de nmeros enteros que


contiene.
Anlisis:
Para la solucin de este ejercicio, se requiere que el usuario ingrese el nmero inicial y final,
luego el sistema procesa y devuelve la cantidad de nmeros enteros que contiene el rango.
Entrada
Nmero inicial (ni)
Nmero final (nf)
Salida
Cant. (C)
Pseudocdigo

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

7.-Obtener la suma de los primeros N nmeros naturales positivos.


Anlisis:
Para la solucin de este problema, se requiere que el usuario ingrese un nmero y el sistema
realice el proceso para devolver la suma de los N primeros nmeros.
Entrada
Nmero (n)
Salida
Suma (s)
Pseudocdigo

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

8.-Dado un nmero, devuelva el inverso del nmero.


Anlisis:
Para la solucin de este problema, se requiere que el usuario ingrese el nmero y el sistema
procesa y devuelve el inverso del nmero.
Entrada
Nmero (n)
Salida
Nmero inverso (i)

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

Mg. Ing. Carlos Franco del Carpio

71

FIN

LOGICA Y ALGORITMOS

9.-Obtenga el cociente y el residuo de una divisin mediante restas sucesivas, por


ejemplo si el dividendo es 3989 y el divisor es 1247, entonces:
3989-1247=2742
2742-1247=1495
1495-1247=248

R (1)
R (2)
R (3)

Ya no se puede seguir restando, pues 248 es menor a 1247, entonces el cociente es el


nmero de veces restado (3) y el residuo es el ltimo obtenido (248)
Anlisis:
Para la solucin de este ejercicio, se requiere las sgtes variables:
Entrada
Numerador (n)
Denominador (d)
Salida
Cociente (c)
Residuo (r)

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

Mg. Ing. Carlos Franco del Carpio

72

c,r

LOGICA Y ALGORITMOS

FIN

10.-Determine si un numero es capica o no, se dice que un numero capica es aquel


numero que al invertir sus cifras da el mismo nmero, por ejemplo 3456 invertido es
6543 entonces es un numero capica.
Anlisis:
Para la solucin de este problema, se requiere que el usuario ingrese un nmero y el sistema
verifica y determina el es o no capica.
Entrada
Numero (n)
Salida
Respuesta (r)

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

Mg. Ing. Carlos Franco del Carpio

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

Mg. Ing. Carlos Franco del Carpio

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

r=no es cubo perfecto

r=Es cubo perfecto

FIN

Mg. Ing. Carlos Franco del Carpio

76

Vous aimerez peut-être aussi