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