Está en la página 1de 39

Introduccin al curso de programacin estructurada.

Introduccin a la programacin estructurada

Presentacin.
Daniel Alejandro Garca Lpez
Estudios de Licenciatura: Tecnolgico de Villahermosa Ingeniera en sistemas computacionales, especialidad en redes y sistemas distribuidos. Estudios de Maestra: Universidad Veracruzana Maestra en Inteligencia Artificial. dalexgarcia@gmail.com
Introduccin a la programacin estructurada 2

Informacin del curso


Horario(L.8.10, M.5.7, M.8.10)
Temario y Recursos Web http://www.unistmo.edu.mx/~daniel.garcia/ Forma de evaluacin(mnimo 85% asistencia). 80 % curso

50% examen 10 % tareas, exposiciones, participacin. 20 % proyecto.

20% taller de programacin(J.8.10, V.8.10).

Introduccin a la programacin estructurada

Bibliografa recomendada
Fundamentos de programacin, Algoritmos y Estructura de datos y

Objetos, Joyanes, Luis, Editorial McGraw Hill, 2003. Metodologa de la programacin estructurada, Joyanes, Luis, Editorial McGraw Hill, 1993. El lenguaje de programacin C, Kernighan y Ritchie, Editorial Prentice Hall, 1991. Como programar en C/C++ , H.M. Deitel and P.J. Deitel, Ed. Prentice Hall, 1994, 2da. edicin Algortmica [en lnea]. Universidad de las Palmas de Gran Canaria[fecha de consulta: 30 de septiembre del 2009]. Disponible en <http://www.ulpgc.es/otros/tutoriales/mtutor/indice.html>. Dr. Roberto Gmez Crdenas. Curso Bsico de Lenguaje C [en lnea]. Instituto Tecnolgico y de Estudios Superiores de Monterrey. [fecha de consulta: 30 de septiembre del 2009]. Disponible en < http://homepage.cem.itesm.mx/rogomez/Tutorial-LengC/ >.
Introduccin a la programacin estructurada 4

Tema 1
1. EL LENGUAJE DE PROGRAMACIN ANSI C.
1.1. Introduccin a la programacin estructurada. 1.2. Estructura de un programa. 1.3. Tipos de datos. 1.4. Operadores. 1.5. Ejemplos de instrucciones de entrada y salida.

Introduccin a la programacin estructurada

Ada Lovelace

Tomada de: http://www.agnesscott.edu/lriddle/women/ada3.jpg Introduccin a la programacin estructurada 6

Entorno de Desarrollo Integrado: Devcpp


http://www.bloodshed.net/devcpp.html

Tomada de: http://www.bloodshed.net/


Introduccin a la programacin estructurada

Diseo Descendente vs Diseo Ascendente

Tomado de : http://www.mailxmail.com/cursointroduccion-lenguaje-pascal/programaciondescendente-top-down

http://www.metrasupport.com/images/int egracion-boton%20copy.jpg

Introduccin a la programacin estructurada

Tema 2
2. ESTRUCTURAS DE CONTROL.
2.1. Secuencial. 2.2. Selectivas. 2.3. Iterativas.

Introduccin a la programacin estructurada

Introduccin a la programacin estructurada

10

Tema 3
3. FUNCIONES.
3.1 Definicin de funciones. 3.2 Funciones con paso de parmetros por valor. 3.3 Funciones con paso de parmetros por referencia. 3.4 Funciones recursivas.

Introduccin a la programacin estructurada

11

Introduccin a la programacin estructurada

12

Tema 4.
4. ARREGLOS.
4.1 Arreglos unidimensionales. 4.2 Arreglos bidimensionales. 4.3 Arreglos multidimensionales. 4.4 Arreglos como parmetros.

Introduccin a la programacin estructurada

13

Introduccin a la programacin estructurada

14

Tema 5
5. APUNTADORES.
5.1 Apuntadores. 5.2 Aritmtica de apuntadores. 5.3 Memoria esttica y dinmica. 5.4 Arreglos dinmicos de una y dos dimensiones. 5.5 Funciones como parmetros.

Introduccin a la programacin estructurada

15

Tema 6
6. TIPOS DE DATOS DEFINIDOS POR EL

PROGRAMADOR. 6.1 Introduccin al tipo de dato abstracto. 6.2 Implementacin de un tipo de dato abstracto. 6.3 Tipos de datos abstractos como parmetros. 6.4 Arreglos de tipos de datos abstractos.

