Upload
videoconferencias-utpl
View
11.311
Download
1
Embed Size (px)
DESCRIPTION
Nos habla de la metodologia de la programacion, su importancia y para q sirve.
Citation preview
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
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 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
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.
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.
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
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
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 .
10
Ejercicios
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
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
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
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.
15
entrada proceso salida
Partes de Programa
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
17
Elementos de un programa• Palabras reservadas (inicio, fin, si,
entonces... etc.) • Identificadores (nombres de
variables) • Constantes • Variables • Expresiones • instrucciones
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.
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.
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.
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
22
Expresiones• Aritméticas
– 5 + 3– 5 * 4 + 6 (5 * 4)+6
• Lógicas– (A > B) (verdadero)
• relacionales – > , <, =
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
24
Elementos de un programa Algoritmo areatrianguloInicio
Leer alturaLeer baseArea = (base * altura ) /
2Presentar area
fin
25
Elementos de un programa Algoritmo
areatrianguloInicio
Leer alturaLeer baseArea = (base * altura ) /
2Presentar area
fin
variables
operadores
expresión
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
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.
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
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.
30
Si (condición) (lógica verdadero) …. instruccionesfinsi
Si (condición) (lógica verdadero) … instruccionesSino (caso contrario falso) … instruccionesFinsi
Estructuras Selectivas
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
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.
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.
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
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
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
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
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