30
1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: [email protected] Primer Semestre 2005 http://www.inf.utfsm.cl/~mlevano Universidad Técnica Federico Santa Maria

1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: [email protected] Primer Semestre 2005 mlevano Universidad

  • View
    217

  • Download
    4

Embed Size (px)

Citation preview

Page 1: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

1

Programación de Computadores

Paralelo 6Profesor: Marcos Levano

Email: [email protected] Semestre 2005

http://www.inf.utfsm.cl/~mlevano

Universidad Técnica Federico Santa Maria

Page 2: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

2

HORARIOS

CATEDRA

Lunes : 8:00 - 9:30 AM

Miércoles : 8:00 - 9:30 AM

Sala: C - 229

Universidad Técnica Federico Santa Maria

Page 3: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

3

Objetivos General

• Programar un computador utilizando un lenguaje de programación estructurada.

Universidad Técnica Federico Santa Maria

Page 4: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

4

Objetivos Específicos

• Utilizar instrucciones básicas de un lenguaje de programación estructurada: secuencia selección y repetición.

• Utilizar las capacidades de estructuras de datos simples y compuestas.

Universidad Técnica Federico Santa Maria

Page 5: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

5

Objetivos Específicos

• Diseñar programas modulares mediante subrutinas.

• Desarrollar programas para la manipulación de archivos de datos.

Universidad Técnica Federico Santa Maria

Page 6: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

6

Programación en Pascal

Sesión: 1

Universidad Técnica Federico Santa Maria

Algoritmos

Page 7: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

7

Contenido

1. Análisis y Resolución de Problemas

2. Pseudocodigo

3. Entrada y Salida de Datos

4. Asignación

5. Estructuras de Control: secuencia

6. Ejercicios.

Universidad Técnica Federico Santa Maria

Page 8: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

8

1. Análisis y Resolución de Problemas

• Para el análisis se enfoca a trabajar con algoritmos como método de resolución de problemas.

Universidad Técnica Federico Santa Maria

Page 9: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

9

La Tarea de la programación:

• Consiste en lo que debe hacer un computador, para resolver un problema concreto en un lenguaje de programación.

Universidad Técnica Federico Santa Maria

Page 10: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

10

Fases que se debe tener en cuenta:

1.Fase: Análisis del problema, estableciendo con precisión lo que se plantea.

2 Fase: Solución conceptual del problema, describiendo un método (Algoritmo) que lo resuelve.

3 Fase: Escritura del algoritmo en un lenguaje de programación.

Universidad Técnica Federico Santa Maria

Page 11: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

11

Primera Fase

• Consiste en precisar el enunciado, identificar datos de entrada y los resultados que se desea obtener.

• Descripción precisa del problema a resolver o especificación.

Universidad Técnica Federico Santa Maria

Page 12: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

12

Segunda Fase

• Trata del método o Algoritmo, tal que partiendo de datos apropiados lleve sistemáticamente a los resultados descritos en la especificación.

• Debe ser correcto; esto es, que resuelva el problema especificado.

Universidad Técnica Federico Santa Maria

Page 13: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

13

Tercera Fase

• Para que el computador resuelva el problema hay que escribir el algoritmo en un lenguaje de programación.

Universidad Técnica Federico Santa Maria

Page 14: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

14

Algoritmo

Es la descripción precisa de los pasos que nos llevan a la solución de un problema planteado.

Los pasos son, en general, acciones u operaciones que se efectúan sobre ciertos objetos.

Universidad Técnica Federico Santa Maria

Page 15: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

15

Un algoritmo afecta tres partes

Entrada(datos)

Salida (Resultados)

Proceso(instrucciones)

Universidad Técnica Federico Santa Maria

Page 16: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

16

Características de un algoritmo

• Precisión: debe expresarse de forma NO ambigua. Afecta por igual a dos aspectos.

A) al orden (encadenamiento o concatenación) de los pasos que han de llevarse a cabo.

B) al contenido de las mismas. Pues cada paso debe saberse realizar de manera automática.

Universidad Técnica Federico Santa Maria

Page 17: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

17

Características de un algoritmo

• Determinismo: todo algoritmo debe responder del mismo modo ante las mismas condiciones.