Introduccin a la programacin estructurada

16

Tema 7
7. ARCHIVOS.
7.1 Operaciones bsicas. 7.2 Texto y binarios. 7.3 Acceso secuencial y directo.

Introduccin a la programacin estructurada

17

Tarea
Realizar la lectura y entregar un ensayo individual(no

resumen) con un mnimo de 1000 palabras del primer ejercicio que se encuentra en la pgina del curso(Fecha de entrega Viernes 9 de Octubre del 2009, antes de las 18:00 hrs).
Lecturas para ensayo sobre Ada Lovelace y Biografa(

Ingls)

Introduccin a la programacin estructurada

18

Conceptos
Metodologa: Conjunto de procedimientos, tcnicas,

herramientas y un soporte documental que ayuda a los desarrolladores a realizar nuevo software. Estructura: Es la descomposicin ordenada de las partes de un todo. Conjunto de elementos interrelacionados que forman un todo. Programacin estructurada: Consiste en el diseo, escritura y prueba de un programa, construido con estructura.

Introduccin a la programacin estructurada

19

Metodologa de la programacin
Es la tcnica que permite que la programacin sea lo

ms eficaz posible en cuanto al desarrollo y mantenimiento. Conjunto de principios generales que un programador ha de seguir para desarrollar un programa

Introduccin a la programacin estructurada

20

Metodologas de programacin
Programacin convencional
Programacin Estructurada Programacin Modular Programacin orientada a objetos.

Introduccin a la programacin estructurada

21

Programacin orientada a objetos.


Un Modelo de Objetos es un conjunto de entidades

(denominadas objetos) que colaboran entre ellos para desempear una serie de servicios. Esos servicios se solicitan por medio del intercambio de mensajes. Todos los objetos del modelo pertenecen a algn tipo (Clase). El principio fundamental es que un Objeto es la representacin de un concepto. Como tal, tendr unas caractersticas (atributos) y un comportamiento, plasmado en una serie de operaciones.
Introduccin a la programacin estructurada 22

Desventajas de la Programacin convencional


Los programas suelen ser excesivamente rgidos.
Los programadores gastan la mayora de su tiempo

corrigiendo sus errores. Los programadores prefieren escribir sus mdulos. Cada programador tiene sus propios programas Elevado coste de actualizacin. Deficiencias en la documentacin.

Introduccin a la programacin estructurada

23

Previsiones futuras en los programas.


Prever el aumento de datos y estructuras
Cambios en la organizacin de la informacin. Cambios debido preferentemente a la modernizacin

de los documentos y sus formatos. Sustitucin, ampliacin o reduccin en el sistema de procesos de datos.

Introduccin a la programacin estructurada

24

Consideraciones al disear programas


Correcto/fiel. Producir resultados requeridos.
Legible. Debe ser entendido por cualquier

programador. Modificable. Su estructura debe permitir modificaciones. Depurable. Debe ser fcil la localizacin y correccin de errores.

Introduccin a la programacin estructurada

25

Concepto de Mdulo
Esta constituido por una o varias instrucciones

fsicamente contiguas lgicamente encadenadas, las cuales se pueden referenciar mediante un nombre y pueden ser llamadas desde diferentes puntos de un programa. Un modulo puede ser un programa, una funcin, una subrutina(procedimiento).

Introduccin a la programacin estructurada

26

Programacin modular
Descomponer un programa en un nmero pequeo de

abstracciones coherentes que pertenecen al dominio del problema y enmascaran la complejidad interna. Mtodo de diseo que tiende a dividir el problema, de forma lgica, en partes perfectamente diferenciadas que pueden ser analizadas, programadas y puesta a punto independientemente.

Introduccin a la programacin estructurada

27

Ventajas de la programacin modular


Es ms fcil de escribir y depurar.
Fcil mantener y modificar. Fcil control de la programacin. Posibilita el uso repetitivo de las rutinas en el mismo o

en diferentes programas.

Introduccin a la programacin estructurada

28

Programacin estructurada
Tcnica de construccin de programas que utilizan al

mximo los recursos del lenguaje, limita el conjunto de estructuras aplicables a leer y presenta una serie de reglas que coordinan adecuadamente el desarrollo de las diferentes fases de la programacin.
Estructuras bsicas de control. Recursos abstractos Diseo descendente

Introduccin a la programacin estructurada

29

Estructuras bsicas de control


El teorema de la estructura(Bohm y Jacopini 1966)

