Sie sind auf Seite 1von 58

Universidad Csar

Algoritmos 1
Vallejo

CONCEPTOS GENERALES
Computadora: Una mquina o aparato electrnico capaz de ejecutar operaciones repetitivas muy
complejas a altas velocidades. Algunos la conocen como ORDENADOR, especialmente los del pas de
Espaa.

Datos: Se refiere a la representacin de un hecho, concepto o entidad (los datos se pueden tomar de
diferentes formas: por palabra, escritas o habladas, etc)

Informacin: Datos procesados y organizados.

Sistema de Procesamiento de Informacin: Sistema que transforma datos brutos en informacin


organizada, significativa y til.

Algoritmo: Conjunto de pasos que especifican la secuencia de operaciones a realizar, en orden para
resolver un sistema especfico o clase de problemas.

Programa: cuando el algoritmo es implementado en una computadora se le llama programa.


Generalmente un algoritmo es implementado en una computadora a travs de un lenguaje de
Programacin. Un programa consta de una secuencia de instrucciones, cada una de las cuales especifica
las operaciones que debe realizar la computadora.

Programacin Actividad de expresar un algoritmo en forma de programa.

Hardware: conjunto de componentes fsicos de una computadora. Parte fsica

Software: conjuntos de programas que controlan el funcionamiento de una computadora. Parte lgica.

COMPONENTE PRINCIPALES

CPU: Unidad Central de Proceso (UCP). Es el conjunto de circuitos electrnicos capaces de ejecutar
algunos clculos sencillos. La potencia de una computadora depende completamente de la velocidad y
fiabilidad de la UCP.

RAM: Memoria central. La informacin en la CPU se almacena normalmente en la memoria central o


RAM hasta que se termine. Los programas de computadora se almacenan en la memoria RAM.

Dispositivos de Almacenamiento Secundario (memoria auxiliar): tales como discos duros, cintas
magnticas, se usan para almacenar grandes cantidades de informacin.

Perifricos de Entrada y Salida: permiten al usuario comunicarse con la computadora. Algunos


dispositivos tpicos son: teclado, impresora, monitor, etc.

ALGORITMOS
Un programador de computadoras es antes que nada una persona que resuelve problemas, por lo que para
llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y
sistemtico.

Resolucin de problemas

Para resolver problemas se requiere de 3 elementos: problema, algoritmo y programa de computadora.


Los pasos para la resolucin de un problema son:
1) Diseo del algoritmo que describe la secuencia ordenada de pasos, que conducen a la solucin
de un problema dado.
2) Expresar el algoritmo como un programa en un lenguaje de programacin.
3) Ejecucin y validacin del programa por la computadora

Los algoritmos son independientes del lenguaje de programacin en que se expresan. Cada problema se
puede expresar en un lenguaje diferente sin embargo el algoritmo sera siempre el mismo.

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 2
Vallejo

Caractersticas de un Algoritmo

1) Deber ser preciso. Debe indicar el orden de realizacin de cada paso.


2) Deber ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada
vez que se pruebe.
3) Debe ser finito. Se debe terminar en algn momento o sea que debe tener un nmero finito de
pasos.

En el caso de que un algoritmo debe ser bien definido, debe describir tres partes: entrada, proceso y
salida.

LENGUAJES DE PROGRAMACIN

1) Lenguaje Mquina: son aquellos que estn escritos en lenguajes directamente inteligibles por la
mquina ya que constan de 0 (ceros) y 1 (unos). Estos lenguajes dependan de la mquina en
donde se ejecutaba
2) Lenguaje Bajo Nivel: son fciles de utilizar que los lenguajes mquina, pero al igual que ellos
dependen de la mquina. Ac aparece un lenguaje de programacin por excelencia para este
nivel llamado ENSAMBLADOR (ASSEMBLY LANGUAGE)
3) Lenguaje Alto Nivel: son los ms utilizados por los programadores. Estn diseados para que
las personas escriban y entiendan los programas de una manera ms fcil. Estos tipos de
lenguajes son independiente de la mquina en donde se instalan.

Traductores de lenguaje
Los traductores de lenguaje son programas que traducen a su vez los programas fuente escritos en
lenguajes de alto nivel a cdigo mquina.
Los traductores se dividen en:
Compiladores
Intrpretes

Intrprete
Es un traductor que toma el programa fuente, lo traduce y a continuacin lo ejecuta lnea por lnea.

Compilador
Traduce los programas fuente a lenguaje mquina, estos programas traducidos se llaman programa objeto.
El compilador traduce sentencia por sentencia.

LOS DATOS

El manejo de toda computadora est dada por un elemento muy importante llamado DATO, si l la
computadora no hara nada, ya que para que la computadora realice algo tendr que necesitar siempre de
algn dato.

Tipos de Datos

1) Simples (sin estructura)


2) Compuesto (Estructurados)
Los tipos de datos simples son: numricos, lgicos y carcter
Los tipos de datos compuestos son los llamados ARRAYS, que agrupan conjuntos de datos simples.

a) Datos Simples: como ya se hizo mencin pueden ser numricos, lgicos y carcter.

1) Datos Numricos: conjunto de valores numricos. Generalmente pueden ser:

- Entero: subconjunto finito de nmeros enteros. No tienen componentes fraccionarios o


decimales y pueden ser negativos o positivos.
- Real: subconjunto de nmeros reales. Siempre tienen punto decimal pueden ser negativos o
positivos.

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 3
Vallejo

2) Datos lgicos: tambin denominado booleano, es aquel dato que puede tomar dos valores:
verdadero (true) y falso (false). Este tipo de datos se utiliza en las alternativas (si/no) a
determinadas condiciones.

3) Datos Carcter: conjunto finito y ordenado de caracteres que la computadora reconoce. Existen
los siguientes tipos de carcter:
- alfabticos (A,B,C...Z) (a,b,c............z)
- numricos (1,2,....,9,0)
- especiales (+, - , * , / , < , >, ...)
Generalmente en los lenguajes de programacin se les conoce como STRING, van entre una
comilla (apstrofe) o doble comillas, segn el tipo de lenguaje, la longitud de una cadena de
caracteres es el numero de ellos comprendidos entre las comillas.

TIPO TAMAO RANGO


ENTERO
Int 2 bytes - 32768 a 32767
Long 4 bytes - 2,147.483.648 a 2,147.483.647
Unsigned 2 bytes 0 a 65535
Unsigned long 4 bytes 0 a 4,294.967.295
REALES
Float 4 bytes 3.4 E-38 a 3.4 E +38
Double 8 bytes 1.7 E-308 a 1.7 E+308
Long double 10 bytes 3.4 E-4932 a 1.1 E+4932
CARCTER
Char 1 byte - 128 a 127
Unsigned char 1 byte 0 a 255

EXPRESIONES

Las expresiones son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres
de funciones especiales. Adems de debe tener en cuenta los siguientes trminos:

Operandos: son los valores de una expresin por ejemplo: 3, 2, 4, 10, etc

Resultado de una expresin: valor que da una expresin por ejemplo: 4 + 5 = 9, 9 sera Resultado de la
expresin.

Operadores: Smbolos necesarios para conseguir el resultado de una expresin. Por ejemplo: 5 + 6 = 11,
el smbolo +, sera un operador

Expresiones Aritmticas

Utilizan :

1) Smbolos Matemticos:

+ = suma * = Multiplicacin ^ = exponenciacin div = divisin entera

- = resta / = divisin Mod = resto de una divisin

Prioridad

a) Las operaciones que estn encerradas entre parntesis se evalan primero. Si existen parntesis
ms internos, stos se evalan primero.

( 4 + ( 4 + 7 - ( 10 + 5 ) + 3 ) 3 )

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 4
Vallejo

b) Los operadores tienen la siguiente prioridad


- Exponencial (^)
- Multiplicacin ( * ) , Divisin ( / )
- Div , Mod
- Suma ( + ) , Resta ( - )
Nota: si dos operadores de la misma prioridad se encuentran, se desarrolla de izquierda a
derecha.

2) Funciones Especiales:

Abs(x) absoluto
Cos(x) coseno
Round(x) redondeo
Sen seno
Sqr(x) cuadrado de un nmero
Sqrt(x) raz cuadrada

Ejm:

5 x 7 se representa como 5 * 7
6
se representa como 6 / 4
4
37 se representa como 3 7
coseno de 45 se representa como cos (45)
raiz cuadrada de 20 se representan como sqrt (20)
cuadrado de 4 se representa como sqr (4)

Expresiones Lgicas

Su valor es siempre verdadero o falso. Las expresiones lgicas se forman combinando constantes lgicas,
variables lgicas y otras expresiones lgicas, utilizando los operadores lgicos NOT, AND, OR y los
operadores relacionales (=, >,<, >=, <=, <>)

Operadores de Relacin

Operador Significado
< Menor que
> Mayor que
= Igual que
<= Menor igual que
>= Mayor igual que
<> Diferente

Y
Expresin 1 Expresin 2 Resultado
V V V
V F F
F V F
F F F

O
Expresin 1 Expresin 2 Resultado
V V V
V F V
F V V
F F F

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 5
Vallejo

Ejm:

5 <= 6 (true, verdadero)


4 < > 4 (false, falso)

(4 >= 3) Y (20 < 20) (falso, false)

Ejercicios de transformacin de Expresiones

1) 5 ( x + y )
2) a2 + b2
x y
3) w
u
a
x
4) (z+w)
y
b b 2 4ac
5)
2a
m
6) +p
n
n
7) m +
pq
seno( x) cos eno( x)
8)
4a

mn
9)
pq

n
m
p
10)
r
q
5

Ejercicios de desarrollo de expresiones

1) 3 + 6 * 14
2) 8+7*+4*6
3) 4*7+2^3/45
4) 8+7*3+4*6
5) 2^3
6) (33 + 3 * 4) / 5
7) 2^2*3
8) 3 + 2 * (18 4 ^ 2)
9) 16 * 6 3 * 2
10) 7 * 10 50 mod 3 * 4 + 9

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 6
Vallejo

CONSTANTES Y VARIABLES

CONSTANTES

Son ciertos valores que no cambian durante la ejecucin de un programa.

Constantes numricas son cualquier nmero por ejemplo: 10, 30, 10.5, 20.8, - 1, -9.4
Constante carcter, generalmente van entre comillas o apostrofes.
Constantes lgicas: solo existen verdadero (True) o falso (False)

La mayora de lenguajes de programacin permiten diferentes tipos de constantes: enteras, reales,


caracteres y lgicas.

VARIABLES:

Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la


ejecucin de un proceso, su contenido puede cambia durante la ejecucin del programa. Para poder
reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual
podamos identificarla dentro de un algoritmo.

Reglas para formar nombre de una variable

Debe comenzar con una letra (A a Z, maysculas o minsculas) y no deben contener espacios en
blanco.
Letras, dgitos y caracteres como la subraya ( _ ) estn permitidos despus del primer carcter.
La longitud de identificadores puede ser de hasta 8 caracteres.

Clasificacin de las Variables

1. Por su contenido
1.1. Numricas
1.2. Lgicas
1.3. Carcter

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.

Lgicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el
resultado de una comparacin entre otros datos.

Carcter: Esta formada por caracteres alfanumricos (letras, nmeros y caracteres especiales).

2. Por su uso
2.1. De trabajo
2.2. Contadores
2.3. Acumuladores

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 numero de ocasiones en que se realiza una
operacin o se cumple una condicin. Con los incrementos generalmente de uno en uno.
Ejm: N= N + 1

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.
Ejm: S = S + N

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 7
Vallejo

Ejercicios de cambios que puede sufrir una variable

1) V = 4 * 5
2) X = 3
Y=2
S=X^Y+Y
3) V = 5
X=3
V=V*X
4) IGV = 0.19
ST = 100
IGV = ST*0.19
Pago = ST + IGV

Metodologa para la solucin de problemas por medio de computadora

1) Definicin del Problema

Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y precisa. Es
importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca
del todo no tiene mucho caso continuar con la siguiente etapa.

2) Anlisis del Problema

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de
entrada. Cual es la informacin que se desea producir (salida). Los mtodos y frmulas que se
necesitan para procesar los datos. Una recomendacin muy practica es el que nos pongamos en el
lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia
para producir los resultados esperados.

3) Diseo del Algoritmo

Las caractersticas de un buen algoritmo son:

- Debe tener un punto particular de inicio.


- Debe ser definido, no debe permitir dobles interpretaciones.
- Debe ser general, es decir, soportar la mayora de las variantes que se puedan presentar en la
definicin del problema.
- Debe ser finito en tamao y tiempo de ejecucin.

4) Codificacin

La codificacin es la operacin de escribir la solucin del problema (de acuerdo a la lgica del
diagrama de flujo o pseudocodigo), en una serie de instrucciones detalladas, en un cdigo
reconocible por la computadora, la serie de instrucciones detalladas se le conoce como cdigo fuente,
el cual se escribe en un lenguaje de programacin o lenguaje de alto nivel.

5) Prueba y Depuracin

Los errores humanos dentro de la programacin de computadoras son muchos y aumentan


considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores,
para dar paso a una solucin sin errores se le llama depuracin. La depuracin o prueba resulta una
tarea tan creativa como el mismo desarrollo de la solucin, por ello se debe considerar con el mismo
inters y entusiasmo. Resulta conveniente observar los siguientes principios al realizar una
depuracin, ya que de este trabajo depende el xito de nuestra solucin.

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 8
Vallejo

6) Documentacin

Es la gua o comunicacin escrita es sus variadas formas, ya sea en enunciados, procedimientos,


dibujos o diagramas.

