• No se han encontrado resultados

Conceptos básicos. IC-1800 Introducción a la programación. I semestre,

N/A
N/A
Protected

Academic year: 2021

Share "Conceptos básicos. IC-1800 Introducción a la programación. I semestre,"

Copied!
38
0
0

Texto completo

(1)

Conceptos básicos

(2)

Definiciones Básicas

Hardware: componentes físicos.

→ tangibles

Software: componentes lógicos. → no tangibles

(3)

Computador

Conformado por componentes de Hardware y Software.

Procesa “información” (¿datos?, ¿información?, ¿conocimiento?) Existen analógicos y digitales

Analógicos: circuitos electrónicos, hidráulicos o mecánicos para llevar a cabo operaciones sobre datos continuos.

Digitales*: sistemas contemporáneos, resuelven problemas ejecutando

instrucciones de forma secuencial y operan sobre números no continuos o valores

discretos.

(4)

¿Qué es la programación?

(5)

¿Qué es la programación?

Es una herramienta para solucionar problemas

Requiere de un alto nivel de abstracción

La programación de una solución debe seguir pasos estructurados con el objetivo de

modelar una solución y representarla en un lenguaje de programación

● Modelo → Programa

(6)

Tipos de lenguajes

Natural

Formal

De

(7)

Lenguajes de Programación

Lenguajes Naturales:

● español, portugués, bribrí, quechua....

Lenguajes Formales:

● diseñados para aplicaciones específicas.

Ejemplo la notación matemática, química o los lenguajes de programación.

Los lenguajes constan de un conjunto de símbolos y reglas sintácticas y semánticas que dan sentido a sus elementos y expresiones.

Reglas sintácticas: la forma correcta de expresarse en el lenguaje. (reglas de

sintaxis, están principalmente asociadas con la escritura)

(8)
(9)

Lenguajes de Programación

Nos permiten indicarle a una computadora que realice tareas.

Algunos elementos:

Expresiones básicas: entidades con significado por si mismas.

Maneras de composición o combinación: permite construir elementos más complejos.

(10)
(11)

Lenguajes de Programación

Clasificación de los lenguajes de programación:

Nivel de abstracción

● Forma de ejecución

● Según el paradigma de programación.

Lenguajes de Alto nivel:

● Más “cercanos” al nivel de abstracción del programador

● Deben ser traducidos a lenguaje máquina

Lenguajes de Bajo nivel:

● Lenguaje máquina, ensamblador,

(12)

Lenguajes de Programación

11011010 01000110 10011001 11001100 11110000 11111111

10010100 10111110 11001100 10011001 11011010 01000110

10011001 11001100 11110000 01010101 10101011 11001101

¿Todo código máquina será igual?

(13)

Lenguajes de Programación

Clasificación de los lenguajes de programación:

● Nivel de abstracción

Forma de ejecución (Aplica para lenguajes de Alto Nivel)

● Según el paradigma de programación.

Lenguajes Compilados:

Para ejecutar el programa se debe se traduce todo a lenguaje máquina.

Lenguajes Interpretados:

El código se va traduciendo durante la ejecución del programa en la medida que

(14)

Lenguajes de Programación

Entonces...

● Programa fuente está escrito en un

lenguaje de programación de alto nivel.

● Luego se compila o se interpreta.

● Los programas “ejecutables” siempre

está representados en código máquina.

Preguntas:

Si los dos (compilados e interpretados)

se traducen a código máquina: ¿dónde

está la diferencia?

¿Qué será mejor?

(15)

Clasificación de los lenguajes de programación:

● Nivel de abstracción

● Forma de ejecución

Según el paradigma de programación (Enfoque o filosofía de construcción del

software. Actualmente los programas tienden a soportar múltiples enfoques.)

Clasificación (más común):

● Imperativos o procedimental (Basic, C, Fortran, Pascal)

● Funcionales (Haskell, Miranda. Hibridos: Scheme, Lisp)

