DCE0 Fundamentos De Programacion 1

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

Transcript of DCE0 Fundamentos De Programacion 1

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

ProgramaciónProgramación

Programa Microsoft Programa Microsoft Desarrollador Cinco Desarrollador Cinco

EstrellasEstrellas

ObjetivoObjetivo

Mostrar los fundamentos de la Mostrar los fundamentos de la programación a través de programación a través de

ejemplos y prácticas utilizadas ejemplos y prácticas utilizadas cotidianamente en el desarrollo cotidianamente en el desarrollo

de aplicacionesde aplicaciones

PrerrequisitosPrerrequisitosEl presente curso asumirá El presente curso asumirá conocimientos básicos deconocimientos básicos de ComputadoraComputadora Dispositivos de Entrada/SalidaDispositivos de Entrada/Salida Organización Física de una Organización Física de una

computadora (CPU, Memoria)computadora (CPU, Memoria) Sistemas OperativosSistemas Operativos

Temas a Tratar (1/2)Temas a Tratar (1/2)El Software El Software Lenguajes de programaciónLenguajes de programaciónResolución de problemas con Resolución de problemas con computadoracomputadoraEntorno de programaciónEntorno de programaciónTipos de DatosTipos de DatosVariables y Constantes Variables y Constantes SentenciasSentenciasOperadores y ExpresionesOperadores y Expresiones

Temas a Tratar (2/2)Temas a Tratar (2/2)Estructuras Básicas de Control Estructuras Básicas de Control Procedimientos y FuncionesProcedimientos y FuncionesVisibilidad de variables Visibilidad de variables BibliotecasBibliotecasArraysArraysEl Estilo de ProgramaciónEl Estilo de Programación

El SoftwareEl SoftwareLas operaciones que debe Las operaciones que debe realizar el hardware son realizar el hardware son especificadas con una lista de especificadas con una lista de instrucciones, llamadas instrucciones, llamadas programas o software.programas o software.Dos grandes grupos de softwareDos grandes grupos de software Software del SistemaSoftware del Sistema

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

Software de AplicaciónSoftware de Aplicación Realizan tareas concretas que Realizan tareas concretas que tienen utilidad para ciertos tienen utilidad para ciertos usuariosusuarios

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

Lenguajes utilizados para Lenguajes utilizados para escribir programas de escribir programas de computadoras que puedan ser computadoras que puedan ser entendidos por ellasentendidos por ellasSe clasifican en tres grandes Se clasifican en tres grandes categoríascategorías lenguajes de máquinalenguajes de máquina

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

lenguajes de bajo nivellenguajes de bajo nivel Proveen un juego de Proveen un juego de instrucciones más comprensibles instrucciones más comprensibles por los humanospor los humanos

lenguajes de alto nivellenguajes de alto nivel

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

Lenguajes de alto nivelLenguajes de alto nivel Utilizan instrucciones escritas con Utilizan instrucciones escritas con

palabras similares a los lenguajes palabras similares a los lenguajes humanoshumanos

Son independientes de la máquina en la Son independientes de la máquina en la que se ejecutanque se ejecutan

Necesitan ser traducidos a Necesitan ser traducidos a instrucciones en lenguaje máquina instrucciones en lenguaje máquina (Compilación)(Compilación)

Existen diversos tiposExisten diversos tipos EstructuradosEstructurados Orientados a ObjetosOrientados a Objetos DeclarativosDeclarativos FuncionalesFuncionales

Resolución de problemas Resolución de problemas con computadoracon computadora

El proceso de diseñar un El proceso de diseñar un programa es, esencialmente, un programa es, esencialmente, un proceso creativo.proceso creativo.Sin embargo, hay una serie de Sin embargo, hay una serie de pasos comunes a seguir:pasos 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

Entorno de ProgramaciónEntorno de Programación

También conocidos como IDEsTambién conocidos como IDEsHerramienta esencial a la hora Herramienta esencial a la hora de desarrollar softwarede desarrollar softwareIncluyeIncluye EditorEditor Intérprete o CompiladorIntérprete o Compilador DepuradorDepurador Ayuda en líneaAyuda en línea