A menudo un programa escrito por una persona, es usado por otra. Por ello la documentacin sirve
para ayudar a comprender o usar un programa o para facilitar futuras modificaciones
(mantenimiento). La documentacin se divide en tres partes:
Documentacin Interna
Documentacin Externa
Manual del Usuario

a) Documentacin Interna: Son los comentarios o mensaje que se aaden al cdigo fuente para
hacer mas claro el entendimiento de un proceso.
b) Documentacin Externa: Se define en un documento escrito los siguientes puntos:

Descripcin del Problema


Nombre del Autor
Algoritmo (diagrama de flujo o pseudocodigo)
Diccionario de Datos
Cdigo Fuente (programa)

c) Manual del Usuario: Describe paso a paso la manera como funciona el programa, con el fin de
que el usuario obtenga el resultado deseado.

7) Mantenimiento

Se lleva acabo despus de terminado el programa, cuando se detecta que es necesario hacer algn
cambio, ajuste o complementacin al programa para que siga trabajando de manera correcta. Para
poder realizar este trabajo se requiere que el programa este correctamente documentado.

Algoritmos

Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar
solucin a un problema especifico.

Tipos de Algoritmos

1) Cualitativos: son aquellos en lo que se describen los pasos utilizando palabras.

2) Cuantitativos: son aquellos en lo que se utilizan clculos numricos para definir los pasos del
proceso.

Lenguajes Algortmicos

Es una serie de smbolos y reglas que se utilizan para describir de manera explcita un proceso. Los
lenguajes algortmicos pueden ser:

a) Grficos: Es la representacin grfica de las operaciones que realiza un algoritmo (diagrama


de flujo).

b) No grficos: Representa en forma descriptiva las operaciones que debe realizar un


algoritmo (pseudocodigo).

Formulacin de Algoritmos

1) Diagrama de Flujo
2) Pseudocdigo
3) Diagrama Estructurado NS Nassi Shneiderman

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 9
Vallejo

Diagrama de Flujo

Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se puede decir que es la


representacin detallada en forma grfica de como deben realizarse los pasos en la computadora para
producir resultados. Esta representacin grfica se da cuando varios smbolos (que indican diferentes
procesos en la computadora), se relacionan entre si mediante lneas que indican el orden en que se deben
ejecutar los procesos. Los smbolos utilizados han sido normalizados por el instituto norteamericano de
normalizacin (ANSI).

SMBOLO SIGNIFICADO

Indica el inicio y final de un diagrama de flujo

Indica E/S (cualquier tipo de introduccin de datos desde un perifrico o para


observar el resultado de un proceso)

Indica proceso (cualquier tipo de operacin que pueda originar cambio de valor,
generalmente se observa operaciones aritmticas.)

no
Decisin (indica operaciones lgicas o de comparacin, solo sigue uno de 2
caminos verdadero o falso; si no)
si

Decisin mltiple (tambin es con operaciones lgicas o de comparacin, solo


sigue uno pero de varios caminos)

Indica el sentido de ejecucin del diagrama de flujo

Conector para elementos de la misma pgina

Conector para elementos de diferentes pginas

Indica una llamada a una subrutina (es un subprograma que realiza un determinado
proceso y retorna luego al programa principal).

SECUNDARIOS SIGNIFICADO

Pantalla (se utiliza en lugar del smbolo de E / S )

Impresora (se utiliza en ocasiones en lugar del smbolo de E / S)

Teclado ( se utiliza en lugar del smbolo de E / S )

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 10
Vallejo

Estructuras de un Programa

1) Secuencial: Ocurre cuando un programa se inicio y termina una sola vez no sufre alteraciones
durante su ejecucin.

Diagrama de Flujo PseudoCdigo N-S

Inicio
Inicio
Inicio
Operacin 1
Oper 1 Operacin 1 Operacin 2
Operacin 3
Operacin 2 Fin
Oper 2
Operacin n
Oper n
Fin
Fin

2) Selectiva: Ocurre cuando en la ejecucin del programa existe el elemento de tomar una decisin.
Solo puede ser un camino de dos posibles (Verdadero o Falso / Si o No)

Selectiva Simple

Diagrama de Flujo PseudoCdigo N-S

Inicio
Inicio
Inicio
Oper Operacin
Oper.
Si <Cond> Entonces
S N Cond.
A S N
Con
d Si_no
B A B
A B
Fin_Si
Oper.
Operacin Fin
Fin
Oper

Fin

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 11
Vallejo

Selectiva Mltiple

Diagrama de Flujo PseudoCdigo N-S


Inicio
Inicio
Operacin
Inicio
Oper Segn sea <Variable>
Oper.
Caso <V 1> Variab.
1 N
Con A 1 2 3 N
2 d 3 Caso <V 2>
B A B C D
A D
B C Caso <V 3>
C Oper.
Si_No Fin
D
Oper Fin_Segn

Operacin
Fin Fin

3) Repetitivas: Son estructuras que permiten repetir ciertas operaciones hasta que se cumpla una
cierta condicin. Existen dos trminos que son utilizados comnmente durante la ejecucin de
un bucle repetitivo. Estos trminos son:

Contador: es aquella variable que esta compuesta por ella misma ms una constante (esta
constante puede ser para incrementar o disminuir). Generalmente sirve para ser analizada en
la condicin de la estructura repetitiva. Ejm:
N=N+1 N=N-1

Acumulador: es aquella variable que esta compuesta por ella misma ms otra variable (esta
variable puede ser incrementar o disminuir). Ejm:
S=S+N S=S-N
Entre las estructuras repetitivas tenemos:

3.1) Estructura Mientras (While)

- Esta estructura primero evala una condicin.


- El bucle se termina cuando la condicin sea falsa.

Diagrama de Flujo PseudoCdigo N-S

Inicio Inicio

Operacin
Inicio
Oper
Mientras <Cond> Oper.
A
Fin_Mientras
Mientras. <Cond.>
N
Con
d Operacin
S
Oper Fin A
A
While.....End While Oper.
Fin
Fin

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 12
Vallejo

Segn sea el lenguaje de programacin hay lenguajes que acepta la estructura anterior
pero tambin lo siguiente:

Diagrama de Flujo PseudoCdigo N-S


Inicio
Inicio
Operacin
Inicio
Oper
Hacer Oper.
A
A
Mientras <Cond>
A
Operacin
S Fin
Con
d
Mientras. <Cond.>
N Do.....While Oper.
Oper Fin

Fin

- Esta estructura primero realiza alguna operacin y luego evala una condicin.
- El bucle se termina cuando la condicin sea Falsa.

3.2) Estructura Repetir (Repeat)

- Esta estructura primero realiza las operaciones y luego evala una condicin.
- El bucle se termina cuando la condicin sea Verdadera.

Diagrama de Flujo PseudoCdigo N-S


Inicio
Inicio
Operacin
Inicio
Oper
Repetir Oper.
A
A
Hasta que <Cond>
A
Operacin
N Fin
Con
d
Repetir. <Cond.>
S Repeat.....Until Oper.
Oper Fin

