100% encontró este documento útil (1 voto)
399 vistas55 páginas

1.conceptos Básicos

Este documento presenta conceptos básicos sobre lenguajes de programación. Explica que la informática se encarga del procesamiento de datos, incluyendo entrada, proceso y salida de información. Luego define computación, hardware, software, firmware y computadora. Describe los componentes clave como procesador, algoritmo y programa. Finalmente, introduce lenguajes de programación, paradigmas de programación y el paradigma imperativo.
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 PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
399 vistas55 páginas

1.conceptos Básicos

Este documento presenta conceptos básicos sobre lenguajes de programación. Explica que la informática se encarga del procesamiento de datos, incluyendo entrada, proceso y salida de información. Luego define computación, hardware, software, firmware y computadora. Describe los componentes clave como procesador, algoritmo y programa. Finalmente, introduce lenguajes de programación, paradigmas de programación y el paradigma imperativo.
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 PDF, TXT o lee en línea desde Scribd

Conceptos Básicos de

Lenguajes de Programación
Autores:
Jorge Butler Blacker (jbutler@[Link])
Mauricio Galvez Legua (mgalvez@[Link])

1
Informática
• Se encarga del procesamiento automático de
la datos.
• Los sistemas informáticos realizan las
siguientes tres tareas primordiales:
• Entrada: La captación de datos.
• Proceso: El cálculo con los datos.
• Salida: Transmisión de resultados.

2
Computación
• Es el área que se encarga de la aplicación de
las computadoras en procesamiento de
datos (solución de problemas).
• La computación se aplica a diversas áreas.
• La computación es una parte de la informática.

3
Hardware
• Se refiere a toda la parte física de un equipo.
Es lo que se conoce como lógica cableada. El
hardware puede referirse a:
• Sistemas mecánicos, hidráulicos, neumáticos.
• Sistemas eléctricos, formados por relés,
contactores, etc.
• Sistemas electrónicos, formados por
transistores, resistencias, circuitos integrados,
etc.

4
Software
• Es el nuevo elemento que aparece con el
microprocesador (uP). Para que un uP
trabaje requiere de un software o programa
que le indique que debe de hacer. Existen
una gran variedad de programas:
• Sistemas Operativos: Windows, Linux, etc.
• Software de Oficina: Word, Excel, etc.
• Software de Diseño: Corel, Autocad, etc.
• Software de programación: C, Java, Python, etc.

5
Firmware
• Es básicamente un software almacenado
(embebido) en un hardware (memoria tipo
ROM).
• Dicho programa es el que inicializa al equipo
y le dice al procesador que debe hacer.
• En las computadoras se le llama BIOS (Sistema
Básico de Entrada y Salida).

6
Computadora
• Es un equipo electrónico que sirven para
procesar datos.
• Recibe datos, los procesa (convierte en
información), luego:
• Lo almacena (disco duro).
• Lo visualiza (pantalla de video).
• Lo transmite (red de datos).

7
Computadora
• Se denomina computadora a todo equipo
que tiene un procesador internamente.
• Al procesador se le debe decir que hacer, eso
se denomina programar.

8
Computadora: tipos
• Hoy en día casi todo lo que construye el
hombre es una computadora:
• Automóviles
• Televisores
• Licuadoras
• Relojes
• Etc.

9
Procesador
• Es un circuito integrado que tiene
"inteligencia computacional" porque procesa
y ejecuta diversas instrucciones. Ejemplo:
• Realizar operaciones lógicas: AND, OR, NOT, etc.
• Realizar operaciones aritméticas: sumar, restar,
multiplicar, dividir, etc.
• Leer y escribir en memoria.
• Leer y escribir en interfases (espacio I/O).

10
Procesador
• El procesador solamente entiende el
lenguaje binario también llamado lenguaje
de máquina. Cada instrucción es codificada
mediante un byte, por ejemplo para un
microprocesador X:
• Sumar = 00(binario)
• Restar = 01(binario)

