Dce0 Fundamentos De Programacion1

32
Estrella 0 - Estrella 0 - Fundamentos de la Fundamentos de la Programación Programación Programa Microsoft Desarrollador Cinco Estrellas

Transcript of Dce0 Fundamentos De Programacion1

Page 1: Dce0 Fundamentos De Programacion1

Estrella 0 -Estrella 0 -Fundamentos de la Fundamentos de la

ProgramaciónProgramación

Programa Microsoft Desarrollador Cinco

Estrellas

Page 2: Dce0 Fundamentos De Programacion1

ObjetivoObjetivo

Mostrar los fundamentos de la programación a Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas través de ejemplos y prácticas utilizadas

cotidianamente en el desarrollo de cotidianamente en el desarrollo de aplicacionesaplicaciones

Page 3: Dce0 Fundamentos De Programacion1

PrerrequisitosPrerrequisitos

El presente curso asumirá conocimientos El presente curso asumirá conocimientos básicos debásicos de ComputadoraComputadora Dispositivos de Entrada/SalidaDispositivos de Entrada/Salida Organización Física de una computadora (CPU, Organización Física de una computadora (CPU,

Memoria)Memoria) Sistemas OperativosSistemas Operativos

Page 4: Dce0 Fundamentos De Programacion1

Temas a Tratar (1/2)Temas a Tratar (1/2)

El Software El Software

Lenguajes de programaciónLenguajes de programación

Resolución de problemas con computadoraResolución de problemas con computadora

Entorno de programaciónEntorno de programación

Tipos de DatosTipos de Datos

Variables y Constantes Variables y Constantes

SentenciasSentencias

Operadores y ExpresionesOperadores y Expresiones

Page 5: Dce0 Fundamentos De Programacion1

Temas a Tratar (2/2)Temas a Tratar (2/2)

Estructuras Básicas de Control Estructuras Básicas de Control

Procedimientos y FuncionesProcedimientos y Funciones

Visibilidad de variables Visibilidad de variables

BibliotecasBibliotecas

ArraysArrays

El Estilo de ProgramaciónEl Estilo de Programación

Page 6: Dce0 Fundamentos De Programacion1

El SoftwareEl Software

Las operaciones que debe realizar el Las operaciones que debe realizar el hardware son especificadas con una lista hardware son especificadas con una lista de instrucciones, llamadas programas o de instrucciones, llamadas programas o software.software.

Dos grandes grupos de softwareDos grandes grupos de software Software del SistemaSoftware del Sistema

Indispensable para que la máquina funcione Indispensable para que la máquina funcione y poder escribir programas de aplicacióny poder escribir programas de aplicación

Software de AplicaciónSoftware de Aplicación Realizan tareas concretas que tienen Realizan tareas concretas que tienen

utilidad para ciertos usuariosutilidad para ciertos usuarios

Page 7: Dce0 Fundamentos De Programacion1

Lenguajes de Programación (1/2)Lenguajes de Programación (1/2)

Lenguajes utilizados para escribir programas Lenguajes utilizados para escribir programas de computadoras que puedan ser de computadoras que puedan ser entendidos por ellasentendidos por ellas

Se clasifican en tres grandes categoríasSe clasifican en tres grandes categorías lenguajes de máquinalenguajes de máquina

instrucciones directamente entendibles por la instrucciones directamente entendibles por la computadora (lenguaje binario)computadora (lenguaje binario)

lenguajes de bajo nivellenguajes de bajo nivel Proveen un juego de instrucciones más Proveen un juego de instrucciones más

comprensibles por los humanoscomprensibles por los humanos lenguajes de alto nivellenguajes de alto nivel

Page 8: Dce0 Fundamentos De Programacion1

Lenguajes de Programación (2/2)Lenguajes de Programación (2/2)

Lenguajes de alto nivel Utilizan instrucciones escritas con palabras similares a

los lenguajes humanos Son independientes de la máquina en la que se

ejecutan Necesitan ser traducidos a instrucciones en lenguaje

máquina (Compilación)

Existen diversos tipos Estructurados Orientados a Objetos Declarativos Funcionales

Page 9: Dce0 Fundamentos De Programacion1

Resolución de problemas con Resolución de problemas con computadoracomputadora

El proceso de diseñar un programa es, El proceso de diseñar un programa es, esencialmente, un proceso creativo.esencialmente, un proceso creativo.Sin embargo, hay una serie de pasos Sin embargo, hay una serie de pasos comunes a seguir:comunes a seguir: Análisis del problemaAnálisis del problema Diseño del algoritmo soluciónDiseño del algoritmo solución CodificaciónCodificación Compilación y EjecuciónCompilación y Ejecución VerificaciónVerificación DepuraciónDepuración DocumentaciónDocumentación

