Video Primer Bimestre Metodologia Abierta

Post on 05-Dec-2014

4.724 views 0 download

description

Video de la presentación de la Materia de Metodología y Tecnologia de la Programacion I

Transcript of Video Primer Bimestre Metodologia Abierta

1

METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Ing. Danilo Jaramillo H.

djaramillo@utpl.edu.ec

2570-275 ext. 2637

ESCUELA DE CIENCIAS DE LA COMPUTACIÓN

INGENIERIA EN INFORMATICA

UNIVERSIDAD TECNICA PARTICULAR DE LOJA

2

Introducción

• El desarrollo de software está tomando gran importancia en el mundo informático

• La asignatura busca estudiar los fundamentos de la programación

• Metodología de la programación = metodología necesaria para resolver problemas mediante programas de computadora.

3

Objetivo General

• Desarrollar la capacidad de comprender y abstraer problemas de programación identificando sus partes y diseñando soluciones.

4

Conceptos Generales

Hardware: Corresponde a la parte física de un computador.Software: El software son todos aquellos programas que permiten la comunicación entre el usuario y el computador.Dispositivos de entrada y salida: son aquellos elementos de hardware que nos permiten el ingreso de datos y presentarlos al usuarios a través

5

Conceptos Generales

Dispositivos de almacenamiento de información: nos permiten almacenar información, presentes dentro del mismo computador dispositivos interno, además se encuentran los dispositivos externos.Lenguajes de programación: son software que nos ayudan a desarrollar programas específicos para usuarios específicos con necesidades específicas.

6

El inicio en la resolución de problemas con computadora

• Propósito• Fases para la solución de problemas

Propósito• Introducirnos en la metodología que vamos a utilizar

para la resolución de problemas utilizando una computadora.

• Encontrarnos con los pasos que se deben seguir o tomar en cuenta para llegar a dicha resolución de forma óptima, (orden que se debe seguir)

• Se hará con problemas sencillos, pero si desarrollamos unas costumbres o buenas practicas, estas nos servirán en el transcurso de nuestra vida profesional.

7

Metodología

• Programación Modular– Flexible y potente– El programa se divide en Módulos

• Programación Estructurada– El programa tiene un diseño modular– Los módulos son diseñados en forma

descendente– Cada modulo se codifica en base a:

secuencias, selección y repetición.

8

Pasos para la solución de problemas

9

Pasos para la solución de problemas

• Definición del problema (Entender que es lo que se requiere)

• Determinación de los datos de entrada y salida

• Modelo Matemático (Para conocer el proceso de solución)

• Algoritmo• Prueba• Refinamiento del algoritmo• Codificación

10

Pasos para la solución de problemas

Sumar dos números•EL PASO 1 (entender):

Ingresar dos números realizar la sumatoria y presentarlos•EL PASO 2 (datos de entrada y salida):

Entrada: numero1 y numero 2

Salida: resultado•EL PASO 3 (modelo matemático a utilizar):

Permite resolver analíticamente el problema, en el ejemplo de las sumas tendríamos:

– Datos de entrada 10 y 30 (primer termino y segundo termino)

– Proceso para sumar 10 + 30 (suma de los términos)

– Información de salida 40 (resultado del proceso)

Resultado = numero1 + numero2

11

Pasos para la solución de problemas

•EL PASO 4 (algoritmo primera versión): 1. Inicio2. Ingresar el primer valor a sumar (numero1)3. Ingresar el segundo valor a sumar (numero2)4. Realizar la sumatoria (Resultado = numero1 + numero2)5. Presentar el resultado de la suma (resultado)6. Fin

•EL PASO 5 (prueba): – Prueba de escritorio

•EL PASO 6: Consiste en refinamiento del algoritmo.

•EL PASO 7: Equivale a escribir (traducir) el algoritmo en lenguaje de alto nivel .

12

ConceptosAlgoritmoMétodo para resolver un problema, conjunto de reglas para ejecutar determinada tarea.

Diagramas de flujoUn diagrama de flujo es una representación gráfica de la secuencia de pasos a realizar para producir un cierto resultado.

Seudo-códigoLenguaje de especificación de algoritmos.

13

Ejercicios

14

Determinar el área de un triángulo si se conoce la base y altura

•EL PASO 1 (entender): •EL PASO 2 (datos de entrada y salida):

Entrada: base y altura

Salida: area•EL PASO 3 (modelo matemático a utilizar):

Area = base * altura / 2

