clase 3valhalla.fcaglp.unlp.edu.ar/computacion/teorias/clase-03... · clase 3 fuentes: department...

42
CLASE 3 Fuentes: Department of Computer & Information Science, IUPUI + Farah Fisher

Upload: nguyenminh

Post on 10-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

CLASE 3 Fuentes: Department of Computer & Information Science, IUPUI + Farah Fisher

Más sobre linux – Comando: lpr • Para enviar un archivo a imprimir se usa “lpr”

Comando: lpr

$ lpr nombre-del-archivo $ lpr –P nombre-de-la-impresora nombre-del-archivo ¿Qué impresoras hay? $ lpstat –a $ lpr –P HP_LaserJet_Progessional_M1132_MFP arch1.ps

Comando: lpr

Comando: wget • Se usa para traer archivos a través de la red (es no-

interactivo => …)

$ wget [opción] [ URL ] URL: Uniform Resource Locator = cadena de caracteres compacta que representa un recurso disponible por internet. $ wget –r –tries=10 http://fly.srk.fer.ht/ -o log -c / -i file / -r

Comandos: gzip gunzip • Para comprimir archivos se usa: $ gzip archivo1 -> archivo1.gz Para des-comprimir archivos se usa: $ gunzip archivo-gzippeado.gz

Comando: tar • Para ‘pegar’ un archivo a continuación de otro, en uno

nuevo, se usa “tar”

$ tar –c –v –f archivo.tar arch1 arch2 … -cvf • Para la operación inversa:

•  $ tar –xvf archivo.tar

Comandos: mount umount •  $ mount /media/flash

•  $ umount /media/flash

Comandos en ‘segundo plano’ • En linux es posible estar corriendo, en una misma ventana,

un comando –que puede ser interactivo-, mientras uno o más comandos corren en un segundo plano.

Para mandar a segundo plano la ejecución de un comando: •  $ comando & •  $

Cursores •  Los cursores tienen las siguientes acciones

recorrer el comando escrito invocar el comando anterior invocar el comando siguiente

Tecla TAB: completa lo escrito

PROGRAMACIÓN

¿Qué es ‘programar’? • Darle instrucciones a una computadora para que

complete una tarea; PROGRAMA: conjunto de instrucciones.

•  Las instrucciones se tienen que escribir en un lenguaje que la coputadora entienda.

•  Los lenguajes de programación se usan para escribir programas.

• El lenguaje usado no debe tener ambigüedades • El orden de las instrucciones es determinante de la

solución correcta del problema.

¿Qué es ‘programar’? • Una vez que el código (lenguaje) de un programa ha sido

escrito, se debe ‘ejecutar’ (=correr, hacer funcionar, etc)

•  Los programas se ejecutan •  tipeando su nombre en una terminal, •  usando una palabra como RUN y el nombre del programa, •  haciendo doble-click con el mouse sobre el nombre/ícono del

programa.

Aspecto de los programas • Set de instrucciones como la siguiente: (para imprimir la palabra HI):

Lenguaje Instruccion

•  Logo PR [HI] •  JavaScript alert(“HI”); •  FORTRAN PRINT “HI” •  BASIC PRINT “HI” •  COBOL DISPLAY ‘HI’. •  C++ printf(“HI”); •  Pascal WRITELN(‘HI’); •  Assembly XPRNT MESSAGE1

Language MESSAGE1 DC ‘HI’

Creación de un programa 1.  Decidir los pasos a seguir para realizar la tarea 2.  Escribir los pasos 3.  Traducir lo anterior al lenguaje de

programación elegido 4.  Probar (=controlar, chequear) el programa y

corregirlo en caso necesario.

Creación de un programa

• Al procedimiento que describe, en orden, las acciones a seguir por la computadora para llegar al resultado deseado se lo llama

ALGORITMO (guía de cómo trabajará el programa de computadora)

Bases de la programación

1.  LEER y entender el problema

2.  a. PENSAR las diferentes soluciones al mismo y b. DISEÑAR una estrategia para solucionarlo

3.  IMPLEMENTAR el diseño

4.  PROBAR si funciona (… volver a 2b)

2.  PENSAR en la solución muchas veces significa separar tareas complejas en otras más sencillas y fáciles de entender

• Estas tareas deben estar bien definidas y ser acotadas y fáciles de entender

• El ORDEN en el cual las tareas se acomodan es muy importante.

Bases de la programación

Orden de las tareas

RESULTADO •  Llegan frescos y ávidos de escuchar la clase

RESULTADO •  Llegan empapados de mal humor.

Venida a la clase del viernes •  Levantarse •  Sacarse el piyama •  Ducharse •  Vestirse •  Desayunar •  Viajar a FCAG

de computación (8:30) •  Levantarse •  Sacarse el piyama •  Vestirse •  Ducharse •  Desayunar •  Viajar a FCAG

Bases de la programación • A veces, el algoritmo se expresa como una serie de

pasos usando algo que se llama pseudocódigo

•  Está escrito en un lenguaje para que se lo entienda fácilmente (español), pero en un modo similar al que lo codificaríamos usando un lenguaje de programación moderno.

•  Parece una receta; debe estar en el orden correcto.

Bases de la programación

Ejercicio: crear una serie de instrucciones que nos digan

• Cómo comer una banana

