SlideShare una empresa de Scribd logo
1 de 32
Estrella 0 -
Fundamentos de la
Programación
Programa Microsoft
Desarrollador Cinco
Estrellas
Objetivo
Mostrar los fundamentos de la programación a
través de ejemplos y prácticas utilizadas
cotidianamente en el desarrollo de
aplicaciones
Prerrequisitos
El presente curso asumirá conocimientos
básicos de
 Computadora
 Dispositivos de Entrada/Salida
 Organización Física de una computadora
(CPU, Memoria)
 Sistemas Operativos
Temas a Tratar (1/2)
El Software
Lenguajes de programación
Resolución de problemas con computadora
Entorno de programación
Tipos de Datos
Variables y Constantes
Sentencias
Operadores y Expresiones
Temas a Tratar (2/2)
Estructuras Básicas de Control
Procedimientos y Funciones
Visibilidad de variables
Bibliotecas
Arrays
El Estilo de Programación
El Software
Las operaciones que debe realizar el
hardware son especificadas con una lista
de instrucciones, llamadas programas o
software.
Dos grandes grupos de software
 Software del Sistema
 Indispensable para que la máquina
funcione y poder escribir programas de
aplicación
 Software de Aplicación
 Realizan tareas concretas que tienen
utilidad para ciertos usuarios
Lenguajes de Programación (1/2)
Lenguajes utilizados para escribir
programas de computadoras que puedan
ser entendidos por ellas
Se clasifican en tres grandes categorías
 lenguajes de máquina
 instrucciones directamente entendibles por
la computadora (lenguaje binario)
 lenguajes de bajo nivel
 Proveen un juego de instrucciones más
comprensibles por los humanos
 lenguajes de alto nivel
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
Resolución de problemas con
computadora
El proceso de diseñar un programa es,
esencialmente, un proceso creativo.
Sin embargo, hay una serie de pasos
comunes a seguir:
 Análisis del problema
 Diseño del algoritmo solución
 Codificación
 Compilación y Ejecución
 Verificación
 Depuración
 Documentación
Entorno de Programación
También conocidos como IDEs
Herramienta esencial a la hora de
desarrollar software
Incluye
 Editor
 Intérprete o Compilador
 Depurador
 Ayuda en línea
Tipos de Datos
Datos: piezas de información con las que
un programa trabaja
Cada dato tiene asociado un único Tipo
El Tipo de Dato determina la naturaleza
del conjunto de valores que un dato puede
tomar
Ejemplos:
 Número Entero
 Número Real
 Cadena de Caracteres
 Valor Lógico (Verdadero o Falso)
Variables y Constantes
Existen dos grupos principales de datos
 Constantes: su valor no puede cambiar
durante la ejecución de un programa
 Variables: su valor puede cambiar durante la
ejecución de un programa
Ambas tienen un nombre y un valor
Ambas permiten representar mediante un
nombre a una posición de memoria que
contiene el valor
Sentencias
Describen acciones algorítmicas que
pueden ser ejecutadas
Se clasifican en
 Ejecutables / No ejecutables
 Simples / Estructuradas
Operadores y Expresiones (1/2)
Sirven para procesar variables y
constantes
Una expresión es un conjunto de datos
unidos por operadores que tiene un único
resultado
 Expresiones aritméticas
 El resultado es un número
 a = ((2+6) / 8) * 3
 Expresiones lógicas
 El resultado es un valor verdadero o falso
 (a < 10) y (b > 50)
Operadores y Expresiones (2/2)
Existen diversos tipos
 Aritméticos: suma, resta, multiplicación, etc.
 De relación: igual, mayor, menor, distinto, etc.
 Lógicos: and, or, not, etc.
Estructuras de Control
El orden de ejecución de las sentencias de
un programa determina su flujo de control
Las estructuras de control permiten alterar
el orden del flujo de control
Existen dos tipos básicos
 De Selección
 De Repetición o Iteración
Estructuras de Control Selectivas
(1/2)
Dirigen el flujo de ejecución según el
resultado de evaluación de expresiones
IF
 si expresion_logica
entonces hacer acción A
sino hacer acción B
fin_si
Estructuras de Control Selectivas
(2/2)
CASE
 según_sea selector hacer
