Anda di halaman 1dari 31

Programaciones de

computadores
Semana 1
¿Cómo vamos a interactuar?
• Resolveremos inquietudes, no haremos “otra” teleconferencia con el
material ya expuesto en el material del curso.

• Las inquietudes deben irlas compartiendo en el foro, chat o correo


electrónico.

• La idea es que no sea un monólogo de la tutora sino que podamos


conversar e interactuar entre otros.
¿Cómo serán nuestras conversaciones?

Video
¿Qué acuerdos podemose establecer para
facilitar nuestra comunicación?
• Resolveremos inquietudes, no haremos “otra” teleconferencia con el
material ya expuesto en el material del curso.

• Las inquietudes deben irlas compartiendo en el foro, chat o correo


electrónico.

• La idea es que no sea un monólogo de la tutora sino que podamos


conversar e interactuar entre otros.
Desarrollo de los temas
• Unidad 1: Semanas 1 y 2
• Modelado y especificación de algoritmos
• Construcción de algoritmos
• Elementos formales del lenguaje Java (I)
• Unidad 2: Semanas 3 y 4
• Control del flujo de programas y Ciclos
• Modelado y especificación de problemas
• Herramientas de desarrollo
• Unidad 3: Semanas 5 y 6
• Árboles de decisión e instrucciones condicionales
• Instrucciones repetitivas
• Unidad 4: Semanas 7 y 8
• Arreglos, matrices y cadenas.
• Relaciones de recurrencia.
• Planteamiento de soluciones
Evaluaciones
Semana INDIVIDUAL GRUPOS DE 5 PERSONAS
No se aceptan individuales
3 Quiz 1
4 Examen Parcial
5-6 Foro grupal

7 Quiz 2
8 Examen Final
Descargar Bluej
http://www.bluej.org/download/download.html
En lectura uno semana dos.
¿Qué es la programación de computadores?
Es el proceso de:
diseñar
escribir
depurar y
mantener

el código fuente de programas computacionales


¿Qué es un programa computacional?
Un conjunto de instrucciones que se da a una
computadora para que ejecute una o varias
tareas.

Sin el programa computacional o informático el


computador no hace nada.
¿Para qué hacemos programas
computacionales?

Resolver un problema o satisfacer


una necesidad específica
¿Qué es un problema?
Se tiene un problema cuando se desea encontrar uno o varios objetos
desconocidos (ya sean estos números, diagramas, figuras,
demostraciones, decisiones, posiciones, algoritmos, u otras cosas), que
cumplen condiciones y/o relaciones, previamente definidas, respecto a
uno o varios objetos conocidos.

De esta manera, solucionar un problema es encontrar los objetos


desconocidos de dicho problema.
Algorítmicos
Soluble
No
Tipos de algorítmicos
Insoluble
problemas

Indecidible
¿Qué es un algoritmo?
Un ALGORITMO es una secuencia finita ‘bien definida’ de tareas ‘bien
definidas’, cada una de las cuales se puede realizar con una cantidad
de recursos finitos.
Se dice que una tarea esta ‘bien definida’, si se sabe de manera
precisa las acciones requeridas para su realización.

Además, se dice que una secuencia de tareas esta ‘bien definida’ si se


sabe el orden exacto de ejecución de cada una de las mismas.
Recordando pensamiento algorítmico
Algoritmo para desarrollarPproblemas estructurados
¿Para qué aprender a programar?
¿Cómo elaborar un programa?
1. Diálogo: comprender totalmente el problema a resolver.
2. La Especificación: establecer de manera precisa las entradas,
salidas y las condiciones que deben cumplir.
3. Diseño: construir un algoritmo que cumpla con la especificación.
4. Codificación: traducir el algoritmo a un lenguaje de programación.
5. Prueba y Verificación: realizar pruebas del programa implementado
para determinar su validez en la resolución del problema.
Diálogo
P
En el primer paso en el proceso de solución a un problema se debe
determinar de manera clara y concisa la siguiente información:
1. Los objetos conocidos, es decir, aquellos objetos de los cuales
poseemos información total o parcial útil en la búsqueda de los
objetos desconocidos.
2. Las condiciones, aquellas relaciones establecidas entre los objetos
conocidos y los desconocidos. Para esto se deben encontrar entre
otras, la dependencia entre los valores de los objetos desconocidos
de los valores de los objetos conocidos y qué restricciones le
impone el planteamiento del problema a dichos objetos.
3. Los valores posibles que pueden tomar los objetos desconocidos.
Diálogo
P