11
Procesador
• El byte que representa a una instrucción se
llama byte code.
• El total de instrucciones que tiene un
procesador se denomina "Juego de
Instrucciones" y sirven para elaborar
programas.

12
Algoritmo
• Es un conjunto de pasos o reglas bien
definidas, ordenadas y finitas que permite
realizar una actividad mediante pasos
sucesivos que no generen dudas a quien
deba realizar dicha actividad.
• Antes de elaborar un programa es
recomendable realizar primero el algoritmo.

13
Algoritmo
• Para documentar un algoritmo tenemos dos
opciones:
• Pseudocódigo.
• Diagramas de flujo de Datos.

14
Algoritmo: Ejemplo
• Diagrama de flujo de datos que imprime los
números pares hasta 20.

15
Programa
• Es un archivo que contiene un conjunto de
instrucciones (órdenes) que un procesador
(uP o uC) entiende y ejecuta para realizar
una determinada tarea.

16
Programa
• Recordar que los procesadores solo entiende
binario.

• Programar en binario es muy laborioso y por


eso se crearon los “Lenguajes de
Programación”.

17
Lenguajes de Programación
• Los programas son elaborados utilizando un
lenguaje de programación, el cual tiene su
propia nomenclatura y sintáxis.
• Estos programas se denominan programas
fuente.

18
Lenguajes de Programación
• Los lenguajes de programación son “idiomas
artificiales” creados por el hombre para dar
instrucciones a equipos computacionales.

19
Lenguajes de Programación
• Los podemos clasificar de diversas maneras.
• Por su complejidad:
• Lenguajes de bajo nivel:
• Cercanos al procesador y por ende más complejos. Ejemplo:
lenguaje de máquina, lenguaje ensamblador (assembler).
• Lenguajes de alto nivel:
• Cercanos al usuario y por ende más “fáciles”. Ejemplo: C, Java.

20
Lenguajes de Programación
• Por la forma como se programan:
• Lenguajes de programación textuales:
• Emplean un conjunto de instrucciones (nomenclatura) como
for, while, if, etc.

• Lenguajes de programación iconográficos:


• Emplean íconos para representar cada una de sus
instrucciones. Ejemplo: Labview, ladder, etc.

21
Lenguajes de Programación
• Independientemente que sean textuales o
iconográficos, estos programas deben ser
convertidos a binario.
• Existen dos formas para que un programa se
convierta en binario:
• Ensamblado: cuando trabajamos con Assembler.
• Compilado: cuando trabajamos con lenguajes de
alto nivel.

22
Lenguajes de Programación

23
Lenguajes de Programación
• Por la forma como se ejecutan:
• Compilados: Cuando todo el programa fuente es
traducido a binario (lenguaje de máquina) para ser
ejecutado. Depende del procesador de la
computadora. Ejemplo: C, C+, etc.

24
Lenguajes de Programación
• Por la forma como se ejecutan:
• Interpretados: Cuando cada instrucción del programa
fuente es traducido a binario para ser ejecutado (uno
por uno). Es independiente del procesador de la
computadora. Ejemplo: Basic, Python, javascript, PHP,
etc.

25
Lenguajes de Programación
• Por la forma como se ejecutan:
• Mixto: Cuando todo el programa fuente es compilado
y convertido a un formato intermedio (bytecode) y
luego cada instrucción es traducido a binario
(interpretado) y ejecutado en una máquina virtual. Es
independiente del procesador de la computadora.
Ejemplo: Java.

26
Programación
• Es el proceso de diseñar, codificar
(programar), depurar (corregir errores) y
mantener programas fuente.

27
Programación
• El propósito de la programación es “decirle a
un equipo computacional” que debe hacer.
• Específicamente se le dice al procesador lo que
debe hacer.
• La programación es un soporte fundamental
de la ingeniería. Las matemáticas son la base
para la programación.

