introducción a la programación de computadores jhon j...

31
Introducción a la programación de computadores Jhon J. Padilla A. , PhD.

Upload: others

Post on 07-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Introducción a la programación de computadoresJhon J. Padilla A. , PhD.

Page 2: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Cómo se comporta un computador?

● Es como un perro tonto (sólo entiende un conjunto limitado de instrucciones) pero muy rápido

Hola, qué quieres que haga a continuación?

Page 3: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Por qué debo aprender a programar?

● Como el computador es tonto, pero muy rápido, debes decirle a cada instante qué hacer.

● Es muy rápido: un computador de 3Ghz te preguntaría 3.000 millones de veces por segundo:

Hola, qué quieres que haga a continuación?

Page 4: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Por qué debo aprender a programar?

● Como los humanos no podemos responder a esa pregunta a esa velocidad, pues debemos escribir un libreto o guión con anticipación (al que llamamos programa)

● El computador leerá el libreto muy rápidamente e irá ejecutando cada orden una por una pero muy rápido.

● Las órdenes del libreto son simples (el perro no puede entender sino unas pocas instrucciones simples).

Page 5: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

EJEMPLO: PROGRAMA PARA DIBUJAR SOBRE CUADRÍCULASADAPTADO DE: CODE.ORG. MAESTRÍA DE CONCEPTOS. [TOMADO EN LÍNEA DE] LEARN.CODE.ORG. [CONSULTADO EN 2014].

5

Page 6: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Asuma que usted tiene un pequeño perro el cual puede ejecutar ciertas órdenes siempre y cuando sean expresadas en el lenguaje que él conoce (Q).

A Usted le corresponde hacer que Robi-Q, dibuje una serie de figuras, por lo tanto organizará sus ideas paso a paso en un guión (algoritmo) y las expresará apropiadamente en un programa del lenguaje Q.

Tomado de: Cartoon robot - cartoon robot movie. [en línea] http://cartoonsr.blogspot.com/2012/12/cartoon-robot-cartoon-robot-movie.html

Robi-Q

6

Hola, qué quieres que haga a continuación?

Page 7: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Mover al cuadro de la derecha

Mover al cuadro de la izquierda

Mover al cuadro superior

Mover al cuadro inferior

Cambiar al siguiente color

Colorear el cuadro

COMANDOS DEL LENGUAJE 1

1, Lenguaje tomado de: Code.org. Cap 4.

Lenguaje Q

7

Tomado de: Cartoon robot - cartoon robot movie. [en línea] http://cartoonsr.blogspot.com/2012/12/cartoon-robot-cartoon-robot-movie.html

Hola, qué quieres que haga a continuación?

Page 8: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Mover al cuadro derecho

Mover al cuadro izquierdo

Mover al cuadro superior

Mover al cuadro inferior

Cambiar al siguiente color

Colorear el cuadro

COMANDOS DEL LENGUAJE 1

1, Lenguaje tomado de: Code.org. Cap 4.

Cómo le indicaría a Robi-Q que coloree esta figura?

Asuma que al momento de iniciar, Robi-Q se encuentra en la celda superior izquierda.

Ejercicio 1

8

Page 9: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

1, Lenguaje tomado de: Code.org. Cap 4.

Desarrolle un algoritmo para colorear las siguientes figuras,Luego desarrolle la codificación correspondiente.En cada caso asuma que Robi-Q está ubicado sobre la celda superior izquierda de cada cuadrícula.

Ejercicio 2

9

Page 10: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Haga seguimiento del bloque de código en lenguaje Q y muestre los resultados en la figura de la derecha.

Ejercicio 3

10

Page 11: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Para qué sirve un computador?

● Nuestros equipos son rápidos, tienen gran cantidad de memoria y podrían resultarnos muy útiles si tan solo conociéramos el lenguaje que debemos hablar para explicar a la máquina qué queremos que “haga a continuación”.

● Si conociéramos ese lenguaje, podríamos pedirle al equipo que realizase tareas repetitivas para nosotros.

● Precisamente, el tipo de cosas que los computadores hacen mejor suelen ser el tipo de cosas que los humanos encuentran aburridas y soporíferas.

Page 12: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Ejemplo

● Echa un vistazo a tres párrafos de un texto y dime cuál es la palabra más utilizada y cuántas veces se ha usado.

● A pesar de que seas capaz de leer y entender las palabras en unos pocos segundos, contarlas resulta casi doloroso, porque no es el tipo de problema que las mentes humanas fueron diseñadas para resolver.

