You are on page 1of 18

Metodologa de la Programacin

Pg.

1 1.1

Fundamentos de Programacin de Computadoras Introduccin La principal razn para que las personas aprendan tcnicas y lenguajes de programacin es utilizar la computadora como una herramienta para resolver problemas. La computadora es una mquina electrnica capaz de realizar procesos ocultos, para darnos resultados; escribir un programa para resolver un problema comprende varios pasos que van desde la formulacin y especificacin del problema, el diseo de la solucin, su implantacin, prueba y documentacin, hasta la evaluacin de la solucin. Muchas personas piensan que un ordenador puede realizar tareas o trabajos de complejidad superior a una inteligencia humana. La realidad es que una computadora no tiene ninguna inteligencia. no olvidemos que no es ms que una mquina creada por el hombre y, por tanto, no podr realizar una tarea que no haya sido previamente determinada por l. La mitad del trabajo es saber que problema se va a resolver. Al abordar problemas, por lo general, estos no tienen una especificacin simple y precisa de ellos; problemas sobre cmo preservar la paz mundial puede ser imposible de formular de tal manera que admita una solucin por computadora; aunque se crea que el problema puede

resolverse en ella, es usual que la distancia entre varios de sus parmetros sea considerable, por lo cual, solo mediante experimentacin es posible encontrar valores razonables para estos parmetros. Si es posible expresar ciertos aspectos de un problema como un modelo formal, por lo general resulta beneficioso hacerlo, pues una vez que el problema se formaliza, pueden buscarse soluciones en funcin de un modelo preciso y determinar si ya existe un programa que resuelva tal problema, an cuando no sea tal el caso, ser posible averiguar lo que se sabe acerca del modelo y usar sus propiedades como ayuda para elaborar una buena solucin. Una computadora puede realizar una gran variedad de trabajos, pero, en un principio, slo es capaz de haces tres clases de operaciones bsicas: Sumar, restar, multiplicar, y dividir dos valores Compara dos valores Almacenar o recuperar informacin Con estas pocas operaciones utilizadas y combinadas de forma adecuada y mediante lo que llamamos programa, se pueden llegar a realizar tareas increblemente complejas que aporten la solucin de un determinado problema, ya sea de gestin, tcnico o de cualquier otro tipo. 1.2 Algoritmos

Los algoritmos constituyen un listado de instrucciones que indican el camino a seguir para dar una solucin a un problema

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

Se define algoritmo como el conjunto Se define algoritmo como el conjunto ordenado y finito de operaciones que ordenado y finito de operaciones que permiten hallar la solucin a un permiten hallar la solucin a un problema determinado problema determinado

1.5

La bsqueda de una direccin La utilizacin del directorio telefnico. ALGORITMOS CUANTITATIVOS

El algoritmo es de carcter general y puede aplicarse a cualquier operacin matemtica o a cualquier problema. La formulacin de algoritmos fue uno de los ms grandes adelantos dentro de la ciencia matemtica ya que a partir de ello se pudieron resolver infinidad de problemas. 1.3 Caractersticas algoritmos de los

Son aquellos pasos o instrucciones que involucran clculos numricos para llegar aun resultado satisfactorio. EJEMPLOS: Instrucciones para liquidacin de una nmina Clculos e instrucciones para determinar el costo de la vida Pasos a seguir para la solucin de una ecuacin de segundo grado. EJEMPLOS DE ALGORITMOS COTIDIANOS: Disear un algoritmo para leer las pginas de un libro. 1.-INICIO 2.-ABRIR EL LIBRO EN LA 1a. PGINA. 3.-LEER LA PGINA. 4.-ES LA LTIMA QUE DESEO LEER? SI: VE AL PASO 7 NO: VE AL PASO 5 5.-PASAR ALA SIGUIENTE PGINA. 6.-VE AL PASO 3 7.-CERRAR EL LIBRO. 8.-FIN 1.6 Metodologa de la Programacin

