Nothing Special   »   [go: up one dir, main page]

C02 - Lenguajes y Fundamentos de Programación

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

31/01/2020

Programación I - Cuilapa 2020 31/01/2020 8:50

Es un conjunto de elementos y símbolos que permiten ejecutar una serie de acciones con
las cuales controlamos el computador.
Es un lenguaje formal diseñado y utilizado para escribir programas para computadoras
mediante un conjunto de instrucciones, operadores y reglas de sintaxis, utilizando para ello
un sinfín de IDE´s, como por ejemplo:

 Para el sistema operativo Linux:


◦ lcc
◦ gcc

 Para el sistema operativo Windows:


◦ Turbo C/C++
◦ Borland C/C++
◦ Visual C++
◦ CodeBlocks
◦ Dev-C++

 Multiplataforma
◦ Python

Programación I - Cuilapa 2020 31/01/2020 8:50

1
31/01/2020

Los lenguajes de programación se pueden


clasificar atendiendo a varios criterios:
a. Según el nivel de abstracción:
• Lenguajes de máquina #include <stdio.h>

• Lenguajes de bajo nivel int main() {


printf("¡Hola, mundo!\n\n");
• Lenguajes de alto nivel return 0; }

#include <iostream>
#include <windows.h>

using namespace std;


int main() {
cout << "¡Hola mundo!\n\n";
system("pause");
return 0 ; }

b. Según la forma de ejecución:


• Lenguajes compilados (C/C++/C#, Fortran, Pascal, Visual Basic).
• Lenguajes interpretados (Ruby, Python, PHP, JavaScript, Perl).
31/01/2020 8:50
Programación I - Cuilapa 2020

Los lenguajes de programación se pueden clasificar


atendiendo a varios criterios:
c. Según el paradigma de programación que poseen cada uno de
ellos:
• El paradigma imperativo o por procedimientos es considerado el más
común y está representado, por ejemplo, por el C o por BASIC.

• El paradigma declarativo especifica las propiedades que la salida debe


conocer y no especifica cualquier detalle de implementación. Hay dos tipos:
• El paradigma declarativo-funcional está representado por la familia de lenguajes LISP
(List-Proccesing), ML o Haskell.
• El paradigma declarativo-lógico, un ejemplo es PROLOG.

• El paradigma orientado a objetos. Un lenguaje completamente orientado a


objetos es Smalltalk.

31/01/2020 8:50
Programación I - Cuilapa 2020

2
31/01/2020

Instrucciones para el computador:

Los diferentes pasos (acciones) de un algoritmo se expresan en los programas


como:

a) Instrucciones (lenguajes de máquina y bajo nivel)

b) Y, sentencias o proposiciones (lenguajes de alto nivel).


#include <stdio.h> #include <iostream>
int main() { #include <windows.h>
printf("¡Hola, mundo!\n\n");
using namespace std;
return 0; } int main() {
. cout << "¡Hola mundo!\n\n";
system("pause");
return 0 ; }
31/01/2020 8:50
Programación I - Cuilapa 2020

Tipos fundamentales de instrucciones que una computadora


es capaz de manipular y ejecutar:

• Instrucciones de entrada/salida: Instrucciones de transferencia de


información y datos entre dispositivos periféricos y la memoria
principal (printf/cout, scan/cin).

• Instrucciones aritmético-lógicas: Instrucciones que ejecutan


operaciones aritméticas (suma, resta, ..., and, or, ...etc)

• Instrucciones selectivas: Instrucciones que permiten la selección de


tareas alternativas en función de los resultados de diferentes
expresiones condicionales (if, ifelse, switch).

• Instrucciones repetitivas: Instrucciones que permiten la repetición de


secuencias de instrucciones un número determinado de veces (for,
while, do…while).
31/01/2020 8:50
Programación I - Cuilapa 2020

3
31/01/2020

Traductores de lenguaje: Intérprete


