SlideShare una empresa de Scribd logo
U1 Página 1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDÁCTICO DEL CURSO: 301304 – INTRODUCCION A LA PROGRAMACION
CONCEPTOS GENERALES DE PROGRAMACIÓN
Es fundamental iniciar el curso de introducción a la programación, abordando
conceptos básicos que tienen que ver con la utilización de un lenguaje de
programación para diseñar soluciones a problemas de información.
Revisión de conceptos generales de programación
Programación: es un proceso mediante el cual se convierten especificaciones
generales de la solución de un problema, en instrucciones que el computador
puede interpretar y que producen los resultados deseados (desarrollo de
software).
Programa: lista de instrucciones que el computador sigue para convertir datos en
información. Estas dependen del lenguaje de programación que se utilice.
Un programa debe ser:
 Confiable y funcional
 Comprensible
 Documentado
Fases para la creación de un programa
 Definición del problema: clara y precisa
 Análisis del problema: requiere identificar
o Datos de salida (información que debe producir el programa)
o Datos de entrada (datos que debe suministrar el usuario para lograr
los resultados esperados
o Datos de proceso (fórmulas necesarias para procesar los datos)
 Diseño de la solución: lista ordenada y cronológica de los pasos a seguir
para lograr resultados (diagramas de flujo, pseudocódigo, etc.). Debe ser
simple, clara, precisa, exacta, tener un orden lógico e indicar su inicio y
final.
 Codificación: escribir la solución del problema en un lenguaje de
programación (traducir el diagrama de flujo o pseudocódigo en
instrucciones que puedan ser interpretadas por el computador)
 Prueba y depuración: ejecutar el software para identificar y eliminar los
errores (de sintaxis o de tipo lógico)
 Documentación: guía que facilita futuras modificaciones del software
Programación estructurada: se caracteriza por organizar las instrucciones de
manera secuencial, de tal manera que es posible leer la codificación desde el
U1 Página 2
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDÁCTICO DEL CURSO: 301304 – INTRODUCCION A LA PROGRAMACION
inicio hasta el final en forma continua sin saltar de un lugar a otro, siguiendo el
camino lógico establecido por el programador.
En este paradigma de programación se debe prestar especial atención a la etapa
de diseño de la solución, una vez establecidos los pasos secuenciales, la
codificación es más fácil.
Características: la estructura del programa se realiza de la manera más clara y
precisa posible, para ello utiliza:
 Secuencia: sucesión simple de operaciones
 Selección: bifurcación condicional de una o más operaciones
 Iteracción: repetición de tareas mientras se cumple una o más condiciones
Ventajas:
 Tiene una estructura clara y por ende una buena presentación.
 Es más fácil de comprender
 Facilita la revisión de la codificación
 Reduce el tiempo de prueba y depuración
Programación Procedural: es un tipo de programación estructurada en donde el
código se divide en porciones llamadas "procedimientos" o "funciones". Este tipo
de programas permite que una porción de programa sea llamada varias veces sin
que tenga que volver a escribir todo el código, simplemente se realiza el llamado a
la función o procedimiento que se requiere. Este tipo de programación se basa en
subdividir un programa en piezas lógicas para reducir su complejidad según el
principio de "divide y vencerás".
Identación: utilización de sangrías (espacios) para facilitar la lectura del programa
puesto que muestra en forma gráfica las relaciones entre las instrucciones.
Para aprovechar la identación en un programa en C++ se sugiere:
 Escribir en la misma columna los indicadores de inicio y fin de cada bloque
de sentencias
 Utilizar diferentes sangrías para indicar anidamientos de instrucciones
 Escribir una instrucción por línea
Lenguaje de Programación C++
En 1980, se comenzó a desarrollar el lenguaje C++, su autor fue B. Stroustrup.
Al comienzo era una extensión del lenguaje C que fue denominada C with clases,
sin embargo es considerado por muchos autores como un lenguaje diferente al C.
La evolución de C++ ha continuado con la aparición de Java, un lenguaje creado
simplificando algunas cosas de C++ y añadiendo otras, que se utiliza para realizar
aplicaciones en Internet.
U1 Página 3
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDÁCTICO DEL CURSO: 301304 – INTRODUCCION A LA PROGRAMACION
El C++ es a la vez un lenguaje procedural (orientado a algoritmos) y orientado a
objetos. Como lenguaje procedural se asemeja al C y es compatible con él,
aunque ya se ha dicho que presenta ciertas ventajas. Como lenguaje orientado a
objetos, se basa en una filosofía completamente diferente, que exige del
programador un completo cambio de mentalidad. Las características propias de la
Programación Orientada a Objetos (Object Oriented Programming, u OOP) de
C++ son modificaciones mayores que sí cambian radicalmente su naturaleza.
Es de anotar, que para el curso se trabajará con el lenguaje de programación C++,
utilizando los paradigmas de programación estructurada y procedural.
Ambiente de C++
El lenguaje C++ requiere de tres partes: un ambiente de desarrollo de programas,
el lenguaje y la biblioteca estándar de C++. Para desarrollar un programa es
necesario abordar seis fases: edición, preproceso, compilación, enlace, carga y
ejecución.
1. Edición: requiere de un programa de edición donde se escribe el código
necesario, este archivo se conoce como Archivo fuente que se almacena en un
dispositivo secundario, por ejemplo el disco duro. La extensión del archivo
fuente puede ser .cpp, .cxx, .cc o .c. Existen múltiples editores para el lenguaje
C++, entre los más conocidos están Borland C++, DEV C++, Visual C++,
Falcon.
2. Preproceso: antes de compilar una codificación de C++, un programa llamado
preprocesador ejecuta automáticamente los comandos denominados directivas
del preprocesador, que indican ciertas órdenes necesarias que no son visibles
para el programador, pero que son necesarias para desarrollar una buena
compilación.
3. Compilación: el programador debe ejecutar el comando necesario,
dependiendo del entorno de desarrollo que utilice, para realizar la compilación,
esto traduce el programa C++ a código en lenguaje máquina, denominado
Código objeto.
4. Enlace: un programa en C++ contiene referencias a funciones y datos ya
definidos en bibliotecas estándar o bibliotecas exclusivas creadas por
programadores para proyectos específicos, entonces la tarea del enlazador, es
conectar el código objeto con el respectivo código de las funciones que se
referencian.
5. Carga: corresponde a la fase en que el programa se carga en memoria, esta
acción la realiza el Cargador, tomando la imagen ejecutable del disco y
transfiriéndola a la memoria, junto con los componentes adicionales de las
bibliotecas que se utilizan en el programa.
6. Ejecución: el computador ejecuta el programa y se pueden observan,
U1 Página 4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDÁCTICO DEL CURSO: 301304 – INTRODUCCION A LA PROGRAMACION
entonces, los resultados de las instrucciones que se han incluido en la
codificación.
Si se presentan errores, por diversas razones, se mostrará un mensaje de error y
es necesario volver a la fase de edición para interpretarlo y corregirlo.
Traductores de lenguaje
Para entender mejor el proceso de conversión, es necesario aclarar ciertos
términos:
 Programa fuente: es la codificación escrita por el programador en un lenguaje
de alto nivel, contiene las sentencias del programa en un lenguaje de
programación. Para que sea ejecutable debe ser traducido.
 Compilador: es el programa que se encarga de traducir los programa fuentes
escritos en el lenguaje de alto nivel a lenguaje de máquina y además
comprueba que las llamadas a las funciones de librería se realicen de manera
correcta.
 Programa objeto: es el programa fuente traducido por el compilador a código
máquina. Hay que recordar, que el programa aún no es directamente
ejecutable en esta etapa.
 Linker (montador o enlazador): Es el programa encargado de insertar al
programa objeto el código máquina de las funciones de las librerías (archivos
de biblioteca) usadas en el programa y realizar el proceso de montaje, que
producirá un programa ejecutable .exe. Las librerias son una colección de
código (funciones) ya programado y traducido a código máquina, listo para
utilizar en un programa y que facilita la labor del programador.
 Programa Ejecutable: Traducción completa a código máquina,
realizada por el enlazador, del programa fuente y que ya es directamente
ejecutable.
Representación de la compilación y linkado.
FIGURA 1. Proceso de compilación y linkado
Programa
fuente
Programa
objeto
Programa
ejecutable
Compilación Enlazador
U1 Página 5
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDÁCTICO DEL CURSO: 301304 – INTRODUCCION A LA PROGRAMACION
De lo anterior se deduce que el código escrito por el programador es el programa
fuente y para que ese programa se ejecute y cumpla el objetivo para el que fue
creado, debe pasar por los procesos de compilación (programa objeto) y enlace
(programa ejecutable). Al realizar el programa fuente se deben tener cuenta que
las sentencias y sintaxis sean correctas, de lo contrario no se puede compilar.
Ampliar información consultando:
Deintel, Harvey M., Deintel, Paul J. Cómo programar en C++. Pags. 15 a 17.
Disponible en
http://books.google.es/books?id=CBhWani323wC&printsec=frontcover&dq=c%2B
%2B&hl=es&sa=X&ei=v1d7VJbqEoekNr2lgqAE&ved=0CEwQ6AEwBg#v=onepag
e&q=c%2B%2B&f=false

Más contenido relacionado

La actualidad más candente

ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C
Maria gabriela Castillo
 
Compiladores y analizador lexicos
Compiladores y analizador lexicosCompiladores y analizador lexicos
Compiladores y analizador lexicos
diana8320
 
Cristian david castro
Cristian david castroCristian david castro
Cristian david castro
criistiancas
 
Santaella u5 Lenguaje C++
Santaella u5 Lenguaje C++Santaella u5 Lenguaje C++
Santaella u5 Lenguaje C++
José Ricardo Tillero Giménez
 
Portafolio
PortafolioPortafolio
Portafolio
ReneeSalasFlores
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
Camilo Rodriguez
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
critina26
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
mauro38
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
critina26
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
yiyi153
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
dianis22
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
CAMINSUASTY
 

La actualidad más candente (12)

ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C
 
Compiladores y analizador lexicos
Compiladores y analizador lexicosCompiladores y analizador lexicos
Compiladores y analizador lexicos
 
Cristian david castro
Cristian david castroCristian david castro
Cristian david castro
 
Santaella u5 Lenguaje C++
Santaella u5 Lenguaje C++Santaella u5 Lenguaje C++
Santaella u5 Lenguaje C++
 
Portafolio
PortafolioPortafolio
Portafolio
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 

Destacado

UWA presentation social media marketing
UWA presentation social media marketingUWA presentation social media marketing
UWA presentation social media marketing
Nick Eggleton
 
Analiz bg anketa
Analiz bg anketaAnaliz bg anketa
Analiz bg anketa
Галина Томова
 
Analiz ict
Analiz ictAnaliz ict
Sana'a
Sana'aSana'a
Sana'a
SalwaPacino
 
Otchet
Otchet Otchet
李清照·声声慢
李清照·声声慢李清照·声声慢
李清照·声声慢serene wong
 
Mendagri2007 5
Mendagri2007 5Mendagri2007 5
Mendagri2007 5
Putu Ardita
 
Siguranta navigarii pe internet
Siguranta navigarii pe internetSiguranta navigarii pe internet
Siguranta navigarii pe internetSalwaPacino
 
Grow Your Business With Facebook
Grow Your Business With FacebookGrow Your Business With Facebook
Grow Your Business With Facebook
Nick Eggleton
 
Pemantapan cita cita menuju karir
Pemantapan cita cita menuju karirPemantapan cita cita menuju karir
Pemantapan cita cita menuju karir
'zykien Gag Mbada'i
 
Китай в средние века
Китай в средние векаКитай в средние века
Китай в средние векаMichelle Sosin
 
Sk phbs-[e-sk.blogspot.com]
Sk phbs-[e-sk.blogspot.com]Sk phbs-[e-sk.blogspot.com]
Sk phbs-[e-sk.blogspot.com]
Putu Ardita
 
Electromagnetic flow meter
Electromagnetic flow meterElectromagnetic flow meter
Electromagnetic flow meter
rameezahmad4
 
Galvanometer
GalvanometerGalvanometer
Galvanometer
rameezahmad4
 
Biology project
Biology projectBiology project
Biology project
igutierrez17
 
Narrative voice
Narrative voiceNarrative voice
Narrative voice
Mike Gunn
 

Destacado (19)

UWA presentation social media marketing
UWA presentation social media marketingUWA presentation social media marketing
UWA presentation social media marketing
 
Analiz bg anketa
Analiz bg anketaAnaliz bg anketa
Analiz bg anketa
 
Vizita Croatia
Vizita CroatiaVizita Croatia
Vizita Croatia
 
Analiz ict
Analiz ictAnaliz ict
Analiz ict
 
Sana'a
Sana'aSana'a
Sana'a
 
Test p
Test pTest p
Test p
 
Otchet
Otchet Otchet
Otchet
 
李清照·声声慢
李清照·声声慢李清照·声声慢
李清照·声声慢
 
Mendagri2007 5
Mendagri2007 5Mendagri2007 5
Mendagri2007 5
 
Siguranta navigarii pe internet
Siguranta navigarii pe internetSiguranta navigarii pe internet
Siguranta navigarii pe internet
 
Grow Your Business With Facebook
Grow Your Business With FacebookGrow Your Business With Facebook
Grow Your Business With Facebook
 
Дневник Коменски
Дневник КоменскиДневник Коменски
Дневник Коменски
 
Pemantapan cita cita menuju karir
Pemantapan cita cita menuju karirPemantapan cita cita menuju karir
Pemantapan cita cita menuju karir
 
Китай в средние века
Китай в средние векаКитай в средние века
Китай в средние века
 
Sk phbs-[e-sk.blogspot.com]
Sk phbs-[e-sk.blogspot.com]Sk phbs-[e-sk.blogspot.com]
Sk phbs-[e-sk.blogspot.com]
 
Electromagnetic flow meter
Electromagnetic flow meterElectromagnetic flow meter
Electromagnetic flow meter
 
Galvanometer
GalvanometerGalvanometer
Galvanometer
 
Biology project
Biology projectBiology project
Biology project
 
Narrative voice
Narrative voiceNarrative voice
Narrative voice
 

Similar a 1 conceptos generales de_programacion

El software 2
El software 2El software 2
El software 2
Naudelyn
 
Programacion
Programacion Programacion
Programacion
ronald-12345
 
Programación
ProgramaciónProgramación
Programación
Pro Search, Inc.
 
QUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMASQUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMAS
sergiosalazarcano
 
Introduccion a la programación I Parte
Introduccion a la programación I Parte Introduccion a la programación I Parte
Introduccion a la programación I Parte
Yelixa Araque Angulo
 
Programacion informatica
Programacion informaticaProgramacion informatica
Programacion informatica
Camiilo Gonzalez
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
Karly Lugo
 
Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptx
DavidGarca147527
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
Ts101924450Ts101924450
BRANDON VELASQUEZ
BRANDON VELASQUEZBRANDON VELASQUEZ
BRANDON VELASQUEZ
Brandon Velasquez Romero
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplus
Gladys Arce
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplus
Abefo
 
37975756-Guia-de-C
37975756-Guia-de-C37975756-Guia-de-C
37975756-Guia-de-C
liberaunlibroupeg
 
Parte i curso c
Parte i curso cParte i curso c
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Tema vi
Tema viTema vi
Tema vi
Maye Re
 
Programacion
ProgramacionProgramacion
Programacion
Jazmin1995
 
Conceptos básicos programaciön
Conceptos básicos programaciönConceptos básicos programaciön
Conceptos básicos programaciön
adriannaranjo85
 
Cuaderno3
Cuaderno3Cuaderno3
Cuaderno3
Joaquin Veron
 

Similar a 1 conceptos generales de_programacion (20)

El software 2
El software 2El software 2
El software 2
 
Programacion
Programacion Programacion
Programacion
 
Programación
ProgramaciónProgramación
Programación
 
QUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMASQUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMAS
 
Introduccion a la programación I Parte
Introduccion a la programación I Parte Introduccion a la programación I Parte
Introduccion a la programación I Parte
 
Programacion informatica
Programacion informaticaProgramacion informatica
Programacion informatica
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptx
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 
BRANDON VELASQUEZ
BRANDON VELASQUEZBRANDON VELASQUEZ
BRANDON VELASQUEZ
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplus
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplus
 
37975756-Guia-de-C
37975756-Guia-de-C37975756-Guia-de-C
37975756-Guia-de-C
 
Parte i curso c
Parte i curso cParte i curso c
Parte i curso c
 
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Unidad 2 curso c
 
Tema vi
Tema viTema vi
Tema vi
 
Programacion
ProgramacionProgramacion
Programacion
 
Conceptos básicos programaciön
Conceptos básicos programaciönConceptos básicos programaciön
Conceptos básicos programaciön
 
Cuaderno3
Cuaderno3Cuaderno3
Cuaderno3
 

Último

Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
carolina838317
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
elsanti003
 
Ducto Barras para instalaciones electricas
Ducto Barras para instalaciones electricasDucto Barras para instalaciones electricas
Ducto Barras para instalaciones electricas
Edgar Najera
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
shirllyleytonm
 
ECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdf
ECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdfECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdf
ECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdf
ArnulfoPerezPerez2
 
Presentación Aislante térmico.pdf Transferencia de calor
Presentación Aislante térmico.pdf Transferencia de calorPresentación Aislante térmico.pdf Transferencia de calor
Presentación Aislante térmico.pdf Transferencia de calor
GerardoBracho3
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
micoltadaniel2024
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
carmenquintana18
 
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptxINVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
FernandoRodrigoEscal
 
Aletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicosAletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicos
FrancelisFernandez
 
Informe Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de TacnaInforme Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de Tacna
BrusCiriloPintoApaza
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
ronnyrocha223
 
Estructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegaciónEstructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegación
AlvaroEduardoConsola1
 
Aletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptxAletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptx
jeffersoncolina427
 
tema alcanos cicloalcanos de quimica.pdf
tema alcanos cicloalcanos de quimica.pdftema alcanos cicloalcanos de quimica.pdf
tema alcanos cicloalcanos de quimica.pdf
veronicaluna80
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
MaraManuelaUrribarri
 
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de PlantasDISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
HalmarMiranda
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
DanielaLoaeza5
 
PRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdf
PRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdfPRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdf
PRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdf
fabian28735081
 
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdfSemana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
SandyCuenca
 

Último (20)

Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
 
Ducto Barras para instalaciones electricas
Ducto Barras para instalaciones electricasDucto Barras para instalaciones electricas
Ducto Barras para instalaciones electricas
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
 
ECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdf
ECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdfECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdf
ECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdf
 
Presentación Aislante térmico.pdf Transferencia de calor
Presentación Aislante térmico.pdf Transferencia de calorPresentación Aislante térmico.pdf Transferencia de calor
Presentación Aislante térmico.pdf Transferencia de calor
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
 
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptxINVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
 
Aletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicosAletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicos
 
Informe Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de TacnaInforme Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de Tacna
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
 
Estructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegaciónEstructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegación
 
Aletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptxAletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptx
 
tema alcanos cicloalcanos de quimica.pdf
tema alcanos cicloalcanos de quimica.pdftema alcanos cicloalcanos de quimica.pdf
tema alcanos cicloalcanos de quimica.pdf
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
 
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de PlantasDISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
 
PRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdf
PRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdfPRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdf
PRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdf
 
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdfSemana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
 

1 conceptos generales de_programacion

  • 1. U1 Página 1 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CURSO: 301304 – INTRODUCCION A LA PROGRAMACION CONCEPTOS GENERALES DE PROGRAMACIÓN Es fundamental iniciar el curso de introducción a la programación, abordando conceptos básicos que tienen que ver con la utilización de un lenguaje de programación para diseñar soluciones a problemas de información. Revisión de conceptos generales de programación Programación: es un proceso mediante el cual se convierten especificaciones generales de la solución de un problema, en instrucciones que el computador puede interpretar y que producen los resultados deseados (desarrollo de software). Programa: lista de instrucciones que el computador sigue para convertir datos en información. Estas dependen del lenguaje de programación que se utilice. Un programa debe ser:  Confiable y funcional  Comprensible  Documentado Fases para la creación de un programa  Definición del problema: clara y precisa  Análisis del problema: requiere identificar o Datos de salida (información que debe producir el programa) o Datos de entrada (datos que debe suministrar el usuario para lograr los resultados esperados o Datos de proceso (fórmulas necesarias para procesar los datos)  Diseño de la solución: lista ordenada y cronológica de los pasos a seguir para lograr resultados (diagramas de flujo, pseudocódigo, etc.). Debe ser simple, clara, precisa, exacta, tener un orden lógico e indicar su inicio y final.  Codificación: escribir la solución del problema en un lenguaje de programación (traducir el diagrama de flujo o pseudocódigo en instrucciones que puedan ser interpretadas por el computador)  Prueba y depuración: ejecutar el software para identificar y eliminar los errores (de sintaxis o de tipo lógico)  Documentación: guía que facilita futuras modificaciones del software Programación estructurada: se caracteriza por organizar las instrucciones de manera secuencial, de tal manera que es posible leer la codificación desde el
  • 2. U1 Página 2 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CURSO: 301304 – INTRODUCCION A LA PROGRAMACION inicio hasta el final en forma continua sin saltar de un lugar a otro, siguiendo el camino lógico establecido por el programador. En este paradigma de programación se debe prestar especial atención a la etapa de diseño de la solución, una vez establecidos los pasos secuenciales, la codificación es más fácil. Características: la estructura del programa se realiza de la manera más clara y precisa posible, para ello utiliza:  Secuencia: sucesión simple de operaciones  Selección: bifurcación condicional de una o más operaciones  Iteracción: repetición de tareas mientras se cumple una o más condiciones Ventajas:  Tiene una estructura clara y por ende una buena presentación.  Es más fácil de comprender  Facilita la revisión de la codificación  Reduce el tiempo de prueba y depuración Programación Procedural: es un tipo de programación estructurada en donde el código se divide en porciones llamadas "procedimientos" o "funciones". Este tipo de programas permite que una porción de programa sea llamada varias veces sin que tenga que volver a escribir todo el código, simplemente se realiza el llamado a la función o procedimiento que se requiere. Este tipo de programación se basa en subdividir un programa en piezas lógicas para reducir su complejidad según el principio de "divide y vencerás". Identación: utilización de sangrías (espacios) para facilitar la lectura del programa puesto que muestra en forma gráfica las relaciones entre las instrucciones. Para aprovechar la identación en un programa en C++ se sugiere:  Escribir en la misma columna los indicadores de inicio y fin de cada bloque de sentencias  Utilizar diferentes sangrías para indicar anidamientos de instrucciones  Escribir una instrucción por línea Lenguaje de Programación C++ En 1980, se comenzó a desarrollar el lenguaje C++, su autor fue B. Stroustrup. Al comienzo era una extensión del lenguaje C que fue denominada C with clases, sin embargo es considerado por muchos autores como un lenguaje diferente al C. La evolución de C++ ha continuado con la aparición de Java, un lenguaje creado simplificando algunas cosas de C++ y añadiendo otras, que se utiliza para realizar aplicaciones en Internet.
  • 3. U1 Página 3 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CURSO: 301304 – INTRODUCCION A LA PROGRAMACION El C++ es a la vez un lenguaje procedural (orientado a algoritmos) y orientado a objetos. Como lenguaje procedural se asemeja al C y es compatible con él, aunque ya se ha dicho que presenta ciertas ventajas. Como lenguaje orientado a objetos, se basa en una filosofía completamente diferente, que exige del programador un completo cambio de mentalidad. Las características propias de la Programación Orientada a Objetos (Object Oriented Programming, u OOP) de C++ son modificaciones mayores que sí cambian radicalmente su naturaleza. Es de anotar, que para el curso se trabajará con el lenguaje de programación C++, utilizando los paradigmas de programación estructurada y procedural. Ambiente de C++ El lenguaje C++ requiere de tres partes: un ambiente de desarrollo de programas, el lenguaje y la biblioteca estándar de C++. Para desarrollar un programa es necesario abordar seis fases: edición, preproceso, compilación, enlace, carga y ejecución. 1. Edición: requiere de un programa de edición donde se escribe el código necesario, este archivo se conoce como Archivo fuente que se almacena en un dispositivo secundario, por ejemplo el disco duro. La extensión del archivo fuente puede ser .cpp, .cxx, .cc o .c. Existen múltiples editores para el lenguaje C++, entre los más conocidos están Borland C++, DEV C++, Visual C++, Falcon. 2. Preproceso: antes de compilar una codificación de C++, un programa llamado preprocesador ejecuta automáticamente los comandos denominados directivas del preprocesador, que indican ciertas órdenes necesarias que no son visibles para el programador, pero que son necesarias para desarrollar una buena compilación. 3. Compilación: el programador debe ejecutar el comando necesario, dependiendo del entorno de desarrollo que utilice, para realizar la compilación, esto traduce el programa C++ a código en lenguaje máquina, denominado Código objeto. 4. Enlace: un programa en C++ contiene referencias a funciones y datos ya definidos en bibliotecas estándar o bibliotecas exclusivas creadas por programadores para proyectos específicos, entonces la tarea del enlazador, es conectar el código objeto con el respectivo código de las funciones que se referencian. 5. Carga: corresponde a la fase en que el programa se carga en memoria, esta acción la realiza el Cargador, tomando la imagen ejecutable del disco y transfiriéndola a la memoria, junto con los componentes adicionales de las bibliotecas que se utilizan en el programa. 6. Ejecución: el computador ejecuta el programa y se pueden observan,
  • 4. U1 Página 4 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CURSO: 301304 – INTRODUCCION A LA PROGRAMACION entonces, los resultados de las instrucciones que se han incluido en la codificación. Si se presentan errores, por diversas razones, se mostrará un mensaje de error y es necesario volver a la fase de edición para interpretarlo y corregirlo. Traductores de lenguaje Para entender mejor el proceso de conversión, es necesario aclarar ciertos términos:  Programa fuente: es la codificación escrita por el programador en un lenguaje de alto nivel, contiene las sentencias del programa en un lenguaje de programación. Para que sea ejecutable debe ser traducido.  Compilador: es el programa que se encarga de traducir los programa fuentes escritos en el lenguaje de alto nivel a lenguaje de máquina y además comprueba que las llamadas a las funciones de librería se realicen de manera correcta.  Programa objeto: es el programa fuente traducido por el compilador a código máquina. Hay que recordar, que el programa aún no es directamente ejecutable en esta etapa.  Linker (montador o enlazador): Es el programa encargado de insertar al programa objeto el código máquina de las funciones de las librerías (archivos de biblioteca) usadas en el programa y realizar el proceso de montaje, que producirá un programa ejecutable .exe. Las librerias son una colección de código (funciones) ya programado y traducido a código máquina, listo para utilizar en un programa y que facilita la labor del programador.  Programa Ejecutable: Traducción completa a código máquina, realizada por el enlazador, del programa fuente y que ya es directamente ejecutable. Representación de la compilación y linkado. FIGURA 1. Proceso de compilación y linkado Programa fuente Programa objeto Programa ejecutable Compilación Enlazador
  • 5. U1 Página 5 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CURSO: 301304 – INTRODUCCION A LA PROGRAMACION De lo anterior se deduce que el código escrito por el programador es el programa fuente y para que ese programa se ejecute y cumpla el objetivo para el que fue creado, debe pasar por los procesos de compilación (programa objeto) y enlace (programa ejecutable). Al realizar el programa fuente se deben tener cuenta que las sentencias y sintaxis sean correctas, de lo contrario no se puede compilar. Ampliar información consultando: Deintel, Harvey M., Deintel, Paul J. Cómo programar en C++. Pags. 15 a 17. Disponible en http://books.google.es/books?id=CBhWani323wC&printsec=frontcover&dq=c%2B %2B&hl=es&sa=X&ei=v1d7VJbqEoekNr2lgqAE&ved=0CEwQ6AEwBg#v=onepag e&q=c%2B%2B&f=false