Fundamentos de Programacion
-
Upload
universidad-jose-peralta -
Category
Technology
-
view
687 -
download
0
Transcript of Fundamentos de Programacion
![Page 1: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/1.jpg)
Estrella 0 -Estrella 0 -Fundamentos de la Fundamentos de la
ProgramaciónProgramación
Programa Microsoft Programa Microsoft Desarrollador Cinco Desarrollador Cinco
EstrellasEstrellas
![Page 2: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/2.jpg)
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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/3.jpg)
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 Organización Física de una computadora
(CPU, Memoria)(CPU, Memoria) Sistemas OperativosSistemas Operativos
![Page 4: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/4.jpg)
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 computadoraResolución de problemas con computadoraEntorno de programaciónEntorno de programaciónTipos de DatosTipos de DatosVariables y Constantes Variables y Constantes SentenciasSentenciasOperadores y ExpresionesOperadores y Expresiones
![Page 5: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/5.jpg)
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
![Page 6: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/6.jpg)
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 Indispensable para que la máquina funcione y poder escribir programas de funcione y poder escribir programas de aplicaciónaplicació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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/7.jpg)
Lenguajes de Programación (1/2)Lenguajes de Programación (1/2)
Lenguajes utilizados para escribir Lenguajes utilizados para escribir programas de computadoras que puedan programas de computadoras que puedan ser entendidos por ellasser entendidos por ellasSe clasifican en tres grandes categoríasSe clasifican en tres grandes categorías lenguajes de máquinalenguajes de máquina
instrucciones directamente entendibles por instrucciones directamente entendibles por la computadora (lenguaje binario)la 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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/8.jpg)
Lenguajes de Programación (2/2)Lenguajes de Programación (2/2)
Lenguajes de alto nivelLenguajes de alto nivel Utilizan instrucciones escritas con palabras similares a Utilizan instrucciones escritas con palabras similares a
los lenguajes humanoslos lenguajes humanos Son independientes de la máquina en la que se Son independientes de la máquina en la que se
ejecutanejecutan Necesitan ser traducidos a instrucciones en lenguaje Necesitan ser traducidos a instrucciones en lenguaje
máquina (Compilación)máquina (Compilación)
Existen diversos tiposExisten diversos tipos EstructuradosEstructurados Orientados a ObjetosOrientados a Objetos DeclarativosDeclarativos FuncionalesFuncionales
![Page 9: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/9.jpg)
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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/10.jpg)
Entorno de ProgramaciónEntorno de Programación
También conocidos como IDEsTambién conocidos como IDEsHerramienta esencial a la hora de Herramienta esencial a la hora de desarrollar softwaredesarrollar softwareIncluyeIncluye EditorEditor Intérprete o CompiladorIntérprete o Compilador DepuradorDepurador Ayuda en líneaAyuda en línea
![Page 11: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/11.jpg)
Tipos de DatosTipos de DatosDatos: piezas de información con las que Datos: piezas de información con las que un programa trabajaun programa trabajaCada dato tiene asociado un único Cada dato tiene asociado un único TipoTipoEl Tipo de Dato determina la naturaleza El Tipo de Dato determina la naturaleza del conjunto de valores que un dato puede del conjunto de valores que un dato puede tomartomarEjemplos: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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/12.jpg)
Variables y ConstantesVariables y Constantes
Existen dos grupos principales de datosExisten dos grupos principales de datos Constantes: su valor no puede cambiar Constantes: su valor no puede cambiar
durante la ejecución de un programadurante la 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 valorAmbas 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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/13.jpg)
SentenciasSentencias
Describen acciones algorítmicas que Describen acciones algorítmicas que pueden ser ejecutadaspueden ser ejecutadasSe clasifican enSe clasifican en Ejecutables / No ejecutablesEjecutables / No ejecutables Simples / EstructuradasSimples / Estructuradas
![Page 14: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/14.jpg)
Operadores y Expresiones (1/2)Operadores y Expresiones (1/2)
Sirven para procesar variables y Sirven para procesar variables y constantesconstantesUna 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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/15.jpg)
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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/16.jpg)
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 controlLas estructuras de control permiten alterar Las estructuras de control permiten alterar el orden del flujo de controlel orden del flujo 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
![Page 17: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/17.jpg)
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 expresionesIFIF sisi expresion_logica expresion_logica
entoncesentonces hacer acción Ahacer acción A sinosino hacer acción Bhacer acción Bfin_sifin_si
![Page 18: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/18.jpg)
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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/19.jpg)
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ónEl conjunto de sentencias se denomina El conjunto de sentencias se denomina buclebucleCada repetición del cuerpo del bucle se Cada repetición del cuerpo del bucle se denomina iteracióndenomina iteración
![Page 20: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/20.jpg)
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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/21.jpg)
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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/22.jpg)
Procedimientos y Funciones (1/4)Procedimientos y Funciones (1/4)
Descomposición en subprogramas: Descomposición en subprogramas: estrategia para resolver problemas estrategia para resolver problemas complejoscomplejosLos 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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/23.jpg)
Procedimientos y Funciones (2/4)Procedimientos y Funciones (2/4)
Los procedimientos y funciones se Los procedimientos y funciones se comunican con su invocador a través de comunican con su invocador a través de parámetros.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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/24.jpg)
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 desde el programa principal u otro subprogramaotro 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
![Page 25: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/25.jpg)
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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/26.jpg)
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: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/27.jpg)
BibliotecasBibliotecas
Archivo independiente que contiene un Archivo independiente que contiene un conjunto de subprogramasconjunto de subprogramasPueden ser incluidas y referenciadas en el Pueden ser incluidas y referenciadas en el desarrollo de múltiples programasdesarrollo de múltiples programasFacilitan la modularización de un programaFacilitan la modularización de un programaDesarrollo Desarrollo Programa Fuente Programa FuenteCompilación Compilación Programa Objeto Programa ObjetoLink-Edición Link-Edición Programa Ejecutable Programa Ejecutable
![Page 28: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/28.jpg)
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 Los arrays se clasifican en unidimensionales y multidimensionales.y multidimensionales.
![Page 29: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/29.jpg)
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 Asignación de un valor
al primer elemento del arrayal primer elemento del array
![Page 30: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/30.jpg)
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 Declaración de una matriz de
3 por 33 por 3tabla [1][1] = 2 tabla [1][1] = 2 Elemento de la primer fi la y Elemento de la primer fi la y
primer columnaprimer columnatabla [2][3] = 5 tabla [2][3] = 5 Elemento de la segunda fi la y la Elemento de la segunda fi la y la
tercer columnatercer columna
![Page 31: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/31.jpg)
El estilo de ProgramaciónEl estilo de Programación
Una de las características más importantes Una de las características más importantes de un buen programadorde un buen programadorUn 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 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
![Page 32: Fundamentos de Programacion](https://reader033.fdocuments.es/reader033/viewer/2022052908/5595ef441a28ab650e8b4579/html5/thumbnails/32.jpg)
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.