Page 13: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Ejemplo (continuación)

● Para un computador es justo al revés: leer y comprender texto de un trozo de papel es algo complicado para él, pero contar las palabras y decir cuántas veces se ha usado la más frecuente le resulta muy sencillo. Por ejemplo, podríamos hablarle así:– python words.py

– Introduzca fichero:words.txt

– que 8

● Nuestro “asistente de análisis de información personal” nos dirá rápidamente que la palabra “que” se ha usado ocho veces en los tres párrafos de ese texto almacenado en “words.txt”.

Page 14: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Por qué debo saber programar?

● El hecho de que los PCs sean buenos en cosas en las que los humanos no lo son es el motivo por el que necesitas ser capaz de hablar “lenguaje de PC”.

Page 15: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Por qué debo saber programar?● Una vez que hayas aprendido ese nuevo idioma, podrás

delegar tareas mundanas en tu socio (la máquina), dejando más tiempo libre para ti, de modo que puedas dedicarte a aquellas otras cosas para las que estás más capacitado. Serás el encargado de poner la creatividad, intuición e inventiva a esa asociación.

Page 16: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Y para qué sirve un computador?

● Para hacer rápidamente muchos cálculos.● Aplicaciones:

– Financieras

– Económicas

– Videojuegos

– Navegación en internet

– Comunicaciones telefónicas.

– Tareas personales: Agendas

– Control de fábricas

– Aparatos de Medicina

– Control de Electrodomésticos

– Edición de documentos de texto, imágenes, videos

Page 17: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Aplicaciones de la computación

Page 18: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Aplicaciones de los computadores

Page 19: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Cómo está conformado un computador?

Page 20: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Arquitectura interna de un computador

Page 21: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Arquitectura interna de un computador

E/S incluye tarjetas de red

Memoria Secundaria(Disco Duro)

Page 22: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Cómo se representan las instrucciones dadas a un

computador?

Page 23: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Representación instrucciones en un PC

Page 24: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Representación instrucciones en un PC

Page 25: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Pero entonces cómo le doy las instrucciones de una manera

sencilla a mi PC?● Se requiere un sistema operativo que permita leer las letras del

teclado y escribir en pantalla● Se requiere otro programa que interprete un lenguaje escrito más

cercano al humano (lenguaje de programación) y lo convierta a los unos y ceros que entiende el computador. Este programa se llama compilador o intérprete, según sea el caso.

● Hay diferentes lenguajes de programación:– Python

– C, C++

– Basic

– Fortran

– Rubi

– Perl

– etc

Page 26: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Compilador vs. intérprete

● Un intérprete lee el código fuente del programa tal y como lo ha escrito el programador, analiza ese código fuente e interpreta las instrucciones al vuelo.

● Python es un intérprete, y cuando estamos haciéndolo funcionar de forma interactiva, podemos escribir una línea de Python (una sentencia), y Python la procesa inmediatamente y queda listo para que podamos escribir otra nueva línea.

Page 27: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Compilador vs. intérprete

● El intérprete ha sido creado para ser capaz de tener una conversación interactiva.

● Un compilador, en cambio, necesita que le entreguen el programa completo en un archivo, y después ejecuta un proceso para traducir el código fuente de alto nivel a código máquina.

● A continuación el compilador guarda el código máquina resultante en un archivo ejecutable para su posterior ejecución.

Page 28: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Programas ejecutables

● Si usas un sistema Windows, a menudo esos programas ejecutables en código máquina tienen un sufijo (o extensión) como “.exe” o “.dll”, que indican “executable (ejecutable)” y “dynamic link library (librería de enlace dinámico)” respectivamente.

● En Linux y Macintosh no hay un sufijo que marque de forma única un archivo como ejecutable.

Page 29: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Código de máquina

● Si abrieras un archivo ejecutable en un editor de texto, se mostraría algo completamente disparatado e ilegible:

● No es fácil leer o escribir código máquina, así que está bien que tengamos intérpretes y compiladores que nos permitan escribir en lenguajes de alto nivel, como Python o C.

Page 30: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

El lenguaje Python

● En nuestro curso usaremos el lenguaje Python, por ser un lenguaje sencillo y muy usado en el mundo actual.

Page 31: Introducción a la programación de computadores Jhon J ...jpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia... · COMANDOS DEL LENGUAJE 1 1, Lenguaje tomado de: Code.org. Cap 4

Aplicaciones desarrolladas en Python