Page 10: Dce0 Fundamentos De Programacion1

Entorno de ProgramaciónEntorno de Programación

También conocidos como IDEsTambién conocidos como IDEs

Herramienta esencial a la hora de Herramienta esencial a la hora de desarrollar softwaredesarrollar software

IncluyeIncluye EditorEditor Intérprete o CompiladorIntérprete o Compilador DepuradorDepurador Ayuda en líneaAyuda en línea

Page 11: Dce0 Fundamentos De Programacion1

Tipos de DatosTipos de DatosDatos: piezas de información con las que Datos: piezas de información con las que un programa trabajaun programa trabaja

Cada dato tiene asociado un único Cada dato tiene asociado un único TipoTipo

El Tipo de Dato determina la naturaleza del El Tipo de Dato determina la naturaleza del conjunto de valores que un dato puede conjunto de valores que un dato puede tomartomar

Ejemplos:Ejemplos: Número EnteroNúmero Entero Número RealNúmero Real Cadena de CaracteresCadena de Caracteres Valor Lógico (Verdadero o Falso)Valor Lógico (Verdadero o Falso)

Page 12: Dce0 Fundamentos De Programacion1

Variables y ConstantesVariables y Constantes

Existen dos grupos principales de datosExisten dos grupos principales de datos Constantes: su valor no puede cambiar durante Constantes: su valor no puede cambiar durante

la ejecución de un programala ejecución de un programa Variables: su valor puede cambiar durante la Variables: su valor puede cambiar durante la

ejecución de un programaejecución de un programa

Ambas tienen un nombre y un valorAmbas tienen un nombre y un valor

Ambas permiten representar mediante un Ambas permiten representar mediante un nombre a una posición de memoria que nombre a una posición de memoria que contiene el valorcontiene el valor

Page 13: Dce0 Fundamentos De Programacion1

SentenciasSentencias

Describen acciones algorítmicas que Describen acciones algorítmicas que pueden ser ejecutadaspueden ser ejecutadas

Se clasifican enSe clasifican en Ejecutables / No ejecutablesEjecutables / No ejecutables Simples / EstructuradasSimples / Estructuradas

Page 14: Dce0 Fundamentos De Programacion1

Operadores y Expresiones (1/2)Operadores y Expresiones (1/2)

Sirven para procesar variables y constantesSirven para procesar variables y constantesUna expresión es un conjunto de datos Una expresión es un conjunto de datos unidos por operadores que tiene un único unidos por operadores que tiene un único resultadoresultado Expresiones aritméticasExpresiones aritméticas

El resultado es un númeroEl resultado es un número a = ((2+6) / 8) * 3a = ((2+6) / 8) * 3

Expresiones lógicasExpresiones lógicas El resultado es un valor verdadero o falsoEl resultado es un valor verdadero o falso (a < 10) y (b > 50)(a < 10) y (b > 50)

Page 15: Dce0 Fundamentos De Programacion1

Operadores y Expresiones (2/2)Operadores y Expresiones (2/2)

Existen diversos tiposExisten diversos tipos Aritméticos: suma, resta, multiplicación, etc.Aritméticos: suma, resta, multiplicación, etc. De relación: igual, mayor, menor, distinto, etc.De relación: igual, mayor, menor, distinto, etc. Lógicos: and, or, not, etc.Lógicos: and, or, not, etc.

Page 16: Dce0 Fundamentos De Programacion1

Estructuras de ControlEstructuras de Control

El orden de ejecución de las sentencias de El orden de ejecución de las sentencias de un programa determina su flujo de controlun programa determina su flujo de control

Las estructuras de control permiten alterar Las estructuras de control permiten alterar el orden del flujo de controlel orden del flujo de control

Existen dos tipos básicosExisten dos tipos básicos De SelecciónDe Selección De Repetición o IteraciónDe Repetición o Iteración

Page 17: Dce0 Fundamentos De Programacion1

Estructuras de Control Selectivas Estructuras de Control Selectivas (1/2)(1/2)

Dirigen el flujo de ejecución según el Dirigen el flujo de ejecución según el resultado de evaluación de expresionesresultado de evaluación de expresiones

IFIF sisi expresion_logica expresion_logica

entoncesentonces hacer acción Ahacer acción A