Fin

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 13
Vallejo

Segn sea el lenguaje de programacin hay lenguajes que acepta la estructura anterior
pero tambin lo siguiente:

Diagrama de Flujo PseudoCdigo N-S

Inicio Inicio

Operacin Inicio
Oper Oper.
Hacer hasta <Cond>
Hacer hasta. <Cond.>
A
S Fin_Hacer
Con
d Operacin
N A
Oper Fin
A
Oper.
Do Until.....End Do
Fin
Fin

- Esta estructura primero realiza una condicin.


- El bucle se termina cuando la condicin sea Verdadera.

3.3) Estructura Para (For)

- Estructura repetitiva que realiza repeticiones en ciertos rangos y con determinados


incrementos o decrementos segn sea el caso.
- El incremento ser positivo si el valor inicial es menor al final.
- El incremento ser negativo si el valor inicial es mayor al final.

Diagrama de Flujo PseudoCdigo N-S

Inicio Inicio
Inicio
Operacin
Oper Oper.
Para i = vi hasta vf Para i = vi hasta vf
<inc dec> hacer <Inc dec> hacer
Para i = vi hasta S A
vf <Inc o dec> Fin_Para A
hacer
N Operacin Fin_Para
A
Fin Oper.

For.....End For Fin

Oper

Fin

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 14
Vallejo

CONSEJOS PARA EL DESARROLLO DE EJERCICIOS DE ESTRUCTURA SECUENCIAL

Cuando se encuentre frente a ejercicios de estructura secuencial, deber seguir los siguientes pasos:

1er PASO:

- Ac deber sacar todos los datos del problema ya sean los de entrada como los de salida, para ello
deber seguir el siguiente cuadro:

DATOS DE ENTRADA
Informacin Variables Tipo de Variable

DATOS DE SALIDA
Informacin Variables Tipo de Variable

- Si en caso fuera muy difcil la ubicacin de los datos para el llenado del cuadro anterior podr utilizar
la tcnica de diagramar un formulario, imaginando por anticipado como se ver la presentacin del
programa en el monitor de una computadora.

2do PASO:

- Disear el proceso del problema, esto podr realizarse con las siguientes herramientas: Diagrama de
Flujo, Pseudocodigo o N-S.

Ejemplo:

Realizar un diagrama para hallar el rea de un tringulo.

Paso 1

DATOS DE ENTRADA
Informacin Variables Tipo de Variable
Base B Real
Altura H Real
DATOS DE SALIDA
Informacin Variables Tipo de Variable
Area A Real

rea de un Tringulo

Base:

Altura:

Calcular Cerrar

rea:

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 15
Vallejo

Paso 2

Diagrama de Flujo Pseudocodigo

Algoritmo: rea de un tringulo


Inicio
Variables:
B : Real
Declarar H : Real
B: Real A : Real
H: Real
A: Real Inicio
Leer B,H
A = (B * H) / 2
Escribir A
Leer: Fin
B,H

N-S
A = (B * H) / 2

Inicio

Escribir: Leer B,H


A
A = (B * H) / 2

Escribir A
Fin
Fin

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 16
Vallejo

EJERCICIOS PROPUESTOS (SECUENCIAL)

Realizar los diagramas estudiados para los siguientes ejercicios:

1. Permita sumar dos nmeros enteros.


2. Permita restar dos nmeros enteros
3. Permita multiplicar dos nmeros
4. Permita dividir un nmero entero
5. Ingresar dos nmeros y devolver su suma, resta, multiplicacin y divisin.
6. Permita ingresar grados Celsius y me reporte su equivalencia en grados Fahrenheit. Formula:
F= 9/5 * C + 32
7. Permita ingresar ao de nacimiento de una persona y devolver su edad.
8. Ingresar la cantidad y el precio de un artculo. Se debe reportar: Cantidad, Precio Unitario, IGV
y Monto a pagar.
9. Permita ingresar a y b devuelvan ab
10. Escribir una funcin que dados 2 nmeros, calcule el porcentaje que el primero representa
respecto del segundo.
11. Calcular el sueldo de un operario conociendo la cantidad de horas que trabaj en el mes y el
valor de la hora
12. Dado el radio de una esfera calcular el volumen

13. Escriba un programa para resolver un sistema de ecuaciones

14. Elabore un algoritmo que dado los datos enteros A, B, escriba el resultado de la siguiente expresin:

R = ((A + B)2) / 3

15. En una casa de cambio necesitan construir un programa tal que dado como dato una cantidad
expresado en dlares, convierta esa cantidad a nuevo soles.
16. Escriba un programa que obtenga tres nmeros luego calcule y muestre su suma y su promedio.
17. Escribir un subprograma que dados a y b devuelva el cociente y el resto de la divisin.
18. Calcular el tiempo transcurrido entre dos horas dadas de un mismo da (ingreso de horas y minutos).
19. Mostrar las horas, minutos y segundos de un tiempo ingresado slo en segundos.
20. Elabore un algoritmo que calcule el nmero de segundos, ingresando un nmero de das.
21. Dada la matrcula y 5 calificaciones de un alumno obtenidas a lo largo del semestre construya un
algoritmo que imprima el promedio de sus calificaciones.
22. Elabore un algoritmo que dado el radio de una esfera calcule e imprima su rea
A= 4 R2
23. Elabore un algoritmo que dado el radio de una esfera calcule e imprima su volumen
V = 4/3 R3
24. Hallar el rea de un tringulo dado sus lados:
AT = p ( p a )( p b)( p c ) Donde: P es permetro
P=(a+b+c)/2 a,b,c son los lados

25. Hallar el rea del rombo conociendo sus diagonales


Area = diagonal 1 x diagonal 2 / 2

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 17
Vallejo

26. Hallar el volumen del cilindro sabiendo el radio y la altura.


Volumen = Radio2 Altura
27. Calcular el rea de un crculo. Sabiendo que rea = x Radio2
28. Hallar la hipotenusa de un tringulo rectngulo. Sabiendo Hipotenusa = cate12 cate2 2
29. Hallar el tercer lado de un tringulo. Sabiendo
Lado desconocido =
lado1conocido 2 lado2conocido2 2(lado1conocido)(lado2conocido)(cos eno( alfa ))

30. Hallar la distancia entre dos puntos conociendo las coordenadas.

Distancia = ( abscisa 2 abscisa1) 2 (ordenada 2 ordenada1) 2

31. Hallar el monto a devolver si presto un capital, a una tasa de inters, durante un tiempo o periodo
determinado.
Monto a devolver = c (1 + inters)tiempo o periodo

32. Hallar el valor de 2 lados de un triangulo.

LADO 1 = LADO CONOCIDO ( SENO (ALFA) / SENO (GAMMA) )


LADO 2 = LADO CONOCIDO ( SENO (BETA) / SENO (GAMMA) )