C11,C12,…: sentencia 1
C21,C22,…: sentencia 2
…..
[sino sentencia x]
fin_según
Estructuras de Control Repetitivas
(1/3)
Permiten ejecutar un conjunto de
sentencias repetidamente una cierta
cantidad de veces o hasta que se cumpla
una determinada condición
El conjunto de sentencias se denomina
bucle
Cada repetición del cuerpo del bucle se
denomina iteración
Estructuras de Control Repetitivas
(2/3)
WHILE
 mientras condición hacer
sentencia/s
…..
fin_mientras
Estructuras de Control Repetitivas
(3/3)
FOR
 desde variable  valor_inicial hasta
valor_final hacer
sentencia/s
…..
fin_desde
Procedimientos y Funciones (1/4)
Descomposición en subprogramas:
estrategia para resolver problemas
complejos
Los subprogramas se implementan a través
de procedimientos y funciones
 Compuestos por un grupo de sentencias
 Se les asigna un nombre
 Pueden invocarse entre sí utilizando ese nombre
 Constituyen una unidad de programa
Procedimientos y Funciones (2/4)
Los procedimientos y funciones se
comunican con su invocador a través de
parámetros.
Los parámetros son un medio para pasar
información, implementados a través de
variables con valor.
Tipos de parámetro
 De Entrada: su valor es proporcionado por el
invocador antes de llamar al subprograma
 De Salida: su valor es calculado dentro de un
subprograma y devuelto a su invocador
Procedimientos y Funciones (3/4)
Ejemplo:
 Definición
procedimiento CalcularSuma( parámetro1 entero,
parámetro2 entero) devuelve entero
devolver parámetro1 + parámetro2
fin_procedimiento
 Invocación desde el programa principal u
otro subprograma
número entero a = 2
número entero b = 3
número entero c = CalcularSuma(a,b)
carácter d = CalcularSuma(a,b)  ERROR
Procedimientos y Funciones (4/4)
Ventajas de utilizar procedimientos
 Facilita el diseño descendiente y modular
 Promueven la reutilización de código
 Facilita la división de tareas
 Pueden comprobarse individualmente
 Pueden encapsularse en bibliotecas
independientes
Visibilidad de Variables
Variable Local:
 Declarada en un subprograma
 Sólo está disponible durante el funcionamiento
del subprograma
 Su valor se pierde una vez que el subprograma
termina
Variable Global:
 Declarada en el programa principal
 Está disponible en el programa principal y en
todos los subprogramas
 Su valor se pierde una vez que el programa
principal termina
Bibliotecas
Archivo independiente que contiene un
conjunto de subprogramas
Pueden ser incluidas y referenciadas en el
desarrollo de múltiples programas
Facilitan la modularización de un programa
Desarrollo  Programa Fuente
Compilación  Programa Objeto
Link-Edición  Programa Ejecutable
Arrays (Arreglos) (1/3)
Son estructuras de datos en las que se
almacenan un conjunto de datos finitos del
mismo tipo
 Almacenan sus elementos en posiciones de
memoria contiguas
 Tienen un único nombre de variable que
representa a todos los elementos
 Permiten acceso directo o aleatorio a sus
elementos individuales
Los arrays se clasifican en unidimensionales
y multidimensionales.
Arrays (Arreglos) (2/3)
Arrays unidimensionales (Vectores)
 Número finito de elementos
 Tamaño Fijo
 Elementos Homogéneos
 Se accede a los elementos utilizando el nombre
del array y el subíndice específico
Ejemplo:
 salarios(3) Reales  Nombre del array, de 3
posiciones que contendrán número reales
 salarios[1] = 23,4  Asignación de un valor al
primer elemento del array
Arrays (Arreglos) (3/3)
Arrays multidimensionales
 Arrays bidimensionales (Matrices o Tablas)
 Tienen dos índices, uno para filas y otro para
columnas
 Ejemplo:
tabla(3,3) enteros  Declaración de una matriz de 3 por 3
tabla [1][1] = 2  Elemento de la primer fila y primer
columna
tabla [2][3] = 5  Elemento de la segunda fila y la tercer
columna
El estilo de Programación
Una de las características más importantes
de un buen programador
Un buen estilo facilita la comprensión,
corrección y mantenimiento de un programa
Algunos puntos a tener en cuenta
 Comentarios
 Elección de nombres significativos
 Identación
 Espacios y Líneas en Blanco
 Validació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.