•EL PASO 4 (algoritmo): 1. Inicio2. ingresar base3. ingresar altura4. Realizar el Cálculo el Área

= (base * altura ) / 25. mostrar área6. Fin

•EL PASO 5 (prueba): – Prueba de escritorio

•EL PASO 6: – corrección del algoritmo

15

Determinar el valor a pagar conociendo el número de horas y el costo por hora

•EL PASO 1 (entender): •EL PASO 2 (datos de entrada y salida):

Entrada: Numero de horas y costo

Salida: sueldo a pagar•EL PASO 3 (modelo matemático a utilizar):

sueldo = NumerodeHora * Costodehora

•EL PASO 4 (algoritmo): 1. Inicio2. solicitar numhora3. solicitar coshora4. Realizar el calculo sueldo

= numhora * coshora5. mostrar sueldo6. Fin

•EL PASO 5 (prueba): – Prueba de escritorio

•EL PASO 6: – corrección del algoritmo

16

Programa• Introducirnos la proceso de la programación

que se manifiesta esencialmente en los programas.

• Un programa de computadora es un conjunto finito de instrucciones que producirán la ejecución de una determinada tarea. Un programa es un medio para llegar a un fin. Proceso para solucionar un problema.

• Diseñar algoritmos (pseudo-codigo) para resolver problemas, y su posterior conversión en programas

Fundamentos de programación

17

Partes de Programa

El programador debe establecer el conjunto de especificaciones que debe contener el programa:

– Entrada, salida y algoritmos de resolución

– Se debe establecer de donde provienen las entradas (dispositivos de entrada teclado, disco.)

– Las salidas de datos donde se van a presentar.

18

entrada proceso salida

Partes de Programa

19

Conceptos

Instrucciones o accionesEl proceso de escribir un algoritmo o de codificación del programa consiste en definir las acciones o instrucciones que resolverán el problema. Las instrucciones se deben escribir en el mismo orden en el que han de ejecutarse.Tipos de instruccionesLas acciones básicas que se pueden implementar de manera general en un algoritmo y que esencialmente soportan todos los lenguajes.

20

Instrucciones

• instrucciones de inicio/fin– Inicio– fin

• instrucciones de asignación– Variable valor

• instrucciones de lectura– Leer variable

• instrucciones de escritura– Presentar variable– Presentar mensaje

21

Elementos de un programa

• Elementos de un programa• Palabras reservadas (inicio, fin, si,

entonces... etc.) • Identificadores (nombres de

variables) • Constantes • Variables • Expresiones • instrucciones

22

Elementos de un programa

Dato: - "hecho o valor a partir del cual se puede

inferir una conclusión información". - Los datos son aquello que un programa

manipula. - Sin datos un programa no funcionaría

correctamente.

23

Tipos de datosLos tipos de datos simples los podemos definir como numéricos, lógicos y carácter, etc.. EnterosNúmeros enteros desde un valor negativo alto hasta otro valor positivo alto. CarácterAlmacenan información alfa-numéricaLógicos (booleanos) - Verdadero y FalsoComo indica el encabezado, este tipo presenta sólo dos valores: verdadero o falso.

24

Elementos de un programa

VariablesLos datos son almacenados en la memoria de la computadora. Una variable es una referencia a un área específica de la memoria de la computadora donde se guardan los datos. ConstantesUna constante es un objeto de datos con un nombre, un tipo y un valor asociado que no puede modificarse una vez definido.

25

Elementos de un programa

OperadoresUn operador es un símbolo formado por uno o más caracteres que permite realizar una determinada operación entre uno o más datos y produce un resultado.(+,-,*,/,>,<, !=, <>, Mod, %)ExpresionesLas expresiones son combinación de constantes, variables, símbolos de operación, paréntesis y nombres de funciones Una expresión consta de operandos y operadores, según sea el tipo de objetos que manipulan las expresiones puede serde tipo: aritméticas, lógicas, relacionales y carácter

26

Expresiones

• Aritméticas– 5 + 3

• Lógicas– (A > B) (verdadero)

• relacionales – > , <, =

27

Entrada y salida de información

• Las operaciones de entrada permiten leer determinados valores y asignarlos a variables determinadas, la operación se la conoce como lectura (leer, read), los dispositivos pueden ser teclado, unidades de disco, etc.

• Posterior a la transformacion de los datos, necesariamente la operación de salida se denomina escritura (presentar,write) y se la puede hacer a pantalla, impresora, etc

28

Escritura de un algoritmo/programa