33. Hallar el valor en grados centesimales y radianes conocido los grados sexagesimales

10
Centesimales = ( sexagesimales ) Radianes = ( sexagesimales )
9 180

34. Hallar el valor en las 4 escalas de temperatura conociendo los grados Celsius:

9 9
FAHRENHEIT = (CELSIUS ) 32 KELVIN = CELSIUS + 273 RANKINE= (CELSIUS ) 492
5 5

35. Conociendo Fahrenheit, Kelvin y Rankine, hallar su valor en Celsius de cada uno.
36. Calcular rea de un trapecio
(basemayor basemenor ) * altura
Area =
2
37. Hallar las siguientes conversiones

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 18
Vallejo

CONSEJOS PARA EL DESARROLLO DE EJERCICIOS DE ESTRUCTURA SELECTIVA

Cuando se encuentre frente a ejercicios de estructura selectiva , deber seguir los siguientes pasos:

1er PASO:

- Ac deber sacar todos los datos del problema ya sean los de entrada como los de salida, adems de
todas las condiciones que tenga el problema, para ello deber seguir el siguiente cuadro:

DATOS DE ENTRADA
Informacin Variables Tipo de Variable

DATOS DE SALIDA
Informacin Variables Tipo de Variable

CONDICIONES
Informacin Variables Resultado

- Si en caso fuera muy difcil la ubicacin de los datos para el llenado del cuadro anterior podr utilizar
la tcnica de diagramar un formulario, imaginando por anticipado como se ver la presentacin del
programa en el monitor de una computadora.

2do PASO:

- Disear el proceso del problema, esto podr realizarse con las siguientes herramientas: Diagrama de
Flujo, Pseudocodigo o N-S.

Ejemplo

Hallar si un alumno es aprobado o desaprobado en base a 3 notas

PASO 1

DATOS DE ENTRADA
Informacin Variables Tipo de Variable
Nota 1 N1 Real
Nota 2 N2 Real
Nota 3 N3 Real
DATOS DE SALIDA
Informacin Variables Tipo de Variable
Promedio Prom Real
Condicin Condi String
CONDICIONES
Informacin Variable
Promedio>=10.5 Prom>=10.5 Aprobado
Promedio<10.5 Prom<10.5 Desaprobado

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 19
Vallejo

Nota 1:

Nota 2:

Nota 3:

Calcular Cerrar

Promedio:

Condicin:

PASO 2 Diagrama de Flujo

Inicio

Declarar:
n1,n2,n3,prom: real
condi: string

Leer
n1,n2,n3

Prom = (n1+n2+n3)/3

S N
Prom<10.
5

Condi = Desaprobado Condi = Aprobado

Escribir
Condi

Fin

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 20
Vallejo

Pseudocodigo

Algoritmo: Condicin de Alumno

Variables:
n1,n2,n3,prom : real
condi : string

Inicio
Leer n1,n2,n3
Prom = (n1+n2+n3)/3
Si prom<10.5 entonces
Condi = Desaprobado
Si_no
Condi = Aprobado
Fin_Si

Escribir Condi
Fin

N-S

Inicio

Leer n1,n2,n3

Prom = (n1+n2+n3)/3

Prom < 10.5


S N

Condi = Condi =
Desaprobado Aprobado

Escribir condi

Fin

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 21
Vallejo

EJERCICIOS PROPUESTOS (SELECTIVA O CONDICIONAL)

Realizar los diagramas estudiados para los siguientes ejercicios:

1. Hacer un diagrama que permita ingresar un nmero y devuelva si es Positivo, negativo o cero.
2. Escriba un programa que obtenga tres nmeros, los almacene en variables y luego calcule y
muestre un reporte sobre su suma y su promedio. Si su promedio es menor a 10.5 que me muestre el
mensaje desaprobado en caso contrario aprobado
3. Dado un nmero entero decir si: ! Es par o impar
4. Si dos nmeros son positivos calcule su producto en caso contrario calcule su suma.
5. Dado un nmero entero decir si es mayor, menor o igual a cero
6. Dados tres nmeros hallar el mayor.
7. Dados tres nmeros hallar el menor.
8. Un nmero puede ser menor, igual o mayor que otro. Hacer un algoritmo que lea 2 nmeros y
determine como es uno respecto al otro.
9. Ingrese dos nmeros n y m y diga si n es mltiplo de m.
10. Lea 3 nmeros e indique cual es el valor intermedio.
11. Lea 3 nmeros q, r, s y determine si q es mltiplo de r y s.
12. Algoritmo sobre una ecuacin de primer grado. (ax + b = 0)
13. Encuentre el valor de la siguiente expresin:
( x 3)
y
( x 2 25)

14. Hacer un diagrama que permita ingresar los parmetros a,b,c de una ecuacin de 2do grado y se
devuelva las races.

B B 2 4 AC B B 2 4 AC
X1 = X2 =
2A 2A

15. Halla el valor para las siguiente funcin

Log (x-8) Si x>8


G(x) 2x ln x Si 0<x<=8
x + sen x Si x<=0

16. Dado un nmero que representa un mes, escribir el nombre del mes correspondiente.
17. Dado 3 longitudes verificar si se puede formar un tringulo. Se conoce que en todo tringulo
cada lado es menor que la suma de los otros dos, pero mayor que su diferencia.
18. Dado 3 longitudes compruebe si se puede formar un tringulo y clasifique que tipo de tringulo
es. Se conoce lo siguiente
Tringulo Equiltero: todos lados iguales
Tringulo Issceles: 2 lados iguales
Tringulo escaleno: todos los lados diferentes
19. Dado un mes escribir la cantidad de das de dicho mes.
20. Dados 3 nmeros, mostrarlos por pantalla en orden creciente.
21. Dados 3 nmeros, mostrarlos por pantalla en orden decreciente.
22. Dada una fecha da, mes y ao (4 digitos), informar si es correcta o no.
23. Desde un dispositivo de e/s se leen tres nmeros. Indique cual de ellos es la suma de los otros
dos.
24. Un ao es bisiesto si es mltiplo de 4, pero no de 100, pero s de 400. (ejemplos: 1984 es
bisiesto, 2000 es bisiesto, 1800 no es bisiesto). Determine un algoritmo que permita determinar si un
ao introducido desde el teclado es bisiesto o no.
25. Un tienda vende dos productos. Realice un diagrama que permita ingresar las unidades vendidas
y sus respectivos precios y se devuelva: SubTotal, Descuento, IGV y Monto a pagar.
El descuento se har de la siguiente manera
Subtotal Descuento
1000 2000 5%
>2000 y <=3000 10%
>3000 15%

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 22
Vallejo

