Introducción y reglas del curso

Introducción a la Programación
Programación
http://progra.usm.cl
UTFSM
IWI-131 (UTFSM)
Programación
1 / 17
Evaluaciones
Tres certámenes.
Tres tareas en equipo.
Varias actividades en equipo.
Un certamen recuperativo (reemplaza el peor certamen)
Asistencia Ayudantı́as (reemplaza el peor trabajo en
equipo)
Nota final:
Si PC ≥ 55:
NF = 0,60 · PC + 0,2 · PT + 0,2 · PAE.
Sino:
NF = PC.
IWI-131 (UTFSM)
Programación
2 / 17
Página web del ramo
http://progra.usm.cl
información del ramo,
materia,
ejercicios,
material subido por el profesor,
entrega de tareas.
http://twitter.com/progra_usm
http://facebook.com/ → Programación USM
noticias,
anuncios,
consultas.
IWI-131 (UTFSM)
Programación
3 / 17
IWI-131 (UTFSM)
Programación
4 / 17
Programación
Problema
Entrada −→ Salida
Algoritmo
Secuencia de pasos para resolver un problema
Programa
Secuencia de instrucciones descritas en un lenguaje que puede
ser entendido por el computador
IWI-131 (UTFSM)
Programación
5 / 17
Ejemplos de problemas
Una función lineal
y = ax + b
IWI-131 (UTFSM)
¿?
Programación
Los ceros
de la función
6 / 17
Ejemplos de problemas
Una función real
cualquiera f (x)
IWI-131 (UTFSM)
¿?
Programación
Los ceros
de la función
7 / 17
Ejemplos de problemas
Un conjunto de
números
IWI-131 (UTFSM)
¿?
Programación
Los números
ordenados
de menor a mayor
8 / 17
Ejemplos de problemas
Un conjunto
de ciudades
IWI-131 (UTFSM)
¿?
Programación
El camino más
corto que recorre
las ciudades
9 / 17
Ejemplos de problemas
Un mensaje de email
IWI-131 (UTFSM)
¿?
Programación
La probabilidad de
que sea spam
10 / 17
Ejemplos de problemas
Mediciones de
sismógrafos
IWI-131 (UTFSM)
¿?
Programación
“Sı́ habra tsunami”
o “no habrá tsunami”
11 / 17
Ejercicio
Ejercicio: diseñe un algoritmo para determinar si un número
natural n es primo o compuesto.
Un número natural
n
IWI-131 (UTFSM)
¿?
Programación
“n es primo” o
“n es compuesto”
12 / 17
Solución en lenguaje natural
Buscar algún valor d que esté entre 2 y n − 1 que sea divisor de
n.
Si existe por lo menos uno de estos valores, entonces n es
compuesto; o si no, es primo.
IWI-131 (UTFSM)
Programación
13 / 17
Solución en diagrama de flujo
inicio
Leer n
es primo = sı́
d=2
¿d < n?
sı́
no
¿d | n?
d = d+1
sı́
no
es primo = no
¿es primo?
sı́
Escribir n, “es primo”
no
Escribir n, “es compuesto”
IWI-131 (UTFSM)
Programación
fin
14 / 17
Solución en pseudocódigo
leer n
es primo = verdadero
d=1
mientras d menor n:
si n es divisible por d:
es primo = falso
d=d+1
si es primo es verdadero:
escribir “n es primo”
o si no:
escribir “n es compuesto”
IWI-131 (UTFSM)
Programación
15 / 17
Solución en Python
n = int(raw_input('Ingrese n: '))
es_primo = True
d = 2
while d < n:
if n % d == 0:
es_primo = False
d = d + 1
if es_primo:
print n, 'es primo'
else:
print n, 'es compuesto'
IWI-131 (UTFSM)
Programación
16 / 17
IWI-131 (UTFSM)
Programación
17 / 17