fundamentos programacion

23
Estrella cero Estrella cero Tópicos tratados and Tópicos tratados and stuff stuff

Upload: guestffda02

Post on 29-Jun-2015

832 views

Category:

Education


0 download

DESCRIPTION

Autor: Pablo PereiraAño: 2009

TRANSCRIPT

Page 1: Fundamentos Programacion

Estrella ceroEstrella cero

Tópicos tratados and stuffTópicos tratados and stuff

Page 2: Fundamentos Programacion

Fundamentos de la Fundamentos de la programación programación

Temas a tratarTemas a tratar

Page 3: Fundamentos Programacion

Veremos:Veremos: SoftwareSoftware Lenguajes de programaciónLenguajes de programación Resolución de problemas usando la PCResolución de problemas usando la PC Entorno de programaciónEntorno de programación Estructuras básicasEstructuras básicas Procedimientos y funcionesProcedimientos y funciones Visibilidad de variablesVisibilidad de variables BibliotecasBibliotecas ArraysArrays Estilo de programacionEstilo de programacion

Page 4: Fundamentos Programacion

SoftwareSoftware

Software: Conjunto de operaciones a Software: Conjunto de operaciones a realizar por el hardware, especificadas en realizar por el hardware, especificadas en una lista y con un orden.una lista y con un orden.

Software de sistema: Necesario para que Software de sistema: Necesario para que la máquina funcione y pueda ejecutar el la máquina funcione y pueda ejecutar el software de aplicación.software de aplicación.

Software de aplicación: Realización de Software de aplicación: Realización de tareas concretas que son útiles para tareas concretas que son útiles para ciertos usuarios.ciertos usuarios.

Page 5: Fundamentos Programacion

Lenguajes de programaciónLenguajes de programación

Se utilizan para escribir programas de Se utilizan para escribir programas de computadoras que puedan ser entendidos computadoras que puedan ser entendidos e interpretados correctamente por la e interpretados correctamente por la máquina.máquina.

Clasificables en 3 grupos: Lenguaje de Clasificables en 3 grupos: Lenguaje de máquina, lenguaje de bajo nivel, lenguaje máquina, lenguaje de bajo nivel, lenguaje de alto nivel.de alto nivel.

Page 6: Fundamentos Programacion

Lenguaje de máquinaLenguaje de máquina

Conjunto de instrucciones entendibles Conjunto de instrucciones entendibles directamente para la máquina, pero sin directamente para la máquina, pero sin sentido inmediato para el ser humano.sentido inmediato para el ser humano.

Ejemplo: Programación directa en Ejemplo: Programación directa en lenguaje binario:lenguaje binario:

““0110 1001 1010 10110110 1001 1010 1011””

Page 7: Fundamentos Programacion
Page 8: Fundamentos Programacion

Lenguaje de bajo nivelLenguaje de bajo nivel

Proveen un juego de instrucciones un poco más Proveen un juego de instrucciones un poco más comprensibles para el ser humanocomprensibles para el ser humano

Ejemplo: Lenguaje ensamblador:Ejemplo: Lenguaje ensamblador:

““ADD M, N, P”ADD M, N, P”

““Sume el número en la posición M al de la Sume el número en la posición M al de la posición N y escríbalo en la posición P”.posición N y escríbalo en la posición P”.

Requiere una fase de traducción a lenguaje Requiere una fase de traducción a lenguaje máquinamáquina

Page 9: Fundamentos Programacion

Lenguajes de alto nivelLenguajes de alto nivel

Utilizan instrucciones redactadas en forma Utilizan instrucciones redactadas en forma similar al lenguaje humano ordinariosimilar al lenguaje humano ordinario

No dependen de la máquina en la que se No dependen de la máquina en la que se está trabajando.está trabajando.

Requieren ser traducidos a lenguaje de Requieren ser traducidos a lenguaje de máquina para funcionar (Compilación)máquina para funcionar (Compilación)

Divididos en grupos: Orientado a objetos, Divididos en grupos: Orientado a objetos, estructurados, declarativos, funcionales, estructurados, declarativos, funcionales, imperativos, etc.imperativos, etc.

Page 10: Fundamentos Programacion

Resolución de problemas con la Resolución de problemas con la PC: Pasos a seguirPC: Pasos a seguir

Analizar el problemaAnalizar el problemaDiseñar el algoritmo solución (pseudo Diseñar el algoritmo solución (pseudo

código)código)Codificación (al lenguaje más apropiado o Codificación (al lenguaje más apropiado o

mejor manejado)mejor manejado)Compilación y ejecuciónCompilación y ejecuciónVerificaciónVerificaciónDepuraciónDepuración

Page 11: Fundamentos Programacion

Entornos de programaciónEntornos de programación

Llamados IDESLlamados IDES Incluye: Editor, compilador, depurador y Incluye: Editor, compilador, depurador y

ayuda en linea (idealmente)ayuda en linea (idealmente)Ejemplos: Dev C++ o Turbo C++ para Ejemplos: Dev C++ o Turbo C++ para

C/C++. Netbeans para JAVA, etc.C/C++. Netbeans para JAVA, etc.

Page 12: Fundamentos Programacion

Estructuras básicas: De controlEstructuras básicas: De control

El orden de ejecución de un programa es El orden de ejecución de un programa es determinado por el orden de las determinado por el orden de las sentencias.sentencias.

Las estructuras permiten alterar el orden Las estructuras permiten alterar el orden de ejecución para acomodarlo a las de ejecución para acomodarlo a las necesidades del usuarionecesidades del usuario

Tipos básicos:Tipos básicos:De repetición o iteraciónDe repetición o iteraciónDe selecciónDe selección

Page 13: Fundamentos Programacion