Tipos de DatosTipos de DatosDatos: piezas de información Datos: piezas de información con las que un programa trabajacon las que un programa trabajaCada dato tiene asociado un Cada dato tiene asociado un único único TipoTipoEl Tipo de Dato determina la El Tipo de Dato determina la naturaleza del conjunto de naturaleza del conjunto de valores que un dato puede tomarvalores que un dato puede tomarEjemplos: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)

Variables y ConstantesVariables y ConstantesExisten dos grupos principales Existen dos grupos principales de datosde datos Constantes: su valor no puede Constantes: su valor no puede

cambiar durante la ejecución de cambiar durante la ejecución de un programaun programa

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

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

SentenciasSentenciasDescriben acciones algorítmicas Describen acciones algorítmicas que pueden ser ejecutadasque pueden ser ejecutadasSe clasifican enSe clasifican en Ejecutables / No ejecutablesEjecutables / No ejecutables Simples / EstructuradasSimples / Estructuradas

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

Sirven para procesar variables Sirven para procesar variables y constantesy constantesUna expresión es un conjunto Una expresión es un conjunto de datos unidos por operadores de datos unidos por operadores que tiene un único resultadoque tiene un único resultado 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 El resultado es un valor verdadero o

falsofalso (a < 10) y (b > 50)(a < 10) y (b > 50)

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

Existen diversos tiposExisten diversos tipos Aritméticos: suma, resta, Aritméticos: suma, resta,

multiplicación, etc.multiplicación, etc. De relación: igual, mayor, menor, De relación: igual, mayor, menor,

distinto, etc.distinto, etc. Lógicos: and, or, not, etc.Lógicos: and, or, not, etc.

Estructuras de ControlEstructuras de ControlEl orden de ejecución de las El orden de ejecución de las sentencias de un programa sentencias de un programa determina su flujo de controldetermina su flujo de controlLas estructuras de control Las estructuras de control permiten alterar el orden del permiten alterar el orden del flujo de controlflujo de controlExisten dos tipos básicosExisten dos tipos básicos De SelecciónDe Selección De Repetición o IteraciónDe Repetición o Iteración

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

Dirigen el flujo de ejecución Dirigen el flujo de ejecución según el resultado de según el resultado de evaluación de expresionesevaluación de expresionesIFIF sisi expresion_logica expresion_logica

entoncesentonces hacer acción Ahacer acción A sinosino hacer acción Bhacer acción Bfin_sifin_si

