Beruflich Dokumente
Kultur Dokumente
COMPUTACIONALES Y
PROGRAMACIN
Facultad de Ingeniera
algoritmos
2016
Contenido
Concepto de algoritmo y sus caractersticas ....................................................................................... 3
Concepto de algoritmo........................................................................................................................ 3
Los pasos para la resolucin de un problema son: ............................................................................. 3
Caractersticas de los algoritmos ........................................................................................................ 4
Los lenguajes de programacin........................................................................................................... 5
Instrucciones a la computadora .......................................................................................................... 5
Lenguajes mquina ............................................................................................................................. 6
Lenguajes de bajo nivel ....................................................................................................................... 7
Lenguajes de alto nivel ........................................................................................................................ 8
Fases en la resolucin de problemas .................................................................................................. 9
Anlisis del problema .................................................................................................................... 10
Diseo del algoritmo ..................................................................................................................... 10
Codificacin de un programa ........................................................................................................ 11
Compilacin y ejecucin de un programa ..................................................................................... 12
Verificacin y depuracin de un programa ................................................................................... 12
Documentacin y mantenimiento ................................................................................................ 13
Constantes y variables....................................................................................................................... 13
Constantes..................................................................................................................................... 13
Variables ........................................................................................................................................ 14
Por su contenido: ...................................................................................................................... 14
Por su uso: ................................................................................................................................. 15
Expresiones ....................................................................................................................................... 17
Estructuras de control (bsicas) ........................................................................................................ 19
Estructuras secuenciales ............................................................................................................... 19
Estructuras selectivas .................................................................................................................... 20
Simples ...................................................................................................................................... 20
Dobles ........................................................................................................................................ 20
Mltiple ..................................................................................................................................... 20
Estructuras repetitivas .................................................................................................................. 21
Mientras .................................................................................................................................... 21
1|Pgina
Victor Fernndez Rosales
algoritmos
2016
Hasta ......................................................................................................................................... 22
Desde ......................................................................................................................................... 22
Estructuras anidadas ..................................................................................................................... 23
Herramientas de programacin ........................................................................................................ 24
Diagrama de flujo .......................................................................................................................... 24
Diagrama de Nassi-Shneiderman .................................................................................................. 25
Diagrama de flujo convencional .................................................................................................... 32
Pseudocdigo ................................................................................................................................ 37
Ejercicios............................................................................................................................................ 39
2|Pgina
Victor Fernndez Rosales
algoritmos
2016
Diseo del
algoritmo
Programa de
computadora
algoritmos
2016
Ejemplo 2
Realizar la suma de todos los nmeros pares entre 2 y 1000.
4|Pgina
Victor Fernndez Rosales
algoritmos
2016
Instrucciones a la computadora
Los diferentes pasos (acciones) de un algoritmo se expresan en los programas como
instrucciones, sentencias o proposiciones (normalmente el trmino instruccin se suele
referir a los lenguajes mquina y bajo nivel, reservando la sentencia o proposicin para los
lenguajes de alto nivel). Por consiguiente, un programa consta de una secuencia de
instrucciones, cada una de las cuales especifica ciertas operaciones que debe ejecutar la
computadora.
La elaboracin de un programa requerir conocer el juego o repertorio de instrucciones del
lenguaje.
5|Pgina
Victor Fernndez Rosales
algoritmos
2016
Las instrucciones bsicas y comunes a casi todos los lenguajes de programacin se pueden
condensar en cuatro grupos:
Lenguajes mquina
Los lenguajes mquina son aquellos que estn escritos en lenguajes directamente
inteligibles por la mquina (computadora), ya que sus instrucciones son cadenas binarias
(cadenas o series de caracteres -dgitos- 0 y 1) que especifican una operacin, y las
posiciones (direccin) de memoria implicadas en la operacin se denominan instrucciones
de mquina o cdigo mquina. El cdigo mquina es el conocido cdigo binario.
Las instrucciones en lenguaje mquina dependen del hardware de la computadora y, por
tanto, diferirn de una computadora a otra. El lenguaje mquina de un PC (computadora
personal) ser diferente de un sistema HP (Hewlett Packard), Compaq o un sistema de IBM.
Las ventajas de programar en lenguaje mquina son la posibilidad de cargar (transferir un
programa a la memoria) sin necesidad de traduccin posterior, lo que supone una velocidad
de ejecucin superior a cualquier otro lenguaje de programacin.
Los inconvenientes -en la actualidad- superan a las ventajas, lo que hace prcticamente no
recomendables los lenguajes mquina. Estos inconvenientes son:
Para evitar los lenguajes mquina, desde el punto de vista del usuario, se han creado otros
lenguajes que permiten escribir programas con instrucciones similares al lenguaje humano
(por desgracia casi siempre ingls, aunque existen raras excepciones, como es el caso de las
versiones espaolas del lenguaje LOGO). Estos lenguajes se denominan de alto y bajo nivel.
6|Pgina
Victor Fernndez Rosales
algoritmos
2016
Figura 2 Ejemplo de cdigo mquina que calcula el n-simo nmero de la Serie de Fibonacci
Programa
ENSAMBLADOR
(assembler)
Programa objeto
en cdigo mquina
algoritmos
2016
8|Pgina
Victor Fernndez Rosales
algoritmos
2016
algoritmos
2016
Constituyen el Ciclo de vida del software y las fases o etapas usuales son:
Anlisis. El problema se analiza teniendo presente la especificacin de los requisitos
dados por el cliente de la empresa o por la persona que encarga el programa.
Diseo. Una vez analizado el problema, se disea una solucin que conducir a un
algoritmo que resuelva el problema.
Codificacin (implementacin). La solucin se escribe en la sintaxis del lenguaje de
alto nivel (por ejemplo, C, Visual Basic, etc.) y se obtiene un programa.
Ejecucin, verificacin y depuracin. El programa se ejecuta, se comprueba
rigurosamente y se eliminan todos los errores (denominados bugs, en ingls) que
puedan aparecer.
Mantenimiento. El programa se actualiza y modifica, cada vez que sea necesario, de
modo que se cumplan todas las necesidades de cambio de sus usuarios.
Documentacin. Escritura de las diferentes fases del ciclo de vida del software,
esencialmente el anlisis, diseo y codificacin, unidos a manuales de usuario y de
referencia, as como normas para el mantenimiento.
Anlisis del problema
La primera fase de la resolucin de un problema con computadora es el anlisis del
problema. Esta fase requiere una clara definicin, donde se contemple exactamente lo que
debe hacer el programa y el resultado o solucin deseada.
Para poder definir bien un problema es conveniente responder a las siguientes preguntas:
Qu entradas se requieren? (tipo y cantidad).
Cul es la salida deseada? (tipo y cantidad).
Qu mtodo produce la salida deseada?
Diseo del algoritmo
En la etapa de anlisis del proceso de programacin se determina qu hace el programa. En
la etapa de diseo se determina como hace el programa la tarea solicitada. Los mtodos
ms eficaces para el proceso de diseo se basan en el conocido por divide y vencers. Es
decir, la resolucin de un problema complejo se realiza dividiendo el problema en sub
problemas y a continuacin dividir estos sub problemas en otros de nivel ms bajo, hasta
que pueda ser implementada una solucin en la computadora.
10 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Programar un mdulo.
Comprobar el mdulo.
Si es necesario, depurar el mdulo.
Combinar el mdulo con los mdulos anteriores.
El proceso que convierte los resultados del anlisis del problema en un diseo modular con
refinamientos sucesivos que permitan una posterior traduccin a un lenguaje se denomina
diseo del algoritmo.
El diseo del algoritmo es independiente del lenguaje de programacin en el que se vaya a
codificar posteriormente.
Codificacin de un programa
Codificacin es la escritura en un lenguaje de programacin de la representacin del
algoritmo desarrollada en las etapas precedentes. Dado que el diseo de un algoritmo es
independiente del lenguaje de programacin utilizado para su implementacin, el cdigo
puede ser escrito con igual facilidad en un lenguaje o en otro.
Para realizar la conversin del algoritmo en programa se deben sustituir las palabras
reservadas en espaol por sus homnimos en ingls, y las operaciones/instrucciones
indicadas en lenguaje natural expresarlas en el lenguaje de programacin correspondiente.
11 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
12 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Constantes y variables
Constantes
Son datos cuyo valor no cambia durante el desarrollo del algoritmo. Las constantes podrn
ser literales o con nombres.
13 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Las constantes simblicas o con nombres se identifican por su nombre y el valor asignado.
Una constante literal es un valor de cualquier tipo que se utiliza como tal.
Tendremos pues constantes:
Numricas enteras. En el rango de los enteros. Compuestas por el signo (+,-)
seguido de una serie de dgitos (0..9).
Numricas reales. Compuestas por el signo (+,-) seguido de una serie de dgitos
(0..9) y un punto decimal (.) o compuesta por el signo (+,-), una serie de
dgitos (0..9) y un punto decimal que constituyen la mantisa, la letra E antes del
exponente, el signo (+,-) y otra serie de dgitos (0..9).
Lgicas. Solo existen dos constantes lgicas, verdad y falso.
Carcter. Cualquier carcter del juego de caracteres utilizado colocado entre
comillas simples o apostrofes. Los caracteres que reconocen las computadoras
son dgitos, caracteres alfabticos, tanto maysculas como minsculas, y
caracteres especiales.
Cadena. Serie de caracteres vlidos encerrados entre comillas simples.
Variables
Una variable es un objeto cuyo valor puede cambiar durante el desarrollo del algoritmo.
Se identifica por su nombre y por su tipo, que podr ser cualquiera, y es el que determina
el conjunto de valores que podr tomar la variable. Las variables pueden almacenar todo
tipo de datos: cadenas, nmeros y estructuras.
En los algoritmos se deben declarar las variables. Cuando se traduce el algoritmo a un
lenguaje de programacin y se ejecuta el programa resultante, la declaracin de cada una
de las variables originar que se reserve un determinado espacio en memoria etiquetado
con el correspondiente identificador.
Una variable se clasifica por:
Por su contenido:
Variables 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.
14 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Ejemplo:
iva = 0.15, pi = 3.1416, costo = 2,500
Variables lgicas: Son aquellas que solo pueden tener dos valores (cierto o
falso) estos representan el resultado de una comparacin entre otros datos.
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
algoritmos
2016
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.
Son variables cuyo valor se incrementa o decrementa en una cantidad variable.
Necesitan operaciones de:
Inicializacin
<nombre_acumulador> = <valor_de_inicializacin>
Acumulacin
<nombre_acumulador> = <nombre_acumulador> + <nombre_variable>
Ejemplo:
r=1;
r=r+s;
Hay que tener en cuenta que la siguiente lnea tambin sera una operacin
de acumulacin.
<nombre_acumulador> = <nombre_acumulador> * <valor>
Interruptores
Un interruptor, bandera o switch es una variable que puede tomar los valores
verdad y falso a lo largo de la ejecucin de un programa, comunicando as
informacin de una parte a otra parte del mismo.
Pueden ser utilizados para el control de bucles.
Constante
Numrico
36
450.35
0.58
Variable
A
nom_ed
16 | P g i n a
Victor Fernndez Rosales
2016
algoritmos
Cadena
'A'
'Juan'
'La Paz'
Lgico
Verdadero
Falso
ciudad
estatura
num
Ejemplos prcticos:
1.- Algoritmo que lea el valor correspondiente a una distancia en millas marinas y las
exprese en metros, conociendo que una milla marina equivale a 1,852 metros.
Qu datos son de entrada?, Que datos de salida?, Qu constantes encontramos y
de qu tipo? y Qu variables encontramos y de qu tipo?
Solucin:
Entrada: La distancia en millas
Salida: La distancia en metros
Identificador
Milla m arina en
metro
Distancia en
millas
Distancia en
metros
Constante o
Variable
Tipo
Constante
Numrico entero
1852
Variable
Numrico entero
Variable
Numrico entero
Ejemplo
Constante o
Variable
Constante
Variable
Variable
Tipo
Numrico real
Numrico real
Numrico real
Ejemplo
3.1416
6
16
Expresiones
Una expresin es una combinacin de operadores y operandos.
17 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Los operandos podrn ser constantes, variables u otras expresiones y los operadores
podrn ser de cadena, aritmticos, relacionales o lgicos.
Las expresiones se clasifican, segn el resultado que produce, en:
b
Verdad
Falso
Verdad
Falso
no a
Falso
Falso
Verdad
Verdad
ayb
Verdad
Falso
Falso
Falso
aob
Verdad
Verdad
Verdad
Falso
Exponenciacin
operadores unitarios
operadores multiplicativos
18 | P g i n a
algoritmos
+, -, o
=, <>, >, <, >=, <=
2016
operadores aditivos
operadores de relacin
Diagrama de flujo
Diagrama N-S
Pseudocdigo
Accin 1
Accin 1
Accin 2
Accin 2
accin 1
accion 2
accin n
Accin n
Accin n
19 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Estructuras selectivas
Se ejecutan unas instrucciones u otras segn se cumpla o no una determinada condicin;
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 se salta dicho grupo de acciones.
Diagrama de flujo
Diagrama N-S
condicin
Pseudocdigo
si <condicin> entonces
fin_si
condicin
si
no
accin
accin
Dobles
Cuando el resultado de evaluar la condicin es verdad se ejecutar una determinada accin
o grupo de acciones y si el resultado es falso otra accin o grupo de acciones diferentes.
Diagrama de flujo
Diagrama N-S
condicin
condicin
si
accin 1
Pseudocdigo
accin n
no
accin 1
accin 2
si <condicin> entonces
accin 1
si_no
accin 2
fin_si
Mltiple
Se ejecutarn una acciones u otras segn al resultado que se obtenga al evaluar una
expresin. Se considera que dicho resultado ha de ser de un tipo ordinal, es decir de un tipo
20 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
de dato en que cada uno de los elementos que constituyen el tipo, excepto el primero y el
ltimo, tienen un nico predecesor y un nico sucesor.
Cada grupo de acciones se encontrara ligado con: un valor, varios valores separados por
comas, un rango, expresado como valor_inicial..valor_final o una mezcla de valores y
rangos.
Se ejecutarn nicamente las acciones del primer grupo, que entre los valores a los que est
ligado, cuente con el obtenido al evaluar la expresin. Cuando el valor obtenido al evaluar
la expresin no est presente en ninguna lista de valores se ejecutaran las acciones
establecidas en la clusula si_no, si existiese dicha clusula.
Diagrama de flujo
Diagrama N-S
expresin
accin 1
accin 2
Pseudocdigo
expresin
accin n
v1
v2
v3
si no
accin
1
accin
1
accin
1
accin
n
Estructuras repetitivas
Las acciones del cuerpo del bucle se repiten mientras o hasta que se cumpla una
determinada condicin. Es frecuente el uso de contadores o banderas para controlar un
bucle. Tambin se utilizan con esta finalidad los centinelas.
Un centinela es un valor anmalo o una variable que permite detectar cuando se desea
terminar de repetir las acciones dado a una variable que permite detectar cuando se desea
terminar de repetir las acciones que constituyen el cuerpo del bucle. Por ejemplo, se puede
disear un bucle que pida el nombre y la nota de una serie de alumnos y establecer que
termine cuando se le introduzca un * como nombre. Podemos considerar tres tipos
bsicos de estructura repetitivas: mientras, hasta, desde.
Mientras
Lo que caracteriza este tipo de estructura es que las acciones del cuerpo del bucle se
realizan cuando la condicin es cierta, adems, se pregunta por la condicin al principio, de
donde se deduce que dichas acciones se podrn ejecutar de 0 a N veces.
21 | P g i n a
Victor Fernndez Rosales
algoritmos
Diagrama de flujo
Diagrama N-S
no
condicin
si
accin
expresin lgica
2016
Pseudocdigo
accin
Hasta
Las acciones del interior del bucle se ejecutan una vez y continan repitindose mientras
que la condicin sea falsa. Se interroga por la condicin al final del bucle.
Diagrama de flujo
Diagrama N-S
Pseudocdigo
repetir
accin
accin
<acciones>
hasta_que <expresin_lgica>
expresin lgica
no
condicin
si
Desde
Se utiliza cuando se conoce con anterioridad a que empiece a ejecutarse el bucle el nmero
de veces que se va a iterar.
La estructura desde comienza con un valor inicial de la variable ndice y las acciones
especficas se ejecutan a menos que el valor inicial sea mayor que el valor final. La variable
ndice se incrementa en 1, o en el valor que especifiquemos, y si este nuevo valor no excede
al final se ejecutan se nuevo las acciones.
Si establecemos que la variable ndice se decremente en cada iteracin el valor inicial
deber ser superior al final. Consideramos siempre la variable ndice de tipo entero.
Es posible sustituir una estructura desde por otra de tipo mientras controlada por un
contador.
22 | P g i n a
Victor Fernndez Rosales
algoritmos
Diagrama de flujo
i <- vi
i > vf
i <- v + incr
no
Diagrama N-S
si
desde v = vi hasta vf
accin
accin
2016
Pseudocdigo
accin
Estructuras anidadas
Tanto las estructuras selectivas como las repetitivas pueden ser anidadas, e introducidas
unas en el interior de otras.
23 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Herramientas de programacin
Un algoritmo puede ser escrito en castellano narrativo, pero esta descripcin suele ser
demasiado prolija y adems, ambigua. Para representar un algoritmo se debe utilizar algn
mtodo que permita independizar dicho algoritmo de los lenguajes de programacin y al
mismo tiempo, conseguir que sea fcilmente codificable.
Los mtodos ms usuales para la representacin de algoritmos son:
La descripcin narrativa
El diagrama N-S (Nassi Shneiderman)
Diagrama de flujo convencional
El pseudocdigo, o tambin conocido como lenguaje estructurado
Diagrama de flujo
Los diagramas de flujo son una manera de representar visualmente el flujo de datos a travs
de sistemas de tratamiento de informacin; describen que operaciones y en que secuencia
se requieren para solucionar un problema dado.
Un diagrama de flujo u organigrama es una representacin diagramtica que ilustra la
secuencia de las operaciones que se realizarn para conseguir la solucin de un problema,
se dibujan generalmente antes de comenzar a programar el cdigo frente a la computadora,
facilitan la comunicacin entre los programadores y la gente del negocio.
Estos diagramas de flujo desempean un papel vital en la programacin de un problema y
facilitan la comprensin de problemas complicados y sobre todo muy largos. Una vez que
se dibuja, llega a ser fcil escribir el programa en cualquier idioma de alto nivel. Vemos a
menudo cmo nos dan ventaja al momento de explicar el programa a otros. Por lo tanto,
est correcto decir que un diagrama de flujo es una necesidad para la documentacin mejor
de un programa complejo.
24 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Diagrama de Nassi-Shneiderman
Los diagramas de Nassi-Shneiderman, denominados as por sus inventores, o tambin N-S,
o de Chapin son una herramienta de programacin que favorece la programacin
estructurada y rene caractersticas graficas de diagramas de flujo y lingsticas propias de
los pseudocdigos. Constan de una serie de cajas contiguas que se leern siempre de arribaabajo y se documentarn de la forma adecuada.
Estos diagramas omiten el uso de flechas de unin y los smbolos se utilizan en forma
continua. Las acciones sucesivas se simbolizan en cajas contiguas. La dificultad en el uso de
estos diagramas est en que ocupan mucho lugar en forma horizontal cuando varias
estructuras se anidan una dentro de otra.
El diagrama N-S cuenta con un conjunto limitado de smbolos para representar los pasos
del algoritmo, por ello se apoya en expresiones del lenguaje natural; sin embargo, dado que
el lenguaje natural es muy extenso y se presta para la ambigedad, solo se utiliza un
conjunto de palabras, a las que se denomina palabras reservadas. Las palabras reservadas
ms utilizadas son:
Inicio, Fin, Leer, Escribir
Mientras, Repita, Hasta Para
Incrementar, Decrementar, Hacer, Funcin
Entero, Real, Carcter, Cadena
Lgico, Retornar
En los diagramas N-S las tres estructuras bsicas de la programacin estructurada:
secuenciales, selectivas y repetitivas, encuentran su representacin propia.
25 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Sentencia 1
Sentencia 2
Secuencial
...
Sentencia n
Condicin
Selectivas
Si
No
Selection
1
...
Selectivas multiples
Repetitiva de 0 a n
veces (Mientras)
instrucciones
instrucciones
instrucciones
Repetitiva de 1 a n
veces (Repite-hasta)
Repetitiva n veces
(Para)
fin para
26 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Ejemplo secuencial
Problema
Disear un algoritmo para convertir grados Celsius a grados Kelvin
Definicin del problema
Convertir grados Celsius a grados Kelvin
Datos de entrada
Grados Celsius
Datos de salida
Grados Kelvin
Proceso
Kelvin=Celsius+273.15
Solucin
Ejercicios secuencial
Problemas
Disear un algoritmo que calcule el rea de un crculo
Disear un algoritmo que nos indique el porcentaje de hombres y mujeres
de los alumnos del saln de clases.
27 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Ejemplo selectiva
Problema
Disear un algoritmo que indique si un nmero es mayor que 100
Definicin del problema
Indicar si el nmero es mayor que 100
Datos de entrada
Nmero
Datos de salida
Mensaje de salida
Proceso
Si nmero >100 es mayor, de otro modo es menor
Solucin
Ejercicios selectivas
Problemas
Disear un algoritmo que indique dados 2 nmeros cul es mayor? y
cul es menor?, y si son iguales?
Disear un algoritmo que nos indique el incremento a los salarios del
personal de la UV de acuerdo a la siguiente informacin: Quienes ganan
menos o igual a 199 pesos se incrementa 20%, quienes ganan igual o ms
de 200 y menos de 500 pesos se incrementa 15% y quienes ganan ms o
igual de 500 pesos se incrementa 10%.
28 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Problema
Disear un algoritmo que indique la suma de los nmeros del 1 al
100.
Definicin del problema
Sumar los nmeros del 1 al 100
Datos de entrada
Ninguno
Datos de salida
Suma de los nmeros
Proceso
Sumar uno a uno los nmeros del 1 al 100
Solucin
Problemas
Disear un algoritmo que lea una serie de nmeros y nos indique cual es
el mayor, cual es el menor y nos indique cual es el promedio.
Disear un algoritmo que dado un nmero nos genere la serie de
Fibonacci.
Serie de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.
29 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Problema
Disear un algoritmo que indique la suma de los nmeros del 1 al
100.
Definicin del problema
Sumar los nmeros del 1 al 100
Datos de entrada
Ninguno Datos de salida
Suma de los nmeros
Proceso
Sumar uno a uno los nmeros del 1 al 100
Solucin
Problemas
Disear un algoritmo que lea una serie de nmeros y nos indique cual es
el mayor, cual es el menor y nos indique cual es el promedio.
Disear un algoritmo que dado un nmero nos genere su factorial.
Ej. Factorial de 3 es (1*2*3 = 6)
30 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Problema
Disear un algoritmo que imprima los nmeros de 5 en 5 hasta 100.
Definicin del problema
Imprimir de 5 en 5
Datos de entrada
Ninguno
Datos de salida
Imprimir los mltiplos de 5 hasta 100
Proceso
Imprimir el mltiplo e incrementar de 5 en 5 hasta 100
Solucin
Problemas
Disear un algoritmo que lea un nmero y nos indique la tabla de
multiplicar de los primeros 10 nmeros.
31 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Proces o
Entrada/Salida
Des icin
Com entario
Conector
32 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Ejemplo secuencial
Problema
Disear un algoritmo para convertir grados Celsius a grados Kelvin
Ejercicios secuencial
Problemas
Disear un algoritmo que calcule el rea de un crculo
Disear un algoritmo que nos indique el porcentaje de hombres y mujeres
de los alumnos del saln de clases.
33 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Ejemplo selectiva
Problema
Disear un algoritmo que indique si un nmero es mayor que 100
Ejercicios selectivas
Problemas
Disear un algoritmo que indique dados 2 nmeros cul es mayor? y
cul es menor?, y si son iguales?
Disear un algoritmo que nos indique el incremento a los salarios del
personal de la UV de acuerdo a la siguiente informacin: Quienes ganan
menos o igual a 199 pesos se incrementa 20%, quienes ganan igual o ms
de 200 y menos de 500 pesos se incrementa 15% y quienes ganan ms o
igual de 500 pesos se incrementa 10%.
34 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Problema
Disear un algoritmo que indique la suma de los nmeros del 1 al
100.
Problemas
Disear un algoritmo que lea una serie de nmeros y nos indique cual es
el mayor, cual es el menor y nos indique cual es el promedio.
Disear un algoritmo que dado un nmero nos genere la serie de
Fibonacci.
Serie de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.
35 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Problema
Disear un algoritmo que imprima los nmeros de 5 en 5 hasta 100.
Problemas
Disear un algoritmo que lea un nmero y nos indique la tabla de
multiplicar de los primeros 10 nmeros.
Disear un algoritmo que dado un nmero nos genere los nmeros de la
serie de Fibonacci.
Serie de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.
36 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Pseudocdigo
El pseudocdigo es un lenguaje de especificacin de algoritmos que utiliza palabras
reservadas y exige la identacin, o sea sangra en el margen izquierdo, de algunas lneas.
En nuestros pseudocdigos usaremos determinadas palabras en espaol como palabras
reservadas.
El pseudocdigo se concibi para separar las dos principales desventajas del diagrama de
flujo: Lento de crear y difcil de modificar sin un nuevo redibujo.
Es una herramienta muy buena para el seguimiento de la lgica de un algoritmo y para
transformar con facilidad los algoritmos a programas escritos en un lenguaje de
programacin especifico.
El pseudocdigo comenzar siempre con la palabra inicio y terminar con la palabra fin.
Cuando se coloque un comentario de una sola lnea se escribir precedido de //. Si el
comentario es multilinea, lo pondremos entre {}. Para producir un valor o serie de valores
desde el dispositivo estndar y almacenarlos en una o varias variables utilizaremos leer
(<lista_de_variables>).
Con <nombre_de_variable> <-<expresin> almacenaremos en una variable el resultado de
evaluar una expresin. Hay que tener en cuenta que una nica constante, variable o
funcin, constituyen una expresin.
Para imprimir en el dispositivo estndar de salida una o varias expresiones emplearemos
escribir (<lista_de_expresiones>)
Las distintas estructuras se representan de la siguiente forma:
Decisin simple:
si <condicion> entonces
<acciones1>
fin_si
Decisin doble:
si <condicin> entonces
<acciones1>
si_no
<acciones2>
fin_si
Decisin mltiple:
algoritmos
2016
<accionesn> ]
fin_segun
Repetitivas:
inicio, fin, leer, escribir y las palabras que aparecen en las distintas estructuras se
consideran palabras reservadas y no debern utilizarse en su lugar otras similares.
Ejemplo secuencial
Problema
Disear un algoritmo para convertir grados Celsius a grados Kelvin
inicio
leer (gCel)
gKel <- gCel + 273.15
escribir (gKel)
fin
Ejercicios secuencial
Problemas
38 | P g i n a
Victor Fernndez Rosales
algoritmos
2016
Ejercicios.
39 | P g i n a
Victor Fernndez Rosales