Un algoritmos no debe ser ambiguo Debe tener una secuencia inicial Debe ser exacto y determinado, es decir, a entradas idnticas, salidas idnticas Efectivo y finito. Efectivo porque puede ser ejecutado mecnicamente Transportable, porque se puede ejecutar independientemente del hardware y del software utilizado Amigable de cara al usuario, con mensajes claros y concisos, y bien documentado Cada paso deber tener un secuencia sucesiva y nica, es decir, que debe indicar claramente el camino a seguir en la solucin del problema El algoritmo debe de ser siempre eficiente y dar una solucin al problema o de lo contrario deber dar un mensaje que diga sin solucin ALGORITMOS CUALITATIVOS

Es el conjunto de mtodos y tcnicas disciplinadas que ayudan al desarrollo de unos programas que cumplan ciertos requerimientos.
Programa.-Conjunto unitario de Programa.-Conjunto unitario de instrucciones que permite a un ordenador instrucciones que permite a un ordenador realizar funciones diversas, como el realizar funciones diversas, como el tratamiento de textos, el diseo de tratamiento de textos, el diseo de grficos, la resolucin de problemas grficos, la resolucin de problemas matemticos, el manejo de bancos de matemticos, el manejo de bancos de datos, etc. datos, etc.

1.4

Son aquellos pasos o instrucciones descritos por medio de palabras para llegar a la solucin del problema o la obtencin de una respuesta satisfactoriamente. EJEMPLOS: La elaboracin de una receta de cocina. El montaje de una llanta. Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

1.7

Pasos 1. Entender el problema. 2. Hacer un anlisis:

Metodologa de la Programacin

Pg.

Qu tenemos? Qu necesitamos? Qu buscamos? 3. Disear el algoritmo de solucin. 4. Elaborar el Diagrama de Flujo 5. Codificar. Vale recalcar que dentro del proceso de solucin de problemas tenemos que tomar en cuenta los siguientes aspectos DATOS DE ENTRADA: Tomar datos de un dispositivo externo (Teclado, Mouse) y dejarlos en memoria. PROCESO: A los datos dejados en memoria se les manda a la ALU (Unidad Aritmtico Lgica) y los devuelve a la memoria. DATOS DE SALIDA: Se envan a un dispositivo externo y se presenta como informacin despus de ser procesados. (Monitor, Impresora) 1.8 Ejemplos

Una vez elaborado el algoritmo y el diagrama de flujo el problema a programar est prcticamente resuelto, ya que lo nico que faltara sera la codificacin correspondiente en el lenguaje de programacin que se est usando, tcnicamente un algoritmo es codificable en cualquier lenguaje de programacin A lo mejor el diagrama de flujo an no es muy claro, debido a la existencia de una serie de figuras geomtricas, pues un diagrama de flujo esta compuestas por una serie de estas, que representan la secuencia a seguir 1.9 Diagramas de flujo

Elaborar un algoritmo que me permita sumar dos nmeros. Solucin: Entrada: (que es lo que vamos a introducir al computador) Dos nmeros representados por a, b Proceso: Proceder a sumar los dos nmeros Salida: la suma de los dos nmeros

Es una representacin visual o grfica del flujo de los datos en la que cada paso de un algoritmo es representado por un smbolo estndar Smbolos utilizados en la diagramacin
Inicio / fin

Algoritmo de solucin
1. 2. 3. 4. 5. 6. Inicio Leer a Leer b Sumar s= a+b Presentar s Fin

Entrada/salida

I/O

Proceso

Diagrama de flujo
Inicio

Salida a impresora

Conector

a, b

Decisin

S= a+b

1.10 TIPOS DE DATOS ENTEROS: Nmeros enteros positivos o negativos. Ej. 12, -5, 200 REALES: Nmeros con decimales. Ej. 2.2, 13.5, -0.85

fin

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