Estructuras de Control Estructuras de Control Selectivas (2/2)Selectivas (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

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

Permiten ejecutar un conjunto Permiten ejecutar un conjunto de sentencias repetidamente una de sentencias repetidamente una cierta cantidad de veces o cierta cantidad de veces o hasta que se cumpla una hasta que se cumpla una determinada condicióndeterminada condiciónEl conjunto de sentencias se El conjunto de sentencias se denomina bucledenomina bucleCada repetición del cuerpo del Cada repetición del cuerpo del bucle se denomina iteraciónbucle se denomina iteración

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

WHILEWHILE mientrasmientras condición condición hacerhacer

sentencia/ssentencia/s……....

fin_mientrasfin_mientras

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

FORFOR desdedesde variable valor_inicial

hastahasta valor_final hacerhacersentencia/ssentencia/s……....

fin_desdefin_desde

Procedimientos y Procedimientos y Funciones (1/4)Funciones (1/4)Descomposición en subprogramas: Descomposición en subprogramas:

estrategia para resolver estrategia para resolver problemas complejosproblemas complejosLos subprogramas se implementan a Los subprogramas se implementan a través de procedimientos y través de procedimientos y funcionesfunciones 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 Pueden invocarse entre sí utilizando ese

nombrenombre Constituyen una unidad de programaConstituyen una unidad de programa

Procedimientos y Procedimientos y Funciones (2/4)Funciones (2/4)Los procedimientos y funciones Los procedimientos y funciones

se comunican con su invocador a se comunican con su invocador a través de parámetros.través de parámetros.Los parámetros son un medio para Los parámetros son un medio para pasar información, implementados pasar información, implementados a través de variables con valor.a través de variables con valor.Tipos de parámetroTipos de parámetro De Entrada: su valor es De Entrada: su valor es

proporcionado por el invocador proporcionado por el invocador antes de llamar al subprogramaantes de llamar al subprograma

De Salida: su valor es calculado De Salida: su valor es calculado dentro de un subprograma y devuelto dentro de un subprograma y devuelto a su invocadora su invocador

Procedimientos y Procedimientos y Funciones (3/4)Funciones (3/4)Ejemplo:Ejemplo:

DefiniciónDefiniciónprocedimiento CalcularSuma( parámetro1 procedimiento CalcularSuma( parámetro1 entero, parámetro2 entero) devuelve enteroentero, parámetro2 entero) devuelve entero

devolver parámetro1 + devolver parámetro1 + parámetro2parámetro2

fin_procedimientofin_procedimiento InvocaciónInvocación desde el programa desde el programa principal u otro subprogramaprincipal u otro subprograma

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

Procedimientos y Procedimientos y Funciones (4/4)Funciones (4/4)Ventajas de utilizar Ventajas de utilizar

procedimientosprocedimientos Facilita el diseño descendiente y Facilita el diseño descendiente y

modularmodular Promueven la reutilización de Promueven la reutilización de

códigocó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

Visibilidad de VariablesVisibilidad de VariablesVariable Local:Variable Local: Declarada en un subprogramaDeclarada en un subprograma Sólo está disponible durante el Sólo está disponible durante el

funcionamiento del subprogramafuncionamiento del subprograma Su valor se pierde una vez que el Su valor se pierde una vez que el

subprograma terminasubprograma terminaVariable Global:Variable Global: Declarada en el programa principalDeclarada en el programa principal Está disponible en el programa Está disponible en el programa

principal y en todos los principal y en todos los subprogramassubprogramas

Su valor se pierde una vez que el Su valor se pierde una vez que el programa principal terminaprograma principal termina

BibliotecasBibliotecasArchivo independiente que Archivo independiente que contiene un conjunto de contiene un conjunto de subprogramassubprogramasPueden ser incluidas y Pueden ser incluidas y referenciadas en el desarrollo de referenciadas en el desarrollo de múltiples programasmúltiples programasFacilitan la modularización de un Facilitan la modularización de un programaprogramaDesarrollo Desarrollo Programa Fuente Programa FuenteCompilación Compilación Programa Objeto Programa ObjetoLink-Edición Link-Edición Programa Programa EjecutableEjecutable

Arrays (Arreglos) (1/3)Arrays (Arreglos) (1/3)Son estructuras de datos en las Son estructuras de datos en las que se almacenan un conjunto de que se almacenan un conjunto de datos finitos del mismo tipodatos finitos del mismo tipo Almacenan sus elementos en Almacenan sus elementos en

posiciones de memoria contiguasposiciones de memoria contiguas Tienen un único nombre de variable Tienen un único nombre de variable

que representa a todos los que representa a todos los elementoselementos

Permiten acceso directo o aleatorio Permiten acceso directo o aleatorio a sus elementos individualesa sus elementos individuales

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

Arrays (Arreglos) (2/3)Arrays (Arreglos) (2/3)Arrays unidimensionales Arrays unidimensionales (Vectores)(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 Se accede a los elementos

utilizando el nombre del array y el utilizando el nombre del array y el subíndice específicosubíndice específico

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

de 3 posiciones que contendrán de 3 posiciones que contendrán número realesnúmero reales

salarios[1] = 23,4salarios[1] = 23,4 Asignación de un Asignación de un valor al primer elemento del arrayvalor al primer elemento del array

Arrays (Arreglos) (3/3)Arrays (Arreglos) (3/3)Arrays multidimensionalesArrays multidimensionales Arrays bidimensionales (Matrices o Arrays bidimensionales (Matrices o

Tablas)Tablas) Tienen dos índices, uno para filas Tienen dos índices, uno para filas y otro para columnasy otro para columnas

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

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

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

tercer columnatercer columna

El estilo de ProgramaciónEl estilo de ProgramaciónUna de las características más Una de las características más importantes de un buen importantes de un buen programadorprogramadorUn buen estilo facilita la Un buen estilo facilita la comprensión, corrección y comprensión, corrección y mantenimiento de un programamantenimiento de un programaAlgunos 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

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties,

express or implied, in this summary.