Вы находитесь на странице: 1из 11

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

Tema 1: Algoritmos
1.1 Concepto de Algoritmo La palabra algoritmo deriva del nombre de un famoso matemtico y astrnomo rabe AlKhoarizmi ( Al Juarismi siglo IX). Un algoritmo es un conjunto finito de pasos especficos y organizados para realizar una labor Un algoritmo pude ser definido como la secuencia ordenada de pasos a seguir, que conducen a la solucin de un problema dado 1.1.1 Caractersticas de los algoritmos Todo algoritmo debe ser: Preciso, indicando el orden de realizacin de cada uno de los pasos Definido, si al algoritmo se le proporciona varias veces los mismos datos, se deben obtener siempre los mismos resultados Finito, al seguir el algoritmo, ste debe terminar en algn momento, es decir tener un nmero finito de pasos.

En la secuencia de pasos de un algoritmo, se deben considerar tres partes: 1. Entrada, datos de entrada dados al algoritmo 2. Proceso, operaciones o clculos necesarios para encontrar la solucin el problema 3. Salida, respuesta (informacin) dada por el algoritmo o resultados finales de los clculos. 1.1.2 Medios de expresin de un algoritmo Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocdigo, diagramas de flujo y lenguajes de programacin entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocdigo y diagramas de flujo evita muchas ambigedades del lenguaje natural. Dichas expresiones son formas ms estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programacin especfico.

Pseudocdigo
El pseudocdigo (falso lenguaje) emplea una mezcla de lenguaje natural con algunas convenciones sintcticas propias de lenguajes de programacin, como asignaciones, ciclos y condicionales. El pseudocdigo est pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que no son necesarios en una implementacin.

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

Diagrama de flujo

Los diagramas de flujo son descripciones grficas de algoritmos; usan smbolos conectados con flechas para indicar la secuencia de instrucciones y estn regidos por ISO. Los diagramas de flujo son usados para representar algoritmos pequeos, ya que abarcan mucho espacio y su construccin es laboriosa. 1.2 Resolucin de problemas con ayuda de las computadoras La principal razn para que las personas aprendan lenguajes de programacin es utilizar la computadora como una herramienta para automatizar la resolucin de problemas. Dos fases pueden ser identificadas en el proceso de resolucin de problemas ayudados por computadora: 1.2.1 Fase de resolucin del problema Fase de implementacin en un lenguaje de programacin Fase de resolucin del problema Esta fase incluye: a) Anlisis del problema: identificar lo pedido, construir la solucin y determinar los datos necesarios b) Diseo del algoritmo, identificar las tareas ms importantes para resolver el problema y disponerlas (escribirlas) en el orden que han de ser ejecutadas. c) Verificacin del algoritmo, el modo ms normal de comprobar un algoritmo es mediante ejecucin manual, usando datos significativos que abarquen todo el posible

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

rango de valores y anotando en una hoja de papel las modificaciones que se producen en las diferentes fases hasta la obtencin de los resultados. 1.2.2 Fase de Implementacin de la solucin

Una vez que el algoritmo esta diseado y verificado se debe pasar a la fase de codificacin, traduccin del algoritmo al lenguaje de programacin, que ha de ser completada con la ejecucin y comprobacin del programa en la computadora. 1.3 Fase de resolucin de problemas Para construir un algoritmo se debe comenzar por identificar las tareas ms importantes para resolver el problema y disponerlas en el orden en el que han de ser ejecutadas. Recordando que primero es el Anlisis del problema, el diseo del algoritmo y finalmente la prueba del algoritmo Ejemplos: 1) Escriba un algoritmo para calcular el rea de un tringulo a) Anlisis del problema 1. Identificar que nos piden: Calcular el rea de un tringulo 2. Construir la solucin, cmo obtengo lo pedido? rea del tringulo = (b * h ) / 2 3. Identificar los datos necesarios (sean variables o constantes) Variables: b: Longitud de la base del tringulo h: Altura del tringulo b) Diseo del algoritmo 1. Inicio Entrada: 2. Pedir valor de b 3. Pedir valor de h Proceso: 4. Aplicar frmula A = ( b * h ) / 2 Salida: 5. Mostrar A 6. Termina el proceso c) Verificacin del algoritmo Nmero Prueba 1 2 3 Valor b 6 14 . Valor h 5 18 Resultado A 15 126

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

2) Escriba un algoritmo que calcule el valor de la siguiente expresin matemtica: ( ( A + B ) 2 )/ 3 a) Anlisis del problema 1. Identificar que nos piden: Calcular el valor de la expresin: ( ( A + B ) 2 ) / 3 2. Construir la solucin, cmo obtengo lo pedido? La frmula ya est dada 3. Identificar los datos necesarios (variables o constantes) Variables: Valores para A y B b) Diseo del algoritmo 1. Inicio Entrada: 2. Pedir valor de A 3. Pedir valor de B Proceso: 4. Aplicar frmula Exp=( ( A + B ) 2 ) / 3 Salida: 5. Mostrar Exp 6. Termina el proceso c) Verificacin del algoritmo Nmero Valor Valor Resultado Prueba A B Exp 1 7 10 96.3 2 12 2 65.3 3 .