• Finitud: la descripción de un algoritmo debe ser finita.

Universidad Técnica Federico Santa Maria

Page 18: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

18

Cualidades deseables de un algoritmo

•Generalidad

Es deseable que un algoritmo sirva para una clase de problemas lo mas amplio posible.

•Eficiencia

Se considera eficiente cuando menos pasos emplea en llevar acabo su cometido.

Universidad Técnica Federico Santa Maria

Page 19: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

19

Manera de explicar o escribir un algoritmo:

Ello se puede explicar:

• Mediante diagramas de flujo.

• Mediante Seudocodigo.

Universidad Técnica Federico Santa Maria

Page 20: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

20

Ejemplo de un Procedimiento paso a paso

Tarea: Hacer una llamada por teléfono publico.

Pasos:

1. Ir a un teléfono.

2. Levantar el auricular del teléfono.

3. Esperar el tono.

4. Sacar monedas exactas para hacer la llamada.

5. Meter las monedas en la ranura.

6. Marcar el número. Universidad Técnica Federico Santa Maria

Page 21: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

21

Ejemplo suma de 2 números enteros paso

a paso

Enunciado:

sumar dos números enteros a y b. Consiste en ir pasando de a a b una unidad cada vez, de forma que, cuando a = 0, el resultado será el valor de b.

Universidad Técnica Federico Santa Maria

Page 22: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

22

La forma como se lleva a cabo:

Ejemplos:

repetir

(a,b) → (a -1, b +1) → (0,b) → b

(2,3) → (1,4) → (0,5)→ 5

(4,4) →(3,5) →(2,6) →(1,7) →(0,8) → 8

Universidad Técnica Federico Santa Maria

Page 23: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

23

Ejemplo suma de 2 números enteros paso a paso

Pasos:

0. inicio• Leer dato a • Leer dato b• Verificar a=0, ir al paso 6.• Desminuir una unidad a a (a = a-1)• Aumentar en una unidad a b (b=b+1)• Imprimir b• fin

Universidad Técnica Federico Santa Maria

Page 24: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

24

seudocodigo

• Sean a y b que pertenecen a Z

• Leer a y b

• mientras a <> 0 ,hacer a = a-1 y b=b+1

• Imprimir b.

Universidad Técnica Federico Santa Maria

Page 25: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

25

Diagrama de flujo:

Universidad Técnica Federico Santa Maria

Page 26: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

26

Programa en pascalprogram suma;uses Crt;var a,b: integer;begin clrscr; {limpia pantalla} writeln(‘Ingrese los numeros ’); readln(a); readln(b); while a<>0 do begin a := a-1; b:= b+1; end; { fin del while} writeln(‘La suma es: ’ , b ); readln;end.

Page 27: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

27

Programación estructurada (PE)

Bohm C. and G. Jacopini (1966) demostraron que todos los programas pueden escribirse en términos de simplemente tres estructuras de control:

•Estructura de secuencia,

•Estructura de selección, y

•Estructura de Repetición

Universidad Técnica Federico Santa Maria

Page 28: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

28

Estructuras de control

paso 1

paso 2

SECUENCIA:Se centra en la concatenación de pasos que ocurren uno antes que el otro. Se ejecutan una tras otra.

Universidad Técnica Federico Santa Maria

Page 29: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

29

Asignación

• La instrucción de asignación se utiliza para dar un valor inicial a las variables o para modificar el que ya tienen.

• Ejemplo:

Contador := 0 {Se inicializa una variable}

A := B {a A se le asigna B}

Universidad Técnica Federico Santa Maria

Page 30: 1 Programación de Computadores Paralelo 6 Profesor: Marcos Levano Email: mlevano@inf.utfsm.cl Primer Semestre 2005 mlevano Universidad

30

Ejercicios.

Resolver los siguientes problemas paso a paso y elaborar sus diagramas de flujos.

1.Resolver una ecuación de primer grado

a + bx =0. ( x pertenece a los enteros.)

2. Sumar los 50 primeros números.

3. Restar dos números reales.

ejemplo: (b,a) → ?

Universidad Técnica Federico Santa Maria