Más contenido relacionado

La actualidad más candente

Mapa conceptual uml z1-
Mapa conceptual uml  z1-Mapa conceptual uml  z1-
Mapa conceptual uml z1-karlanm07
 
Del análisis al diseño. diagramas de secuencia y contratos
Del análisis al diseño. diagramas de secuencia y contratosDel análisis al diseño. diagramas de secuencia y contratos
Del análisis al diseño. diagramas de secuencia y contratosJuan Pablo Bustos Thames
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacionZonickX
 
Curso Uml 2.4 Diagramas De Comportamiento
Curso Uml   2.4 Diagramas De ComportamientoCurso Uml   2.4 Diagramas De Comportamiento
Curso Uml 2.4 Diagramas De ComportamientoEmilio Aviles Avila
 
Diagramas de componentes exposicion martes
Diagramas de componentes exposicion  martesDiagramas de componentes exposicion  martes
Diagramas de componentes exposicion martesJackson Marshelo
 
Curso Uml 2.3 Diagramas De InteraccióN
Curso Uml   2.3 Diagramas De InteraccióNCurso Uml   2.3 Diagramas De InteraccióN
Curso Uml 2.3 Diagramas De InteraccióNEmilio Aviles Avila
 
Componentes
ComponentesComponentes
Componentesleonqn1
 
Sesion diagrama de secuencia 2010 i
Sesion diagrama de secuencia 2010 iSesion diagrama de secuencia 2010 i
Sesion diagrama de secuencia 2010 iJulio Pari
 
Presentacion power point
Presentacion power pointPresentacion power point
Presentacion power pointguestb747dc
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesVictor Escamilla
 

La actualidad más candente (20)

Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Diagrama de secuencia UML
Diagrama de secuencia UMLDiagrama de secuencia UML
Diagrama de secuencia UML
 
Diagramas de Secuencia.
Diagramas de Secuencia.Diagramas de Secuencia.
Diagramas de Secuencia.
 
Diagramas comportamiento
Diagramas comportamientoDiagramas comportamiento
Diagramas comportamiento
 
Uml Xp 01 Ucc
Uml Xp 01 UccUml Xp 01 Ucc
Uml Xp 01 Ucc
 
Mapa conceptual uml z1-
Mapa conceptual uml  z1-Mapa conceptual uml  z1-
Mapa conceptual uml z1-
 
Del análisis al diseño. diagramas de secuencia y contratos
Del análisis al diseño. diagramas de secuencia y contratosDel análisis al diseño. diagramas de secuencia y contratos
Del análisis al diseño. diagramas de secuencia y contratos
 
Tipos diagrama uml SENA
Tipos diagrama uml SENATipos diagrama uml SENA
Tipos diagrama uml SENA
 
Diccionario
DiccionarioDiccionario
Diccionario
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacion
 
Curso Uml 2.4 Diagramas De Comportamiento
Curso Uml   2.4 Diagramas De ComportamientoCurso Uml   2.4 Diagramas De Comportamiento
Curso Uml 2.4 Diagramas De Comportamiento
 
Diagramas de componentes exposicion martes
Diagramas de componentes exposicion  martesDiagramas de componentes exposicion  martes
Diagramas de componentes exposicion martes
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Introduccion a Uml
Introduccion a Uml Introduccion a Uml
Introduccion a Uml
 
Curso Uml 2.3 Diagramas De InteraccióN
Curso Uml   2.3 Diagramas De InteraccióNCurso Uml   2.3 Diagramas De InteraccióN
Curso Uml 2.3 Diagramas De InteraccióN
 
Componentes
ComponentesComponentes
Componentes
 
Sesion diagrama de secuencia 2010 i
Sesion diagrama de secuencia 2010 iSesion diagrama de secuencia 2010 i
Sesion diagrama de secuencia 2010 i
 