Prctica 2:

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

2. Reglas en la escritura de los algoritmos


2.1 Identificadores Representan los nombres de los objetos (variables o constantes) que identificamos en la resolucin de un problema. Es una secuencia de caracteres (letras) que puede ser de cualquier longitud, aunque tiene ciertas reglas que hay que respetar, las cuales son: Un identificador siempre debe comenzar con una letra Un identificador pude estar formado por letras, dgitos y carcter de subrayado ("_"), pero siempre despus del primer carcter. No puede contener espacios en blanco.

Ya en la programacin un identificador es una forma para nombrar a las celdas de memoria en la computadora, en lugar de memorizarnos una direccin de memoria. Entonces, los identificadores se utilizan para nombrar variables, constantes, etc. Constantes: Las constantes son valores que no pueden cambiar en la ejecucin del programa. Recibe un valor en el momento de la compilacin del programa y este no puede ser modificado. Variables: Las variables son valores que se pueden modificar durante la ejecucin del programa. Al contrario de las constantes estas reciben un valor, pero este valor puede ser modificado durante la ejecucin o la compilacin del programa.

2.2 Asignacin de valores Asignacin se denomina al almacenamiento de valores en variables o constantes. Es una operacin que sita un valor determinado en una posicin de memoria, o en la variable o constante identificada. La asignacin siempre se realiza de derecha a izquierda El tipo de expresin que se asigna debe ser del mismo tipo que el de la variable. 2.3 Uso de Operadores En todos los lenguajes de programacin se utilizan operadores aritmticos para efectuar operaciones aritmticas. Combinando los valores de variables y constantes en expresiones aritmticas por medio de funciones adecuadas Tambin se utilizan operadores de comparacin, para comparar valores y evaluar condiciones Estn por otra parte los operadores lgicos que nos sirven para unir condiciones 2.2.1 Operadores Aritmticos Una expresin aritmtica es un conjunto de datos (constante o variable) unidos por operadores aritmticos
Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

R = (A * 2/B) + C mod 2 A^3 OPERADOR + * / ^ Mod SIGNIFICADO Suma Resta Multiplicacin Divisin Exponenciacin Residuo

Prioridad de Operadores Aritmticos Cuando una expresin aritmtica se evala, el resultado es un nmero. R=A*3 Ahora bien, cundo aparecen dos o ms expresiones aritmticas, qu operaciones se realizan primero? R = B / 3 *A^2 + 1 / 2 Hay que observar que esta expresin es totalmente diferente a: R= ((B / 3) *A^2 + 1) / 2 Para escribir las expresiones aritmticas correctamente, se debe conocer las reglas de evaluacin de los operadores aritmticos. Reglas de Evaluacin 1) Todas las expresiones entre parntesis se evalan primero. Las expresiones entre parntesis anidados se evalan de adentro hacia afuera, es decir, que el parntesis mas interno se evala primero. 2) Dentro de una misma expresin, los operadores se evalan en el siguiente orden: Priorida d 1 2 3 Operador *,/ Mod +,Significado Primero se realizan la multiplicacin y la divisin Segundo se realiza el clculo del residuo Tercero se realiza la suma y la resta

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

3) Los operadores en una misma expresin con igual nivel de prioridad se evalan de izquierda a derecha Las frmulas matemticas se deben escribir en formato lineal. Esto obliga al uso frecuente de parntesis que indiquen el orden de evaluacin correcto de las operaciones 2.2.2 Operadores de comparacin En ocasiones en los programas se necesitan realizar comparaciones entre distintos valores, esto se realiza utilizando los operadores de comparacin. Una expresin de comparacin bsica tiene tres componentes: el dato a comparar, el operador de comparacin y el valor con el que se compara. sueldo > 1500 edad > A, B edad >A>B Correcto Incorrecto

Operador = > < >= <= <>

Significado Igual que Mayor que Menor que Mayor o igual que Menor o igual que Distinto

2.2.3 Operadores Lgicos Un operador lgico combina el resultado de dos condiciones, para crear un nico resultado basndose en el resultado de ambas condiciones Operador AND OR Significado Evala como VERDAD si el resultado de ambas condiciones son evaluadas como verdad Evala como VERDAD si el resultado de alguna de las condiciones es evaluada como verdad

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

Prctica 3 (en equipos de 3 personas)

2 Estructuras de Control Selectivas


Las estructuras de control selectivas se encuentran en la solucin algortmica de casi todo tipo de problemas. Las utilizamos cuando en el desarrollo de la solucin de un problema debemos tomar una decisin, para establecer un proceso o sealar un camino alternativo a seguir. Esta toma de decisiones se basa en la evaluacin de una o ms condiciones que nos sealar como consecuencia el camino a seguir. La evaluacin de una condicin, se lleva a cabo por medio de la comparacin de dos valores, bsicamente. Esta comparacin se realiza por medio de los siguientes operadores de comparacin: Operadores de Comparacin = > < >= <= <> Significado Igual que Mayor que Menor que Mayor o igual que Menor o igual que Distinto

