0% encontró este documento útil (0 votos)
59 vistas8 páginas

UNIDAD 1 Programacion

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
59 vistas8 páginas

UNIDAD 1 Programacion

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Unidad 1: Generalidades y Conceptos

¡Muy bien! Seguimos avanzando. ¡Continúa!

Bienvenido seas a la unidad 1: Generalidades y conceptos de la


asignatura Programación avanzada.

En esta unidad aprenderás a distinguir conceptos básicos de la


programación avanzada, tales como lenguaje de programación,
intérpretes y compiladores. Además, conocerá las principales
diferencias entre el lenguaje de programación C y su extensión
(lenguaje de programación C++). Por lo consecuente profundizará en
las características de cada uno de estos lenguajes de programación.

Se te presenta un nuevo reto en tu carrera ¿Estás listo para afrontarlo?

Identificar los fundamentos y los conceptos introductorios respecto a la


programación en el lenguaje C/C++ a fin de saber realizar la programación
estructurada utilizando la teoría de algoritmos y diagramas de flujo.

1.1 Concepto de lenguaje de programación

Un lenguaje de programación es un programa destinado a la construcción de otros programas


informáticos. Su nombre se debe a que comprende un lenguaje formal que está diseñado para
organizar algoritmos y procesos lógicos que serán luego llevados a cabo por un ordenador o sistema
informático, permitiendo controlar así su comportamiento físico, lógico y su comunicación con el
usuario humano.

Dicho lenguaje está compuesto por símbolos y reglas sintácticas y semánticas, expresadas en forma
de instrucciones y relaciones lógicas, mediante las cuales se construye el código fuente de una
aplicación o pieza de software determinado.

Se clasifican en dos tipos principales:

 Lenguaje de bajo nivel


 Lenguaje de alto nivel

1.1.1 Lenguajes de bajo nivel

Los lenguajes de bajo nivel se caracterizan por:

 Ser lenguajes totalmente orientados a la máquina.


 Ser lenguajes que sirven de interfaz para crear vínculos inseparables
entre el hardware y el software.
 Además, ejercen un control directo sobre el equipo y su estructura
física.

Para aplicarlo adecuadamente es necesario que el programador conozca


sólidamente el hardware. Éste se subdivide en dos tipos:

 Lenguaje máquina
 Lenguaje ensamblador

Lenguaje máquina

Es el más primitivo de los lenguajes y es una colección de dígitos binarios o


bits (0 y 1) que la computadora lee e interpreta y son los únicos idiomas que
las computadoras entienden.

Ejemplo: 10110000 01100001

No entendemos muy bien lo que dice ¿verdad? Por eso, el lenguaje


ensamblador nos permite entender mejor a qué se refiere éste código.

Si deseas profundizar más sobre el tema lenguajes de bajo nivel, consulta la


siguiente información:

TI Capacitación (2013). Lenguajes de programación - Lenguajes de bajo nivel


[Archivo de video] Disponoble en: https://youtu.be/pPbFCvIQUi4

Lenguaje ensamblador

El lenguaje ensamblador es el primer intento de sustitución del lenguaje de


máquina por uno más cercano al utilizado por los humanos.

Un programa escrito en este lenguaje es almacenado como texto (tal como


programas de alto nivel) y consiste en una serie de instrucciones que
corresponden al flujo de órdenes ejecutables por un microprocesador.

Sin embargo, dichas máquinas no comprenden el lenguaje ensamblador, por


lo que se debe convertir a lenguaje máquina mediante un programa llamado
ensamblador.

Este genera códigos compactos, rápidos y eficientes creados por el


programador que tiene el control total de la máquina.

1.1.2 Lenguaje de programación de alto nivel

Tienen como objetivo facilitar el trabajo del programador, ya que utilizan unas
instrucciones más fáciles de entender.
Además, el lenguaje de alto nivel permite escribir códigos mediante idiomas
que conocemos (español, inglés, etc.) y luego, para ser ejecutados, se
traduce al lenguaje de máquina mediante traductores o compiladores.

TI Capacitación (2013). Lenguajes de programación - Lenguajes de alto nivel


[Archivo de video] Disponoble en: https://youtu.be/h6YY46Wjlmk

1.2 Traductores de lenguajes

Los traductores de lenguajes son unos programas muy especiales (compiladores o intérpretes) que
convierten las instrucciones escritas de lenguajes de programación en instrucciones escritas en
lenguajes máquina (0 y 1, bits) de esta manera la máquina puede entender cada símbolo, regla
sintáctica y regla semántica creada por el programador.

Los traductores se dividen en:

 Intérpretes
 Compiladores

1.2.1 Intérprete

Un intérprete es un traductor que toma un programa fuente, lo traduce y, a


continuación lo ejecuta. Los programas interpretes clásicos como BASIC,
prácticamente ya no se utilizan, más que en circunstancias especiales. El
proceso de traducción del interprete para transformar el programa fuente a
ejecutable es el siguiente:

1. Se traduce la primera sentencia del programa a lenguaje máquina.


2. Se detiene la traducción.
3. Se ejecuta la sentencia.
4. Se traduce la siguiente sentencia.
5. Se detiene la traducción.
6. Se ejecuta la sentencia y así́ sucesivamente hasta terminar el
programa.

A continuación, se muestra un diagrama explicando este proceso.

1.2.2 Compiladores
Un compilador es un programa que traduce los programas fuente escritos en
lenguaje de alto nivel a lenguaje máquina. La traducción del programa
completo se realiza en una sola operación denominada compilación del
programa; es decir, se traducen todas las instrucciones del programa en un
solo bloque. El programa compilado y depurado (eliminados los errores del
código fuente) se denomina programa ejecutable porque ya se puede
ejecutar directamente y cuantas veces se desee; sólo deberá volver a
compilarse de nuevo en el caso de que se modifique alguna instrucción del
programa. De este modo el programa ejecutable no necesita del compilador
para su ejecución. Los compiladores de lenguajes típicos más utilizados son:

 C
 C++
 Java
 C#
 Pascal
 FORTRAN
 COBOL

Los compiladores realizar el proceso de traducción de la siguiente forma, es el


proceso de traducción de programas fuente a programas objeto. El programa
objeto obtenido de la compilación ha sido traducido normalmente a código
máquina.

Para conseguir el programa máquina real se debe utilizar un programa


llamado montador o enlazador (linker). El proceso de montaje conduce a un
programa en lenguaje máquina directamente ejecutable.
El proceso de ejecución de un programa escrito en un lenguaje de
programación y mediante un compilador suele tener los siguientes pasos:

1. Escritura del programa fuente con un editor (programa que permite a


una computadora actuar de modo similar a una máquina de escribir
electrónica) y guardarlo en un dispositivo de almacenamiento (por
ejemplo, un disco).
2. Introducir el programa fuente en memoria.
3. Compilar el programa con el compilador seleccionado.
4. Verificar y corregir errores de compilación (listado de errores).
5. Obtención del programa objeto.
6. El enlazador (linker) obtiene el programa ejecutable.
7. Se ejecuta el programa y, si no existen errores, se tendrá la salida del
programa.

Pasos por ingeniería (2018). Lenguajes de programación - #4 TRADUCTORES


de LENGUAJES (INTÉRPRETES y COMPILADORES)
[Archivo de video] Disponoble en: https://youtu.be/JLEXkb64aKU

1.3 Orígenes de C y C++

El lenguaje C fue creado en el año 1972 por el científico informático estadounidense Dennis Ritchie
(con la ayuda de Ken Thompson). Recibió el nombre de C simplemente por una cuestión alfabética,
ya que sustituyó a sus lenguajes predecesores B y BCPL que codificaban la minicomputadora PDP-
7.

Características del lenguaje C:

 Es un lenguaje estructurado.
 No depende del hardware, por lo que se puede migrar a otros sistemas.
 Cuenta con objetivos generales.
 Es un lenguaje diverso, se puede utilizar para programar tanto un sistema operativo, una
hoja de cálculo o un juego.
 Ofrece un control absoluto de todo lo que sucede en la máquina.
 Se puede tener una organización libre en la solución tecnológica.
 Los programas son producidos de forma rápida y son bastante potentes.
 Contiene un extenso tipo de datos, operadores y variables en C.

La sintaxis básica en C determina la forma en que se agrupan los caracteres para formar tokens ,
que son la unidad mínima de programación en C. Tomando como ejemplo el programa “Hola
Mundo”, usado para la introducción a la mayoría de lenguajes de programación, tendríamos el
siguiente código en C:

#include

int main()