sinosino hacer acción Bhacer acción B

fin_sifin_si

Page 18: Dce0 Fundamentos De Programacion1

Estructuras de Control Selectivas Estructuras de Control Selectivas (2/2)(2/2)

CASECASE según_seasegún_sea selector selector hacerhacer

C11,C12,…: C11,C12,…: sentencia 1sentencia 1

C21,C22,…: C21,C22,…: sentencia 2sentencia 2

……....

[[sinosino sentencia x] sentencia x]

fin_segúnfin_según

Page 19: Dce0 Fundamentos De Programacion1

Estructuras de Control Repetitivas Estructuras de Control Repetitivas (1/3)(1/3)

Permiten ejecutar un conjunto de Permiten ejecutar un conjunto de sentencias repetidamente una cierta sentencias repetidamente una cierta cantidad de veces o hasta que se cumpla cantidad de veces o hasta que se cumpla una determinada condiciónuna determinada condición

El conjunto de sentencias se denomina El conjunto de sentencias se denomina buclebucle

Cada repetición del cuerpo del bucle se Cada repetición del cuerpo del bucle se denomina iteracióndenomina iteración

Page 20: Dce0 Fundamentos De Programacion1

Estructuras de Control Repetitivas Estructuras de Control Repetitivas (2/3)(2/3)

WHILEWHILE mientrasmientras condición condición hacerhacer

sentencia/ssentencia/s

……....

fin_mientrasfin_mientras

Page 21: Dce0 Fundamentos De Programacion1

Estructuras de Control Repetitivas Estructuras de Control Repetitivas (3/3)(3/3)

FORFOR desdedesde variable valor_inicial hastahasta

valor_final hacerhacer

sentencia/ssentencia/s

……....fin_desdefin_desde

Page 22: Dce0 Fundamentos De Programacion1

Procedimientos y Funciones (1/4)Procedimientos y Funciones (1/4)

Descomposición en subprogramas: estrategia Descomposición en subprogramas: estrategia para resolver problemas complejospara resolver problemas complejos

Los subprogramas se implementan a través Los subprogramas se implementan a través de procedimientos y funcionesde procedimientos y funciones Compuestos por un grupo de sentenciasCompuestos por un grupo de sentencias Se les asigna un nombreSe les asigna un nombre Pueden invocarse entre sí utilizando ese nombrePueden invocarse entre sí utilizando ese nombre Constituyen una unidad de programaConstituyen una unidad de programa

Page 23: Dce0 Fundamentos De Programacion1

Procedimientos y Funciones (2/4)Procedimientos y Funciones (2/4)

Los procedimientos y funciones se comunican Los procedimientos y funciones se comunican con su invocador a través de parámetros.con su invocador a través de parámetros.

Los parámetros son un medio para pasar Los parámetros son un medio para pasar información, implementados a través de información, implementados a través de variables con valor.variables con valor.

Tipos de parámetroTipos de parámetro De Entrada: su valor es proporcionado por el De Entrada: su valor es proporcionado por el

invocador antes de llamar al subprogramainvocador antes de llamar al subprograma De Salida: su valor es calculado dentro de un De Salida: su valor es calculado dentro de un

subprograma y devuelto a su invocadorsubprograma y devuelto a su invocador

Page 24: Dce0 Fundamentos De Programacion1

Procedimientos y Funciones (3/4)Procedimientos y Funciones (3/4)Ejemplo:Ejemplo: DefiniciónDefinición

procedimiento CalcularSuma( parámetro1 entero, procedimiento CalcularSuma( parámetro1 entero, parámetro2 entero) devuelve enteroparámetro2 entero) devuelve entero

devolver parámetro1 + parámetro2devolver parámetro1 + parámetro2fin_procedimientofin_procedimiento

InvocaciónInvocación desde el programa principal u otro desde el programa principal u otro subprogramasubprograma

número entero a = 2número entero a = 2número entero b = 3número entero b = 3número entero c = CalcularSuma(a,b)número entero c = CalcularSuma(a,b)carácter d = CalcularSuma(a,b)carácter d = CalcularSuma(a,b) ERROR ERROR

Page 25: Dce0 Fundamentos De Programacion1

Procedimientos y Funciones (4/4)Procedimientos y Funciones (4/4)

Ventajas de utilizar procedimientosVentajas de utilizar procedimientos Facilita el diseño descendiente y modularFacilita el diseño descendiente y modular Promueven la reutilización de códigoPromueven la reutilización de código Facilita la división de tareasFacilita la división de tareas Pueden comprobarse individualmentePueden comprobarse individualmente Pueden encapsularse en bibliotecas Pueden encapsularse en bibliotecas

