ALGORITMOS (2)

22
ACAPULCO GRO. A 4 DE AGOSTO DE 2010 CENTRO UNIVERSITARIO |JUSTO SIERRA} PROF: ING. OBED ANTONIO ROBLES AGUILAR ALUMNO: JORGE LUIS GARCIA VEGA

Transcript of ALGORITMOS (2)

Page 1: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 1/22

 

ACAPULCO GRO. A 4 DE AGOSTO DE 2010

CENTRO UNIVERSITARIO

|JUSTO SIERRA}

PROF: ING. OBED ANTONIO ROBLES AGUILAR 

ALUMNO: JORGE LUIS GARCIA VEGA

Page 2: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 2/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

2

INDICE

UNIDAD 1

CONCEPTOS BASICOS

1.- Introducción de los problemas de los programas

2.- Buenas prácticas de programación

3.- Definición de lenguaje

4.- Definición de algoritmo

5.- Algoritmos cotidianos

6.- Definición de lenguajes algorítmicos

7.- Historia y aplicación de los lenguajes algorítmicos

UNIDAD 2

METODOLOGIA PARA LA SOLUCIÓN DE PROBLEMAS POR MEDIO DECOMPUTADORAS

1.- Definición de problemas

2.- Análisis de los datos

3.- Diseño de la solución

4.- Codificación

5.- Prueba y depuración

6.- Documentación

7.- Mantenimiento

Page 3: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 3/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

3

UNIDAD 3

ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS.

1.- Tipo de datos

2.- Operadores y operandos

3.- Expresiones

4.- Identificadores como localidades de memoria

UNIDAD 4

TECNICAS DE DISEÑO

1.- Top Dawn

2.- Botton Up

3.- Warnier

UNIDAD 5

TECNICAS PARA LA FORMULACION DE ALGORITMOS

1.- Diagrama de flujo

2.- Pseudocódigo

3.- Diagramas estructurados

UNIDAD 6

ESTRUCTURAS ALGORITMICAS1.- Secuenciales 

a)  Asignación

b)  Entrada

c)  Salida

2.- Condicionales

a)  Simple

b)  Múltiple

Page 4: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 4/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

4

3.- Repetición

a)  Fija

b)  Condicional

UNIDAD 7

ARREGLOS

1.- Vectores

2.- Matrices

UNIDAD 8MANEJO DE MODULOS

1.- Concepto y características de un módulo

2.- Clasificación de los módulos

a)  Funciones

b)  Procedimientos

c)  Operación de módulos y sus parámetros

d)  Criterios de modularización

UNIDAD 9

APLICACIONES

1.- Científica

2.- Administrativas

3.- Manejo de cadenas de caracteres

Page 5: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 5/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

5

UNIDAD 1

CONCEPTOS BASICOS

1.- Introducción de los problemas de los programas

Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de lacapacidad intelectual y la habilidad manual del ser humano. La utilización de la

computadora en la resolución de problemas aporta grandes ventajas, como son la rapidez

de ejecución y la confiabilidad de los resultados obtenidos.

En la actualidad los sistemas de computadoras consisten en un enorme conjunto de

elementos de circuitos (hardware)y programación (software), que se han diseñado para

proporcionar a la computación un ambiente productivo y agradable.

2.- Buenas prácticas de programación

Muchos de los problemas acarrean complicados cálculos, así como la utilización de

grandes cantidades de datos; esto nos causa muchos problemas ya que el riesgo de

equivocarse es muy grande, y también con la utilización de grandes cantidades de datos el

trabajo se convierte en pesado y rutinario. Mediante la computadora se eliminan estos

problemas, pues su capacidad se basa en la rapidez, la precisión y memoria.

Sin embargo la computadora no puede hacer todo por si sola. Es preciso que se le describa

con detalle y en su lenguaje, todos los pasos que tiene que realizar para la resolución del

problema. Esta descripción es lo que se conoce como programa de computadora, este

dirigirá el funcionamiento de la máquina en la resolución del problema.