Presentacion power point
Presentacion power pointPresentacion power point
Presentacion power point
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Curso Uml 2.6 Otros Diagramas
Curso Uml   2.6 Otros DiagramasCurso Uml   2.6 Otros Diagramas
Curso Uml 2.6 Otros Diagramas
 

Destacado

Rc banafuturo 2da presentacion jun 24. vf
Rc  banafuturo  2da presentacion  jun 24. vfRc  banafuturo  2da presentacion  jun 24. vf
Rc banafuturo 2da presentacion jun 24. vfBernardo Calle
 
Examen1erparcial.d arwin pilamunga
Examen1erparcial.d arwin pilamungaExamen1erparcial.d arwin pilamunga
Examen1erparcial.d arwin pilamungaDarwin111111
 
Diapositiva de informatica
Diapositiva de informaticaDiapositiva de informatica
Diapositiva de informaticaElis10ch
 
Plan de gestión de uso de medios y tic santa helena alta
Plan de gestión de uso de medios y tic santa helena altaPlan de gestión de uso de medios y tic santa helena alta
Plan de gestión de uso de medios y tic santa helena altasantahelenaalta
 
Banafuturo - 3ra Presentación Pública
Banafuturo - 3ra Presentación PúblicaBanafuturo - 3ra Presentación Pública
Banafuturo - 3ra Presentación PúblicaBernardo Calle
 
Presentación1
Presentación1Presentación1
Presentación1cheo9605
 
Calidad y evaluacion de los contenidos electronicos
Calidad y evaluacion de los contenidos electronicos Calidad y evaluacion de los contenidos electronicos
Calidad y evaluacion de los contenidos electronicos Carlos Gonzalez
 
Diapositivas inteligencias multiples
Diapositivas inteligencias multiplesDiapositivas inteligencias multiples
Diapositivas inteligencias multiplesCONTADURIAP7
 
Evento de diciembre
Evento de diciembreEvento de diciembre
Evento de diciembrechrhdlg
 
R ecuperacion
R ecuperacionR ecuperacion
R ecuperacionvictdiazm
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje cvictdiazm
 

Destacado (20)

Rc banafuturo 2da presentacion jun 24. vf
Rc  banafuturo  2da presentacion  jun 24. vfRc  banafuturo  2da presentacion  jun 24. vf
Rc banafuturo 2da presentacion jun 24. vf
 
Examen1erparcial.d arwin pilamunga
Examen1erparcial.d arwin pilamungaExamen1erparcial.d arwin pilamunga
Examen1erparcial.d arwin pilamunga
 
Diapositiva de informatica
Diapositiva de informaticaDiapositiva de informatica
Diapositiva de informatica
 
Plan de gestión de uso de medios y tic santa helena alta
Plan de gestión de uso de medios y tic santa helena altaPlan de gestión de uso de medios y tic santa helena alta
Plan de gestión de uso de medios y tic santa helena alta
 
Rihanna
Rihanna Rihanna
Rihanna
 
Tic zilli k
Tic zilli kTic zilli k
Tic zilli k
 
nstalacion de software
nstalacion de softwarenstalacion de software
nstalacion de software
 
Banafuturo - 3ra Presentación Pública
Banafuturo - 3ra Presentación PúblicaBanafuturo - 3ra Presentación Pública
Banafuturo - 3ra Presentación Pública
 
752
752752
752
 
Presentación1
Presentación1Presentación1
Presentación1
 
11.6.1
11.6.111.6.1
11.6.1
 
Calidad y evaluacion de los contenidos electronicos
Calidad y evaluacion de los contenidos electronicos Calidad y evaluacion de los contenidos electronicos
Calidad y evaluacion de los contenidos electronicos
 
Diapositivas inteligencias multiples
Diapositivas inteligencias multiplesDiapositivas inteligencias multiples
Diapositivas inteligencias multiples
 
Arcangel isabela r s
Arcangel isabela r sArcangel isabela r s
Arcangel isabela r s
 
2.8.2
2.8.22.8.2
2.8.2
 
Evento de diciembre
Evento de diciembreEvento de diciembre
Evento de diciembre
 
R ecuperacion
R ecuperacionR ecuperacion
R ecuperacion
 