● Orientados a Objetos (C++, C#, Delphi, Java)

● Lógicos (Prolog)

(16)

Lenguajes de Programación

● Cada paradigma tienen ventajas y desventajas.

● Dependerá de la naturaleza del problema a solucionar el enfoque más adecuado a

utilizar.

● También influyen los gustos de cada programador ;)

Hay lenguajes que tienen un enfoque multiparadigma: entre estos se incluye:

(17)

Referencias y Lecturas Complementarias

● Material suministrado por el profesor Jeff Schmidt, Instituto Tecnológico de Costa

Rica. I semestre 2011.

(18)

Imágenes

● DVDs de Ubuntu, Kubuntu y SUN Solaris gratis CC BY-NC-ND 2.0 (juanti @ flickr)

● Temporary Rice Cooker CC BY-NC-SA 2.0 (ajalfaro@flickr)

(19)

Las presentaciones para el curso IC-1800:

"Introducción a la Programación" por Ing. En

Computación Alajuela se distribuyen bajo una

Licencia Creative Commons Atribución-Compartir

(20)

Conceptos básicos

IC-1800 Introducción a la programación

(21)

Definiciones Básicas

Hardware: componentes físicos.

→ tangibles

Software: componentes lógicos. → no tangibles

DVDs de Ubuntu, Kubuntu y SUN Solaris gratis CC BY-NC-ND 2.0 (juanti @ flickr)

Categorías* / ejemplos:

● De sistema / Sistemas operativos (Ubuntu)

● De programación / Lenguajes de programación (Python)

● De aplicación / sistemas información, juegos

(Frozen-Bubble)

(22)

Computador

Conformado por componentes de Hardware y Software.

Procesa “información” (¿datos?, ¿información?, ¿conocimiento?) Existen analógicos y digitales

Analógicos: circuitos electrónicos, hidráulicos o mecánicos para llevar a cabo

operaciones sobre datos continuos.

Digitales*: sistemas contemporáneos, resuelven problemas ejecutando

instrucciones de forma secuencial y operan sobre números no continuos o valores

discretos.

** Bajo esta definición abarcamos desde un cajero automático hasta un servidor de alto desempeño, pasando por celulares, microondas, ollas arroceras...

¿La computadora procesa datos, información y/o

conocimiento?

Imágenes:

Temporary Rice Cooker CC BY-NC-SA 2.0

(ajalfaro@flickr)

(23)

¿Qué es la programación?

(24)

¿Qué es la programación?

Es una herramienta para solucionar problemas

Requiere de un alto nivel de abstracción

La programación de una solución debe seguir pasos estructurados con el objetivo de

modelar una solución y representarla en un lenguaje de programación

● Modelo → Programa

(25)

Tipos de lenguajes

Natural Formal De

(26)

Lenguajes de Programación

Lenguajes Naturales:

● español, portugués, bribrí, quechua....

Lenguajes Formales:

● diseñados para aplicaciones específicas.

Ejemplo la notación matemática, química o los lenguajes de programación.

Los lenguajes constan de un conjunto de símbolos y reglas sintácticas y semánticas que dan sentido a sus elementos y expresiones.

Reglas sintácticas: la forma correcta de expresarse en el lenguaje. (reglas de

sintaxis, están principalmente asociadas con la escritura)

Reglas semánticas: determinan el significado de los programas, la lógica.

(27)

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Indice tibe:

(28)

Lenguajes de Programación

Nos permiten indicarle a una computadora que realice tareas.

Algunos elementos:

Expresiones básicas: entidades con significado por si mismas.

Maneras de composición o combinación: permite construir elementos más

complejos.

(29)
(30)

Lenguajes de Programación

Clasificación de los lenguajes de programación:

Nivel de abstracción ● Forma de ejecución

● Según el paradigma de programación.

Lenguajes de Alto nivel:

● Más “cercanos” al nivel de abstracción del programador ● Deben ser traducidos a lenguaje máquina

Lenguajes de Bajo nivel:

(31)

Lenguajes de Programación

