Introduccion A La Programacion
-
Upload
mary-sanchez -
Category
Technology
-
view
4.527 -
download
6
description
Transcript of Introduccion A La Programacion
INTRODUCCION A LA PROGRAMACION
“La buena programación no se aprende de generalidades, sino viendo como los programas
significativos pueden hacerse claros, fáciles de leer, fáciles de mantener y modificar , pensados para los
humanos eficientes y confiables; aplicando el sentido común y buenas prácticas de programación. El estudio cuidadoso y la imitación de buenos programas dirige
hacia una mejor escritura.”SOFTWARE TOOLS IN PASCAL
Kernigham y Paluger
Prof. Mary Anne Sánchez Vásquez
Programar una computadora significa dar una serie de instrucciones a la máquina con una secuencia
lógica, bajo un lenguaje de programación, sea este de bajo, medio, alto nivel o de cuarta generación, con el
fin de sistematizar un determinado proceso o dar solución a un problema.
Solo que algunas veces, el programador no enfoca el problema por el mejor camino, y entonces surgen los pequeños obstáculos y dolores de cabeza que pueden alterar hasta el más paciente de los seres humanos.
¿Qué es programar?....
CONCEPTOS BÁSICOS Y METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS POR
MEDIO DE COMPUTADORAS
OBJETIVO EDUCACIONAL:Conocer la terminología relacionada con los algoritmos; así como la importancia de aplicar técnicas adecuadas de programación
Es por ello, que utilizamos lo que denominamos ALGORITMOS
¿Que es un algoritmo?: Es un conjunto de pasos que permiten realizar con perfección un problema determinado, el tiempo y el espacio miden la mayor o menor eficacia del mismo.
INTRODUCCIÓN A LOS ALGORITMOSUn algoritmo es en un sentido amplio una “secuencia de pasos o etapas que conducen a la realización de una tarea”. Los primeros algoritmos nacieron para resolver problemas matemáticos.
Antes de escribir un programa de ordenador, hay que tener muy claro el algoritmo, es decir, cómo se va a resolver el problema considerado. Es importante desarrollar buenos algoritmos (correctos y eficientes). Una vez que el algoritmo está desarrollado, el problema se puede resolver incluso sin entenderlo.
Definición de Algoritmo
Definición de Algoritmo
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema especifico.
Tipos de Algoritmos Tipos de Algoritmos
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
1. Definición del problema
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa
2. Análisis del problemaUna vez que se ha comprendido lo que se desea de la computadora, es necesario definir:•Los datos de entrada.•Cual es la información que se desea producir (salida)•Los métodos y fórmulas que se necesitan para procesar los datos.Una recomendación muy practica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados
Para la resolución de un algoritmo Para la resolución de un algoritmo debemos seguir los siguientes pasos:debemos seguir los siguientes pasos:
3. Diseño del AlgoritmoLas características de un buen algoritmo son:Debe tener un punto particular de inicio.Debe ser definido, no debe permitir dobles interpretaciones.Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.Debe ser finito en tamaño y tiempo de ejecución.
4. CodificaciónLa codificación es la operación de escribir la solución del problema (de acuerdo a la lógica del diagrama de flujo o pseudocódigo), en una serie de instrucciones detalladas, en un código reconocible por la computadora, la serie de instrucciones detalladas se le conoce como código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.
Pasos para la resolución de un algoritmo :Pasos para la resolución de un algoritmo :
5. Prueba y Depuración Los errores humanos dentro de la programación de computadoras son muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores, para dar paso a una solución sin errores se le llama depuración.La depuración o prueba resulta una tarea tan creativa como el mismo desarrollo de la solución, por ello se debe considerar con el mismo interés y entusiasmo.Resulta conveniente observar los siguientes principios al realizar una depuración, ya que de este trabajo depende el éxito
de nuestra solución
6. DocumentaciónEs la guía o comunicación escrita es sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas.A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).
Pasos para la resolución de un algoritmo :Pasos para la resolución de un algoritmo :
……la Documentación se divide en tres partes:la Documentación se divide en tres partes:
1.Documentación interna:
Son los comentarios o mensaje que se añaden al código fuente para hacer mas claro el entendimiento de un proceso.
2. Documentación externa:
Se define en un documento escrito los siguientes puntos:•Descripción del Problema•Nombre del Autor•Algoritmo (diagrama de flujo o pseudocódigo)•Diccionario de Datos•Código Fuente (programa)
3. Manual del Usuario:
Describe paso a paso la manera como funciona el programa, con el fin de que el usuario obtenga el resultado deseado
7. MantenimientoSe lleva acabo después de terminado el programa, cuando se detecta que es necesario hacer algún cambio, ajuste o complementación al programa para que siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa este correctamente documentado.
Pasos para la resolución de un algoritmo :Pasos para la resolución de un algoritmo :
Técnicas para la
resolución de
Algoritmos
•Diagrama de flujo•Seudocódigo•Diagrama estructurado o teorema de la Estructura
Después de conocer los elementos Después de conocer los elementos básicos para resolver un problemabásicos para resolver un problema
Aplicamos
Procedemos a diseñar el Algoritmo
ALGORITMO
0 ó más entradas
1 ó mássalidas
Memoria E/SComunicación
Apoyándonos de la lógica hacemos lo que llamamos un algoritmo en lenguaje natural o seudocódigo.
Por medio de:
La lógica computacional
La secuencia de instrucciones que lleva a cabo una computadora para realizar cualquier tarea, es siempre traducible a secuencias de enunciados en un formalismo lógico. Y viceversa. De esta manera, los alcances y limites de lo realizable por una computadora están dados por los alcances y limitaciones teóricamente establecidos para la lógica.
Por medio de esta lógica hacemos lo que llamamos un algoritmo en lenguaje natural o seudocódigo.
0 1
BIT
¿Cómo realizamos el Algoritmo?....
REPRESENTACIÓN DE ALGORITMOS
Existen diversas formas de representar algoritmos. A continuación se presentan algunas de ellas:
• Detallada: Se trata de escribir el algoritmo en un determinado lenguaje de programación (lenguaje de máquina, ensamblador, fortran, basic, pascal, C, Matlab, Visual Basic, ...).
• Simbólica: Las etapas son descritas con lenguaje próximo al natural, con el grado de detalle adecuado a la etapa de desarrollo del programa.
• Gráfica: por medio de diagramas de flujo.
La sintaxis (el modo de escribir) debe representar correctamente la semántica (el contenido). La sintaxis debe ser clara, sencilla y accesible.
En cualquier caso e independientemente del tipo de representación utilizada lo importante es tener muy claro el algoritmo a realizar y ponerlo por escrito en forma de esquema antes de ponerse a programarlo. Merece la pena pasar unos minutos realizando un esquema sobre papel antes de ponerse a teclear el código sobre un teclado de computador.
Haga NRO =0SUMAR haga NRO = resultado de NRO +1 imprima contenido de NRO si NRO = 5 cierto pare falso vaya a SUMARFin del programa
SIMBOLICA: SEUDOCODIGO
Programa para imprimir números del 1 al 5
Haga NRO = NRO+1
PARE
INICIO
Haga NRO =0
Imprima NRO
NRO = 5
NO
SI
GRAFICA: DIAGRAMA DE
FLUJO
Programa para imprimir números del 1 al 5
DETALLADA: LENGUAJE DE PROGRAMACION
Programa para imprimir números del 1 al 5
Dim N(5), I, T(5) As IntegerFor I = 0 To 4 N(I) = Val(Text1(I)) T(I) = N(I) + 1 MSFlexGrid1.TextMatrix(I, 0) = T(I)Next I
Text1(0) = 0Text1(1) = Val(Text1(0) + 1)Text1(2) = Val(Text1(0) + 2)Text1(3) = Val(Text1(0) + 3)Text1(4) = Val(Text1(0) + 4)
UN ALGORITMO
Una forma lógica y optima de resolver problemas. Un conjunto finito de
pasos lógicos, para lograr la solución de un problema
ESTRUCTURAS ALGORITMICASEs
Mediante
Entradas, salidas y Condiciones
Especificando
Analizando
Tipos de Datos: Variables y Constantes (Identificadores)
Secuenciales
Selección
Simples: numéricos, lógicos, alfanuméricos
Estructurados: Arreglos o Matrices, archivos, registros.
Expresiones: que son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales
Iteración
Aritméticas
Relacionales
Lógicas
Utilizando
Manipulación de Variables
Los procesos lógicos o algoritmicos en todo sistema consisten de computación consisten en un manejo de variables. Este manejo de variables se
hace mediante las llamadas primitivas o instrucciones.
La instrucción se puede definir como “La mínima cantidad de información que indica el paso a
realizar en un proceso lógico”.
Según
1. Precisión
El algoritmo debe indicar el orden exacto de ejecución de cada tarea
CARACTERISTICAS DE UN ALGORITMO
2. Definitud o determinismo
Si se sigue el algoritmo dos o más veces con los mismos datos de entrada, se deben obtener los mismos datos de salida
3. Finitud
El algoritmo debe terminar en algún momento y debe usar una cantidad de recursos finita
Dada una cantidad de datos de entrada de un algoritmo, se dice que la cantidad de un recurso usada por dicho algoritmo para su ejecución determina la complejidad del algoritmo respecto a tal recurso. Cuando se implementa un algoritmo en un computador digital, los recursos con los que se cuenta son tiempo de proceso y memoria. Por lo tanto, a un algoritmo implementado en un computador digital se le pueden calcular sus complejidades temporal y espacial
1. Datos
Lo que el algoritmo recibe, procesa y entrega como resultado
ESTRUCTURA BASICA DE UN ALGORITMO
2. Instrucciones
Las acciones o procesos que el algoritmo realiza sobre los datos
3. Estructuras de Control
Las que determinan el orden en que se ejecutarán las instrucciones del algoritmo