independientesindependientes

Page 26: Dce0 Fundamentos De Programacion1

Visibilidad de VariablesVisibilidad de Variables

Variable Local:Variable Local: Declarada en un subprogramaDeclarada en un subprograma Sólo está disponible durante el funcionamiento Sólo está disponible durante el funcionamiento

del subprogramadel subprograma Su valor se pierde una vez que el subprograma Su valor se pierde una vez que el subprograma

terminatermina

Variable Global:Variable Global: Declarada en el programa principalDeclarada en el programa principal Está disponible en el programa principal y en Está disponible en el programa principal y en

todos los subprogramastodos los subprogramas Su valor se pierde una vez que el programa Su valor se pierde una vez que el programa

principal terminaprincipal termina

Page 27: Dce0 Fundamentos De Programacion1

BibliotecasBibliotecas

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 programaFacilitan la modularización de un programa

Desarrollo Desarrollo Programa Fuente Programa Fuente

Compilación Compilación Programa Objeto Programa Objeto

Link-Edición Link-Edición Programa Ejecutable Programa Ejecutable

Page 28: Dce0 Fundamentos De Programacion1

Arrays (Arreglos) (1/3)Arrays (Arreglos) (1/3)

Son estructuras de datos en las que se Son estructuras de datos en las que se almacenan un conjunto de datos finitos del almacenan un conjunto de datos finitos del mismo tipomismo tipo Almacenan sus elementos en posiciones de Almacenan sus elementos en posiciones de

memoria contiguasmemoria contiguas Tienen un único nombre de variable que Tienen un único nombre de variable que

representa a todos los elementosrepresenta a todos los elementos Permiten acceso directo o aleatorio a sus Permiten acceso directo o aleatorio a sus

elementos individualeselementos individuales

Los arrays se clasifican en unidimensionales y Los arrays se clasifican en unidimensionales y multidimensionales.multidimensionales.

Page 29: Dce0 Fundamentos De Programacion1

Arrays (Arreglos) (2/3)Arrays (Arreglos) (2/3)

Arrays unidimensionales (Vectores)Arrays unidimensionales (Vectores) Número finito de elementosNúmero finito de elementos Tamaño FijoTamaño Fijo Elementos HomogéneosElementos Homogéneos Se accede a los elementos utilizando el nombre Se accede a los elementos utilizando el nombre

del array y el subíndice específicodel array y el subíndice específico

Ejemplo:Ejemplo: salarios(3) Realessalarios(3) Reales Nombre del array, de 3 Nombre del array, de 3

posiciones que contendrán número realesposiciones que contendrán número reales salarios[1] = 23,4salarios[1] = 23,4 Asignación de un valor al Asignación de un valor al

primer elemento del arrayprimer elemento del array

Page 30: Dce0 Fundamentos De Programacion1

Arrays (Arreglos) (3/3)Arrays (Arreglos) (3/3)

Arrays multidimensionalesArrays multidimensionales Arrays bidimensionales (Matrices o Tablas)Arrays bidimensionales (Matrices o Tablas)

Tienen dos índices, uno para filas y otro para Tienen dos índices, uno para filas y otro para columnascolumnas

Ejemplo:Ejemplo:tabla(3,3) enteros tabla(3,3) enteros Declaración de una matriz de 3 por 3 Declaración de una matriz de 3 por 3

tabla [1][1] = 2 tabla [1][1] = 2 Elemento de la primer fila y primer Elemento de la primer fila y primer columnacolumna

tabla [2][3] = 5 tabla [2][3] = 5 Elemento de la segunda fila y la tercer Elemento de la segunda fila y la tercer columnacolumna

Page 31: Dce0 Fundamentos De Programacion1

El estilo de ProgramaciónEl estilo de Programación

Una de las características más importantes de Una de las características más importantes de un buen programadorun buen programador

Un buen estilo facilita la comprensión, Un buen estilo facilita la comprensión, corrección y mantenimiento de un programacorrección y mantenimiento de un programa

Algunos puntos a tener en cuentaAlgunos puntos a tener en cuenta ComentariosComentarios Elección de nombres significativosElección de nombres significativos IdentaciónIdentación Espacios y Líneas en BlancoEspacios y Líneas en Blanco Validación usando datos de pruebaValidación usando datos de prueba

Page 32: Dce0 Fundamentos De Programacion1

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.