26. Los trabajadores de una empresa tienen 3 turnos: maana, tarde y noche. Desde luego un
trabajador solo pertenece a un turno. La tarifa de los turnos de maana y tarde son iguales y los de la
noche es 30% ms. Se deber saber el numero de horas trabajadas el costo por horas.
27. Trabajando con nmeros se encontr que 12 * 12 = 144 y que 21 * 21 = 441, as tambin, 13
* 13 = 169 y 31 * 31 = 961. Escribe un programa que permite ingresar un nmero de 2 dgitos y
colocar si cumple o no con dicha caractersticas.
28. Un nmero es un capica si su valor es el mismo tanto si es ledo de izquierda a derecha como
de derecha a izquierda. Por ejemplo: 353 es un capica. 354 no es un capica. Disea un algoritmo
que determine si un nmero de tres dgitos introducido es un capica o no.
29. Hacer un diagrama que permite ingresar un nmero (cantidad en soles) y devuelva Cul es el
menor N de billetes de 100, 50, 20, 10 y monedas de 5 y 1 son necesarias para reproducir la
cantidad. Ejem; 1488 100=14 50=1 20=1 10=1 5=1 1=3
30. Realizar un DF para un programa que indique la condicin de un alumno, dependiendo su
promedio, su condicin se basa en el siguiente cuadro

Promedio Condicin
>=18 y <=20 Excelente
>=15 y <=17 Muy Bueno
>=11 y <=14 Regular
>=6 y <= 10 Malo
>=0 y <= 5 Muy Malo

31. Calcular el sueldo de una persona de acuerdo a lo siguiente

Categora Valor/Hora
(S/.)
Administrador 5
Tcnico 7
Profesional 9
Operario 3

- Horas extras son S/. 2.00 por cada hora extra sobre el sueldo base
- El porcentaje por antigedad es el siguiente:

Antigedad %
>=1 y <=3 5
>=4 y <=6 10
>=7 y <=10 15
>=11 y <=15 20
>=16 30

- El sueldo es sacado de la siguiente manera:

Pago = (Valor/hora * horas trabajadas) + horas extras + % antigedad 3% de obra social


10% jubilacin
- Los porcentajes son sobre el sueldo base

32. Si compramos al por mayor 100 o ms artculos nos descuentan el 40%, si compramos entre 25 y
100 nos descuentan un 20% y si compramos entre 10 y 25 un 10%. No hay descuento si adquirimos
menos de 10 artculos. Cunto se pagar al final.

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 23
Vallejo

CONSEJOS PARA EL DESARROLLO DE EJERCICIOS DE SELECTIVA MULTIPLE

Para el caso de las Selectivas Mltiples se desarrollan igual que las selectivas simples, pero con la
diferencia que esta estructura solo se deber usar para condiciones que deban cumplir que sea igual a un
carcter o dgito, solo para eso casos sirve la estructura de selectiva mltiple.

Ejemplo:

Ingresar un nmero y responder de que mes se trata. Por ejemplo si ingresa 3 que de cmo resultado
Marzo

DATOS DE ENTRADA
Informacin Variables Tipo de Variable
Numero del mes Num Entero
DATOS DE SALIDA
Informacin Variables Tipo de Variable

CONDICIONES
Informacin Variables Resultado
Numero = 1 Num=1 Enero
Numero = 2 Num=2 Febrero
Numero = 3 Num=3 Marzo
Numero = 4 Num=4 Abril
Numero = 5 Num=5 Mayo
Numero = 6 Num=6 Junio
Numero = 7 Num=7 Julio
Numero = 8 Num=8 Agosto
Numero = 9 Num=9 Setiembre
Numero = 10 Num=10 Octubre
Numero = 11 Num=11 Noviembre
Numero = 12 Num=12 Diciembre

Nmero
del Mes

Calcular Cerrar

El Mes es:

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 24
Vallejo

Inicio

Dec:
Num: Entero

Leer
Num

nu
m 12

1 Escribir
Diciembr
11 e
Escribir 2 Escribir
Enero Noviembre
3

Escribir
10 Escribir
Febrero 4 9 Octubre

Escribir Escribir
Marzo 8 Setiembre
5

Escribir 7 Escribir
Abril 6 Agosto

Escribir Escribir
Mayo Julio

Escribir
Junio

Fin

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 25
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 26
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 27
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 28
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 29
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 30
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 31
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 32
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 33
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 34
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 35
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 36
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 37
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 38
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 39
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 40
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 41
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 42
Vallejo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 43
Vallejo

8) Ingresar un numero y reporte el nombre del mes y los das que tiene ese mes.
9) Ingrese mes y ao y determine cuantos das tiene ese mes.
10) Lea un nmero menor a 4000 y convirtalo a nmeros romanos.
11) Un tienda tiene los siguiente descuentos de acuerdo al tipo cliente y al tipo de
articulo comprado

Tipo Cliente\ Rendimiento A B C


E = Excelente 40 30 20
B = Bueno 30 20 10
R = Regular 20 10 0
M = Malo 0 0 0

Adems los clientes E y B pueden pagar en Efectivo, Cheque o crdito. Los clientes R
solo en efectivo o cheque, y los clientes M solo se le permitir en efectivo. Dependiendo
el cliente se le deber aparecer los tipos de pago que le corresponda y realizar los
clculos respectivos para saber cuanto debe pagar el cliente.

CONSEJOS PARA EL DESARROLLO DE EJERCICIOS DE


ESTRUCTURA REPETITIVA MIENTRAS

Cuando se encuentre frente a ejercicios de estructura repetitiva Mientras, deber seguir los siguientes
pasos:

1er PASO:

- Ac deber sacar todos los datos del problema ya sean los de entrada como los de salida, adems de
todas las condiciones que tenga el problema y por ltimo los contadores y acumuladores, para ello
deber seguir el siguiente cuadro:

DATOS DE ENTRADA
Informacin Variables Tipo de Variable

DATOS DE SALIDA
Informacin Variables Tipo de Variable

CONDICIONES
Informacin Variables Resultado

ACUMULADORES

CONTADORES

- Si en caso fuera muy difcil la ubicacin de los datos para el llenado del cuadro anterior podr utilizar
la tcnica de diagramar un formulario, imaginando por anticipado como se ver la presentacin del
programa en el monitor de una computadora.

2do PASO:

- Disear el proceso del problema, esto podr realizarse con las siguientes herramientas: Diagrama de
Flujo, Pseudocodigo o N-S.

Ejemplo

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 44
Vallejo

Hallar la suma de los 10 primeros nmeros naturales

DATOS DE ENTRADA
Informacin Variables Tipo de Variable

DATOS DE SALIDA
Informacin Variables Tipo de Variable
Nmeros naturales Num Entero
Suma de nmeros naturales Sum entero
CONDICIONES
Informacin Variables Resultado
Restringe para los 10 primeros Num<=10 Repite hasta que llegue a 10.
nmeros
ACUMULADORES
Acumula la suma de los nmeros Sum = sum + num
naturales
CONTADORES
Genera el siguiente nmero Num = num + 1
natural

La suma de los 10 primeros nmeros naturales es:

Cerrar
Inicio

Declarar
Diagrama de Flujo
num,sum:entero