• Cabecera del programa– Identificador o nombre correspondiente con la

palabra reservada

• Sección de declaración– De describen todas las variables o las

constantes

• Comentarios– Para documentar el algoritmo

• Sección de acciones

29

Elementos de un programa Algoritmo

areatrianguloInicio

Leer alturaLeer baseArea = (base * altura ) /

2Presentar area

fin

variables

operadores

expresión

30

ejercicios

// algoritmo para calcular el area de un circulo

Algoritmo areacirculoInicio constante pi = 3.1416 leer radio

area = (2 * pi * radio)presentar area

fin

31

Flujo de Control

• Estudiaremos las estructuras de control que se utilizan en los programas/algoritmos como son:– las estructuras de control de flujo– Además se presentan otras sentencias,

aquellas que se conocen como sentencias repetitivas.

32

Estructuras Selectivas

Estructura SecuencialLa estructura secuencial es aquella en la que una instrucción sigue a otra en secuencia. Suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente.

33

Ejemplo

//permite calcular el perímetro de un cuadrilátero

Algoritmo perimetrorectangulo

inicioLeer lado

Leer ancho

Perímetro = (lado*2)+(ancho*2)

Presentar perímetro

fin

34

Estructuras Selectivas

Estructuras de decisión– Son aquellas que nos permiten la

decisión entre acciones alternativas, además permiten llevar a cabo una acción si una condición (lógica) tiene un valor.

– Pueden ser simples o múltiples– Se pueden utilizar de manera anidada

de forma indefinida

35

Si (condición) (lógica) …. instruccionesfinsi

Si (condición) (lógica) … instruccionesSino (caso contrario) … instruccionesFinsi

Estructuras Selectivas

36

Ejemplo

Algoritmo numeropar

Inicio

entero numero

Leer numero

Si residuo(numero/2) = 0

presentar “numero par

Finsi

fin

Algoritmo numeroparimpar

Inicio

entero numero

Leer numero

Si residuo(numero/2)=0

presentar “numero par”

Sino

presentar “numero impar”

Finsi

fin

37

Estructuras repetitivas•Permiten la repetición de un número

determinado de sentencias. •Se conoce también como bucle.•Es importante tener en cuenta cuantas

veces se repite el bucle o ciclo y cuál es el cuerpo del mismo.

•El cuerpo del bucle lo constituyen una serie de sentencias, que pueden ser de cualquier tipo, las que serán repetidas de acuerdo a lo que indique la condición de finalización del bucle.

38

Estructuras repetitivas anidadas

•Son denominados todos aquellos bucles que estén contenidos dentro de otro bucle.

•Cuando se anidan bucles, se debe tener cuidado que el bucle inferior este contenido completamente dentro del bucle exterior.

•Todos los tipos de bucles pueden anidarse, sea entre si o entre cada uno.

39

Mientras (condición) hacer ….. instruccionesFin_mientras

Desde var 20 hasta 30 hacer…. instruccionesFin_desde

Hacer …. instruccionesMientras (condición)

Repetir…Hasta_que (condición)

variable

inicio Fin – incluye limite

40

Ejemplo// realizar la tabla de multiplicarAlgoritmo tablademultiplicarInicio entero n leer n desde c 1 hasta n hacer presentar n, “ + ”,c, “ = ”, n +c findesdefin

Si n = 5 presentaría

5 + 1 = 6

5 + 2 = 7

5 + 3 = 8

5 + 4 = 9

5 + 5 = 10

41

Ejemplo

//realiza la tabla de multiplicarAlgoritmo tablademultiplicarInicio entero c, n

c 1Leer nMientras (c <= n) hacer

presentar n, “ + ”,c, “ = ”, n +c c = c +1Finmientras

Fin

Si n = 5 presentaría

5 + 1 = 6

5 + 2 = 7

5 + 3 = 8

5 + 4 = 9

5 + 5 = 10

42

// algoritmo para calcular el factorial de un numeroAlgoritmo factorialInicio

entero f, numeroleer numerof 1desde (i 1 hasta numero) hacer

f f * ifindesdepresentar “el factorial de”, numero,”es”,f

fin

43

// algoritmo para determinar si un numero es primo o noAlgoritmo numeroprimoInicio

entero d, numero, limlogica pleer numerod 2lim num / 2p verdaderomientras (d < num) si residuo(num/d) = 0

p falsod lim

finsi d d + 1finmientrassi (p)

presentar “numero es primo”sino

presentar “numero no es primo”finsi

fin