Você está na página 1de 16

Diseo de Algoritmos Un algoritmo establece, de manera genrica e informal, la secuencia de pasos o acciones que resuelve un determinado problema.

Los algoritmos constituyen la documentacin principal que se necesita para poder iniciar la fase de codificacin y, para representarlos, se utiliza, fundamentalmente, dos tipos de notacin: pseudocdigo y diagramas de flujo. El diseo de un algoritmo es independiente del lenguaje que despus se vaya a utilizar para codificarlo. Un algoritmo escrito en pseudocdigo siempre se suele organizar en tres secciones: cabecera, declaraciones y cuerpo. En la seccin de cabecera se escribe el nombre del algoritmo. En la seccin de declaraciones se declaran algunos objetos (variables, constantes,...) que va a utilizar el programa. En el cuerpo estn descritas todas las acciones que se tienen que llevar a cabo en el programa, y siempre se escriben entre las palabras inicio y fin. Por ejemplo, el algoritmo de un programa que va a calcular la suma de dos nmeros enteros cualesquiera introducidos por el usuario y, despus, va a mostrar por pantalla el resultado obtenido, puede ser el siguiente: algoritmo Sumar variables entero a, b, c inicio escribir( "Introduzca el primer nmero (entero): " ) leer( a ) escribir( "Introduzca el segundo nmero (entero): " ) leer( b ) c a + b escribir( "La suma es: ", c ) fin El pseudocdigo y los diagramas de flujo son las dos herramientas ms utilizadas para disear algoritmos en programacin estructurada. Si bien, entre ambos tipos de representacin existen las siguientes diferencias importantes: 1. Los diagramas de flujo empezaron a utilizarse antes que el pseudocdigo. 2. En pseudocdigo se suelen definir tres secciones del algoritmo (cabecera, declaraciones y cuerpo). Sin embargo, en un ordinograma slo se representa el cuerpo. 3. En un ordinograma suele ser ms fcil ver, a primera vista, cul es el orden de las acciones del algoritmo. 4. Los smbolos grficos utilizados en un diagrama de flujo han sido estandarizados por el American National Standards Institute (ANSI). Sin embargo, no existe un "pseudocdigo estndar".

Tipos de datos Los datos que utilizan los programas se pueden clasificar en base a diferentes criterios. Uno de los ms significativos es aquel que dice que todos los datos que utilizan los programas son simples o compuestos. Un dato simple es indivisible (atmico), es decir, no se puede descomponer. Ejemplo 1: Un ao es un dato simple. Ao...: 2006 Un ao se expresa con un nmero entero, el cual no se puede descomponer. Sin embargo, un dato compuesto est formado por otros datos. Ejemplo 2: Una fecha es un dato compuesto por tres datos simples (da, mes, ao). Fecha: Da...: 30 Mes...: 11 Ao...: 2006 Ejemplo 3: Otro ejemplo de dato simple es una letra. Letra...: t Una letra se representa con un carcter del alfabeto. Pero, cuando varias letras se agrupan, entonces se obtiene un dato compuesto por varios caracteres. Ejemplo 4: Para formar un nombre de persona se utilizan varios caracteres. Nombre...: Ana (dato compuesto por tres caracteres) En este apartado se van a estudiar cinco tipos de datos: Entero, Real, Lgico, Carcter, Cadena. De ellos, tan solo el tipo cadena es compuesto. Los dems son los tipos de datos simples considerados estndares. Esto quiere decir que la mayora de los lenguajes de programacin permiten trabajar con ellos. Por ejemplo, en lenguaje C es posible utilizar datos de tipo entero, real y carcter, sin embargo, los datos de tipo lgico no se pueden utilizar, ya que, no existen en este lenguaje. Datos de tipo entero Un dato de tipo entero es aquel que puede tomar por valor un nmero perteneciente al conjunto de los nmeros enteros (Z), el cual est formado por los nmeros naturales, su opuestos (nmeros negativos) y el cero. Datos de tipo real Un dato de tipo real es aquel que puede tomar por valor un nmero perteneciente al conjunto de los nmeros reales (R), el cual est formado por los nmeros racionales e irracionales. Ejemplo 6: El peso de una persona (en kilogramos) y su altura (en centmetros), son datos que pueden considerarse de tipo real.

