3. 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. 2
4. Objetivo General Desarrollar la capacidad de comprender y abstraer problemas de programación identificando sus partes y diseñando soluciones. 3
5. 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 4
6. 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. 5
7. Conceptos Algoritmo Método para resolver un problema, conjunto de reglas para ejecutar determinada tarea. Diagramas de flujo Un diagrama de flujo es una representación gráfica de la secuencia de pasos a realizar para producir un cierto resultado. Seudo-código Lenguaje de especificación de algoritmos. 6
8. 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 7
9. 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 8
10. Pasos para la solución de problemas EL PASO 4 (algoritmo primera versión): 1. Inicio 2. 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 . 9
21. 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.
23. 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. 14
25. 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 16
26. Elementos de un programa Palabras reservadas (inicio, fin, si, entonces... etc.) Identificadores (nombres de variables) Constantes Variables Expresiones instrucciones 17
29. Sin datos un programa no funcionaría correctamente. 18
30. Tipos de datos Los tipos de datos simples los podemos definir como numéricos, lógicos y carácter, etc.. Enteros Números enteros desde un valor negativo alto hasta otro valor positivo alto. Carácter Almacenan información alfa-numérica Lógicos (booleanos) - Verdadero y Falso Como indica el encabezado, este tipo presenta sólo dos valores: verdadero o falso. 19
31. Elementos de un programa Variables Los 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. Constantes Una constante es un objeto de datos con un nombre, un tipo y un valor asociado que no puede modificarse una vez definido. 20
32. Elementos de un programa Operadores Un 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, %) Expresiones Las 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 ser de tipo: aritméticas, lógicas, relacionales y carácter 21
34. 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 23
35. Elementos de un programa Algoritmo areatriangulo Inicio Leer altura Leer base Area = (base * altura ) / 2 Presentar area fin 24
36. ejercicios // algoritmo para calcular el area de un circulo Algoritmo areacirculo Inicio constante pi = 3.1416 leer radio area = (2 * pi * radio) presentar area fin 25
37. Estructuras Selectivas Estructura Secuencial La 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. 26
38. Ejemplo //permite calcular el perímetro de un cuadrilátero Algoritmo perimetrorectangulo inicio Leer lado Leer ancho Perímetro = (lado*2)+(ancho*2) Presentar perímetro fin 27
39. Estructuras Selectivas Estructuras 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. 28
40. Estructuras Selectivas Si (condición) (lógica verdadero) …. instrucciones finsi Si (condición) (lógica verdadero) … instrucciones Sino (caso contrario falso) … instrucciones Finsi 29
41. Ejemplo Algoritmo numeroparimpar Inicio entero numero Leer numero Si residuo(numero/2)=0 presentar “numero par” Sino presentar “numero impar” Finsi fin Algoritmo numeropar Inicio entero numero Leer numero Si residuo(numero/2) = 0 presentar “numero par Finsi fin 30
42. 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. 31
43. 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. 32
44. Mientras (condición) hacer ….. instrucciones Fin_mientras Desde num 20 hasta 30 hacer …. instrucciones Fin_desde Hacer …. instrucciones Mientras (condición) Repetir … Hasta_que (condición) inicio Fin – incluye limite variable 33
45. Ejemplo // realizar la tabla de multiplicar Algoritmo tablademultiplicar Inicio entero n leer n desde c 1 hasta n hacer presentar n, “ + ”,c, “ = ”, n +c findesde fin 34 Si n = 5 presentaría 5 + 1 = 6 5 + 2 = 7 5 + 3 = 8 5 + 4 = 9 5 + 5 = 10
46. Ejemplo //realiza la tabla de multiplicar Algoritmo tablademultiplicar Inicio entero c, n c 1 Leer n Mientras (c <= n) hacer presentar n, “ + ”,c, “ = ”, n +c c = c +1 Finmientras Fin 35 Si n = 5 presentaría 5 + 1 = 6 5 + 2 = 7 5 + 3 = 8 5 + 4 = 9 5 + 5 = 10
47. 36 // algoritmo para calcular el factorial de un numero Algoritmo factorial Inicio entero f, numero leer numero f 1 desde (i 1 hasta numero) hacer f f * i findesde presentar “el factorial de”, numero,”es”,f fin
48. // algoritmo para determinar si un numero es primo o no Algoritmo numeroprimo Inicio entero d, numero, lim logica p leer numero d 2 lim num / 2 p verdadero mientras (d < num) si residuo(num/d) = 0 p falso d lim finsi d d + 1 finmientras si (p) presentar “numero es primo” sino presentar “numero no es primo” finsi fin 37