Estructuras de IteraciónEstructuras de Iteración

Ejecutan un conjunto de sentencias Ejecutan un conjunto de sentencias repetidamente un número determinado de repetidamente un número determinado de veces, o evaluando hasta que se cumpla veces, o evaluando hasta que se cumpla una determinada condiciónuna determinada condición

El conjunto de sentencias es denominado El conjunto de sentencias es denominado “Bucle”“Bucle”

Cada repetición del bucle se llama Cada repetición del bucle se llama “iteración”“iteración”

Page 14: Fundamentos Programacion

Estructuras de Iteración: EjemploEstructuras de Iteración: Ejemplo

While (i == a)While (i == a){{i = i*2;i = i*2;printf(“Show me your moves”);printf(“Show me your moves”);}}

For(i=0; i == a; i=i*2)For(i=0; i == a; i=i*2){{Spin_Violently();Spin_Violently();}}

Page 15: Fundamentos Programacion

Estructuras de SelecciónEstructuras de Selección

Dirigen el flujo del programa hacia un Dirigen el flujo del programa hacia un determinado “camino” según la evaluación determinado “camino” según la evaluación de ciertos factoresde ciertos factores

Ejemplo de la vida real: “En caso de Ejemplo de la vida real: “En caso de emergencia, rompa el vidrio”. Significa que emergencia, rompa el vidrio”. Significa que el usuario no debe romper el vidrio a el usuario no debe romper el vidrio a menos que haya una emergencia.menos que haya una emergencia.

Page 16: Fundamentos Programacion

Estructuras de selección: EjemploEstructuras de selección: Ejemplo

If (a == 5)If (a == 5)

{{

printf (“a es igual a 5”);printf (“a es igual a 5”);

}}

elseelse

{{

printf (“a no es igual a 5”);printf (“a no es igual a 5”);

Page 17: Fundamentos Programacion

Procedimientos y funcionesProcedimientos y funciones

Descomposición en sub programas: Estrategia Descomposición en sub programas: Estrategia para resolver problemas demasiado para resolver problemas demasiado complicados (Divide y vencerás)complicados (Divide y vencerás)

Subprogramas implementados a través de Subprogramas implementados a través de funcionesfunciones Compuestas por un grupo de sentenciasCompuestas por un grupo de sentencias Se les asigna un nombreSe les asigna un nombre Pueden invocarse entre si utilizando ese nombrePueden invocarse entre si utilizando ese nombre Constituyen una unidad del programaConstituyen una unidad del programa

Page 18: Fundamentos Programacion

Procedimientos y funcionesProcedimientos y funciones

Se comunican con su invocador a través de Se comunican con su invocador a través de parámetros [funcion(int A, int B))parámetros [funcion(int A, int B))

Parámetros: Medio para pasar información Parámetros: Medio para pasar información implementados a través de variables con valor.implementados a través de variables con valor.

Tipos de parámetros:Tipos de parámetros: De entrada: Valor proporcionado por el invocador De entrada: Valor proporcionado por el invocador

(ejemplode arriba)(ejemplode arriba) De salida: valor previamente calculado por la función De salida: valor previamente calculado por la función

y devuelta por el programa [Return (b)]y devuelta por el programa [Return (b)]

Page 19: Fundamentos Programacion

Procedimientos y funcionesProcedimientos y funciones

Ventajas:Ventajas:Facilita el diseño descendiente y modularFacilita el diseño descendiente y modularPromueven neutralización del códigoPromueven neutralización del códigoFacilita la división de tareasFacilita la división de tareasComprobables por separadoComprobables por separadoEncapsulables en bibliotecas dependientes Encapsulables en bibliotecas dependientes

(TADs)(TADs)

Page 20: Fundamentos Programacion

Visibilidad de variablesVisibilidad de variables

Variable Global: Editable por todo el Variable Global: Editable por todo el programa, tanto main como funciones. programa, tanto main como funciones. Valor desechado al terminar el programa Valor desechado al terminar el programa principalprincipal

Variable Local: Editable solo por la función Variable Local: Editable solo por la función en que fue creada. Valor desechado al en que fue creada. Valor desechado al terminar dicho subprogram, y válido solo terminar dicho subprogram, y válido solo para ese subprograma.para ese subprograma.

Page 21: Fundamentos Programacion

Bibliotecas:Bibliotecas:

Archivo independiente que contiene un Archivo independiente que contiene un conjunto de subprogramasconjunto de subprogramas

Pueden ser incluidas y referenciadas en el Pueden ser incluidas y referenciadas en el desarrollo de múltiples programasdesarrollo de múltiples programas

Facilitan la modularización de un Facilitan la modularización de un programaprograma

Page 22: Fundamentos Programacion

Arrays (arreglos)Arrays (arreglos)

Almacenan datos del mismo tipo en Almacenan datos del mismo tipo en direcciones de memoria contiguas.direcciones de memoria contiguas.

Pueden tener una o más dimensiones Pueden tener una o más dimensiones (unidimensionales o multidimensionales)(unidimensionales o multidimensionales)

Numero de datos limitado y predefinidoNumero de datos limitado y predefinido

Page 23: Fundamentos Programacion

Estilo de programaciónEstilo de programación

Característica importante del programadorCaracterística importante del programadorUn buen estilo permite una fácil Un buen estilo permite una fácil

comprensión del programa, para comprensión del programa, para eventualmente mejorarlo o modificarloeventualmente mejorarlo o modificarlo

Puntos a tener en cuenta:Puntos a tener en cuenta:ComentariosComentariosVariables con nombre significativoVariables con nombre significativoEspacios y líneas en blancoEspacios y líneas en blancoValidación con datos de pruebaValidación con datos de prueba