ALGORITMOS (2)
-
Upload
jorge-garcia -
Category
Documents
-
view
146 -
download
0
Transcript of 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
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
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
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
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.
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.
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.
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.
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.
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.
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
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
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.
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.
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.
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)
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
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
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:
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:
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
5/7/2018 ALGORITMOS (2) - slidepdf.com
http://slidepdf.com/reader/full/algoritmos-2-559abc0d15864 22/22
CENTRO UNIVERSITARIO´JUSTO SIERRAµ
22