Datos de tipo carcter Un dato de tipo carcter es aquel que puede tomar por valor un carcter perteneciente al conjunto de los caracteres que puede representar el ordenador. Ejemplo 8: En un examen con preguntas en las que hay que seleccionar la respuesta correcta entre varias opciones dadas (a, b, c, d, e), la respuesta correcta de cada una de las preguntas es un dato de tipo carcter. Datos de tipo cadena Un dato de tipo cadena es aquel que pueden tomar por valor una secuencia de caracteres. En pseudocdigo, el valor de un dato de tipo cadena se puede representar entre comillas simples (') o dobles ("). Sin embargo, en este curso, se vamos a utilizar solamente las comillas dobles (al igual que se hace en lenguaje C). Ejemplo 9: El ttulo de un libro y el nombre de su autor, son datos de tipo cadena.

Ejercicio 1 - Clasificar datos Clasifique los siguientes datos en simples y compuestos: 1. El nmero de botones de una camisa. 2. La altura de una torre. 3. Los datos de una cuenta bancaria. 4. El nmero de pasajeros de un avin. 5. El resultado de hacer una apuesta (ganar o perder). 6. La capital de Canad. 7. La letra 'b' escrita en mayscula.

Identificadores La mayora de los elementos de un algoritmo escrito en pseudocdigo se diferencian entre s por su nombre. Por ejemplo, los tipos de datos bsicos se nombran como: entero, real, logico y caracter Cada uno de ellos es un identificador. Un identificador es el nombre que se le da a un elemento de un algoritmo (o programa). Por ejemplo, el tipo de dato entero hace referencia a un tipo de dato que es distinto a todos los dems tipos de datos, es decir, los valores que puede tomar un dato de tipo entero, no son los mismos que los que puede tomar un dato de otro tipo. Los identificadores entero, real, logico y caracter estn predefinidos, forman parte del lenguaje algortmico. No obstante, en un algoritmo tambin pueden existir identificadores definidos por el programador. Por ejemplo, un algoritmo puede utilizar variables y constantes definidas por el programador. Adems, los algoritmos tambin se deben nombrar mediante un identificador. En pseudocdigo, a la hora de asignar un nombre a un elemento de un algoritmo, se debe de tener en cuenta que todo identificador debe cumplir unas reglas de sintaxis. Para ello, en nuestro pseudocdigo CEE (C en Espaol), vamos a seguir las mismas reglas de sintaxis que existen en lenguaje C: 1. Consta de uno o ms caracteres. 2. El primer carcter debe ser una letra o el carcter subrayado (_), mientras que, todos los dems pueden ser letras, dgitos o el carcter subrayado (_). Las letras pueden ser minsculas o maysculas del alfabeto ingls. As pues, no est permitido el uso de las letras '' y ''. 3. No pueden existir dos identificadores iguales, es decir, dos elementos de un algoritmo no pueden nombrarse de la misma forma. Lo cual no quiere decir que un identificador no pueda aparecer ms de una vez en un algoritmo. De la segunda regla se deduce que un identificador no puede contener caracteres especiales, salvo el carcter subrayado (_). Es importante resaltar que las vocales no pueden llevar tilde ni diresis.

Ejemplo 1: Algunos identificadores vlidos que pueden ser definidos por el programador son: numero dia_del_mes PINGUINO1 _ciudad Z Ejemplo 2: Los siguientes identificadores no son vlidos por incumplir la segunda regla: 123 _DA numero* lugar de nacimiento ao

Ejemplo 3: Los siguientes identificadores no pueden ser definidos por el programador: entero caracter entero y caracter son identificadores predefinidos (ya existen), por tanto, no pueden ser definidos por el programador, en cumplimiento de la tercera regla. Los identificadores son sensibles a minsculas y maysculas. Ejemplo 4: Mes y mes son considerados identificadores distintos.

Por ltimo, hay que decir que, es aconsejable que los identificadores tengan un significado afn a lo que representan. Palabras reservadas Las palabras reservadas son identificadores predefinidos (tienen un significado especial). En todos los lenguajes de programacin existe un conjunto de palabras reservadas. Por el momento, en pseudocdigo, se han estudiado las siguientes: cadena, caracter, entero, falso, logico, real y verdadero Variables En programacin, una variable representa a un espacio de memoria en el cual se puede almacenar un dato. El programador, cuando desarrolla un programa (o disea un algoritmo), debe decidir: 1. Cuantas son las variables que el programa necesita para realizar las tareas que se le han encomendado. 2. El tipo de dato que puede almacenar cada una de ellas. Durante la ejecucin de un programa, el valor que tome el dato almacenado en una variable puede cambiar tantas veces como sea necesario, pero, siempre, tomando valores pertenecientes al tipo de dato que el programador ha decidido que puede almacenar dicha variable, ya que, el tipo de dato de una variable no puede ser cambiado durante la ejecucin de un programa. Declaracin de variables Para que un programa pueda hacer uso de una o ms variables, stas deben ser declaradas previamente. Todas las variables de un programa se declaran de la misma forma, indicando de cada una de ellas: 1. El tipo de dato que puede almacenar (mediante un identificador). 2. Su nombre (mediante otro identificador). Ejemplo 1: La declaracin de una variable para almacenar la edad de una persona se escribe: entero edad Por tanto, en la memoria de la computadora se reservar un espacio para almacenar la edad. En un programa no se pueden declarar varias variables con el mismo nombre (salvo excepciones que estudiaremos ms adelante), sin embargo, s pueden existir varias variables del mismo tipo de dato. Siguiendo con el ejemplo 1, si tambin se quiere declarar una variable para almacenar su nmero de hijos, se debe escribir: entero edad entero numero_de_hijos Las variables de un programa no tienen por qu estar contiguas en la memoria del ordenador. Puesto que las dos variables son del mismo tipo de dato, se pueden declarar en la misma lnea separndolas por medio de una coma (,). entero edad, numero_de_hijos

Opcionalmente, cuando se declara una variable, a sta se le puede asignar un valor inicial. Ejemplo 2: Si se desea declarar una variable para almacenar un nmero entero y que, inicialmente, contenga el valor 35, se debe escribir: entero numero = 35 Por consiguiente, para declarar una variable, en pseudocdigo CEE utilizaremos la sintaxis: <nombre_del_tipo_de_dato> <nombre_de_la_variable> [ = <expresin> ] Los caracteres abrir corchete ([) y cerrar corchete (]) se utilizan para indicar que lo que contienen es opcional. Una expresin representa a un valor de un tipo de dato. En el ejemplo 2, el valor 35 es de tipo entero. Durante la ejecucin de un programa, para hacer uso del espacio de memoria representado por una variable, se utiliza su identificador. Una variable puede ser declarada de cualquier tipo de dato (simple o compuesto). El tipo de dato de una variable determina su tamao en memoria, o dicho de otro modo, establece el tamao del espacio de memoria que se reserva para ella. Constantes Una constante representa a un valor (dato almacenado en memoria) que no puede cambiar durante la ejecucin de un programa. En C, una constante puede ser de tipo entero, real, carcter o cadena. Las constantes se pueden expresar de dos formas diferentes: 1. Por su valor. 2. Con un nombre (identificador). Ejemplo 1: Las siguientes constantes de tipo entero estn expresadas por su valor: -5 10 Para expresar una constante con un nombre, la constante debe ser declarada previamente. Todas las constantes que se declaran en un programa son definidas de la misma forma, indicando de cada una de ellas: 1. Su nombre (mediante un identificador). 2. El valor que simboliza (mediante una expresin). En pseudocdigo, para declarar una constante, vamos a utilizar la sintaxis: <nombre_de_la_constante> = <expresin> Y para declarar ms de una constante en una misma lnea, las separaremos por medio de comas (,). Ejemplo 2: De modo que, si se quieren declarar las constantes de tipo entero del ejemplo 1, asignndoles un identificador, se puede escribir, por ejemplo: TEMPERATURA = -5 MES = 10

O tambin: TEMPERATURA = -5, MES = 10 En programacin es una buena prctica escribir los identificadores de las constantes en maysculas, de esta forma es ms fcil localizarlos en el cdigo de un programa (o algoritmo). Constantes de tipo entero Una constante de tipo entero es aquella que representa a un valor (dato) perteneciente al subconjunto de Z representable por el ordenador. Obsrvese que, adems de los caracteres numricos, dgitos del (0) al (9), tambin se puede hacer uso de los caracteres especiales (+) y (-) para indicar el signo de un nmero entero, el cual es positivo por omisin. Sin embargo, en C, es incorrecto usar los caracteres coma (,) y/o punto (.) para expresar constantes de tipo entero. Ejemplo 4: Por tanto, es incorrecto escribir: -32.000 0,0 +1,111.00 Ejemplo 5: Otros ejemplos incorrectos de constantes de tipo entero son: ++111 (No se puede duplicar el signo) 38000 (No pertenece al subconjunto de Z representable por el ordenador) Constantes de tipo real Una constante de tipo real es aquella que representa a un valor (dato) perteneciente al subconjunto de R representable por el ordenador. Ejemplo 6: Algunos ejemplos son: 8.12 000.333 (Los ceros a la izquierda no son significativos) +1111.809 -3200. (Tambin se puede escribir -3200.0) .56 (Tambin se puede escribir 0.56) Obsrvese que, adems de los caracteres numricos, dgitos del (0) al (9), tambin se puede hacer uso de los caracteres especiales (+) y (-) para indicar el signo de un nmero real. Adems, en C y, por tanto, tambin en nuestro pseudocdigo CEE, obligatoriamente debe aparecer el carcter punto (.), o el carcter (e) o (E) seguido del exponente, del cual tambin puede indicarse su signo con los caracteres (+) y (-). Los signos del exponente y del nmero en s, por omisin, son positivos. Ejemplo 7: Las siguientes constantes de tipo real estn expresadas correctamente: -77e-3 +1111e+2 2000E+2 Constantes de tipo carcter Una constante de tipo carcter es aquella que representa a un valor (dato) perteneciente al conjunto de caracteres que puede representar el ordenador. Ejemplo 12: Las siguientes constantes de tipo carcter estn expresadas por su valor: 'a' 'T' '5' '+' '.' Ejemplo 13: Algunos ejemplos de declaracin de constantes de tipo carcter son: LETRA = 's' NUMERO = '9' SIGNO = '-'

ESPACIO_EN_BLANCO = ' ' Ejemplo 14: En C, y en nuestro pseudocdigo CEE, para representar el carcter comilla simple ('), se debe anteponer el carcter barra invertida (\). COMILLA_SIMPLE = '\'' Constantes de tipo cadena Una constante de tipo cadena es aquella que representa a un valor (dato) de tipo cadena, es decir, representa a una secuencia de caracteres. Ejemplo 15: Las siguientes constantes de tipo cadena estn expresadas por su valor: "Alejandro" "Lucerna" "Barcelona 2000" Ejemplo 16: Algunos ejemplos de declaracin de constantes de tipo cadena son: NOMBRE = "Alejandro" CIUDAD = "Lucerna" OLIMPIADAS = "Barcelona 2000" Ejemplo 17: En C, y en nuestro pseudocdigo CEE, para representar el carcter comilla doble (") dentro de una cadena, se debe anteponer el carcter barra invertida (\). CIUDAD = "7 de julio \"San Fermn\"" Operadores y Expresiones En un programa, el tipo de un dato determina las operaciones que se pueden realizar con l. Por ejemplo, con los datos de tipo entero se pueden realizar operaciones aritmticas, tales como la suma, la resta o la multiplicacin. Ejemplo 1: Algunos ejemplos son: 111 + 6 19 - 72 24 * 3 Todas las operaciones del ejemplo constan de dos operandos (constantes enteras) y un operador. La mayora de las veces es as, pero, tambin es posible realizar operaciones con distinto nmero de operadores y/u operandos.

Ejemplo 2: Por ejemplo: 111 + 6 - 8 (tres operandos y dos operadores) -( ( +19 ) + 72 ) (dos operandos y tres operadores) -( -72 ) (un operando y dos operadores) En las operaciones del ejemplo se puede observar que los caracteres ms (+) y menos () tienen dos usos: 1. Operadores suma y resta. 2. Signos de un nmero (tambin son operadores). Los operadores de signo ms (+) y menos (-) son operadores monarios, tambin llamados unarios, ya que, actan, solamente, sobre un operando. Los caracteres abrir parntesis "(" y cerrar parntesis ")" se utilizan para establecer la prioridad de los operadores, es decir, para establecer el orden en el que los operadores

actan sobre los operandos. Un operador indica el tipo de operacin a realizar sobre los operandos (datos) que acta. Los operandos pueden ser: Constantes (expresadas por su valor o con un nombre (identificador)). Variables. Cuando se combinan uno o ms operadores con uno o ms operandos se obtiene una expresin. De modo que, una expresin es una secuencia de operandos y operadores escrita bajo unas reglas de sintaxis. Ejemplo 3: Dadas las siguientes declaraciones de constantes y variables: PI = 3.141592 entero numero = 2 real radio_circulo = 3.2 Algunos ejemplos de expresiones son: 2 * PI * radio_circulo ( PI * PI ) numero * 5 De sus evaluaciones se obtienen los valores: 20.106189 (valor real) ( 2 * 3.141592 * 3.2 ) 9.869600 (valor real) ( 3.141592 * 3.141592 ) 10 (valor entero) ( 2 * 5 ) Un operador siempre forma parte de una expresin, en la cual, el operador siempre acta sobre al menos un operando. Por el contrario, un operando s puede aparecer solo en una expresin. Expresiones aritmticas De la evaluacin de una expresin aritmtica siempre se obtiene un valor de tipo entero o real. En las expresiones aritmticas se pueden utilizar los siguientes operadores aritmticos:

Ejemplo 4: El operador multiplicacin (*) realiza la multiplicacin de dos operandos numricos. 5 * 2 3.1 * 2.5 Los resultados son: 10 (valor entero)

7.75 (valor real)

Ejemplo 5: El operador potencia (**) eleva el operando de la izquierda (nmero base) al operando de la derecha (potencia o exponente). 5 ** 2 3.1 ** 2.5 De estas expresiones, se obtienen los valores: 25 (valor entero) 16.920151 (valor real) Ejemplo 6: El operador divisin real (/) realiza la divisin real entre dos operandos numricos. 5 / 2 3.1 / 2.5 Sus resultados son: 2.5 (valor real) 1.24 (valor real) Ejemplo 7: El operador divisin entera (div) realiza la divisin entera entre dos operandos numricos enteros. 5 div 2 3.1 div 2.5 El operador divisin entera (div) no puede operar con operandos numricos reales. Por tanto, al evaluar las expresiones de este ejemplo se obtienen los valores: 2 (valor entero) ERROR (no se puede evaluar; ambos operandos deben ser valores enteros) Ejemplo 8: El operador mdulo (mod) realiza la divisin entera entre dos operandos 10

numricos enteros, devolviendo el resto de la misma. 5 mod 2 3.1 mod 2.5 Al igual que el operador divisin entera (div), el operador mdulo (mod) tampoco puede operar con operandos numricos reales. De modo que, en este caso, los resultados son: 1 (valor entero) ERROR (no se puede evaluar; ambos operandos deben ser valores enteros) Ejemplo 9: El operador signo menos (-) cambia el signo de un operando numrico. As, de las expresiones -11 -( 3.1 ) -( -2.5 ) se obtienen los valores: -11 (valor entero)

-3.1 (valor real)

2.5 (valor real)

Prioridad de los operadores aritmticos La prioridad de los operadores puede variar de unos lenguajes a otros, pero, en pseudocdigo, en este curso, vamos a establecer una prioridad de operadores muy similar a la que se aplica en lenguaje C. La prioridad no puede ser exactamente la misma, ya que, en C existen algunos operadores que no existen en pseudocdigo, y al revs. Ejemplo 10: En una expresin aritmtica puede aparecer ms de un operador aritmtico. 11 + 3 div 3 (dos operadores) -3 * 6 mod 4 (tres operadores) -3.1 + 5 * 0.5 (tres operadores) 3 ** 3 - 1 (dos operadores) +3 * -8 (tres operadores) Para poder evaluar correctamente las expresiones aritmticas del ejemplo, es necesario seguir un criterio de prioridad de operadores. En nuestro pseudocdigo CEE, la prioridad de los operadores aritmticos es:

11

A excepcin de los operadores de signo, que se evalan de derecha a izquierda en una expresin, todos los dems operadores aritmticos con la misma prioridad, por ejemplo, el operador multiplicacin (*) y el operador mdulo (mod), se evalan de izquierda a derecha. En consecuencia, los valores que proporcionan las expresiones del ejemplo 10 son: 12 (actan en orden los operadores: (div) y suma (+)) -2 (actan en orden los operadores: signo menos (-), (*) y (mod)) -0.6 (actan en orden los operadores: signo menos (-), (*) y suma (+)) 26 (actan en orden los operadores: (**) y resta (-)) -24 (actan en orden los operadores: signo menos (-), signo ms (+) y (*)) Para modificar la prioridad de los operadores en las expresiones, se debe hacer uso de los caracteres abrir parntesis "(" y cerrar parntesis ")".En las expresiones aritmticas hay que tener la precaucin de no dividir entre cero (0). Salida Una instruccin de salida consiste en llevar hacia el exterior los valores (datos) obtenidos de la evaluacin de una lista de expresiones. Normalmente, los datos son enviados a la salida estndar (la pantalla), pero, tambin existen otros dispositivos de salida (la impresora, el plotter,...). En pseudocdigo, la sintaxis de una instruccin de salida es: escribir(<expresin_1>, <expresin_2>, ..., <expresin_n> ) Tambin se puede escribir como: escribir( <lista_de_expresiones> ) Ejemplo: Partiendo de las variables cadena nombre = "Timoteo" entero edad = 27, hijos = 2 al escribir escribir( nombre, " tiene ", edad, " aos." ) escribir( nombre, " tiene ", hijos, " hijos." ) por pantalla aparecer:

Entrada Una instruccin de entrada consiste en asignar a una o ms variables, uno o ms valores (datos) recibidos desde el exterior. Normalmente, los datos son recogidos desde la entrada estndar (el teclado), pero, tambin existen otros dispositivos de entrada (el ratn, el escner,...).

12

En pseudocdigo, la sintaxis de una instruccin de entrada es: leer( <nombre_de_la_variable_1>, <nombre_de_la_variable_2>, ..., <nombre_de_la_variable_n> ) Tambin se puede escribir como: leer( <lista_de_variables> ) Ejemplo 1: Partiendo de las variables cadena nombre, apellidos entero edad para cada una de ellas se puede recoger un valor (dato) desde el teclado, escribiendo: leer( nombre ) leer( apellidos ) leer( edad ) Otra posibilidad es leer( nombre, apellidos, edad ) Ejemplo 2: Si se han declarado cadena nombre real numero al escribir escribir( "Introduzca su nombre: " ) leer( nombre ) escribir( "Introduzca un nmero real: " ) leer( numero ) escribir( nombre, ", el doble de ", numero, " es: ", numero * 2 ) por pantalla se ver algo parecido a:

Juan y 31.4 son valores (datos) ledos desde el teclado, es decir, introducidos por el usuario, y almacenados en las variables nombre y numero, respectivamente. Estructura de un algoritmo La estructura de un algoritmo sirve para organizar a los elementos que aparecen en l. En pseudocdigo, todos los algoritmos tienen la misma estructura, la cual viene definida por tres secciones:

13

Cabecera Declaraciones Cuerpo

Cabecera En la cabecera de un algoritmo se debe indicar el nombre (identificador) asignado al mismo. La sintaxis es: algoritmo <nombre_del_algoritmo> Declaraciones En esta seccin se declaran las constantes, los tipos de datos y las variables que se usan en el algoritmo. Cuerpo En el cuerpo se escriben todas las instrucciones del algoritmo. La sintaxis es: inicio <instruccin_1> <instruccin_2> ... <instruccin_n> fin inicio y fin son palabras reservadas que marcan el principio y final de la seccin cuerpo, que es donde est el bloque de instrucciones principal del algoritmo. Ejemplo: Si se quiere disear el algoritmo de un programa que: 1) Pida por teclado el radio (dato real) de una circunferencia. 2) Calcule el rea de la circunferencia. 3) Muestre por pantalla el resultado (dato real). Nota: rea de una circunferencia = pi * radio2 El algoritmo puede llamarse Area_de_una_circunferencia, por tanto, en la cabecera se puede escribir: algoritmo Area_de_una_circunferencia constantes PI = 3.141592 variables real area, radio inicio escribir( "Introduzca radio: " ) leer( radio ) area PI * radio ** 2 escribir( "El rea de la circunferencia es: ", area ) fin