Programa fuente
Los traductores de lenguaje son programas que
traducen a su vez los programas fuente escritos
en lenguajes de alto nivel a código máquina. Intérprete

Traducción y ejecución
Los traductores se dividen en: línea a línea
◦ Intérpretes:
 Un intérprete es un traductor que toma un programa
fuente, lo traduce y a continuación lo ejecuta (cada
vez que se quiera utilizar el programa).
Compilador
◦ Compiladores: Programa fuente
 Un compilador es un programa que traduce los
programas fuente escritos en lenguaje de alto nivel
(C, Pascal, Java, Fortran, ..., etc.) a lenguaje Compilador
máquina (una sola vez).
Programa objeto

31/01/2020 8:50
Programación I - Cuilapa 2020

La compilación y sus fases:


La compilación es el proceso de traducción de programas fuente a programas objeto. El
programa objeto obtenido de la compilación se traduce normalmente a código máquina
(ejecutable) utilizando un programa llamado montador o enlazador (linker).

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 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 C u otros similares.
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.
Programa Compilador Programa Programa ejecutable
Montador
fuente (Traductor) objeto en lenguaje máquina.
.

31/01/2020 8:50
Programación I - Cuilapa 2020

4
31/01/2020

Lectura del Capítulo 2. El lenguaje C++.


Elementos básicos, del libro
“Programación en C++ (Algoritmos,
estructuras de datos y objetos)” de
Luis Joyanes Aguilar.

31/01/2020 8:50
Programación I - Cuilapa 2020

¿Cuáles son las generaciones de ordenadores que existen a la fecha y


que tienen que ver con los lenguajes de programación?.
 Desde que inició la era computacional y de acuerdo a la evolución de la misma,
se han creado 5 Generaciones de Lenguajes de Programación, y con ello, la
sintaxis se ha simplificado para hacer que los programas sean más fáciles de
entender:
◦ Primera Generación – 1GL:
 Código máquina y Ensambladores
 Consistía completamente de una secuencia de 0s y 1s que los controles de la computadora
interpreta como instrucciones, eléctricamente.
 Representan los primeros lenguajes de programación que la computadora podía entender, son
conocidos como lenguaje máquina.

◦ Segunda Generación – 2GL:


 Primeros lenguajes de alto nivel, no estructurados – Fortran, Cobol, Basic
 Se identificaron como lenguajes ensambladores (uso de instrucciones como “añadir”, “sumar”,
etc.).
 El código escrito en un lenguaje ensamblador se convierte en lenguaje de máquina (1GL).

31/01/2020 8:50
Programación I - Cuilapa 2020

5
31/01/2020

¿Cuáles son las generaciones de ordenadores que existen a la fecha y


que tienen mucho que ver con los lenguajes de programación?
◦ Tercera Generación – 3GL:
 Lenguajes estructurados: Algol, Pascal, C, ADA.
 Lenguajes Específicos: Lisp, Prolog, Smalltalk
 Se conoce como lenguajes de alto nivel. Un compilador se encarga de traducir el lenguaje de
alto nivel a lenguaje ensamblador o código máquina.

◦ Cuarta generación (4GL)


 Lenguajes Declarativos: SQL Generadores de aplicaciones, Herramientas CASE
 Programación Visual: Visual Basic, Visual C
 Lenguajes Orientados a Objeto C++, Java, Eiffel
 Avanza en la sintaxis utilizada. Lenguajes 4GL se utilizan típicamente para acceder a bases de
datos (SQL).

◦ Quinta generación (5GL)


 Imitación de la mente humana
 La quinta generación de lenguajes de programación es utilizada para redes neuronales. Una
red neuronal es una forma de inteligencia artificial que trata de imitar la mente humana.

31/01/2020 8:50
Programación I - Cuilapa 2020

Declaraciones globales Declaraciones globales

