introduccion a la programacion

21
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

Upload: mary-sanchez

Post on 13-Jun-2015

4.524 views

Category:

Technology


6 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 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

Page 2: Introduccion A La Programacion

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?....

Page 3: Introduccion A La Programacion

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

Page 4: Introduccion A La Programacion

¿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.

Page 5: Introduccion A La Programacion

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.

Page 6: Introduccion A La Programacion

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:

Page 7: Introduccion A La Programacion

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 :

Page 8: Introduccion A La Programacion

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 :

Page 9: Introduccion A La Programacion

……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

Page 10: Introduccion A La Programacion

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 :

Page 11: Introduccion A La Programacion

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

Page 12: Introduccion A La Programacion

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.

Page 13: Introduccion A La Programacion

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?....

Page 14: Introduccion A La Programacion

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.

Page 15: Introduccion A La Programacion

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

Page 16: Introduccion A La Programacion

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

Page 17: Introduccion A La Programacion

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)

Page 18: Introduccion A La Programacion

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

Page 19: Introduccion A La Programacion

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

Page 20: Introduccion A La Programacion

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

Page 21: Introduccion A La Programacion

Gracias por su Atención!

INTRODUCCION A LA PROGRAMACION

[email protected] 2005