11011010 01000110 10011001 11001100 11110000 11111111 10010100 10111110 11001100 10011001 11011010 01000110 10011001 11001100 11110000 01010101 10101011 11001101 ¿Todo código máquina será igual?

(32)

Lenguajes de Programación

Clasificación de los lenguajes de programación:

● Nivel de abstracción

Forma de ejecución (Aplica para lenguajes de Alto Nivel) ● Según el paradigma de programación.

Lenguajes Compilados:

Para ejecutar el programa se debe se traduce todo a lenguaje máquina.

Lenguajes Interpretados:

El código se va traduciendo durante la ejecución del programa en la medida que

(33)

Lenguajes de Programación

Entonces...

● Programa fuente está escrito en un

lenguaje de programación de alto nivel.

● Luego se compila o se interpreta. ● Los programas “ejecutables” siempre

está representados en código máquina.

Preguntas:

Si los dos (compilados e interpretados)

se traducen a código máquina: ¿dónde

está la diferencia?

¿Qué será mejor?

Programa Fuente Programa Ejecutable Compilador * Programa Ejecutable * Intérprete

El intérprete toma el código fuente y ejecuta en un solo

paso (línea por línea), técnicamente no crea un

(34)

Clasificación de los lenguajes de programación:

● Nivel de abstracción ● Forma de ejecución

Según el paradigma de programación (Enfoque o filosofía de construcción del

software. Actualmente los programas tienden a soportar múltiples enfoques.)

Clasificación (más común):

● Imperativos o procedimental (Basic, C, Fortran, Pascal) ● Funcionales (Haskell, Miranda. Hibridos: Scheme, Lisp) ● Orientados a Objetos (C++, C#, Delphi, Java)

● Lógicos (Prolog)

(35)

Lenguajes de Programación ● Cada paradigma tienen ventajas y desventajas.

● Dependerá de la naturaleza del problema a solucionar el enfoque más adecuado a

utilizar.

● También influyen los gustos de cada programador ;)

(36)

Referencias y Lecturas Complementarias

● Material suministrado por el profesor Jeff Schmidt, Instituto Tecnológico de Costa

Rica. I semestre 2011.

(37)

Imágenes

● DVDs de Ubuntu, Kubuntu y SUN Solaris gratis CC BY-NC-ND 2.0 (juanti @ flickr) ● Temporary Rice Cooker CC BY-NC-SA 2.0 (ajalfaro@flickr)

(38)

23

Las presentaciones para el curso IC-1800: "Introducción a la Programación" por Ing. En Computación Alajuela se distribuyen bajo una Licencia Creative Commons Atribución-Compartir

Igual 3.0 Costa Rica.

http://creativecommons.org/licenses/by-sa/3.0/cr/http://creativecommons.org/licenses/by-sa/3.0/cr/

Referencias

Documento similar

• Lenguajes de programación de alto nivel: Este tipo de lenguajes de programación son independientes de la máquina, lo podemos usar en cualquier computador con muy pocas

Cada una de las partes de la prueba se calificará de 0 a 10 puntos; la nota final de la prueba será el 80 % de la media aritmética de ambas partes, siendo la máxima puntuación

Para comunicación con el PC y otros periféricos Arduino UNO → un único puerto serie. Puerto

8) Identificar, en términos generales, sus necesidades, metas y preferencias de aprendizaje. 9) Usar la lengua como instrumento de aprendizaje y de acceso al

También especificamos los objetivos, contenidos y criterios de evaluación del método de lectoescritura Molalaletra, del método ABN para el aprendizaje de las matemáticas y

Es por esto que los beneficios del estudio se pueden ver reflejados en el paciente, la institución de salud y el profesional de Enfermería, ya que por medio de este reconocimiento

Teresa de los Ángeles obtienen nivel bajo de Comprensión lectora de complejidad lingüística progresiva y el 19% tienen nivel alto, de esta forma, encontramos similitud con

Es necesario aumentar el acceso a internet en los países en desarrollo para que los jóvenes de esas regiones puedan acceder a un abanico de información más amplio y a los nuevos