num=1

sum=0

no
num<=10

si Escribir
sum = sum + num sum
Prof. Ing. Miguel Segura Rojas
num = num + 1 Fin
Universidad Csar
Algoritmos 45
Vallejo

Pseudocodigo

Algoritmo: suma de 10 primeros


nmeros naturales

Variables:
num, sum : entero
Inicio
num = 1
sum = 0
Mientras (num<=10)
sum = sum + num
num = num + 1
Fin_Mientras
Escribir num
Fin

Diagrama N - S

Inicio
num=1
Sum=0
Mientras (num<=10)
Sum = sum +num
Num = num + 1
Prof. Ing. Miguel Segura Rojas
Escribir sum
Fin
Universidad Csar
Algoritmos 46
Vallejo

CONSEJOS PARA EL DESARROLLO DE EJERCICIOS DE


ESTRUCTURA REPETITIVA HACER MIENTRAS

Cuando se encuentre frente a ejercicios de estructura repetitiva Hacer Mientras , deber seguir los
siguientes pasos:

1er PASO:

- Ac deber sacar todos los datos del problema ya sean los de entrada como los de salida, adems de
todas las condiciones que tenga el problema y por ltimo los acumuladores y contadores, para ello
deber seguir el siguiente cuadro:

DATOS DE ENTRADA
Informacin Variables Tipo de Variable

DATOS DE SALIDA
Informacin Variables Tipo de Variable

CONDICIONES
Informacin Variables Resultado

ACUMULADORES

CONTADORES

- Si en caso fuera muy difcil la ubicacin de los datos para el llenado del cuadro anterior podr utilizar
la tcnica de diagramar un formulario, imaginando por anticipado como se ver la presentacin del
programa en el monitor de una computadora.

2do PASO:

- Disear el proceso del problema, esto podr realizarse con las siguientes herramientas: Diagrama de
Flujo, Pseudocodigo o N-S.

Ejemplo

Hallar la suma de los 10 primeros nmeros naturales

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 47
Vallejo

DATOS DE ENTRADA
Informacin Variables Tipo de Variable

DATOS DE SALIDA
Informacin Variables Tipo de Variable
Nmeros naturales Num Entero
Suma de nmeros naturales Sum entero
CONDICIONES
Informacin Variables Resultado
Restringe para los 10 primeros Num<=10 Repite hasta que llegue a 10.
nmeros
ACUMULADORES
Acumula la suma de los nmeros Sum = sum + num
naturales
CONTADORES
Genera el siguiente nmero Num = num + 1
natural

La suma de los 10 primeros nmeros naturales es:

Cerrar
Inicio

Declarar
num,sum:entero
Diagrama de Flujo
num=1

sum=0

sum = sum + num

num = num + 1

SI
num<=10

NO

Escribir
sum
Prof. Ing. Miguel Segura Rojas
Fin
Universidad Csar
Algoritmos 48
Vallejo

Pseudocodigo

Algoritmo: suma de 10 primeros


nmeros naturales

Variables:
num, sum : entero
Inicio
num = 1
sum = 0
Hacer
sum = sum + num
num = num + 1
Mientras (num<=10)
Escribir num
Fin

Diagrama N - S

Inicio
num=1
Sum=0
Sum = sum +num
Num = num + 1

Mientras (num<=10)
Prof. Ing. Miguel Segura Rojas
Escribir sum
Fin
Universidad Csar
Algoritmos 49
Vallejo

CONSEJOS PARA EL DESARROLLO DE EJERCICIOS DE


ESTRUCTURA REPETITIVA PARA

Cuando se encuentre frente a ejercicios de estructura repetitiva para, deber seguir los siguientes pasos:

1er PASO:

- Ac deber sacar todos los datos del problema ya sean los de entrada como los de salida, adems de
todas las condiciones que tenga el problema y por ltimo los acumuladores, para ello deber seguir el
siguiente cuadro:

DATOS DE ENTRADA
Informacin Variables Tipo de Variable

DATOS DE SALIDA
Informacin Variables Tipo de Variable

CONDICIONES
Informacin Variables Resultado

ACUMULADORES

- Si en caso fuera muy difcil la ubicacin de los datos para el llenado del cuadro anterior podr utilizar
la tcnica de diagramar un formulario, imaginando por anticipado como se ver la presentacin del
programa en el monitor de una computadora.

2do PASO:

- Disear el proceso del problema, esto podr realizarse con las siguientes herramientas: Diagrama de
Flujo, Pseudocodigo o N-S.

Hallar la suma de los 10 primeros nmeros naturales

DATOS DE ENTRADA
Informacin Variables Tipo de Variable

DATOS DE SALIDA
Informacin Variables Tipo de Variable

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 50
Vallejo
Nmeros naturales Num Entero
Suma de nmeros naturales Sum entero
CONDICIONES
Informacin Variables Resultado
Restringe para los 10 primeros Num<=10 Repite hasta que llegue a 10.
nmeros
ACUMULADORES
Acumula la suma de los nmeros Sum = sum + num
naturales

La suma de los 10 primeros nmeros naturales


es:

Cerrar

Diagrama de Flujo

Inicio

Declarar
num,sum:entero

num=1

sum=0

Para num=1, num<=10, num+1

sum = sum + num

Escribir
sum

Fin

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 51
Vallejo

EJERCICIOS PROPUESTOS (REPETITIVAS)

1) Hallar el numero inverso de un numero ingresado.


2) Hallar si un nmero es primo o no.
3) Ingresado un nmero, mencionar cuantos nmeros pares e impares posee dicho
nmero.
4) Hallar la suma de los mltiplos de 17 comprendidos entre 1 y 1000.
5) Ingresar un nmero y que se reporte su tabla de multiplicar
6) Hallar el mximo comn divisor de dos nmeros utilizando el algoritmo de
Euclides.
El algoritmo de Euclides dice lo siguiente:

Si se tiene dos nmeros se le tiene que sacar el residuo de la divisin entre los
mismos, despus si el residuo no es cero, el numero que estaba como divisor pasa a
ser dividendo y el residuo pasa a ser divisor, todo esto se repetir mientras que el
residuo no sea cero (0).
Ejemplo
N1 N2 Residuo
30 8 6
8 6 2
6 2 0

En el ejemplo anterior el mximo comun divisor sera 2, por lo tanto en el algoritmo


el mximo comn divisor sera N2.

7) 2 carros parten simultneamente uno de Trujillo y el otro de Chimbote con destino a


Lima con velocidades promedios constantes (ver Figura). Hacer un diagrama de
flujo que imprima las distancias de cada carro con respecto a Trujillo cada 15
minutos hasta que el carro ms veloz pase al otro.

V1=120 km/h V2=66 km/h

Trujillo Chimbote

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 52
Vallejo

8) Hacer un diagrama de flujo que permita ingresar una cantidad determinada de