14

Ejercicio 1 - rea de un tringulo Disee el algoritmo (en pseudocdigo) de un programa que: 1) Pida por teclado la base (dato real) de un tringulo. 2) Pida por teclado la altura (dato real) de un tringulo. 3) Calcule el rea del tringulo. 4) Muestre por pantalla el resultado (dato real). En pantalla: Introduzca base: 1.2 Introduzca altura: 4.5 El rea del tringulo es: 2.7 Nota: rea de un tringulo = base * altura / 2

Ejercicio 2 - Divisin entera Disee el algoritmo (en pseudocdigo) de un programa que: 1) Pida por teclado dos nmeros (datos enteros). 2) Muestre por pantalla el resultado de realizar la divisin entera del primer nmero introducido por el usuario entre el segundo, y el resto. En pantalla: Introduzca dividendo (entero): 39 Introduzca divisor (entero): 5 39 div 5 = 7 ( Resto = 4 ) Nota: Se entiende que el usuario no introducir un divisor igual a cero. algoritmo Division_entera

algoritmo Area_de_un_triangulo variables real altura, area, base inicio escribir( "Introduzca base: " ) leer( base ) escribir( "Introduzca altura: " ) leer( altura ) area base * altura / 2 escribir( "El rea del tringulo es: ", area ) fin