28
Programación
• Que “cosas” podemos programar?
• Cualquier cosa que tenga un procesador
(microprocesador o microcontrolador).

29
Paradigmas de Programación
• “Un paradigma de programación indica un
método de realizar cómputos y la manera en
que se deben estructurar y organizar las
tareas que debe llevar a cabo un programa”
• Los paradigmas fundamentales están
asociados a determinados modelos de
cómputo.
• También se asocian a un determinado estilo
de programación.
Paradigma: conjunto de creencias, prácticas y conocimientos que guían el
desarrollo de una disciplina durante un período de tiempo.

30
Paradigmas de Programación
• Los lenguajes de programación suelen
implementar, a menudo de forma parcial,
varios paradigmas.
• Ejemplo: Python y JavaScript.

31
Paradigmas de Programación: Tipos
• Los paradigmas fundamentales son:
• Enfoque imperativo: indicar el cómo se debe
calcular.
• Enfoque declarativo: indicar el qué se debe
calcular.

32
Paradigmas de Programación: Tipos
• Otros paradigmas se centran en la estructura
y organización de los programas, y son
compatibles con los paradigmas
fundamentales:
• Ejemplos: Programación estructurada, modular,
orientada a objetos (C++), orientada a eventos
(Visual Basic), programación genérica.
• Por último, existen paradigmas asociados a
la concurrencia y a los sistemas de tipado.

33
Paradigmas de Programación: Tipos

34
Paradigma Imperativo
• Describe cómo debe realizarse el cálculo, no el
porqué.
• Un cómputo consiste en una serie de
sentencias, ejecutadas según un control de flujo
explícito, que modifican el estado del
programa.
• Las variables son celdas de memoria que
contienen datos (o referencias), pueden ser
modificadas, y representan el estado del
programa.
• La sentencia principal es la asignación.

35
Paradigma Imperativo
• Es el estándar ‘de facto’.
• Asociados al paradigma imperativo se
encuentran los paradigmas procedural,
modular, y la programación estructurada.
• Lenguajes representativos: Fortran, Cobol, Basic,
Pascal, C, Java, C++, C#, Eiffel, Python, ...

36
Paradigma Declarativo
• Describe que se debe calcular, sin explicitar el cómo.
• No existe un orden de evaluación prefijado.
• Las variables son nombres asociados a definiciones,
y una vez instanciadas son inmutables.
• No existe sentencia de asignación.
• El control de flujo suele estar asociado a la
composición funcional, la recursividad y/o técnicas
de reescritura y unificación.
• Existen distintos grados de pureza en las variantes del
paradigma.
• Las principales variantes son los paradigmas funcional
(Familia LISP), lógico (Prolog), la programación reactiva
(Simulink, LabView) y los lenguajes descriptivos.

37
Tipado
• Es una cualidad de los lenguajes de
programación con la cual establecen el tipo
de datos de las variables.
• Existen básicamente dos tipos:
• Tipado estático.
• Tipado dinámico.

38
Tipado Estático
• Cuando en un lenguaje de programación, la
comprobación de tipificación se realiza
durante la compilación, y no durante la
ejecución.
• El tipado estático permite que los errores de
tipificación sean detectados antes, y que la
ejecución del programa sea más eficiente y
segura.
• Ejemplos: C, C++, Java, etc.

39
Tipado Dinámico
• Cuando en un lenguaje de programación, la
comprobación de tipificación se realiza
durante su ejecución en vez de durante la
compilación.
• El tipado dinámico es más flexible aunque se
ejecutan más lento y son más propensos a
contener errores de programación.
• Ejemplos: Perl, Python, Lisp, etc.

40
Nivel de Tipado
• Existen básicamente dos tipos de nivel:
• Tipado débil
• Tipado fuerte

