Beruflich Dokumente
Kultur Dokumente
Introduccin a la Programacin
semestre de 2016
Introduccin a la Programacin
Prctica 1 Introduccin
Versin del 16 de febrero de 2016
Se
sos
recuerda
de
la
que
tanto
materia,
se
esta
prctica
encuentran
como
las
disponibles
siguientes,
para
descargar
los
dems
en
la
recur-
direccin
La matemtica y la computacin
En este captulo vamos a trabajar con dos mundos que estn muy relacionados: el de la matemtica
y el de la computacin, empezando con el primero que nos es mucho ms conocido.
0
cualquiera puede entender que nos referimos al cero. Lo mismo pasa con 1, 20 45. Pero, qu pasa
si escribimos
1 + 1?
Simple, todos sabemos que uno mas uno es dos. Lo interesante ac es que hemos
logrado expresar al dos sin escribir 2 en ninguna parte. Lo hicimos a partir de una frmula, calculando
cuanto daba la suma de 1 ms 1. Decimos que el ms es un operador, el de la suma, pero hay otros: el
operador resta (-), el de multiplicacin(*) y el de divisin(/) son ejemplos clsicos. Veamos otra frmula:
2+34
Esta vez, tenemos que recordar que la multiplicacin tiene prioridad sobre la suma, por lo que se
resuelve primero. Es decir, lo anterior es equivalente a
2 + (3 4)
lo cual a su vez equivale a
2 + 12,
ya que
34
es
12.
hemos expresado a un nmero el catorce sin escribirlo explcitamente, sin poner
14
14.
en ningn lado. Y
x/4
donde
x es el precio total de la comida, no hace falta saber a priori cuanto ser el total para saber la cuenta
que hay que hacer, para cualquier comida siempre dividimos el total por 4. Ahora s, si maana vamos y
gastamos 40, haremos
40/4
10,
o si gastamos 80 haremos
80/4
Lo til es que la frmula aplica para cualquier precio (para todo lo dems tenemos MasterCard).
Ahora, qu pasa si tampoco sabemos cuantos comensales seremos? Podemos tomar la ecuacin de
arriba y cambiar el 4 por una variable:
x/y
donde
x/4,
Pgina 1 de 6
1er
Introduccin a la Programacin
semestre de 2016
Expresiones y reducciones
Pasamos ahora al aspecto tcnico, as que presten mucha atencin! Diremos que una expresin es una
combinacin de nmeros y variables mediante operaciones. Ejemplos de expresiones son:
2+2
x+1
(x x) + 1
x+y4
2xy
b2 4ac
2a
Las expresiones suelen poder reducirse a otras equivalentes pero ms sencillas. Cuando no pueden
reducirse ms decimos que son irreducibles. En el ejemplo anterior, la expresin 0 representa al cero, y no
que
cero. Tambin debemos cuidarnos de las cosas que parecen expresiones pero no lo son, por estar mal
escritas, como por ejemplo:
2+ 5
2+3 +
x + 5/
Programas
Un programa no es muy distinto de una serie de expresiones matemticas escritas una atrs de la
otra, con nmeros, variables y operaciones. Al correr el programa, las lneas se han de ejecutar en orden,
una a la vez, como si las furamos poniendo en una calculadora. Dicho de otra manera, un programa es
una lista de operaciones que deben seguirse en orden para poder realizar un clculo (de manera similar
a lo que una receta de cocina es a un postre). Veamos un ejemplo bien simple:
x = 5
print(x )
Nos preguntamos qu hace este programa al ejecutarse? Lo primero que vemos es que el programa
tiene dos lneas, lo primero que se calcular es la primera lnea,
x = 5
y luego la segunda
print(x)
Una de las diferencias ms notorias entre la matemtica y un programa es que en el caso de los
programas, las variables pueden tener un valor en cierto momento y otro distinto luego, algo que no pasa
en matemtica.
En este caso, la primera lnea se lee as: a la variable x le asignamos el valor 5. Ojo, no signica que
x y 5 son lo mismo, ni que son iguales. Lo que signica es que la variable x va a guardar el valor 5 a
partir de esa lnea hasta que otra lnea le cambie el valor. Despus, se pasa a ejecutar a la segunda lnea
print(x),
en la pantalla. Como a
se le ha asignado el valor 5, en
la pantalla se mostrar un 5. Despus de eso no hay ms lneas de cdigo as que el programa termina.
Ntese que
es tan solo el nombre que tiene la variable dentro del programa, y el usuario eso no lo ve.
Cadenas
Adems de los nmeros, nos ser til trabajar con texto. Para eso vamos a utilizar las cadenas. Una
cadena es simplemente una tira de smbolos (como los que vemos en el teclado de una computadora y
algunos ms). Las cadenas se escriben entre comillas, veamos algunos ejemplos:
" Soy
una
cadena "
Pgina 2 de 6
1er
Introduccin a la Programacin
x =
input(Ingrese
print(El
print(x )
semestre de 2016
su nombre )
x =
input(Ingrese
su nombre )
se asignar a la variable
nombre
Ingrese su
es el texto que se le mostrar al usuario al momento de ejecucin, para que sepa qu dato se le
est pidiendo.
Luego
print(El
tenemos
al
print(x)
mismo
que
tenamos
antes,
pero
precedido
por
un
nombre ingresado es ) , que sirve para que en la pantalla se lea al terminar El nom-
bre ingresado es y luego el valor de la variable x, que fue asignado con la cadena que ingres el
usuario.
Inicialmente, vamos a esquematizar a los programas dividindolos de la siguiente manera:
1. Entrada de datos
2. Clculo y procesamiento
3. Salida de resultados
Por ahora, vamos a hacer programas que sirvan para resolver cuentas, como una calculadora. Ms
tarde, a lo largo de las prcticas, iremos introduciendo de a poco otras aplicaciones de los programas.
Programas en
Python
A la hora de escribir programas en una hoja de papel, uno puede tomarse ciertas licencias porque
en esos casos no hace falta que el programa sea entendido por una computadora. Pero cuando quiere
que as sea, es necesario escribir los programas en un lenguaje de programacin real. En nuestro caso,
el lenguaje es
Python.
Java,
Pgina 3 de 6
1er
Introduccin a la Programacin
semestre de 2016
Notas preliminares
Los ejercicios marcados con el smbolo
Ejercicio 1
Escribir en papel, separando con una echa (), cada paso de las reducciones de las siguientes expresiones matemticas hasta hallar el valor nal al cual se reducen. (Ejemplo:
1.
20 + 12 13
2.
17/15 + 30
3.
17/15 30
4.
(17/15) 30
Ejercicio 2 F
Dar expresiones de cdigo tal cual como las escribira en python para calcular las siguientes expresiones
matemticas.
x
y +
x+y
xy
x+ y
z
x y
z
[(x + y)2 ]2
Ejercicio 3
Escribir la expresin matemtica que representa al resultado de la suma de dos nmeros cualesquiera.
Escribir en papel un programa que pida al usuario dos valores cualquiera e imprima en pantalla la
suma de ambos.
Ejercicio 4
Escribir una expresin matemtica que dado un nmero natural evale al siguiente nmero ms
grande. Por ejemplo, dado el nmero 1 el resultado de evaluar la expresin es 2, dado 37 el resultado
es 38.
Escribir en papel un programa que pida al usuario un valor entero y devuelva el siguiente nmero
ms grande.
Ejercicio 5
Escribir una expresin matemtica que describa el promedio entre dos nmeros.
Escribir en papel un programa que pida al usuario dos nmeros y muestre por pantalla su promedio.
Ejercicio 6 F
Escribir un programa en la computadora que imprima en pantalla
Pgina 4 de 6
1er
Introduccin a la Programacin
semestre de 2016
Ejercicio 7
Escribir un programa en la computadora que imprima en pantalla
v
e
r
t
i
c
a
l
con un solo
print.
Ayuda, usar:
print("\n")
Ejercicio 8 F
Escribir un programa en Python que imprima la siguiente gura en la pantalla:
*****
*
*
*
*
*
*
*****
con un solo
print.
Ejercicio 9 F
Escribir un programa en Python que imprima la siguiente gura en la pantalla utilizando un solo
print:
*
***
*****
*******
*********
Ejercicio 10 F
Escribir un programa en Python que pida un dato al usuario y lo imprima por pantalla.
Ejercicio 11 F
Escribir un programa en Python que pida al usuario que ingrese un valor y luego imprima en la
pantalla:
******************************
* El resultado es: <valor>
******************************
donde en vez de
<valor>
Ejercicio 12 F
Pasar los ejercicios 2, 3, 4 y 5 hechos en papel a programas en Python y probarlos.
Ejercicio 13 F
Suponga que una persona desea invertir su capital en un banco y quiere saber cunto dinero tendr en
su cuenta si el banco incrementa el
6%
Pgina 5 de 6
1er
Introduccin a la Programacin
semestre de 2016
Ejercicio 14 F
Una empresa telefnica desea un programa para calcular el importe de sus clientes. Sabiendo que el
costo por comunicacin es de
$3
$0, 25
ingresar la cantidad de llamadas realizadas y el tiempo total de comunicacin, el programa debe devolver
el precio a cobrar.
Ejercicio 15 F
Un vendedor recibe un sueldo base de
$7000
ms un
10 %
cuenta el sueldo bsico y la comisin por las ventas. Hacer un programa que solicite el monto de cada
una de las ventas del mes e indique cul ser el sueldo nal del vendedor.
Ejercicio 16 F
Determinar cuntos segundos tiene una hora, y cuntos tiene un da.
Escribir una expresin matemtica que transforme un lapso de tiempo expresado en segundos a uno
expresado en minutos.
Escribir otra para transformar a horas y una ltima que transforme a das.
Escribir un programa en Python que pida al usuario una cantidad de segundos y muestre cuantos
minutos son, as como tambin cuantas horas y cuantos das.
Ejercicio 17 F
Escribir una expresin que dada una cantidad de segundos, evale a la cantidad de horas que stos
representan, pero esta vez descontando el total de das completos. Por ejemplo: 90.000 segundos
equivalen exactamente a 1 da y 1 hora, por lo que dados 90.000 segundos la expresin debera dar
1 hora.
Ayuda: Suponer que cuenta con el operador a %b que da el resto de hacer la divisin a/b.
dem punto anterior para minutos y segundos.
Escribir un programa en Python que pida al usuario una cantidad de segundos y muestre en pantalla
la cantidad de das, minutos y segundos que representa. Por ejemplo, si el usuario ingresa
segundos el programa debe mostrar por pantalla:
da
horas
minuto
86461
segundo.
Ejercicio 18 F
Escribir en Python un programa que pida al usuario que ingrese dos valores y los guarde en dos
variables,
y.
<x>
<y>
Ejercicio 19 F
Escribir en Python un programa que pida al usuario que ingrese tres valores y los guarde en tres
variables,
x, y ,
z.
y, y
el de
el de
x.
x, y
<x>, <y>
<z>
Pgina 6 de 6
z,
es decir,