variables entero dividendo, divisor, cociente, re sto inicio escribir( "Introduzca dividendo (entero): " ) leer( dividendo ) escribir( "Introduzca divisor (entero): " ) leer( divisor ) cociente dividendo div divisor resto dividendo mod divisor escribir( dividendo, " div ", divisor, " = ", cociente, " ( Resto = ", resto, " )" ) fin

15

Ejercicio 1 - Suma de dos nmeros (Alternativa doble - Pseudocdigo CEE) Disee el algoritmo (en pseudocdigo) de un programa que: 1) Pida por teclado dos nmeros (datos enteros). 2) Calcule la suma de los nmeros introducidos por el usuario. 3) Muestre por pantalla:

"LA SUMA S ES MAYOR QUE CERO.", en el caso de que s lo sea. "LA SUMA NO ES MAYOR QUE CERO.", en el caso de que no lo sea.

En pantalla: Introduzca primer nmero (entero): 14 Introduzca segundo nmero (entero): -17 LA SUMA NO ES MAYOR QUE CERO. algoritmo Suma_de_dos_numeros variables entero a, b, suma inicio escribir( "Introduzca primer nmero (entero): " ) leer( a ) escribir( "Introduzca segundo nmero (entero): " ) leer( b ) suma a + b si ( suma > 0 ) escribir( "LA SUMA S ES MAYOR QUE CERO." ) sino escribir( "LA SUMA NO ES MAYOR QUE CERO." ) fin_si fin

16