{
printf("Hola Mundo"); // línea sencilla de comentarios
return 0;

/*

línea

múltiple de
comentarios

*/

Si seleccionamos sólo la línea de código printf, tendríamos los siguientes


tokens : printf , ( , “ , Hola Mundo , “ , ) , y ; . Por lo tanto, podemos decir que estos tokens son los
pequeños bloques con los que se programa en C, pudiendo ser: variables, identificadores,
constantes, palabras clave, símbolos que comprenda el lenguaje o sentencias en lenguaje C.

El comienzo de todo programa en este lenguaje debe comenzar por #include cuya función es
inicializar el entorno de trabajo; en nuestro ejemplo, vinculando el archivo stdio.h (biblioteca de C)
que a su vez contiene la orden printf.

La función en lenguaje C int main() hace que el programa vuelva a ese punto de retorno tras
ejecutarse y su orden está delimitada entre {}.

Cómo en la mayoría de los lenguajes de programación, nos podemos ayudar de comentarios que el
compilador no procesará pero que nos serán de mucha utilidad a la hora de aclarar cualquier
concepto en la línea de código. Podemos hacer los comentarios en lenguaje C de dos maneras; una
única línea de comentario comenzando con // o en múltiples líneas comenzando y terminando por /*
.

Bibliotecas de C

Al hablar de bibliotecas en lenguaje C nos referimos a una serie de librerías que son usadas en este
lenguaje de programación y están formadas por una serie de código con el que podemos leer el
teclado, realizar operaciones matemáticas, imprimir en pantalla, etc. La biblioteca referente es la
estándar de ANSI C formada por 24 archivos de cabecera. Según su tarea, se clasifican en
categorías, como por ejemplo matemáticas, de salida y entrada, de uso de textos, de gestión de
memoria,etc.

Entre las librerías más destacadas encontramos:

 Stdio.h (de entrada y salida)


 Conio.h (potente gestión de textos)
 Math.h (encargada de operaciones matemáticas)
 Time.h (obtienen fecha y hora actual para poder utilizarla según sus necesidades)
Pasos por ingeniería (2018). n#1 "Hola Mundo.
[Archivo de video] Disponoble en: https://www.youtube.com/watch?
v=ZhbMCqB7quQ&list=PL46-B5QR6sHm5HWP6sb4TTgUHgNoISKm5
Orígenes Lenguaje de Programación C++

C++ es un lenguaje de programación que puede manipular objetos, es una


extensión del lenguaje C.

Fue diseñado a mediados de los años 80 por el danés Bjarne Stroustrup. Su


intención fue la de extender el lenguaje de programación C (con mucho éxito
en ese momento) para que tuviese los mecanismos necesarios para
manipular objetos. C++ contiene los paradigmas de la programación
estructurada y orientada a objetos, por lo que se le conoce como un lenguaje
de programación multiparadigma. En sus comienzos, a C++ se le conoció
como “C con clases”. Luego se cambió a C++ que significa “incremento de
C”, dando a entender que se trata de una extensión del lenguaje de
programación C.

Las principales ventajas del lenguaje C++ son:

 Alto rendimiento: Esto es debido a que puede hacer llamadas directas


al sistema operativo, es un lenguaje compilado para cada plataforma,
posee gran variedad de parámetros de optimización y se integra de
forma directa con el lenguaje ensamblador.
 Lenguaje actualizado: A pesar de que ya tiene muchos años, el
lenguaje se ha ido actualizando, permitiendo crear, relacionar y operar
con datos complejos y ha implementado múltiples patrones de diseño.
 Es multiplataforma
 Extendido: C++ es muy extendido. Casi cualquier programa o sistema
están escritos o tienen alguna parte escrita en este lenguaje (desde un
navegador web hasta el propio sistema operativo).

Las principales desventajas de C++ es que se trata de un lenguaje muy


amplio (muchas líneas de código), tiene que tener una compilación por
plataforma y su depuración se complica debido a los errores que surgen.
Además, el manejo de librerías es más complicado que otros lenguajes como
Java o .Net.

Características del lenguaje C++:

Algunas de las características más importantes que posee el lenguaje C++


son:

 Compatibilidad con bibliotecas: A través de bibliotecas hay muchas


funciones que están disponible y que ayudan a escribir código
rápidamente.
 Orientado a objetos: El foco de la programación está en los objetos y la
manipulación y configuración de sus distintos parámetros o
propiedades.
 Rapidez: La compilación y ejecución de un programa en C++ es mucho
más rápida que en la mayoría de los lenguajes de programación.
 Compilación: En C++ es necesario compilar el código de bajo nivel
antes de ejecutarse, algo que no ocurre en otros lenguajes.
 Punteros: Los punteros del lenguaje C, también están disponibles en
C++.
 Didáctico: Aprendiendo programación en C++ luego es mucho más
fácil aprender lenguajes como Java, C#, PHP, Javascript, etc.

Programación ATS (2016). 1. Programación en C++ || Primer programa en C+


+
[Archivo de video] Disponoble en: https://youtu.be/ld4nzao5XAc
Cierre de unidad

Para poder tener su primer acercamiento a la programación avanzada el alumno al término de esta
unidad aprendió conceptos claves con sus particulares características y funciones, tales como:

 Lenguaje de programación
 Lenguaje de bajo nivel
 Lenguaje de alto nivel
 Intérprete
 Compilador

Además, conoció y comprendió los orígenes de C y C++. También se enumeraron los elementos
claves para poder diferenciar entre si estos dos lenguajes de programación fundamentales, tales
como:

 Autor y fecha de creación


 Características principales
 Ventajas y desventajas
 Sintaxis

Fuentes de consulta

Joyanes Aguilar, L. (2008). Fundamentos de programación (1st ed.). España:


McGraw Hill/Interamericana.

Langsam, Y. & Martínez Sarmiento, M. (1997). Estructuras de datos con C y C


++ (1st ed.). México: Prentice-Hall Hispanoamericana.

Mihaela Juganaru, M. (2014). Introducción a la Programación (1st ed.). México:


Grupo Editorial Patria.

Urquía Moraleda, Martín Villalba, (2011). Lenguajes de Programación (1st ed.).


España: UNED

También podría gustarte