CARACTERES: Smbolos, N, caracteres solos. (@, #, $, %) CADENA DE CARACTERES: Agrupacin de caracteres. Ej. Bachillerato, 1200 BOLEANOS: .T. (True o verdadero), .F. (false, falso) 1.11 VARIABLES: Es un conjunto de smbolos o solo uno que reserva espacio en la memoria y su valor puede cambiar durante la ejecucin del programa. Las variables pueden ser representadas por la combinacin de nmeros y letras, Nmeros solos NO y Letras solas. 1.12 CONSTANTES: No cambia su valor durante la ejecucin del programa. Para su representacin se utiliza: Solo nmeros y letras. Nmeros solos NO. Letras solas SI. 1.13 Operadores Es un smbolo o palabra que nos ayuda a realizar una operacin. Los operadores pueden ser: ARITMTICOS: Suma Resta Multiplicacin Divisin Exponente Residuo RELACIONALES: Mayor que Menor que Mayor o igual que Menor o igual que Igual a Diferente a LGICOS: Conjuncin Disyuncin Negacin AND OR NOT Los dos deben cumplirse. Con uno que se cumpla. Cambia true por false > < >= <= = <> + -

Tablas de verdad para los operadores lgicos

AND A V V F F OR A V V F F B V F V F B V F V F A AND B V F F F A OR B V V V F

NOT (cambia de valor) A V F Not A F V

Ejercicios con los operadores y variables Resolver lo siguiente a= 10 b= 4 a> b = a+b = b*2= a+5.2= b<> 3= 20 mod b= 3*400= 50-a= a mod b 1.14 Orden De Evaluacin De Los Operadores Parntesis Signo Potencia Productos y divisiones Sumas y restas Relaciones

MOD

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

Negacin Conjuncin Disyuncin REGLAS DE PRIORIDAD 1. La prioridad ms alta se ejecutar primero. 2. Los operadores que tienen igual prioridad se evaluarn de izquierda a derecha, cuando coinciden en una operacin aritmtica. 3. Si una expresin contiene sub expresiones encerradas entre parntesis, estas se evaluaran primero Ejemplo:

Para resolver en clase 3 * 4 - (46 mod 5) + 69 / 4 - 35 * 3

( 81 + 3 * 5 ) mod 7 - 5 * 8 / 2 - 16 * 3

(( 3 + 2)

15 / 2 * 5

Rta. 25

6 div 12 + 23 + ( 31 - 12 * 24 / 4 )

5-2 > 4 and not 0.5= 1 / 2

Rta. Falso

Ejercicios: X=2 , y=0.2, a=10, PI= 3.1416

Deber: Desarrollar los ejercicios 2, 3, 4, 6 y 7 de los ejercicios propuestos numeral 1 del libro Metodologa de la Programacin de los autores Eduardo Alcalde y Lus Garca. Pag. 14 X= 1, Y=4, Z= 10, PI= 3.141592, E= 2.718281

2*x+0.5*y-1/5*a

ESTRUCTURAS ALGORTMICAS

Pi*x2>y or 2*pi*x<=a

Las estructuras de operacin de programas, son un grupo de formas de trabajo, que permiten mediante la manipulacin de variables, realizar ciertos procesos especficos que nos lleven a la solucin de problemas. A estas estructuras se clasifican de acuerdo a su complejidad en: Secuenciales, Condicionales o Selectivas y Cclicas o Iterativas. 2.1 ESTRUCTURAS SECUENCIALES.

Son aquellas en las que una instruccin sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

una es la entrada de la siguiente y as sucesivamente hasta el final del proceso. Las operaciones que se realizan en las estructuras secuenciales son: Entrada (Lectura de Datos), Asignacin (Procesos) y Salida (Impresin de los Resultados).

"Los nicos errores "Los nicos errores que pienso pagar en la que pienso pagar en la vida son los que yo vida son los que yo mismo cometa." mismo cometa."

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

Ejemplos Elaborar un algoritmo y su diagrama de flujo, que permita calcular y presentar el rea de un triangulo. Anlisis: Datos de Entrada: Altura h Base b Salida: rea del triangulo Proceso: aplicar la formula para calcular el rea del triangulo: base*altura / 2 Algoritmo 1. Inicio 2. Leer b 3. Leer h 4. Aplicar a= (b*h)/2 5. Presentar a 6. Fin Diagrama de Flujo

Aplicar la siguiente formula promedio=nota1+nota2+nota3 /3 Algoritmo 1. 2. 3. 4. 5. 6. 7. Inicio Leer n1 Leer n2 Leer n3 Aplicar promedio= (n1+n2+n3)/2 Presentar promedio Fin

Diagrama de flujo

Escribir un algoritmo y diagrama de flujo que permita calcular e imprimir el cuadrado y el cubo de un nmero entero positivo. Anlisis Datos de entrada Un nmero num Datos de Salida El cuadrado y el cubo del numero Proceso Calcular el cuadro y el cubo de ese nmero Algoritmo 1. 2. 3. 4. 5. 6. 7. Inicio Leer num Aplicar cuad= num*num Aplicar cubo= num*num*num Presentar cuad Presentar cubo Fin

Elaborar un algoritmo y diagrama de flujo que permita obtener y presentar el promedio de los tres trimestres en la materia de computacin. Analisis: Datos de Entrada: Nota 1 del primer trimestre n1 Nota 2 del Segundo trimestre n2 Nota 3 del tercer trimestre n3 Datos de salida El promedio Prom Proceso:

Diagrama de Flujo

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

LENGUAJE DE PROGRAMACIN

3.1 Pascal para Windows


Como lenguaje estructurado que es, muchas veces habr que dividir en bloques las distintas partes que componen un programa. Estos bloques se denotan marcando su principio y su final con las palabras begin y end. La gran mayora de las palabras clave de Pascal (palabras con un significado especial dentro del lenguaje) son palabras en ingls o abreviaturas de stas. No existe distincin entre maysculas y minsculas, por lo que "BEGIN" hara el mismo efecto que "begin" o "Begin". As, lo mejor ser adoptar el convenio que a cada uno le resulte ms legible: algunos autores emplean las rdenes en maysculas y el resto en minsculas, otros todo en minsculas, otros todo en minsculas salvo las iniciales de cada palabra Cada sentencia (u orden) de Pascal debe terminar con un punto y coma (;), salvo el ltimo "end", que lo har con un punto. Tambin hay otras tres excepciones: no es necesario un punto y coma despus de un "begin", ni antes de una palabra "end" o de un "until" (se ver la funcin de esta palabra clave ms adelante), aunque no es mala tcnica terminar siempre cada sentencia con un punto y coma, al menos hasta que se tenga bastante soltura. Cuando definamos variables, tipos, constantes, etc., veremos que tampoco va punto y coma despus de las cabeceras de las declaraciones. Pero eso ya llegar... Con poco ms que lo visto hasta ahora ya se podra escribir un pequeo programa que hiciera aparecer el mensaje "Hola" en la pantalla: program Saludo; begin write('Hola'); end.

Construir un algoritmo y diagrama de flujo que resuelva el problema que tiene una gasolinera. Los surtidores de la misma registran lo que surten en galones, pero el precio de la gasolina est fijada en litros. El diagrama de flujo debe calcular e imprimir lo que hay que cobrar al cliente. Datos adicionales Cada galn tiene 3.785 litros El precio del litro es de $0.80

Algoritmo
1. 2. 3. 4. 5. Inicio Leer consumo Aplicar pago= consumo*3.785*0.80 Presentar pago Fin

Diagrama de flujo
Inicio

consumo

Pago=consumo*3.785*0.8

pago

fin

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

3.2

ESTRUCTURA BSICA DE UN PROGRAMA

Cabecera Todos los programas tienen la misma estructura. Para indicar al compilador que se trata de un programa tenemos que escribir la palabra program seguida de un espacio y de un nombre (que puede tener letras y nmeros) y que tiene que terminar en un punto y coma. Por ejemplo: program Practica1; Es importante indicar que el nombre que demos al programa tiene que seguir unas reglas ya que sino en caso contrario no ser vlido para el compilador: El primer carcter tiene que ser una letra y no una cifra ya que en caso contrario el compilador pensara que es un nmero. Por ejemplo, no es valido lo siguiente: program 6Practrica; El nico carcter no alfanumrico vlido es el guin bajo. No se admiten caracteres como exclamaciones o signos de interrogacin, etc. Tampoco se admiten vocales acentuadas o letras que no pertenezcan al alfabeto ingls. Por ejemplo la y la no se admiten. Finalmente, el nombre del programa no tiene que coincidir con otras variables o constantes del programa. stas las veremos ms adelante.

pantalla en modo texto(gotXY, ClrSrc, etc.) GRAPH=> Para el gestionamiento de grficos (OutText, SetFillStyle, etc.) En la mayora de programas slo emplearemos la unit CRT para mostrar datos en modo texto ej. Unit CRT; Declaracin de constantes Muchas veces puede ser til emplear un valor numrico o un texto determinado varias veces en un programa. Para evitar tener que definirlo en cada punto que lo necesitemos emplearemos una referencia nica en todo el programa al que llamaremos constante. Las constantes no varan en todo el programa y se declaran seguidas de la palabra reservada const, un signo igual y el valor a representar. Ejemplo: const PI = 3.1416; e = 2.71828; nombre = 'Patricio Granda'; Caracter = 'Y'; Declaracin de variables. Pascal exige que se declaren las variables que se emplearn. Las variables pueden modificar su valor a lo largo del programa. Cada variable tiene que ser de un tipo determinado. En Pascal existen los siguientes tipos de datos Integer. Es un nmero entero con signo, que puede valer desde -32768 hasta 32767. Ocupa 2 bytes de memoria Byte. Es un nmero entero, que puede valer entre 0 y 255. El espacio que ocupa en memoria es el de 1 byte, como su propio nombre indica. Char. Representa a un carcter (letra, nmero o smbolo). Ocupa 1 byte. String. Es una cadena de caracteres, empleado para almacenar y representar mensajes de ms de una letra (hasta 255). Ocupa 256 bytes. Real. Es un nmero real con signo. Puede almacenar nmeros con valores entre 2.9e-39 y 1.7e38 (en

Utilizacin de units En algunos casos nos puede interesar emplear diferentes funciones y procedimientos que estn definidos en otros archivos. Esta especie de almacenes de rutinas se llaman units y hay que indicarlas cuando queremos emplear alguna de sus rutinas en nuestro programa. Entre una de las libreras tenemos: CRT => Rutinas bsicas de gestin de la

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

10

notacin cientfica, ocupan 6 bytes en memoria. Boolean. Es una variable lgica, que puede valer TRUE (verdadero) o FALSE (falso), y se usa para comprobar condiciones. Array. Se utilizan para guardar una serie de elementos, todos los cuales son del mismo tipo. Se deber indicar el ndice inferior y superior, separados por dos puntos (..), as como el tipo de datos. Por ejemplo, para guardar hasta 20 nmeros enteros, usaramos: lista: array[1..20] of integer

begin base := 2.4; altura := 5.3; area := 0.5*base*altura; Writeln(area); end. Antes de comentar nada obsrvese que todas las lneas de Pascal suelen terminar en un punto y coma. Como excepciones notables tenemos en nuestro caso a var y begin. Declaramos las variables base, altura y area de tipo real. Dentro del bloque de cdigo asignamos el valor 2.4 a la variable base mediante el operador de asignacin. Este operador:= permite asignar valores a las variables. En la siguiente lnea se hace lo mismo con la variable altura. En la variable area se almacena el valor del producto de por la base por la altura. Finalmente esta variable la mostramos en la pantalla mediante la funcin Writeln. Las funciones que necesitan parmetros se especifican entre parntesis. Si tuviramos que aadir ms de un parmetro lo separaramos entre comas. El resultado que obtenemos en pantalla no es muy profesional, pero ms adelante ya veremos como especificar los decimales que queremos obtener. 6.359999999999999E+000 Ya que el resultado de la operacin 0.5*base*altura; es un real y Writeln puede mostrar reales podamos haber simplificado el programa de la forma siguiente: program Calcular_Area_del_triangulo; var base, altura : real; begin base := 2.4; altura := 5.3; Writeln(0.5*base*altura); end.

Si se desea definir una matriz de 5x3 de nmeros enteros, quedara de la siguiente manera: matrizA: array[1..5,1..3] of Integer; El bloque principal del programa Una vez hemos declarado la etiqueta program, la clausula uses y las declaraciones de constantes y variables slo falta el bloque principal de cdigo del programa. El bloque donde se ejecutarn las ordenes. Este bloque, a diferencia de los anteriores, no se puede dejar de poner en un programa Pascal. El bloque principal del programa se define entre las palabras begin y end. Por ejemplo estas dos lneas ya son un programa vlido para el compilador aunque no haga nada: begin end. Ntese que el end tiene que llevar un punto final indicando que termina el programa. Es entre estas dos palabras que incluiremos nuestro cdigo. Todas las rdenes que se incluyen en este bloque reciben el nombre de sentencias. 3.3 Los primeros programas

Vamos a hacer un programa que calcule el rea de un tringulo dadas la base y la altura. El cdigo podra ser el siguiente: program Calcular_Area_del_triangulo; var base, altura, area : real; Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Introduccin de datos El programa de clculo de reas que hemos hecho antes funciona correctamente pero siempre devuelve el mismo resultado. La orden Readln

Metodologa de la Programacin

Pg.

11

permite leer una entrada del teclado y almacenarla en la variable especificada en los parmetros de Readln. El usuario tiene que introducir un par de nmeros Comentarios en el cdigo Los programadores pueden situar comentarios en el cdigo que no se compilar. Para indicar al compilador que un elemento es un comentario es necesario rodearlo de llaves { } o de los conjuntos siguientes (* y *). Salida bsica. Ya hemos visto por encima las dos formas ms habituales de mostrar datos en pantalla, con "write" o "writeln", y de aceptar la introduccin de datos por parte del usuario, con "readln" (o "read", que no efecta un retorno de carro despus de leer los datos). Veamos ahora su manejo y algunas de sus posibilidades con ms detalle: Para mostrar datos, tanto en pantalla como en impresora, se emplean write y writeln. La diferencia entre ambos es que "write" deja el cursor en la misma lnea, a continuacin del texto escrito, mientras que "writeln" baja a la lnea inferior. Ambas rdenes pueden escribir tipos casi de cualquier clase: cadenas de texto, nmeros enteros o reales, etc. No podremos escribir directamente arrays, records, ni muchos de los datos definidos por el usuario. Cuando se desee escribir varias cosas en la misma lnea, todas ellas se indican entre un mismo parntesis, y separadas por comas. Se puede especificar la anchura de lo escrito, mediante el smbolo de dos puntos (:) y la cifra que indique la anchura. Si se trata de un nm100ero real y queremos indicar tambin el nmero de decimales, esto se hace tambin despus de los dos puntos, con el formato ":anchura_total: decimales". Como ejemplos: write ('Hola, ',nombre,' qu tal ests?'); writeln (resultado:5:2); writeln('Hola,',nombre:10,'. Tu edad es:', edad:2);

Ejemplo {Calcular el rea del triangulo} Program c_area; uses WinCrt; Var b,h:Integer; area: real; Begin Write('Ingrese la Base: '); ReadLn(b); Write('Ingrese la altura: '); ReadLn(h); Area:= 0.5*b*h; Writeln('El rea del Triangulo es: ',area:4:2); ReadLn; End.

Deber: Desarrollar los ejercicios 2 y 3 de los ejercicios del libro Metodologa de la Programacin de los autores Eduardo Alcalde y Lus Garca. Pag. 38

"Uno tiene que ser algo "Uno tiene que ser algo para poder hacer algo." para poder hacer algo."

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

12

Estructuras Condicionales O Selectivas.


La especificacin formal de algoritmos tiene realmente utilidad cuando este requiere una descripcin ms complicada que una lista sencilla de instrucciones. Este es el caso cuando existe un nmero de posibles alternativas resultantes de la evaluacin de una determinada condicin. Una estructura es selectiva cuando slo uno de los procesos alternativos posibles se puede seleccionar tras el cumplimiento de alguna condicin determinada. Las estructuras selectivas se utilizan para tomar decisiones lgicas, de ah que suele denominrseles tambin Estructuras de Decisin o Alternativas. Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al resultado de esta comparacin, se siga un curso de accin dentro del programa. Cabe mencionar que la comparacin se puede hacer contra otra variable o contra una constante, segn se necesite. Existen dos tipos bsicos, las simples y las mltiples. Simples: Son aquellas en que solamente se puede escoger uno de dos caminos posibles y al seleccionar se ejecutarn las instrucciones que se encuentren dentro de este. Esto es similar a la situacin que sufrimos cuando nos encontramos en la punta de una cuchilla, solamente se puede ir por un camino ya que es imposible cruzar por ambos a la vez. Estas tomas de decisin tienen la siguiente forma:

Si <condicin> entonces Accin(es) Fin-si


Dobles: Son aquellas en que solamente se puede escoger uno de n caminos posibles, y al seleccionar se ejecutarn las instrucciones que se encuentren dentro de este. Esto es similar a la situacin que sufrimos cuando nos encontramos en un cruce de caminos, solamente se puede ir por un camino ya que es imposible cruzar por todos a la vez. Se representa de la siguiente forma:

Si <condicin> entonces Si <condicin> entonces Accin(es) Accin(es) Caso Contrario Caso Contrario Accin(es) Accin(es) Fin-si Fin-si
Donde: SiIndica el comando de comparacin CondicinIndica la condicin a evaluar (en esta parte es donde nos sirven los operadores lgicos y relacionales) EntoncesPrecede a las acciones a realizar cuando se cumple la condicin Accin(es)Son las acciones a realizar cuando se cumple o no la condicin Caso ContrarioPrecede a las acciones a realizar cuando no se cumple la condicin

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

13

Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una o mas acciones. Mltiples: Las estructuras de comparacin mltiples, son tomas de decisin especializada que permiten comparar una variable contra distinta posibles resultados, ejecutando para cada caso una serie de instrucciones especficas. La forma comn es la siguiente:

Si <condicin> entonces Accin(es) Caso Contrario Si <condicin> entonces Accin(es) Caso contrario . . Varias condiciones
El diagrama de flujo correspondiente a las estructuras condicionales es el siguiente:

PROBLEMAS CONDICIONALES Problemas Selectivos Simples


Inicio Accin 1 Accin 2 Variable operador valor Accin 3 Accin 4 Accin 7 Accin 8 Fin Accin 5 Accin 6

1.

Se necesita un sistema para un supermercado, el cual dar un 10% de descuento a las personas que compren ms de $1000, al cliente se le debe de dar el total a pagar. Entrada tal Subto Constantes Procesos Cuando subtotal > 1000 Descuento = Subtotal * 0.10 Total = Subtotal Descuento Cuando Subtotal <= 1000 Total = Subtotal

Anlisis Salidas al Tot

10%

Variables: Total, Subtotal, Descuento Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

14

Algoritmo 1. 2. 3. Inicio Leer Subtotal Si Subtotal > 1000 entonces Descuento = Subtotal * 0.10 Total = Subtotal Descuento Caso Contrario Total = Subtotal fin si

4. 5.

6. Presentar Total 7. Fin Diagrama de flujo


Inicio Subtotal

V
Descuento = Subtotal * 0.10 Total = Subtotal Descuento

Subtotal > 1000

F
Total = Subtotal

Total

Fin

2.

Se necesita un sistema que reciba tres calificaciones parciales de un alumno y en base a estas darle su promedio donde si el promedio es menor a 6 se le dir que esta reprobado, en caso contrario el mensaje ser aprobado Anlisis del problema. Entrada Constantes Procesos Ca Prom = (calif1 + calif2 + calif3) / 3 lif1 Cuando Prom >= 14 Ca APROBADO lif2 Cuando Prom >= 14 Ca REPROBADO lif3

Salidas Prom Un mensaje (Aprobado o Reprobado)

Algoritmo 1. Inicio 2. leer calif1 3. leer calif2

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

15

4. 5. 6.

leer calif3 prom = (calif1 + calif2 + calif3) / 3 Si prom >=14 entonces Escribir Estas REPROBADO Caso contrario Escribir Estas APROBADO Fin si Fin

7. 8.

Diagrama de flujo

Inicio calif1, calif2, calif3 Prom = (calif1 + calif2+ calif3) / 3 V


Estas APROBADO

prom >=14

F
Estas REPROBADO

Fin

3.

Se necesita un sistema para un supermercado, en el cual si el monto de la compra del cliente es mayor de $5000 se le har un descuento del 30%, si es menor o igual a $5000 pero mayor que $3000 ser del 20%, si no rebasa los $3000 pero si los $1000 la rebaja efectiva es del 10% y en caso de que no rebase los $1000 no tendr beneficio. Anlisis Salidas Entrada Procesos Cuando subtotal > 5000 descuento = subtotal * 0.30 total = subtotal descuento l Tota ento tal subto descu Cuando subtotal > 3000 pero <= 5000 descuento = subtotal * 0.20 total = subtotal descuento Cuando subtotal > 1000 pero <= 3000 descuento = subtotal * 0.10 total = subtotal descuento Cuando subtotal <= 1000 total = subtotal

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

16

1. Inicio 2. Leer subtotal 3. Si subtotal > 5000 entonces // inicio de primera condicin descuento = subtotal * 0.30 Caso contrario // lado falso de primera condicin si subtotal > 3000 entonces // inicio de segunda condicin descuento = subtotal * 0.20 Caso contrario // lado falso de segunda condicin si subtotal > 1000 entonces // inicio tercera cond. descuento = subtotal * 0.10 Caso contrario Descuento =0 fin si // fin de tercera condicin fin si // fin de segunda condicin fin si // fin de primera condicin 4. total = subtotal - descuento 5. Escribir el total a pagar es:, Total 6. Fin Diagrama de flujo
Inicio subtotal

subtotal > 5000 V descuento = subtotal * 0.20

F subtotal > 3000 V

subtotal > 1000


Descuento=0

descuento = subtotal * 0.30

descuento =subtotal * 0.10

F
total = subtotal descuento total Fin

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

17

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

Metodologa de la Programacin

Pg.

18

Ejercicios Propuestos 1. 2. En un almacn se hace un 10% de descuento a los clientes cuya compra supere los $50 Cual ser la cantidad que pagara una persona por su compra? Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que tiene en inversin en el banco. El decidir reinvertir los intereses siempre y cuando estos excedan a $700, y en ese caso desea saber cuanto dinero tendr finalmente en su cuenta Calcular el total que una persona debe pagar en una llantera, si el precio de cada llanta es de $800 si se compran menos de 5 llantas y de $700 si se compran 5 o mas. En un supermercado se hace una promocin, mediante la cual el cliente obtiene un descuento dependiendo de un numero que se escoge al azar. Si el numero escogido es menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del 20%. Obtener cuanto dinero se le descuenta. En una tienda de descuento se efecta una promocin en la cual se hace un descuento sobre el valor de la compra total segn el color de la bolita que el cliente saque al pagar en caja. Si la bolita es de color blanco no se le har descuento alguno, si es verde se le har un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si es roja un 100%. Determinar la cantidad final que el cliente deber pagar por su compra. se sabe que solo hay bolitas de los colores mencionados. Se necesita un sistema que le muestre a un alumno su calificacin en letra y su promedio, el promedio se saca en base a 3 parciales, donde si el promedio es menor a 6 su letra es NA, si es mayor o igual a 6 y cuando mucho 8 le corresponde S, si sobrepasa el 8 pero menor o igual a 9 debe tener B, todo lo dems es una E. Necesitamos saber si una persona es joven o vieja basndonos en su edad. Joven es aquella menor de 45 aos. Necesitamos saber si el usuario es alto o chaparro. Chaparro es aquel que mide cuando mucho 1.65 mts. Necesitamos verificar que la contrasea que escribe el usuario es igual a solrac. Dependiendo de lo ingresado desplegar el mensaje correspondiente. Que lea dos nmeros y los imprima en forma ascendente Leer 2 nmeros; si son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no, que los sume. Leer tres nmeros diferentes e imprimir el nmero mayor Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera: Si trabaja 40 horas o menos se le paga $16 por hora Si trabaja ms de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra. Una empresa quiere hacer una compra de varias piezas de la misma clase a una fbrica de refacciones. La empresa, dependiendo del monto total de la compra, decidir que hacer para pagar al fabricante. Si el monto total de la compra excede de $500 000 la empresa tendr la capacidad de invertir de su propio dinero un 55% del monto de la compra, pedir prestado al banco un 30% y el resto lo pagara solicitando un crdito al fabricante. Si el monto total de la compra no excede de $500 000 la empresa tendr capacidad de invertir de su propio dinero un 70% y el restante 30% lo pagara solicitando crdito al fabricante. El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le pague a crdito.

3. 4.

5.

6.

7. 8. 9. 10. 11. 12. 13.

14.

15. Determinar la cantidad de dinero que recibir un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se consideran horas extras y que estas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple. 16. Una frutera ofrece las manzanas con descuento segn la siguiente tabla: NUM. DE KILOS COMPRADOS % DESCUENTO 0-2 0% 2.01 - 5 10% 5.01 - 10 15% 10.01 en adelante 20% Determinar cuanto pagara una persona que compre manzanas es esa frutera.

Tecnolgico Nuestra Seora del Rosario- 2011 - 2012

You might also like