f1() main()
{ {
variables locales Todos los programas en variables locales
secuencia de sentencias C/C++ constan de una o secuencia de sentencias
} }
más funciones.
. f1()
. {
La única función que debe variables locales
fN() estar absolutamente secuencia de sentencias
{ presente es la denominada }
variables locales
main(), siendo la primera
secuencia de sentencias .
} función que es llamada .
cuando comienza la
main() ejecución del programa. fN()
{ {
variables locales variables locales
secuencia de sentencias secuencia de sentencias
} }

31/01/2020 8:50
Programación I - Cuilapa 2020

6
31/01/2020

Buenas prácticas de Programación


1) Todo programa debe comenzar con un comentario que describa su propósito,
autor, fecha y hora.

2) Utilice líneas en blanco, caracteres de espacio y tabuladores para mejorar la


legibilidad del programa.

3) Muchos programadores hacen que el último carácter que debe imprimir una
función sea una nueva línea (\n). Esto asegura que la función deje el cursor de la
pantalla colocado al inicio de una nueva línea. Las convenciones de esta naturaleza
fomentan la reutilización de software; un objetivo clave en el desarrollo de
software.

4) Aplique sangría a todo el cuerpo de cada función, usando un nivel de sangría


dentro de las llaves que delimitan el cuerpo de la función. Esto hace que resalte la
estructura funcional de un programa, y facilita su lectura.

5) Establezca una convención para el tamaño de sangría que prefiera, y luego


aplíquela de manera uniforme. Puede utilizar la tecla de tabulación para crear
sangrías, pero las posiciones de los tabuladores pueden variar. Le recomendamos
utilizar posiciones de 1/4 de pulgada o (de preferencia) tres espacios para formar
un nivel de sangría.
31/01/2020 8:50
Programación I - Cuilapa 2020

DEFINICIONES
1) Una variable es una ubicación en la memoria de la computadora, en la
que puede almacenarse un valor para usarlo mediante un programa, y
debe tener un nombre (identificador), un tipo, un tamaño y un valor.

2) Los tipos como int, double y char se conocen comúnmente como tipos
fundamentales, tipos primitivos o tipos integrados. Los nombres de los
tipos fundamentales son palabras clave y, por lo tanto, deben aparecer
todos en minúsculas.

3) El nombre de una variable (como numero1) es cualquier identificador


válido que no sea una palabra clave.

4) Un identificador es una serie de caracteres que consisten en letras,


dígitos y símbolos de guión bajo (_) que no empieza con un dígito.
C++ es sensible a mayúsculas y minúsculas: las letras mayúsculas y
minúsculas son distintas, por lo que a1 y A1 se consideran identifi
cadores distintos.

31/01/2020 8:50
Programación I - Cuilapa 2020

7
31/01/2020

Mi primeros programas en C++

31/01/2020 8:50
Programación I - Cuilapa 2020

Mi primeros programas en C++

31/01/2020 8:50
Programación I - Cuilapa 2020

8
31/01/2020

Mi primeros programas en C++

31/01/2020 8:50
Programación I - Cuilapa 2020

Mi primeros programas en C++

31/01/2020 8:50
Programación I - Cuilapa 2020

9
31/01/2020

Mi primeros programas en C++

31/01/2020 8:50
Programación I - Cuilapa 2020

Mi primeros programas en C++

31/01/2020 8:50
Programación I - Cuilapa 2020

10
31/01/2020

Mi primeros programas en C++

31/01/2020 8:50
Programación I - Cuilapa 2020

Mi primeros programas en C++

31/01/2020 8:50
Programación I - Cuilapa 2020

11
31/01/2020

Mi primeros programas en C++

Estructuras condicionales de decision o repetitivas:

if
if..else
switch

for
while
do . . .while
31/01/2020 8:50
Programación I - Cuilapa 2020

GRACIAS

31/01/2020 8:50
Programación I - Cuilapa 2020

12

También podría gustarte