Metodología para la
resolución de problemas
Hay cinco etapas para resolver problemas
algorítmicos, estas son:
- Definición del sistema: definir que va a hacer
el programa y que
solución obtendremos. - Diseño del
sistema:
Establecer que tipo de metodología usaremos para solucionar el
problema (Ej. Top down o Botton up).Cuando se compila el algoritmo, hay un "antes" y un
"después"- Antes > Programa Fuente (lenguaje
de programación). - Después > Programa ejecutable (lenguaje
de maquina).
- Antes > Programa Fuente (lenguaje
- Codificación:
Es la etapa en donde se escribe el algoritmo en
un lenguaje de
programación. - Prueba y
depuración: Se realizan pruebas para
verificar el funcionamiento del programa, se prueba con
valores
válidos y con no válidos para ver como se
comporta y corregir si es necesario. - Documentación y Mantenimiento: Se basa en la
instalación, funcionamiento y características del
programa. Permite corregir errores o modificar el programa
(estos cambios son el mantenimiento del
programa).
Hay dos tipos de documentación, estas son:
- Interna > viene dentro del programa (Ej. Readme,
características operativas) - Externa > Viene fuera del programa, diagramas de
flujo, manuales de
usuario, consejos de uso, etc.
UNIDAD III
Técnicas
de diseño
Hay tres tipos de técnicas,
estas son:
- TOP DOWN (Diseño descendente): Consiste en tomar el
problema inicial y descomponerlo en problemas más
pequeños, de solución sencilla. - BOTTON UP: Consiste en
partir de los detalles más precisos del algoritmo
completando módulos de mayor complejidad – es
inverso al anterior – . - WARNIER ORR: Utiliza una
representación semejante a cuadros sinópticos
para Mostar el funcionamiento y organización del algoritmo.
UNIDAD IV
Técnicas para la formulación de
algoritmos
Hay dos tipos, estas son:
*Estos no pueden ser ejecutados por una
computadora
- Diagramas de
Flujo > se basan en la
utilización de símbolos para representar las acciones. - Pseudo
código > Es un 1er borrador al
igual que el diagrama de
flujo.
El pseudo código siempre utiliza
"programación estructurada"(conjunto de
técnicas y métodos
para diseñar y escribir programas)
La programación estructurada se basa en el
teorema de la programación estructurada, propuesto por
Bohny y Jacopini, ellos dicen que "todo algoritmo puede ser escrito usando tres tipos
de estructuras:
Secuencial, Condicional o Repetitiva".
Las especificaciones de la programación
estructurada son tres:
- Un solo punto de Entrada y Salida
(E/S). - Todas las acciones deben ser
accesibles. - No posee ciclos o bucles infinitos.
Para diseñar un algoritmo utilizando pseudo
código se emplean instrucciones en nuestro
idioma.
Además para escribir este programa en pseudo
código se deben conocer un conjunto de instrucciones
reglas que DEFINEN como COMBINAR las instrucciones.
Algunas sentencias tienen equivalencia directa con los
símbolos de los diagramas de
flujo.
Todo algoritmo necesita de un DATO (Expresión
general que describe objetos con los cuales opera una computadora)
Hay diferentes Tipos de Datos,
estos son:
- Numérico >
Representan una cantidad ó un valor
determinado, pueden ser enteros o reales. - Alfanumérico >
Representan información textual ( no tiene valor) ,
pueden ser caracteres de tipo
*Numérico (0, 1, 2,3…)
*Alfabéticos (A, B, C, a, b, c)
*Especiales (+,-,*, /, < >, $)
- Lógicos ó
Booleano > pueden tomar dos valores, Verdadero
o Falso, Sirve para representar alternativas a determinadas
condiciones.
Estructuras de Datos
Es una colección de datos organizados
particularmente que se utilizan para la resolución de
problemas.
Hay dos tipos de estructuras de datos:
Se divide en dos tipos:
- Simples
*Constantes: Representa
una zona de memoria en la cual se almacena un dato. El dato
no puede ser modificado. Su forma:Definición: nombre/tipo de dato. Estas
simplifican la programación.*Variables: Representa una zona de
memoria en donde podemos hacer que el contenido
"varíe". Su forma:Definición: nombre/tipo de dato
- Compuestas:
se utilizan en
*Registros
*Arreglos
*Estructuras de Archivos
- Dinámicas
> Utilizan una cantidad variable de memoria, esta
puede aumentar o disminuir mientras se ejecute el
algoritmo. Se utilizan en
*Punteros
*Variable de Cadena de caracteres de longitud
variableUNIDAD V
OPERADORES > Símbolo que
determina qué tipo de operación se va a
realizar entre los "operandos"Se clasifican en:
- Aritméticos
> Permiten cálculos aritméticos,
utilizan operandos y resultados numéricos {+,-,*, /,
DIV, MOD, ^, ABS ( ), TRUNC ( ), REDOND ( )}. - Relacionales >
Permiten realizar comparaciones de valores de tipo
numérico ó carácter. Los resultados son
lógicos {<, >, =, <=, >=, <
>}. - Lógicos >
Permiten la combinación de condiciones para formar
una sola expresión lógica. Utilizan operandos y
resultados lógicos {-, ^, v}.
ASIGNACIÓN
> Permite darle valores a una
variable.Se representa por el símbolo
‘:=’*No podemos usar
variables/constantes que no estén definidasEl formato de la Asignación es:
VARIABLE:=EXPRESIÓNDonde Expresión es la
Combinación de variables, constantes y operadores que
representan una o un conjunto de operaciones
que devuelven un resultado.EJ. Z:= X*Pi + 2*(X-Y)
Entrada/Salida de
información (E/S)La mayoría de los programas requiere de un
cierto grado de interacción con los usuarios. Si un
algoritmo no interactúa con el usuario (no permite que
ingrese o vea datos), su utilidad es
muy poca.Operaciones de E/S > Nos permiten ingresar o leer
datos.- Datos de Entrada:
Dispositivos
de entrada. Teclado,
unidades de disco, etc. - Datos de Salida:
Dispositivos de Salida. Pantalla, impresora, etc.
Hay dos tipos de sentencias, una nos permite la
entrada de datos y la otra es la salida de datos. Estas
son:- Sentencia Leer ( )
– Entrada de Datos > Dentro del ( ) se
coloca el nombre de las variables que almacenaran los datos
de entrada. También se la conoce como
"Asignación Externa" ya que modifica el valor de las
variables involucradas. - Sentencia Escribir ( )
– Salida de Datos > Dentro de ( ) se
escriben los datos de salida, pueden ser
*Cadenas de Texto
(T)*Nombres de Variables (V)
*Nombres de Constantes (C)
Cada elemento de salida debe estar separado por
comasEj. ("T", V, C)
UNIDAD VI
La Estructura
del algoritmo es la siguiente:Acción
(nombre de la acción) es– Ambiente
(Declaración de variables)
(Declaración de constantes)
– Algoritmo
(Sentencias del
programa)Fin Acción
Dentro del algoritmo hay dos secciones, estas
son:- Ambiente >
Sección declarativa. Se declaran todas las
estructuras de datos que utilizaremos en el
algoritmo. - Algoritmo
> Incluiremos aquí todas
las "acciones" tendientes a resolver problemas. Solamente
se usaran aquí las estructuras de datos DECLARADAS
en el ambiente.
Teorema de la Programación
Estructurada"Todo algoritmo
estructurado puede ser escrito por tres tipos de estructuras
de control"Estructuras de Control
- Secuencial > Las
acciones se suceden una a continuación de la
siguiente. Tiene una entrada y una salida. Nunca se ejecuta
más de una acción por vez. - Condicional > Se
evalúa una condición y en función del resultado de la misma se
realiza una operación u otra
*Simples
(SI-Entonces) > Ejecuta una acción
cuando se cumple la condición.*Alternativas (Si-
Entonces-sino) > Ejecuta una/s
acción/es cuando se cumple la condición. Caso
contrario (condición falsa) ejecuta otra/s
acción/es.*Múltiples
(SEGÚN) > Permite ejecutar una
sentencia según el valor de una variable.- Repetitivas
> Repiten una secuencia un
Número de veces (Bucles) y al hecho de repetir la
ejecución de una secuencia de acciones
(Iteración).
Estas son:
*Estructura
MIENTRAS > Permite ejecutar una sentencia
"mientras" se cumpla la condición (booleana o
lógica). Es importante que la condición sea
falsa en algún momento para que no se genere un
"ciclo infinito".*Estructura
REPETIR > Permite ejecutar la sentencia
"hasta que" cumpla la condición (booleana o
lógica). Es importante que la condición sea
verdadera en algún momento para que no se genere un
"ciclo infinito".*Estructura
PARA > Permite ejecutar una sentencia un
número especifico de veces. Las sentencias se ejecutan
dentro del "bucle". Comienza con un Valor inicial hasta
llegar a un valor final.Autor:
Santiago Conti
- Estáticas
> Utilizan una cantidad fija de memoria para
almacenar datos. Esta capacidad no puede variar mientras se
ejecuta el algoritmo.
Página anterior | Volver al principio del trabajo | Página siguiente |