41
Nivel de Tipado: Fuerte
• Cuando en un lenguaje de programación no
se permiten violaciones de los tipos de
datos, es decir, dado el valor de una variable
de un tipo concreto, no se puede usar como
si fuera de otro tipo distinto a menos que se
haga una conversión.
• Ejemplo: Tipado fuerte
• Int dato = 5; (Dato es entero)
• Dato = Dato + 3.4; (Error)
• Ejemplo: C, Java, Python
42
Nivel de Tipado: Débil
• Cuando en un lenguaje de programación no
es necesario definir el tipo de datos de una
variable. Esto quiere decir que el lenguaje de
programación “asigna” el tipo de datos mas
conveniente.
• Ejemplo: Tipado débil
• Dato = 5; (Asume Dato como entero)
• Dato = Dato+12.67; (Asume Dato como real)
• Programar con un lenguaje de tipado débil
es más fácil. Ejemplo: Javascript, PHP, etc.
43
Lenguaje de Programación: C
• Es un lenguaje compilado, usa tipado
estatico, fuertemente tipado.
• Es multiplataforma, lo cual es ventajoso
para hacer ejecutable su código fuente entre
varios sistema operativos.
• Es un lenguaje de programación que trabaja
con el paradigma estructurado.

44
Lenguaje de Programación: Python
• Es un lenguaje interpretado, usa tipado
dinámico, fuertemente tipado.
• Es multiplataforma, lo cual es ventajoso
para hacer ejecutable su código fuente entre
varios sistema operativos.
• Es un lenguaje de programación
multiparadigma, el cual soporta varios
paradigma de programación como
orientación a objetos, estructurada,
programación imperativa y, en menor
medida, programación funcional.

45
Lenguaje de Programación: Lisp
• LISP (List Processing) 1958, McCarthy
• Orientado a la investigación (Inteligencia
Artificial).
• Basado en s-expresiones.
• Código y datos intercambiables.
• Tipado débil.

46
Lenguajes de Programación: Resumen

47
Lenguajes de Programación: Evolución

48
Lenguajes de Programación: Evolución

49
Lenguajes de Programación: Evolución

50
Programas para hacer Programas
• Los programas se crean mediante otros
programas especializados que nos permiten:
• Escribir o dibujar el programa: se utiliza un editor.
• Detección de errores: una sentencia mal escrita, una
mala definición del tipo de datos para una variable,
etc. A esto se le conoce como depurador (debugger).
• Convertir el programa fuente en código máquina:
llamado compilación o interpretación, dependiendo
del tipo de lenguaje de programación empleado.
• Entorno seguro de ejecución del programa: evita
que por una mala programación la computadora se
"cuelgue".

51
Programas para hacer Programas
• A todas estas funcionalidades se les conoce
como herramientas de desarrollo o SDK
(Software Development Kit) que son
normalmente desarrolladas por el propio
fabricante del lenguaje de programación.
• Cuando todas estas herramientas se integran
en un solo entorno de programación se le
denomina IDE (Integrated Development
Environment).

52
Programas para hacer Programas: IDE
• Para programar se requiere de un entorno
de programación denominado IDE
(Integrated Development Environment).
• Existen básicamente dos entornos de
programación:
• Textual: Las instrucciones del lenguaje de
programación se escriben. La sintaxis es “el
problema”. Ejemplo: C, C++, Python, etc.
• Iconográfico: Las instrucciones del lenguaje
están representados por íconos. Los programas
“se dibujan”.
53
Programas para hacer Programas: IDE
• Un IDE puede dedicarse en exclusivo a un solo
lenguaje de programación o bien puede
utilizarse para varios.
• Los IDE proveen un marco de trabajo amigable
para la mayoría de los lenguajes de
programación tales como: C, C++, PHP, Python,
Java, C#, Delphi, Visual Basic, etc.
• Ejemplos de IDE:
• Netbeans (Open Source) 400MBytes
• Eclipse (Open Source)
• CodeLite (Open Source)
• Dev-C++ (Open Source) 50MBytes
• Borland C (Propietario)

54
Fin

55

También podría gustarte