Memoria taller de evaluación pedagógica
Memoria taller de evaluación pedagógicaMemoria taller de evaluación pedagógica
Memoria taller de evaluación pedagógica
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 
tajeta madre
tajeta madretajeta madre
tajeta madre
 

Similar a Dce0 fundamentos deprogramacion

D5E-E0: Fundamentos de la programacion
D5E-E0: Fundamentos de la programacionD5E-E0: Fundamentos de la programacion
D5E-E0: Fundamentos de la programacionEllyster
 
Fundamentos deprogramacion
Fundamentos deprogramacionFundamentos deprogramacion
Fundamentos deprogramacionKevin Reaño
 
Dce0 Fundamentos De Programacion
Dce0 Fundamentos De ProgramacionDce0 Fundamentos De Programacion
Dce0 Fundamentos De Programacionyave
 
Dce0 Fundamentos De Programacion1
Dce0 Fundamentos De Programacion1Dce0 Fundamentos De Programacion1
Dce0 Fundamentos De Programacion1Hector Gomez
 
Dce0 Fundamentos De Programacion
Dce0 Fundamentos De ProgramacionDce0 Fundamentos De Programacion
Dce0 Fundamentos De ProgramacionFélix Prada Silva
 
Dce0 fundamentos deprogramacion
Dce0 fundamentos deprogramacionDce0 fundamentos deprogramacion
Dce0 fundamentos deprogramacionyduranpe
 
01 metprogramacion
01 metprogramacion01 metprogramacion
01 metprogramacionConfesorAD
 
Introduccion Programacion
Introduccion ProgramacionIntroduccion Programacion
Introduccion ProgramacionClaretiano
 
Analisis de algoritmo ii
Analisis de algoritmo iiAnalisis de algoritmo ii
Analisis de algoritmo iiMauro Rangel
 
Herramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datosHerramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datosDanitortas
 
Video Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia AbiertaVideo Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia AbiertaDanilo Jaramillo
 
Conceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaConceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaIEO Santo Tomás
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaAeChm-MgMs-NnNm-OpSe
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosGrisell d?z
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacionMaritere Cruz
 
Glosario terminologia java
Glosario terminologia javaGlosario terminologia java
Glosario terminologia javaorus004
 

Similar a Dce0 fundamentos deprogramacion (20)

D5E-E0: Fundamentos de la programacion
D5E-E0: Fundamentos de la programacionD5E-E0: Fundamentos de la programacion
D5E-E0: Fundamentos de la programacion
 
Fundamentos deprogramacion
Fundamentos deprogramacionFundamentos deprogramacion
Fundamentos deprogramacion
 
Dce0 Fundamentos De Programacion
Dce0 Fundamentos De ProgramacionDce0 Fundamentos De Programacion
Dce0 Fundamentos De Programacion
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Dce0 Fundamentos De Programacion1
Dce0 Fundamentos De Programacion1Dce0 Fundamentos De Programacion1
Dce0 Fundamentos De Programacion1
 
Dce0 Fundamentos De Programacion
Dce0 Fundamentos De ProgramacionDce0 Fundamentos De Programacion
Dce0 Fundamentos De Programacion
 
Dce0 fundamentos deprogramacion
Dce0 fundamentos deprogramacionDce0 fundamentos deprogramacion
Dce0 fundamentos deprogramacion
 
01 metprogramacion
01 metprogramacion01 metprogramacion
01 metprogramacion
 
Introduccion Programacion
Introduccion ProgramacionIntroduccion Programacion
Introduccion Programacion
 
Unidad III
Unidad IIIUnidad III
Unidad III
 
Analisis de algoritmo ii
Analisis de algoritmo iiAnalisis de algoritmo ii
Analisis de algoritmo ii
 
Herramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datosHerramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datos
 
Video Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia AbiertaVideo Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia Abierta
 
Conceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaConceptos básicos sobre algortimia
Conceptos básicos sobre algortimia
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortada
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
 
Resumen prgramacion
Resumen prgramacionResumen prgramacion
Resumen prgramacion
 
algoritmo
algoritmoalgoritmo
algoritmo
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Glosario terminologia java
Glosario terminologia javaGlosario terminologia java
Glosario terminologia java
 

Más de victdiazm

Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsvictdiazm
 