La primer decisión que hay que tomar cuando se crea un programa, es contestar a las

preguntas:

¿Qué es lo que el programa se supone que va a hacer?, ¿cuál es el problema que se va a

resolver?, ¿Qué tarea va a realizar nuestro programa?

Cuanto más se detalle la descripción, más fácil será lograr resultados.

Page 6: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 6/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

6

3.- Definición de lenguaje

Un lenguaje de programación es aquel que se utiliza para escribir programas de

computadora que puedan ser entendidos por ellas.

Estos lenguajes se clasifican en tres grandes categorías:

y  Lenguaje Máquina.-  Este lenguaje es el que entiende directamente a la

computadora, utiliza el alfabeto binario que consta de dos únicos símbolos 0 y 1,

denominados ´bitsµ( abreviatura inglesa de números binarios). El lenguaje

máquina fue el primer lenguaje utilizado para programar computadoras, pero éste

fue sustituido por su dificultad y complicación.

y  Lenguaje de bajo nivel (Ensamblador).- En este lenguaje cada instrucción equivale

a una instrucción en lenguaje máquina, utilizando para su escritura palabras

nemotécnicas en lugar de cadenas de bits. Las instrucciones en lenguaje

ensamblador son instrucciones conocidas como ´nemotécnicasµ, por ejemplo,

nemotécnicos típicos de operaciones aritméticas son:

(En inglés)ADD, SUB, DIV, etc.; (en español) SUM, RES, DIV, etc.

y  Lenguaje de Alto nivel.-  Estos lenguajes son los más utilizados por los

programadores. Un programa escrito en un lenguaje de alto nivel es independiente

de la máquina (las instrucciones no dependen del diseño del hardware o de una

computadora en particular), por lo que estos programas son portables o

transportables. Los programas escritos en lenguaje de alto nivel pueden ser

ejecutados con poca o ninguna modificación en diferentes tipos de computadoras.

Se puede definir también como cualquier lenguaje artificial que puede utilizarse para

definir una secuencia de instrucciones para su procesamiento por un ordenador o

computadora.

4.- Definición de algoritmo

Un algoritmo es una secuencia finita de instrucciones; cada una de estas instrucciones

tiene un significado preciso y se puede ejecutar con una cantidad finita de esfuerzo en un

tiempo finito.

Un algoritmo se define como un método que se realiza paso a paso para la solución de un

problema que termina en un número finito de pasos.

Page 7: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 7/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

7

Las características fundamentales que debe cumplir un algoritmo son:

y  Debe ser preciso e indicar el orden. Diseño del algoritmo que describe la secuencia

ordenada de pasos, sin ambigüedades, que conducen a la solución de un problema

dado (Análisis del problema y desarrollo del algoritmo). 

y  Debe ser definido. Si se sigue un algoritmo dos veces se debe obtener el mismoresultado cada vez. Expresar el algoritmo como un programa en un lenguaje de

programación adecuado (Fase de codificación). 

y  Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; osea

debe tener un número finito de pasos. Ejecución y validación del programa por la

computadora.

5.- Algoritmos cotidianos

Son todos a que ellos algoritmos que nos ayudan que nos ayudan a resolver problemas

diarios y que hacemos casi sin darnos cuenta que estamos siguiendo una metodología para

resolverlos.

Ejemplo:

y  Un cliente ejecuta un pedido a una fábrica. La fábrica examina en su banco de

datos la ficha del cliente, si el cliente es solvente entonces la empresa acepta el

pedido, en caso contrario rechazar el pedido.

y  Pasos del algoritmo:

y  Inicio.

y  Leer el pedido.

y  Examinar ficha del cliente.

y  Si el cliente es solvente aceptar pedido, en caso contrario rechazar pedido.

y  Fin.

Page 8: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 8/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

8

6.- Definición de lenguajes algorítmicos

Los algoritmos pueden describirse utilizando muchos lenguajes. Cada lenguaje permite

