metodologia de la programción
DESCRIPTION
Nos habla de la metodologia de la programacion, su importancia y para q sirve.TRANSCRIPT
![Page 1: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/1.jpg)
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I
Ing. Danilo Jaramillo H.
2570-275 ext. 2637
ESCUELA: CIENCIAS DE LA COMPUTACIÓNNOMBRES:
FECHA: OCTUBRE2008 – FEBRERO 2009
![Page 2: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/2.jpg)
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.
![Page 3: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/3.jpg)
3
Objetivo General• Desarrollar la capacidad de comprender y
abstraer problemas de programación identificando sus partes y diseñando soluciones.
![Page 4: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/4.jpg)
4
Conceptos GeneralesHardware: 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
![Page 5: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/5.jpg)
5
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.
![Page 6: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/6.jpg)
6
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.
![Page 7: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/7.jpg)
7
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
![Page 8: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/8.jpg)
8
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
![Page 9: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/9.jpg)
9
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 .
![Page 10: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/10.jpg)
10
Ejercicios
![Page 11: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/11.jpg)
11
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
![Page 12: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/12.jpg)
12
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
![Page 13: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/13.jpg)
13
Programa• Introducirnos al 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
![Page 14: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/14.jpg)
14
Partes de ProgramaEl 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.
![Page 15: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/15.jpg)
15
entrada proceso salida
Partes de Programa
![Page 16: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/16.jpg)
16
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
![Page 17: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/17.jpg)
17
Elementos de un programa• Palabras reservadas (inicio, fin, si,
entonces... etc.) • Identificadores (nombres de
variables) • Constantes • Variables • Expresiones • instrucciones
![Page 18: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/18.jpg)
18
Elementos de un programaDato:
- "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.
![Page 19: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/19.jpg)
19
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.
![Page 20: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/20.jpg)
20
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.
![Page 21: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/21.jpg)
21
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
![Page 22: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/22.jpg)
22
Expresiones• Aritméticas
– 5 + 3– 5 * 4 + 6 (5 * 4)+6
• Lógicas– (A > B) (verdadero)
• relacionales – > , <, =
![Page 23: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/23.jpg)
23
Entrada y salida de información• Las operación de entrada permiten leer
determinados valores y asignarlos a variables determinadas.
• se la conoce como lectura (leer, read), los dispositivos pueden ser teclado, unidades de disco, etc.
• Luego de la transformación de los datos, la operación de salida se denomina escritura (presentar,write)
• se la puede hacer a pantalla, impresora, etc
![Page 24: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/24.jpg)
24
Elementos de un programa Algoritmo areatrianguloInicio
Leer alturaLeer baseArea = (base * altura ) /
2Presentar area
fin
![Page 25: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/25.jpg)
25
Elementos de un programa Algoritmo
areatrianguloInicio
Leer alturaLeer baseArea = (base * altura ) /
2Presentar area
fin
variables
operadores
expresión
![Page 26: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/26.jpg)
26
ejercicios// algoritmo para calcular el area de un circulo
Algoritmo areacirculoInicio constante pi = 3.1416 leer radio
area = (2 * pi * radio)presentar area
fin
![Page 27: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/27.jpg)
27
Estructuras SelectivasEstructura 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.
![Page 28: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/28.jpg)
28
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
![Page 29: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/29.jpg)
29
Estructuras SelectivasEstructuras de selección
– permiten la decisión entre acciones alternativas,
– llevar a cabo una acción en base a una condición (lógica).
– Pueden ser simples o múltiples– Se pueden utilizar de manera anidada
de forma indefinida.
![Page 30: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/30.jpg)
30
Si (condición) (lógica verdadero) …. instruccionesfinsi
Si (condición) (lógica verdadero) … instruccionesSino (caso contrario falso) … instruccionesFinsi
Estructuras Selectivas
![Page 31: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/31.jpg)
31
EjemploAlgoritmo 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
![Page 32: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/32.jpg)
32
Estructuras repetitivas• repetición de un número determinado de
sentencias en base a una condición lógica. • Se conoce también como bucle.
•Es importante tener en cuenta:– cuantas veces se repite el bucle o ciclo,– 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.
![Page 33: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/33.jpg)
33
Estructuras repetitivas anidadas
• 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.
![Page 34: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/34.jpg)
34
Mientras (condición) hacer ….. instruccionesFin_mientras
Desde num 20 hasta 30 hacer…. instruccionesFin_desde
Hacer …. instruccionesMientras (condición)
Repetir…Hasta_que (condición)
variable
inicio Fin – incluye limite
![Page 35: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/35.jpg)
35
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
![Page 36: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/36.jpg)
36
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
![Page 37: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/37.jpg)
37
// 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
![Page 38: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/38.jpg)
38
// 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
![Page 39: Metodologia de la Programción](https://reader034.vdocuments.co/reader034/viewer/2022042601/5541ce9f550346c0078b45a0/html5/thumbnails/39.jpg)