Semana 9 standard io and pipes guia de ejercicios resuelta
Semana 9   standard io and pipes  guia de ejercicios resueltaSemana 9   standard io and pipes  guia de ejercicios resuelta
Semana 9 standard io and pipes guia de ejercicios resueltavictdiazm
 
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
Semana 7 y 8   the linux filesystem guia de ejercicios resueltaSemana 7 y 8   the linux filesystem guia de ejercicios resuelta
Semana 7 y 8 the linux filesystem guia de ejercicios resueltavictdiazm
 
Semana 4 y 5 la shell bash guia de ejercicios resuelta
Semana 4 y 5  la shell bash guia de ejercicios resueltaSemana 4 y 5  la shell bash guia de ejercicios resuelta
Semana 4 y 5 la shell bash guia de ejercicios resueltavictdiazm
 
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3   file ownerships and permissions guia de ejercicios resueltaSemana 2 y 3   file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3 file ownerships and permissions guia de ejercicios resueltavictdiazm
 
Semana 1 quick tours guia de ejercicios resuelta
Semana 1   quick tours guia de ejercicios resueltaSemana 1   quick tours guia de ejercicios resuelta
Semana 1 quick tours guia de ejercicios resueltavictdiazm
 
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltaSemana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltavictdiazm
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashvictdiazm
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsvictdiazm
 
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltaSemana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltavictdiazm
 
Semana 1 -_quick_tours
Semana 1 -_quick_toursSemana 1 -_quick_tours
Semana 1 -_quick_toursvictdiazm
 
Semana 16 usuarios y grupos
Semana 16 usuarios y gruposSemana 16 usuarios y grupos
Semana 16 usuarios y gruposvictdiazm
 
Semana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesSemana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesvictdiazm
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basicovictdiazm
 
Semana 10 administracion de procesos
Semana 10 administracion de procesosSemana 10 administracion de procesos
Semana 10 administracion de procesosvictdiazm
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesvictdiazm
 
Semana 8 herramientas de procesos de string
Semana 8  herramientas de procesos de stringSemana 8  herramientas de procesos de string
Semana 8 herramientas de procesos de stringvictdiazm
 
Semana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxSemana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxvictdiazm
 
Control1 victoria diaz
Control1   victoria diazControl1   victoria diaz
Control1 victoria diazvictdiazm
 

Más de victdiazm (20)

Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissions
 
Semana 9 standard io and pipes guia de ejercicios resuelta
Semana 9   standard io and pipes  guia de ejercicios resueltaSemana 9   standard io and pipes  guia de ejercicios resuelta
Semana 9 standard io and pipes guia de ejercicios resuelta
 
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
Semana 7 y 8   the linux filesystem guia de ejercicios resueltaSemana 7 y 8   the linux filesystem guia de ejercicios resuelta
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
 
Semana 4 y 5 la shell bash guia de ejercicios resuelta
Semana 4 y 5  la shell bash guia de ejercicios resueltaSemana 4 y 5  la shell bash guia de ejercicios resuelta
Semana 4 y 5 la shell bash guia de ejercicios resuelta
 
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3   file ownerships and permissions guia de ejercicios resueltaSemana 2 y 3   file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
 
Semana 1 quick tours guia de ejercicios resuelta
Semana 1   quick tours guia de ejercicios resueltaSemana 1   quick tours guia de ejercicios resuelta
Semana 1 quick tours guia de ejercicios resuelta
 
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltaSemana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bash
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissions
 
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltaSemana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
 
Semana 1 -_quick_tours
Semana 1 -_quick_toursSemana 1 -_quick_tours
Semana 1 -_quick_tours
 
Semana 16 usuarios y grupos
Semana 16 usuarios y gruposSemana 16 usuarios y grupos
Semana 16 usuarios y grupos
 
Semana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesSemana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redes
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basico
 
Semana 10 administracion de procesos
Semana 10 administracion de procesosSemana 10 administracion de procesos
Semana 10 administracion de procesos
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipes
 
Semana 8 herramientas de procesos de string
Semana 8  herramientas de procesos de stringSemana 8  herramientas de procesos de string
Semana 8 herramientas de procesos de string
 
Semana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxSemana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linux
 
Script
ScriptScript
Script
 