Toda condicin tiene la siguiente sintaxis: Valor_1 Ejemplos: 60 >= 51 ( VERDAD ) 48 >= 51 ( FALSO ) El resultado de evaluar una condicin puede ser VERDADERA o FALSA, es decir toma uno de los valores lgicos (VERDAD O FALSO). Las estructuras de control selectivas que se utilizan para la toma de decisiones lgicas las podemos clasificar de la siguiente forma: 1) Estructura Selectiva Simple
Msc. Ing. Sandra Lima Guevara

Operador de comparacin

Valor_2

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

SI se cumple una condicin ENTONCES .FIN SI 2) Estructura Selectiva Doble SI se cumple una condicin ENTONCES . SINO FIN SI 3) Estructura Selectiva Mltiple EN CASO QUE se cumple la condicin1 ENTONCES accin(s) 1 la condicin 2 ENTONCES accin(s) 2 la condicin n ENTONCES accin(s) n FIN CASO QUE Qu significa SI se cumple una condicin? Qu el resultado lgico de evaluar la condicin es VERDAD

2.1Estructura Selectiva Simple


La estructura selectiva simple permite que el flujo de los pasos del algoritmo siga por un camino especfico si se cumple una condicin o conjunto de condiciones, es decir si se evala la condicin como VERDAD, luego se contina con la secuencia normal de los pasos del algoritmo. Ejemplo: Escriba el algoritmo para plantear la solucin al siguiente problema: dado como dato la calificacin de un estudiante en un examen, mostrar el mensaje APROBADO en caso de que esa calificacin fuese mayor o igual que 51. Resolucin del Problema: 1.- Anlisis del problema a) Identificar lo pedido: Mostrar el mensaje de APROBADO si un estudiante tiene una calificacin mayor a 51 en su examen b) Construir la solucin: La solucin al problema no requiere de formula adicional alguna solo necesita evaluar una condicin para mostrar un mensaje c) Construccin de la condicin a evaluar: Calificacin >= 51 d) Datos necesarios: Variable: calificacin 2.- Diseo del Algoritmo 1. INICIO 2. LEER calificacin 3. SI calificacin >= 51 ENTONCES 4. MOSTRAR APROBADO
Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

5. FIN SI (fin de la estructura selectiva simple) 6. FIN (del algoritmo) Ejercicios: 1) Escriba un algoritmo, que dado como dato el sueldo de un trabajador, aplquele un aumento del 15% si su sueldo es inferior a 1000 Bs. Imprima en este caso, el nuevo sueldo del trabajador. 2) Escriba un algoritmo que permita determinar si un numero es par, y en tal caso muestre el mensaje Numero par

2.2Estructura Selectiva Doble


La estructura selectiva doble permite que el flujo de los pasos del algoritmo siga por un camino si se evala la condicin como VERDADERA y siga por otro camino si se evala la condicin como FALSA. Las acciones o tareas realizadas en cualquiera de los dos caminos son finitas. Luego se contina con la secuencia normal de los pasos del algoritmo. Ejemplo: Escriba el algoritmo: dado como dato la calificacin de un estudiante en un examen, mostrar el mensaje APROBADO si la calificacin es mayor o igual que 51, caso contrario mostrar el mensaje REPROBADO . Resolucin del Problema: 1.- Anlisis del problema a) Identificar lo pedido: Mostrar el mensaje de APROBADO si un estudiante tiene una calificacin mayor o igual a 51 en su examen, sino mostrar el mensaje REPROBADO b) Construir la solucin: La solucin al problema no requiere de formula adicional alguna solo necesita evaluar una condicin para mostrar un mensaje c) Construir la condicin a evaluar: Calificacin >= 51 d) Datos necesarios: Variable ---- calificacin 2.- Diseo del Algoritmo 1. INICIO 2. LEER calificacin 4. SI calificacin >= 51 ENTONCES
Msc. Ing. Sandra Lima Guevara

10

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

5. MOSTRAR el mensaje APROBADO 6. SINO 7. MOSTRAR el mensaje REPROBADO 8. FIN SI (fin de la estructura selectiva doble) 9. FIN (fin algoritmo) Ejercicios: 1) Escriba un algoritmo, que dado como dato el sueldo de un trabajador, aplquele un aumento del 15% si su sueldo es inferior a 1000 Bs, y sino el aumento es de 12%. Imprima en cada caso el nuevo sueldo del trabajador. 2) Escriba un algoritmo que permita determinar si un numero es par, y en tal caso muestre el mensaje Numero par, caso contrario muestre el mensaje Numero Impar 3) Dada las horas trabajadas de una persona y la tarifa de pago. mostrar dicho salario Calcular su salario y

Msc. Ing. Sandra Lima Guevara

11

Вам также может понравиться