numero y se reporte la suma y el promedio de todos ellos.
9) Se desea ingresar una determinada cantidad de nmeros, hasta que se digite cero (0)
y se reporte la cantidad ingresada de nmeros, la suma, el promedio, el mayor, el
menor.
10) Se desea ingresar una cantidad determina de nmeros hasta que se digite un cero (0)
y se reporte cuantos fueron 5 y cuantos 6.
11) Se desea ingresar una cantidad de nmeros y se reporte cuantos fueron positivos,
negativos y ceros.
12) Un programa que permita mostrar una cantidad determinada de trminos de la serie:
1, 3/2, 2, 5/2, 3.......
13) Un programa que permita ingresar un numero y mostrar el termino que corresponda
a dicha posicin en la serie: 1, 3/2, 2, 5/2, 3....... por ejem. Si ingresa 4 deber
mostrar 5/2.
14) Un programa que permita mostrar una cantidad determinada de trminos de la serie:
-1/2, 1, -3/2, 2

15) Un programa que permita ingresar un numero y mostrar el termino que corresponda
a dicha posicin en la serie: -1/2, 1, -3/2, 2....... por ejem. Si ingresa 4 deber
mostrar 4/2.
16) Escribir los n primeros trminos de la serie fibonacci
0,1,1,2,3,5,8,13
17) Ingresar una posicin e imprimir el numero que pertenece en la serie
0,1,1,2,3,5,8,13
por ejemplo si ingresa 6 deber imprimir 5.
18) Hallar la tabla de multiplicar del 1 al 12.
19) Realiza la simplificacin de una fraccin. Por ejemplo si se ingresa 14/32 se
devolver 7/16
20) Encontrar si un numero es capicua o no
21) Un numero es perfecto cuando la suma de sus divisores es igual al nmero. Por
ejemplo 6 es perfecto ya que la suma de sus divisores 1+2+3 es igual a 6, otro
ejemplo es 28 sus divisores 1+2+4+7+14
22) Un numero es cubo perfecto cuando la suma de los cubos de sus dgitos da el mismo
numero. Por ejemplo 153 es cubo perfecto ya que 1 3 + 53 + 33 = 153. Ingresar un
numero y responder si es cubo perfecto o no.
23) Hallar el Mnimo Comn Mltiplo de 2 nmeros
24) Determine cuntos dgitos tiene un nmero ingresado.
25) Lea un numero entero y decir cual es el dgito mayor
26) Lea un numero entero y decir cual es el dgito menor
27) Lea un numero entero y que reporte cual digito es el mayor y cual el menor

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 53
Vallejo

PROCEDIMIENTOS Y FUNCIONES

PROCEDIMIENTO: No devuelve un valor

FUNCION: Si devuelve un valor.

Ejemplo de un procedimiento

Calcular el factorial de un nmero

A continuacin se ver la solucin mediante un procedimiento

Facto(a)
Inicio

Dec
Dec f,i
num
f=1

Leer
num
i=1, i<=a, i++

Facto(num)
f=f*i
Fin

Escribir
f

Fin

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 54
Vallejo

Consejos para realizar un programa en procedimientos

- En el programa principal o sea dentro del MAIN( ), solo tendr los ingresos, el
procedimiento desarrollar el cuerpo del problema y mostrar los resultados.
- Los argumentos de un procedimiento deber contener la misma cantidad de datos
ingresados. Por ejemplo en el factorial FACTO tiene un solo argumento que es el
nmero a quien se le sacara el factorial, si se hubiese ingresado dos nmeros el
procedimiento debera haber tenido dos argumentos.

A continuacin se ver el mismo problema pero resuelto mediante una funcin

Inicio facto(a)

Declarar Declarar
num,f:entero f,i : entero

Leer f=1
num

i=1; i<=a,i++
f = facto(num)

Escribir f=f*i
f

Fin
return f

Fin

Consejos para realizar un programa en funciones

- En el programa principal o sea dentro del MAIN( ), tendr los ingresos y mostrar
los resultados, la funcin desarrollar el cuerpo del problema.

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 55
Vallejo

- Los argumentos de la funcin deber contener la misma cantidad de datos


ingresados. Por ejemplo en el factorial FACTO tiene un solo argumento que es el
nmero a quien se le sacara el factorial, si se hubiese ingresado dos nmeros la
funcin debera haber tenido dos argumentos.
- Al finalizar la funcin, la variable que contiene el resultado deber devolverse al
programa principal con la palabra Return.

ARRAYS

Son conjuntos de datos del mismo tipo, por ejemplo el conjuntos de nombres de
personas ser un array del tipo CHAR, el conjunto de notas de alumnos ser un array
del tipo INT. Los arrays se manejan por ndices por lo general el ndice comienza con
cero (0),
Por ejemplo si queremos un array de notas de 5 elementos lo tendremos que declarar de
la siguiente manera:
Notas [4] : Entero Inicio
Si queremos un array de nombres de 10
elementos lo tendremos que declarar
de la siguiente Declarar manera:
Nombres[9][60]
El 9 indica el nombres[4][60]: char numero de
elementos.....el 60 i : entero indica la cantidad de
caracteres que contendr cada nombre
por ejemplo Juan tiene 5 caracteres.

Escritura y
i=0,i<=4,i++ lectura de un Array

Ejemplo: Leer 5 nombres dentro de un


array y luego
Leer mostrarlos en pantalla
nombres[i]

i=0,i<=4,i++

Escribir
nombres[i]

Prof. Ing. Miguel Segura Rojas


Fin
Universidad Csar
Algoritmos 56
Vallejo

Supongamos que el ejemplo anterior termina con la siguiente matriz:

Nombres[0] Nombres[1] Nombres[2] Nombres[3] Nombres[4]


Juan Carlos Jos Patricia Lorena

Tome que cada ndice de la matriz es una variable y cuando quiere referirse a ella
deber tomar en cuenta su indice por ejemplo cuando quiero leer lo que contiene el
elemento 3, tendr que colocar Nombres [2], mas aun si quiere que dicho valor del
elemento tres asignarlo a una variable tendr que hacer lo siguiente:

Nombre = nombres[2]
(Ac se esta asignando el contenido del elemento 3 a la variable Nombre, para el
ejemplo la variable ser igual a Jos)

Ejemplo

Llenar un array con 20 notas. Simular las notas con la funcin rand( ). Adems se debe
reportar si el alumno estuvo aprobado o desaprobado. A un alumno se le considera
aprobado si su nota es mayor o igual a 13.

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 57
Vallejo

Inicio

Dec
i, notas[19]: Entero

randomize()

i=0,i<=19,i++

notas[i]=rand()%21

i=0,i<=19,i++

notas[i]>=13

Escribir Escribir
notas[i] "Aprobado" notas[i] "Aprobado"

Fin

Prof. Ing. Miguel Segura Rojas


Universidad Csar
Algoritmos 58
Vallejo

Prof. Ing. Miguel Segura Rojas

Das könnte Ihnen auch gefallen