Entradas Recibe
Programa Genera Salidas
• ¿Qué información conozco? ¿Qué • ¿Qué es lo que quiero
objetos son conocidos? obtener?
• ¿Qué de esta información es relevante • ¿Cuáles son los objetos que
para resolver el problema?
desconozco?
• ¿Cómo son esos objetos? ¿Qué
características tienen? • ¿Cómo son esos objetos?
• ¿Qué relaciones hay entre estos objetos ¿Qué características tienen?
y entre estos y los objetos ¿Qué valores puede o no
desconocidos? tomar?
• Precondiciones • Poscondiciones
Especificación

Entradas Recibe
? Genera Salidas

• ¿Qué debe hacerse con las entradas para generar las salidas?
• Dicho de otra manera, ¿Cuál es el algoritmo que permite encontrar la solución?
Especificación

Entradas Recibe
? Genera Salidas

• Un algoritmo que no esté claramente especificado puede ser


interpretado de diferentes maneras y al diseñarlo se puede terminar
con un algoritmo que no sirve para solucionar el problema.
Características del algoritmo

Precisión Determinismo Finitud

Hay un orden
Todas las veces que se realicen El algoritmo debe
preciso en el cual
las tareas o pasos de un terminar en algún
deben ejecutarse
algoritmo, con las mismas momento y debe
las tareas que
condiciones iniciales, se de-ben usar una cantidad
conforman el
obtener resultados idénticos. finita de recursos.
algoritmo.
Especificación
¿Cómo se especifica un algoritmo?
La especificación de un algoritmo se hace mediante
una descripción clara y precisa de:
• Las entradas que el algoritmo recibirá.
• Las salidas que el algoritmo proporcionará.
• La dependencia que mantendrán las salidas obtenidas
con las entradas recibidas.
• La formulación del algoritmo
Ejemplo
P
Construir un algoritmo que calcule el promedio de cuatro (4) notas.

Programa Genera Salidas


• ¿Qué es lo que quiero
obtener?
• ¿Cuáles son los objetos que
desconozco?
• ¿Cómo son esos objetos?
¿Qué características tienen?
¿Qué valores puede o no
tomar?
• Poscondiciones
Ejemplo
P
Construir un algoritmo que calcule el promedio de cuatro (4) notas.

Programa Genera Salidas


Diálogo
P

Entradas Recibe
Programa Genera Salidas
• ¿Qué información conozco? ¿Qué
objetos son conocidos?
• ¿Qué de esta información es relevante
para resolver el problema?
• ¿Cómo son esos objetos? ¿Qué
características tienen?
• ¿Qué relaciones hay entre estos objetos
y entre estos y los objetos
desconocidos?
• Precondiciones
Diálogo
P

Entradas Recibe
Programa Genera Salidas
Especificación
Entradas: Mencionamos el tipo de datos que queremos

Precondiciones Cada pre o poscondición debe usar los operadores


definidos y estar bien formada.

Salidas: Mencionamos el tipo de dato de las salidas

Poscondiciones: Cada pre o poscondición debe usar los operadores


definidos y estar bien formada.
Especificación
Entradas: Mencionamos el tipo de datos que queremos

n1, n2, n3, n4: Real

Precondiciones: Cada pre o poscondición debe usar los operadores


n1>=0; n1<=5,0 definidos y estar bien formada.
n2>=0; n2<=5,0
n3>=0; n3<=5,0
n4>=0; n4<=5,0
Salidas: Mencionamos el tipo de dato de las salidas
notaFinal: Real

Poscondiciones: Cada pre o poscondición debe usar los operadores


definidos y estar bien formada.
notaFinal= (n1+n2+n3+n4)/4
Especificación del algoritmo
Seudocodigo
• Paso 1: pedir nota uno
• Paso 2: recibir nota uno
• Paso 3: pedir nota dos
• Paso 4: recibir nota dos
• Paso 5: recibir nota tres
• Paso 6: recibir nota tres
• Paso 7: recibir nota cuatro
• Paso 8 recibir nota cuatro
• Paso 9: calcular promedio
• Paso 10: Imprimir el promedio en pantalla
Especificación formal del algoritmo
Algoritmo: Calcular promedio de cuatro notas

Entradas: n1, n2, n3, n4: Real Mencionamos el tipo de datos que queremos

Precondiciones: Cada pre o poscondición debe usar los operadores definidos y estar bien
n1>=0; n1<=5,0 formada.
n2>=0; n2<=5,0
n3>=0; n3<=5,0
n4>=0; n4<=5,0

Inicio

1. pedir n1
2. Recibir n1
3. pedir n2
4. Recibir n2
5. pedir n3
6. Recibir n3
7. pedir n4
8. Recibir n4
9. notaFinal <- (n1+n2+n3+n4)/4
10: Imprimir notaFinal

Fin

Salidas: Mencionamos el tipo de dato de las salidas


notaFinal: Real
Poscondiciones: Cada pre o poscondición debe usar los operadores definidos y estar bien
notaFinal= (n1+n2+n3+n4)/4 formada.

Anda mungkin juga menyukai