Control1 victoria diaz
Control1   victoria diazControl1   victoria diaz
Control1 victoria diaz
 

Dce0 fundamentos deprogramacion

  • 1. Estrella 0 - Fundamentos de la Programación Programa Microsoft Desarrollador Cinco Estrellas
  • 2. Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones
  • 3. Prerrequisitos El presente curso asumirá conocimientos básicos de  Computadora  Dispositivos de Entrada/Salida  Organización Física de una computadora (CPU, Memoria)  Sistemas Operativos
  • 4. Temas a Tratar (1/2) El Software Lenguajes de programación Resolución de problemas con computadora Entorno de programación Tipos de Datos Variables y Constantes Sentencias Operadores y Expresiones
  • 5. Temas a Tratar (2/2) Estructuras Básicas de Control Procedimientos y Funciones Visibilidad de variables Bibliotecas Arrays El Estilo de Programación
  • 6. El Software Las operaciones que debe realizar el hardware son especificadas con una lista de instrucciones, llamadas programas o software. Dos grandes grupos de software  Software del Sistema  Indispensable para que la máquina funcione y poder escribir programas de aplicación  Software de Aplicación  Realizan tareas concretas que tienen utilidad para ciertos usuarios
  • 7. Lenguajes de Programación (1/2) Lenguajes utilizados para escribir programas de computadoras que puedan ser entendidos por ellas Se clasifican en tres grandes categorías  lenguajes de máquina  instrucciones directamente entendibles por la computadora (lenguaje binario)  lenguajes de bajo nivel  Proveen un juego de instrucciones más comprensibles por los humanos  lenguajes de alto nivel
  • 8. 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
  • 9. Resolución de problemas con computadora El proceso de diseñar un programa es, esencialmente, un proceso creativo. Sin embargo, hay una serie de pasos comunes a seguir:  Análisis del problema  Diseño del algoritmo solución  Codificación  Compilación y Ejecución  Verificación  Depuración  Documentación
  • 10. Entorno de Programación También conocidos como IDEs Herramienta esencial a la hora de desarrollar software Incluye  Editor  Intérprete o Compilador  Depurador  Ayuda en línea
  • 11. Tipos de Datos Datos: piezas de información con las que un programa trabaja Cada dato tiene asociado un único Tipo El Tipo de Dato determina la naturaleza del conjunto de valores que un dato puede tomar Ejemplos:  Número Entero  Número Real  Cadena de Caracteres  Valor Lógico (Verdadero o Falso)
  • 12. Variables y Constantes Existen dos grupos principales de datos  Constantes: su valor no puede cambiar durante la ejecución de un programa  Variables: su valor puede cambiar durante la ejecución de un programa Ambas tienen un nombre y un valor Ambas permiten representar mediante un nombre a una posición de memoria que contiene el valor
  • 13. Sentencias Describen acciones algorítmicas que pueden ser ejecutadas Se clasifican en  Ejecutables / No ejecutables  Simples / Estructuradas
  • 14. Operadores y Expresiones (1/2) Sirven para procesar variables y constantes Una expresión es un conjunto de datos unidos por operadores que tiene un único resultado  Expresiones aritméticas  El resultado es un número  a = ((2+6) / 8) * 3  Expresiones lógicas  El resultado es un valor verdadero o falso  (a < 10) y (b > 50)
  • 15. Operadores y Expresiones (2/2) Existen diversos tipos  Aritméticos: suma, resta, multiplicación, etc.  De relación: igual, mayor, menor, distinto, etc.  Lógicos: and, or, not, etc.
  • 16. Estructuras de Control El orden de ejecución de las sentencias de un programa determina su flujo de control Las estructuras de control permiten alterar el orden del flujo de control Existen dos tipos básicos  De Selección  De Repetición o Iteración
  • 17. Estructuras de Control Selectivas (1/2) Dirigen el flujo de ejecución según el resultado de evaluación de expresiones IF  si expresion_logica entonces hacer acción A sino hacer acción B fin_si
  • 18. Estructuras de Control Selectivas (2/2) CASE  según_sea selector hacer C11,C12,…: sentencia 1 C21,C22,…: sentencia 2 ….. [sino sentencia x] fin_según
  • 19. Estructuras de Control Repetitivas (1/3) Permiten ejecutar un conjunto de sentencias repetidamente una cierta cantidad de veces o hasta que se cumpla una determinada condición El conjunto de sentencias se denomina bucle Cada repetición del cuerpo del bucle se denomina iteración
  • 20. Estructuras de Control Repetitivas (2/3) WHILE  mientras condición hacer sentencia/s ….. fin_mientras
  • 21. Estructuras de Control Repetitivas (3/3) FOR  desde variable  valor_inicial hasta valor_final hacer sentencia/s ….. fin_desde
  • 22. Procedimientos y Funciones (1/4) Descomposición en subprogramas: estrategia para resolver problemas complejos Los subprogramas se implementan a través de procedimientos y funciones  Compuestos por un grupo de sentencias  Se les asigna un nombre  Pueden invocarse entre sí utilizando ese nombre  Constituyen una unidad de programa
  • 23. Procedimientos y Funciones (2/4) Los procedimientos y funciones se comunican con su invocador a través de parámetros. Los parámetros son un medio para pasar información, implementados a través de variables con valor. Tipos de parámetro  De Entrada: su valor es proporcionado por el invocador antes de llamar al subprograma  De Salida: su valor es calculado dentro de un subprograma y devuelto a su invocador
  • 24. Procedimientos y Funciones (3/4) Ejemplo:  Definición procedimiento CalcularSuma( parámetro1 entero, parámetro2 entero) devuelve entero devolver parámetro1 + parámetro2 fin_procedimiento  Invocación desde el programa principal u otro subprograma número entero a = 2 número entero b = 3 número entero c = CalcularSuma(a,b) carácter d = CalcularSuma(a,b)  ERROR
  • 25. Procedimientos y Funciones (4/4) Ventajas de utilizar procedimientos  Facilita el diseño descendiente y modular  Promueven la reutilización de código  Facilita la división de tareas  Pueden comprobarse individualmente  Pueden encapsularse en bibliotecas independientes
  • 26. Visibilidad de Variables Variable Local:  Declarada en un subprograma  Sólo está disponible durante el funcionamiento del subprograma  Su valor se pierde una vez que el subprograma termina Variable Global:  Declarada en el programa principal  Está disponible en el programa principal y en todos los subprogramas  Su valor se pierde una vez que el programa principal termina
  • 27. Bibliotecas Archivo independiente que contiene un conjunto de subprogramas Pueden ser incluidas y referenciadas en el desarrollo de múltiples programas Facilitan la modularización de un programa Desarrollo  Programa Fuente Compilación  Programa Objeto Link-Edición  Programa Ejecutable
  • 28. Arrays (Arreglos) (1/3) Son estructuras de datos en las que se almacenan un conjunto de datos finitos del mismo tipo  Almacenan sus elementos en posiciones de memoria contiguas  Tienen un único nombre de variable que representa a todos los elementos  Permiten acceso directo o aleatorio a sus elementos individuales Los arrays se clasifican en unidimensionales y multidimensionales.
  • 29. Arrays (Arreglos) (2/3) Arrays unidimensionales (Vectores)  Número finito de elementos  Tamaño Fijo  Elementos Homogéneos  Se accede a los elementos utilizando el nombre del array y el subíndice específico Ejemplo:  salarios(3) Reales  Nombre del array, de 3 posiciones que contendrán número reales  salarios[1] = 23,4  Asignación de un valor al primer elemento del array
  • 30. Arrays (Arreglos) (3/3) Arrays multidimensionales  Arrays bidimensionales (Matrices o Tablas)  Tienen dos índices, uno para filas y otro para columnas  Ejemplo: tabla(3,3) enteros  Declaración de una matriz de 3 por 3 tabla [1][1] = 2  Elemento de la primer fila y primer columna tabla [2][3] = 5  Elemento de la segunda fila y la tercer columna
  • 31. El estilo de Programación Una de las características más importantes de un buen programador Un buen estilo facilita la comprensión, corrección y mantenimiento de un programa Algunos puntos a tener en cuenta  Comentarios  Elección de nombres significativos  Identación  Espacios y Líneas en Blanco  Validación usando datos de prueba
  • 32. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.