Escribir las instrucciones lo más detalladamente posible, para que alguien que nunca comió una banana las pueda entender

CÓMO COMER UNA BANANA: LISTA DETALLADA DE INSTRUCCIONES 1.  Usando su mano, tome una fruta amarilla, con

forma de luna creciente, que se llama “banana” 2.  Pele la piel exterior o cáscara de la banana

(rompiendo el piquito superior y tirando) 3.  Coma la banana

1.  Ponga una porción pequeña de la banana en su boca 2.  Muerda la banana 3.  Mastique la banana abriendo y cerrando la boca 4.  Una vez que está toda masticada, trague la banana 5.  Repita hasta que la banana se termine

4.  Tire a la basura la cáscara de la banana

Bases de la programación

•  El algoritmo también puede escribirse como un DIAGRAMA DE FLUJO

•  El DIAGRAMA DE FLUJO es un esquema o dibujo que ayuda a organizar las ideas

•  Usa una colección de símbolos básicos que sirven para organizar el algoritmo

•  Estos símbolos se conectan entre sí por flechas que muestran cómo el algoritmo “fluye”

Símbolos del DIAGRAMA DE FLUJO

• START/END (comienzo/fin)

•  INPUT/OUTPUT (entrada/salida de datos)

• PROCESO • DECISIÓN

Símbolos del DIAGRAMA DE FLUJO

• START/END • Se usa al comienzo y al final de cada diagrama de flujo

Símbolos del DIAGRAMA DE FLUJO

•  INPUT/OUTPUT • Muestra cuando el programa pide información o datos, y cuando arroja resultados.

Símbolos del DIAGRAMA DE FLUJO

• PROCESO • Se usa para mostrar cálculos, almacenamiento de datos en “variables”, y otros procesos que tienen lugar durante un programa.

Símbolos del DIAGRAMA DE FLUJO

• DECISIÓN • Se usa para mostrar que

el programa debe decidir si algo (en general, una comparación entre números) es verdadero o falso. Del símbolo se dibujan las ramas para el caso verdadero (SÍ o YES), y falso (NO).

Y

N

X>7?

Ejercicio: construir un diagrama de flujo para que se lea un valor, se multiplique por 2, y se muestre el valor entrado y el resultado.

Bases de la programación

Bases de la programación COMIENZO

LEER UN VALOR

MULTIPLICAR EL VALOR POR 2 Y GUARDARLO EN

EL LUGAR X

MOSTRAR EL VALOR INGRESADO Y X

FIN

Bases de la programación COMIENZO

DESAYUNAR

VESTIRSE

DUCHARSE

SACARSE EL PIYAMA

LEVANTARSE

VIAJAR A FCAG

FIN

Ejemplo de Pseudocódigo •  Tarea: sumar dos números • Pseudocódigo:

•  Comienzo •  Leer dos números •  Sumarlos •  Imprimir el resultado •  Fin

El Diagrama de flujo

• El pseudocódigo de la diapositiva anterior tendrá la forma:

Comienzo

Leer 2 números

Sumarlos

Imprimir elresultado

Fin

Ejemplo: Calcular la edad y escribir ‘anciano’ si es mayor a 90

• Pseudocódigo: •  Comienzo •  Leer el año de nacimiento •  Calcular la edad •  Imprimir la edad •  Si edad > 90 imprimir ANCIANO •  Fin

Ejemplo: Calcular la edad y escribir ‘anciano’ si es mayor a 90

• Pseudocódigo: •  Comienzo •  Leer el año de nacimiento •  Calcular la edad •  Mostrar la edad •  Si edad > 90 imprimir ANCIANO •  Fin

• Pseudocódigo: •  Comienzo •  Leer el año de nacimiento •  Calcular la edad •  Mostrar la edad •  Si edad > 90 imprimir ANCIANO •  Fin

Leer año denacimiento

Calcular edad

Imprimir edad

Edad>90?ANCIANOY

N

Comienzo

FIN

Ejemplo: Calcular la edad y escribir ‘anciano’ si es mayor a 90

Tarea • Escribir un pseudocódigo y crear un diagrama de flujo

para un programa que calcule el promedio de tres notas y lo imprima.

•  La palabra APROBADO debe escribirse si el promedio de las notas es mayor a 8.

Ejemplo

•  Problema: ¿cómo hacer una taza de té? •  Idear un algoritmo para la solución.

RECORDAR: planear el algoritmo ANTES de empezar a codificar (escribir en lenguaje de programación)

1.  Hervir el agua 2.  Poner té en la taza 3.  Poner el agua

hirviendo en la taza

Programa (1) para hacerse un té

¿Tiene agua la pava?

Ponerla a hervir

Poner agua hirviendo en la taza

Llenar la pava No

Yes

Poner saquito de té en una taza

Mejorando el programa

Llenado de la pava

Abrir la canilla

Esperar

¿Está llena la pava?

Yes

No

Cerrar la canilla

Poner la pava bajo la canilla

¿Hirvió el agua?

Poner el agua en la taza

Hervor

Encender el gas

Esperar

No

Yes

Poner la pava a calentar sobre la hornalla

¿La pava tiene agua?

No

Yes

Poner té en la taza Poner agua hirviendo en la taza

Programa (2) para hacerse un té

FIN CLASE 3