1
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I
Ing. Danilo Jaramillo H.
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