describir los pasos con mayor o menor detalle.

La clasificación de los lenguajes algorítmicos es la siguiente:

y  Lenguaje Natural.-  Es aquel que describe los pasos a seguir utilizando un

vocabulario cotidiano. Se le conoce como lenguaje jerga cuando se utiliza en

términos especializados de una determinada ciencia, profesión o grupo.

y  Lenguaje de Diagrama de Flujo.- Es aquel que se vale de diversos símbolos para

representar las ideas o acciones a desarrollar. Es útil para organizar las acciones o

pasos de un algoritmo pero requiere de etapas posteriores para implementarse en

un sistema de cómputo.

y  Lenguaje Natural de Programación.- Son aquellos que están orientados a la

solución de problemas que se definen de una manera precisa. Generalmente son

aplicados para la elaboración de fórmulas o métodos científicos.

Tienen las siguientes características: 

y  Evita la ambigüedad (algo confuso que se puede interpretar de varias maneras).

y  Son precisos y bien definidos.

y  Utilizan términos familiares al sentido común.

y  Elimina instrucciones innecesarias.

7.- Historia y aplicación de los lenguajes algorítmicos

Los lenguajes permiten expresar los programas o el conjunto de instrucciones que el

operador humano desea que la computadora ejecute. Los lenguajes de las primeras

computadoras como la ENAC y la EDSAC se componían en el lenguaje real de las

máquinas mismas; de esta manera limitaba drásticamente la utilidad de las mismas.

Los primeros lenguajes de programación se conocieron como lenguajes ensambladores. En

los lenguajes ensambladores se define un código especial llamado mnemónico para cada

una de las operaciones de la máquina y se introduce una notación especial para especificar

el dato con el cual debe realizarse la operación.

Page 9: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 9/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

9

En los años 60's aparecieron los primeros lenguajes de propósito general como COBOL,

PASCAL, C, C++, etc., pero el desarrollo de nuevas tecnologías, tanto en la arquitectura de

computadoras, como en lenguajes de programación continúa a paso acelerado. Los

lenguajes de programación actuales son conocidos como lenguajes visuales, como por

ejemplo: Visual Fox, Visual Basic, Visual C, etc.

UNIDAD 2

METODOLOGIA PARA LA SOLUCIÓN DE PROBLEMAS POR MEDIO DECOMPUTADORAS

1.- Definición de problemas

Una cuestión o punto discutible que requiere de una solución , por ejemplo, se me rompe el

caño del baño, ese será el problema y llamar a un experto en esas cuestiones como un

plomero es la solución que requiere el mismo para dejar de ser problema. 

2.- Análisis de los datos

Para que un problema se pueda definir con precisión se requiere que las especificaciones

de entrada y salida sean descritas con detalle ya que esto es un requisito para lograr unasolución.

Una vez que el problema se ha definido y comprendido, deben analizarse los siguientes

aspectos:

y  Los resultados esperados. y  Los datos de entrada disponibles. 

Para facilitar esta etapa debemos de ponernos en lugar de la computadora deduciendo los

elementos que se necesitarán para alcanzar el resultado.

Page 10: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 10/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

10

3.- Diseño de la solución

Las computadoras solo pueden solucionar problemas siempre y cuando se le

proporcionen los pasos sucesivos que tiene que realizar, esto se refiere a un algoritmo que

resuelva correctamente el problema.

Esta etapa incluye la descripción del algoritmo resultante en un lenguaje natural de

diagrama de flujo o natural de programación.

4.- Codificación

La codificación se refiere a la obtención de un programa definitivo que pueda ser

comprensible para la máquina. Incluye una etapa que se reconoce como compilación.

y  Programa Fuente.- Está escrito en un lenguaje de programación y es entendido por

el programador.

y  Programa Ejecutable.- Está en lenguaje máquina y es entendido por la máquina.

5.- Prueba y depuración

Cuando se obtiene el programa ejecutable, este se somete a una prueba con el fin dedeterminar si resuelve de forma satisfactoria o no el problema planteado. Son muchas las