establece que un programa propio puede ser escrito utilizando solamente las siguientes estructuras lgicas de control: secuencia, seleccin e iteracin. Un programa se define como propio si cumple con los dos requerimientos siguientes:
Tiene exactamente una entrada y una salida para control

del programa. Existen caminos seguibles desde la entrada hasta la salida que conducen por cada parte del programa, es decir, no existen lazos infinitos ni instrucciones que no se ejecutan Introduccin a la programacin estructurada

30

Recursos abstractos
Disear o concebir un problema en trminos

abstractos consiste en no tener en cuenta la mquina que lo va a resolver as como el lenguaje de programacin que se va a utilizar. Ejemplo : El concepto de variable implica una abstraccin cuando se da un nombre a una operacin determinada, y se utiliza considerando lo que hace pero sin preocuparnos de cmo lo hace.

Introduccin a la programacin estructurada

31

Metodologa descendente
Consiste en establecer una serie de niveles de menor o

mayor complejidad que den solucin al problema. Un programa estructurado tiene una representacin en forma de rbol. El diseo se basa en la realizacin de diferentes niveles.

Introduccin a la programacin estructurada

32

Diseo de programas estructurados.


La realizacin del diseo estructurado de un programa

se basa en la aplicacin de los siguientes conceptos:


Ir de lo general a lo particular, descendiendo en la

estructura del programa y en su nivel de detalle. De la definicin inicial del problema se pasa a un esquema de algoritmo descrito en pseudocdigo. Independencia inicial del lenguaje. Diseo por niveles. Verificar en cada nivel el esquema correcto. Finalizar con un trabajo de recomposicin del algoritmo completo.
Introduccin a la programacin estructurada 33

Ejemplo de programa con GOTO


10
20 30 40 50 60 70 80 90 100

CLS A=10 INPUT B IF B=A THEN GOTO 50 ELSE GOTO 70 PRINT A Y B SON IGUALES GOTO 100 IF A>B THEN GOTO 80 ELSE GOTO 90 B=B+1; GOTO 40 B=B-1; GOTO 40 END Introduccin a la programacin estructurada

34

Ejemplo de programa sin GOTO


PROGRAM NUMEROSIGUALES
BEGIN CLEARSCREEN; A:=10; INPUT B; REPEAT

IF B=A THEN PRINT A Y B SON IGUALES ELSE REDUCEDIFERENCIA(A,B);

UNTIL B=A;

END;
Introduccin a la programacin estructurada 35

PROCEDURE REDUCEDIFERENCIA(A,B);
BEGIN IF A>B THEN B:= B+1

ELSE B:= B-1

END

Introduccin a la programacin estructurada

36

Ventajas de la programacin estructurada.


Los programas son ms fciles de entender
Reduccin del esfuerzo en las pruebas. Reduccin de los costos de mantenimiento. Programas ms sencillos y ms rpidos Aumento de la productividad del programador Los programas quedan mejor documentados

internamente.

Introduccin a la programacin estructurada

37

RELACIN HISTRICA DE LAS PRINCIPALES METODOLOGAS


1968 Conceptos sobre la programacin estructurada de

DIJKSTRA 1974 Tcnicas de programacin estructurada de WARNIER y JACKSON 1975 Primeros conceptos sobre diseo estructurado de MYERS y YOURDON 1978 Anlisis estructurado: DEMARCO y WEINBERG 1985 Anlisis y Diseo estructurado para sistemas de tiempo real de WARD y MELLOR 1987 Anlisis y Diseo estructurado para sistemas de tiempo real HATLEY y PIRKBAY Introduccin a la programacin estructurada 38

Referencias
Metodologa de la programacin estructurada, Joyanes,

Luis, Editorial McGraw Hill, 1993. Colaboradores de Wikipedia. Programacin estructurada [en lnea]. Wikipedia, La enciclopedia libre, 2009 [fecha de consulta: 30 de septiembre del 2009]. Disponible en <http://es.wikipedia.org/w/index.php?title=Programaci%C 3%B3n_estructurada&oldid=30205148>. Colaboradores de Wikipedia. Vector (informtica) [en lnea]. Wikipedia, La enciclopedia libre, 2009 [fecha de consulta: 2 de octubre del 2009]. Disponible en <http://es.wikipedia.org/w/index.php?title=Vector_(infor m%C3%A1tica)&oldid=30249361>.
Introduccin a la programacin estructurada 39

También podría gustarte