pruebas que se le aplican al programa y por lo general dependen del tipo de problema que

se está resolviendo. Generalmente se inicia la prueba de un programa introduciendo datos

válidos, inválidos e incongruentes y se observa cómo reacciona en cada ocasión.

La depuración consiste en que si existen errores en el programa localizarlos y corregirlos.

Si no existen errores, se puede entender al proceso de depuración como la etapa de

refinamiento, en la que se ajustan detalles para optimizar el programa.

Page 11: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 11/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

11

6.- Documentación

En esta etapa se procede a la utilización para resolver problemas del tipo que dio origen al

diseño del programa.

Esta utilización no podrá ser siempre supervisada por el programador, por tal motivo

debe crearse un manual o una guía de operación de los pasos de la utilización del

programa.

7.- Mantenimiento

Esta etapa se refiere a las actualizaciones que deban aplicase al programa cuando las

circunstancias así lo requieran.

Cualquier cambio en el programa se debe reflejar en su documentación.

Los programas deben ser mantenidos mientras dure su ciclo de vida.

UNIDAD 3

ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS.

1.- Tipo de datos

Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter,

tal como `b', un valor entero tal como 35. El tipo de dato determina la naturaleza del

conjunto de valores que puede tomar una variable.

Tipos de Datos Simples

y  Datos Numéricos: Permiten representar valores escalares de forma numérica, esto

incluye a los números enteros y los reales. Este tipo de datos permiten realizar

operaciones aritméticas comunes.

y  Datos Lógicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya

que representan el resultado de una comparación entre otros datos (numéricos o

alfanuméricos).

y  Datos Alfanuméricos (String): Es una secuencia de caracteres alfanuméricos que

permiten representar valores identificables de forma descriptiva, esto incluye

nombres de personas, direcciones, etc. Es posible representar números como

Page 12: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 12/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

12

alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible

hacer operaciones con ellos. Este tipo de datos se representan encerrados entre

comillas.

2.- Operadores y Operandos

Un operador es el símbolo que determina el tipo de operación o relación que habrá deestablecerse entre los operandos para alcanzar un resultado.

Los operadores se clasifican en tres grupos:

y  Aritméticos.-  Son aquéllos que permiten la realización de cálculos aritméticos. Utilizanoperandos numéricos y proporcionan resultados numéricos. 

y  Relacionales.- Permiten realizar comparaciones de valores de tipo numérico ocarácter. Estos operadores sirven para expresar las condiciones en los algoritmos.Proporcionan resultados lógicos. 

y  Lógicos.- Son aquéllos que permiten la combinación de condiciones para formaruna sola expresión lógica. Utilizan operandos lógicos y proporcionan resultadoslógicos también. 

3.- Expresiones

Las expresiones son combinaciones de constantes, variables, símbolos de operación,

paréntesis y nombres de funciones especiales.

Por ejemplo: a+ (b + 3)/c

Cada expresión toma un valor que se determina tomando los valores de las variables y

constantes implicadas y la ejecución de las operaciones indicadas.

Una expresión consta de operadores y operandos. Según sea el tipo de datos quemanipulan, se clasifican las expresiones en:

y  Aritméticas

y  Relaciónales

y  Lógicas

Page 13: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 13/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

13

4.- Identificadores como localidades de memoria

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

posición en la memoria de la computadora, que nos permite accesar a su contenido.

Ejemplo: Nombre

Núm. _ Hrs.

Calif2

Reglas para formar un Identificador 

Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener

espacios en blanco.

Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del primercarácter.

La longitud de identificadores puede ser de hasta 8 caracteres.

Constantes y Variables 

y  Constante: Una constante es un dato numérico o alfanumérico que no cambia

durante la ejecución del programa.

y  Variable: Es un espacio en la memoria de la computadora que permite almacenar

temporalmente un dato durante la ejecución de un proceso, su contenido puede

cambia durante la ejecución 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.

UNIDAD 4

TECNICAS DE DISEÑO

1.- Top Down

También conocida como de arriba-abajo y consiste en establecer una serie de niveles de

mayor a menor complejidad (arriba-abajo) que den solución al problema. Consiste en

efectuar una relación entre las etapas de la estructuración de forma que una etapa

  jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de

información.

Page 14: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 14/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

14

Este diseño consiste en una serie de descomposiciones sucesivas del problema inicial, que

recibe el refinamiento progresivo del repertorio de instrucciones que van a formar parte

del programa.

La utilización de la técnica de diseño T op-Down tiene los siguientes objetivos básicos:

y  Simplificación del problema y de los subprogramas de cada

descomposición.

y  Las diferentes partes del problema pueden ser programadas de modo

independiente e incluso por diferentes personas.

y  El programa final queda estructurado en forma de bloque o módulos lo

que hace más sencilla su lectura y mantenimiento.

2.- Botton Up

El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan

computarizarse con forme vayan apareciendo, su análisis como sistema y su codificación,

o bien, la adquisición de paquetes de software para satisfacer el problema inmediato.

Cuando la programación se realiza internamente y haciendo un enfoque ascendente, es

difícil llegar a integrar los subsistemas al grado tal de que el desempeño global, sea fluido.

Los problemas de integración entre los subsistemas son sumamente costosos y muchos de

ellos no se solucionan hasta que la programación alcanza la fecha limite para la integración

total del sistema. En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o

paciencia de los usuarios, como para corregir aquellas delicadas interfaces, que en un

principio, se ignoran.

Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema

como una entidad global, adolece de ciertas limitaciones por haber tomado un enfoque

ascendente. Uno de ellos es la duplicación de esfuerzos para accesar el software y mas aun

al introducir los datos. Otro es, que se introducen al sistema muchos datos carentes de

valor.

Un tercero y tal vez el más serio inconveniente del enfoque ascendente, es que losobjetivos globales de la organización no fueron considerados y en consecuencia no se

satisfacen.

Page 15: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 15/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

15

3.- Warnier

Es una técnica que utiliza una representación semejante a la de cuadros sinópticos para

mostrar el funcionamiento y organización de los elementos que conforman el algoritmo.

Los diagramas Warnier Orr son útiles porque son compatibles con las técnicas de

programación estructurada; y además, son fáciles de desarrollar. Los diagramas Warnier

Orr son fáciles de leer y modificar y no tienen que completarse antes de ser útiles. Se van

desarrollando hacia otras salidas del sistema.

Básicamente, utiliza una notación de llaves para organizar los módulos y se auxilia en la

siguiente simbología para indicar operaciones de control.

Símbolo Significado

+

OR (uno, otro o varios)

XOR (uno u otro, solo uno)

(x,y) puede hacerse tantas veces desde x hasta y

Nota: Los diagramas Warnier Orr se leen de izquierda a derecha y de arriba hacia abajo.

Ejemplo de un diagrama de Warnier Orr, de un control de almacén

(0, n) = De cero veces a n veces

(1, n) = De una vez a n veces

UNIDAD 5

TECNICAS PARA LA FORMULACION DE ALGORITMOS

1.- Diagrama de flujo

Un diagrama de flujo  (fZowchart) es una de las técnicas de representación de algoritmos

más antigua y a la vez más utilizada, aunque su empleo ha disminuido

considerablemente, sobro todo, desde la aparición de lenguajes de programación

estructurados. Un diagrama de flujo es un diagrama que utiliza los símbolos (cajas)

estándar mostrados en la Tabla 2.1 y que tiene los pasos de algoritmo escritos en esas cajas

unidas por flechas, denominadas líneas de flujo, que indican la secuencia en que se debe

ejecutar.

Page 16: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 16/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

16

2.- Pseudocódigo

Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se

emplea, dentro de la programación estructurada, para realizar el diseño de un programa.

En esencial, el Pseudocódigo se puede definir como un lenguaje de especificaciones de

algoritmos. En esencial, el Pseudocódigo se puede definir como un lenguaje deespecificaciones de algoritmos. Es la representación narrativa de los pasos que debe seguir

un algoritmo para dar solución a un problema determinado.

El Pseudocódigo utiliza palabras que indican el proceso a realizar. 

3.- Diagramas estructurados

El diagrama estructurado N-S también conocido como diagrama de chapin es como un

diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las

acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo,

se pueden escribir diferentes acciones en una caja. Un algoritmo se represente en la

siguiente forma:

UNIDAD 6

ESTRUCTURAS ALGORITMICAS

1.- Secuenciales

Es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se

suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente

hasta el fin del proceso. En Pseudocódigo una Estructura Secuencial se representa de la

siguiente forma:

a)  Asignación.- Consiste, en el paso de valores o resultados a una zona de la

memoria. Dicha zona será reconocida con el nombre de la variable que recibe el

valor. La asignación se puede clasificar de la siguiente forma:

Simples: Consiste en pasar un valor constante a una variable (a 15)

Contador: Consiste en usarla como un verificador del numero de veces que se

realiza un proceso (a a + 1)

Page 17: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 17/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

17

Acumulador: Consiste en usarla como un sumador en un proceso (a a + b)

De trabajo: Donde puede recibir el resultado de una operación matemática que

involucre muchas variables (a c + b*2/4).

En general el formato a utilizar es el siguiente:

< Variable > <valor o expresión >

El símbolo debe leerse ´asigneµ.

b)  Entrada.- La lectura o entrada de datos consiste en recibir desde un dispositivo de

entrada (p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en la

variable que aparece a continuación de la instrucción. Esta operación se representa

así: 

c)  Salida.- Consiste en mandar por un dispositivo de salida (p.ej. monitor o

impresora) un resultado o mensaje. Esta instrucción presenta en pantalla el

mensaje escrito entre comillas o el contenido de la variable. Este proceso se

representa así como sigue: 

2.- Condicionales

La especificación formal de algoritmos tiene realmente utilidad cuando el algoritmo

requiere una descripción más complicada que una lista sencilla de instrucciones. Este es el

caso cuando existen un número de posibles alternativas resultantes de la evaluación de

una determinada condición.

Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se suelan

denominar también estructuras de decisión o alternativas.

En las estructuras selectivas se evalúa una condición y en función del resultado la misma

se realiza una opción u otra. Las condiciones se especifican usando expresiones lógicas. La

Page 18: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 18/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

18

representación de una estructura selectiva se hace con palabras en pseudocódigo (if, then,

else o bien en español si, entonces, sino), con una figura geométrica en forma de rombo o

bien con un triángulo en el interior de una caja rectangular.

Las estructuras selectivas o alternativas pueden ser:

a)  Simple.- La estructura alternativa simple si-entonces (en inglés if-then o bien IF-

THEN) ejecuta una determinada acción cuando se cumple una determinada

condición. La selección si-entonces evalúa la condición y« Si la condición es

verdadera, entonces ejecuta la acción S1 (o acciones caso de ser S1 una acción

compuesta y constar de varias acciones).

Si la condición es falsa, entonces no hacer nada.

Pseudocódigo en español

Si <condición> Entonces

<Acción S1>

Fin_si

b)  Múltiple.- Cuando existen más de dos elecciones (alternativas) posibles, es cuando

se presenta el caso de alternativas múltiples. Si el número de alternativas es grande

puede plantear serios problemas de escritura del algoritmo y naturalmente de

legibilidad.

La estructura de decisión múltiple evaluará una expresión que podrá tomar n 

valores distintos 1, 2, 3, 4,« n. Según que elija uno de estos valores en la condición,

se realizará una de las n acciones, o lo que es igual, el flujo del algoritmo seguirá un

determinado camino entre los n posibles.

Pseudocódigo 

En inglés la estructura de decisión múltiple se representa: 

Case expresión of

[e1]: acción S1

[e2]: acción S2

:

[en]: acción Sn

Page 19: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 19/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

19

else

acción Sx

end_case 

3.- Repetición

Las estructuras que repiten una secuencia de instrucciones un número determinado de

veces se denominanBucles y se denomina Iteración al hecho de repetir la ejecución de una

secuencia de acciones. Entre las estructuras repetitivas se encuentran:

UNIDAD 7 

ARREGLOS

1.- Vectores

Son aquéllos de una sola dimensión, por lo que también son llamados arreglos

Unidimensionales.

Ejemplo:

Un vector de una dimensión llamado CALIF, que consta de n elementos.

calif(1)  calif(2)  «  calif(n-2)  calif(n-1)  calif(n) 

El subíndice o índice de un elemento (1, 2 «n) designa su posición en la ordenación del

vector. Otras posibles notaciones del vector son:

Page 20: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 20/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

20

2.- Matrices

Se puede considerar como un vector de vectores. Es, por consiguiente, un conjunto de

elementos, todos del mismo tipo, en el cual el orden de los componentes es significativo y

en el que se necesitan especificar dos subíndices para poder identificar a cada elemento del

arreglo.

También se les llama arreglos Bidimensionales, ya que una tabla será utilizada cuando se

requiere de establecer relaciones por renglones y columnas entre datos de un tipo común.

1 2 3 4. . . J . . . N

B(I,J)

Se considera que este arreglo tiene dos dimensiones (una dimensión por cada subíndice) y

necesita un valor para cada subíndice, y poder identificar un elemento individual. En

notación estándar, normalmente el primer subíndice se refiere a la fila del arreglo,

mientras que el segundo subíndice se refiere a la columna del arreglo. Es decir, B(I,J), es el

elemento de -b que ocupa la Ia y la Ja columna como se muestra en la figura anterior. 

Un ejemplo típico de un arreglo Bidimensional es un tablero de ajedrez. Se puede

representar cada posición o casilla del tablero mediante un arreglo, en el que cada

elemento es una casilla y en el que su valor será un código representativo de cada figura

del juego.

UNIDAD 8

MANEJO DE MODULOS

1.- Concepto y características de un módulo

Es aquél que está constituido por una o varias instrucciones físicamente contiguas y

lógicamente encadenadas, las cuales se pueden referenciar mediante un nombre y pueden

ser llamadas desde diferentes puntos de un programa.  Un módulo puede ser: 

Page 21: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 21/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

21

y  Un programa 

y  Una función 

y  Una subrutina (o procedimiento) 

Características de un Módulo 

Los módulos deben tener la máxima cohesión y el mínimo acoplamiento. Es decir, deben

tener la máxima independencia entre ellos. La salida del módulo debe ser función de la

entrada, pero no de ningún estado interno. En la creación de los módulos deben cumplirse

tres aspectos básicos: descripción, rendimiento y diseño. 

2.- Clasificación de los módulos

Pueden ser de dos tipos:

y  Función.- Las funciones son bloques de instrucciones que tienen por objeto el

alcanzar un resultado que sustituirá a la función en el punto de invocación (las

funciones devuelven un resultado). Cada función se evoca utilizando su nombre en

una expresión con los argumentos actuales o reales encerrados entre paréntesis.

La función devuelve un valor único. Las funciones a que se hace referencia, se

conocen como funciones de usuario puesto que son definidas por él mismo y

permiten su uso en forma idéntica a las funciones estándares.

UNIDAD 9 

APLICACIONES

1.- Científica

El estudio de las ciencias se caracteriza por manejar grandes cantidades de información con diversas fuentes teóricas o practicas, y es un

campo en el que la informática ha hecho una entrada triunfal. 

2.- Administrativas

3.- Manejo de cadenas de caracteres

Page 22: ALGORITMOS (2)

5/7/2018 ALGORITMOS (2) - slidepdf.com

http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 22/22

 

CENTRO UNIVERSITARIO´JUSTO SIERRAµ

22