Vous êtes sur la page 1sur 19

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

1Introduccin......................................................................................................................2 2Datos, Variables y Constantes..........................................................................................3 2.1Tipos de datos bsicos...............................................................................................4 2.2Expresiones y asignacin..........................................................................................4 2.2.1Operadores..........................................................................................................5 2.2.2Funciones............................................................................................................6 2.2.3Restricciones de asignacin................................................................................6 2.2.4Entrada y salida de datos....................................................................................7 3Paradigma de programacin estructurado........................................................................8 3.1Instrucciones..............................................................................................................8 3.1.1Instruccin nula..................................................................................................8 3.1.2Composicin de instrucciones............................................................................8 3.2Estructura secuencial.................................................................................................8 3.3Estructura de decisin................................................................................................8 3.4Estructura iterativa...................................................................................................11 3.4.1Composicin iterativa MIENTRAS.................................................................11 3.4.2Composicin iterativa REPETIR.....................................................................12 3.4.3Composicin iterativa DESDE.........................................................................12 3.4.4Equivalencia entre composiciones iterativas....................................................13 4Otras representaciones algortmicas...............................................................................13 4.1Diagramas N-S Nassi Schederman.......................................................................13 4.2Diagramas de flujo o flujogramas...........................................................................15 5Ejemplos de algoritmos tpicos......................................................................................17 5.1.1Clculo del mximo comn divisor de un nmero...........................................17 5.1.2Clculo del mximo comn mltiplo de un nmero........................................17 5.1.3Clculo de la potencia de un nmero elevado a otro........................................17 5.1.4Clculo de las areas de varias figuras...............................................................18 5.1.5Lectura de un nmero en una determinada base...............................................19

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

1 Introduccin Los computadores han sido ideados para procesar informacin de diverso tipo de forma automatizada. La idea es que un computador similar a una mquina genrica. El programador simplemente cambia el programa o software y el computador empieza a hacer algo totalmente nuevo.

Figura 1: Esquema bsico de una computadora. Componentes: Hardware: parte tangible o visible. Software: conjunto de programas para procesar la informacin (es lo que permite cambiar el proceso de datos).

Programa: conjunto de instrucciones codificadas en un lenguaje entendible para la mquina (binario). Para realizar un programa se deben dar los siguientes pasos: 1. Entender el problema a resolver. 2. Idear un algoritmo y representarlo en notacin algortmica. 3. Codificar el algoritmo en un lenguaje de programacin para obtener el cdigo fuente del programa. 4. Mediante un proceso automtico con un Compilador y un Linkador se traduce al lenguaje que entiende el computador. Entre las definiciones de algoritmo se pueden encontrar las siguientes Conjunto de instrucciones para realizar una tarea que se expresan en notacin algortmica. Frmula para resolver un problema. Conjunto de acciones en secuencia que ejecutadas en un determinado orden resuelven un problema.

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

Caractersticas de los algoritmos: Precisin: Es una secuencia de pasos que deben estar totalmente definidos. Bien definido: Debe contemplar todos los detalles. Tiene que ser finito (Es decir, en algn momento se termina).

Los algoritmos no se representan en lenguajes de programacin, se representan con notacin algortmica. Las notaciones algortmicas que se estudian en este curso son las siguientes: Pseudocdigo. Diagramas N-S o Nassi-Schederman. Diagramas de flujo o flujogramas.

El esquema general de un algoritmo en pseudocdigo es el siguiente:


ALGORITMO <NOMBRE> CONSTANTES <IDENTIFICADOR . . <IDENTIFICADOR TIPOS <IDENTIFICADOR . . <IDENTIFICADOR VARIABLES <IDENTIFICADOR . . <IDENTIFICADOR INICIO <INSTRUCCIN 1> . . . <INSTRUCCIN N> FIN_ALGORITMO C1>: <TIPO> = <VALOR C1> Cn>: <TIPO> = <VALOR Cn> TIPO 1>=<DEFINICIN TIPO 1> TIPO n>=<DEFINICIN TIPO n> V1>: <TIPO V1> Vn>: <TIPO Vn>

2 Datos, Variables y Constantes Los ordenadores manejan la informacin en base a datos que se operan en sus circuitos. Segn la utilizacin de los datos, estos se dividen en: Variables: datos cuyo valor vara a lo largo de la ejecucin del algoritmo. Constantes: datos cuyo valor no cambia a lo largo de la ejecucin del programa.

Las variables y las constantes se definen por un identificador (un nombre que las identifica) y un tipo (descripcin de los valores que mantienen).

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

ALGORITMO reaCrculo CONSTANTES PI: Real = 3,1416 VARIABLES radio: Real resultado: Real INICIO LEER( radio ) resultado PI * radio * radio ESCRIBIR( resultado ) FIN_ALGORITMO

2.1 TIPOS DE DATOS BSICOS


Los tipos de datos ms comunes se discuten a continuacin:

Entero: Conjunto de los nmeros enteros.

Los lmites de los nmeros enteros que se pueden representar con este tipo de dato varan directamente segn el hardware, es decir, el tamao de palabra, del computador. En computadores de la dcada de los 90, con un tamao de palabra de 16 bits, se podan representar enteros de -32768 a 32767, mientras que en hardware de 32 bits el rango se ampla geomtricamente, abarcando desde los -2000 millones hasta los 2000 millones.

Real: Conjunto de los nmeros reales.

Los nmeros reales abarcan un gran abanico de posibilidades, estando ms limitados en cuanto a precisin que en cuanto a mrgenes totales.

Carcter: c Un nico carcter.

Los caracteres forman las cadenas de texto, es decir texto que est formado por secuencias de caracteres. Internamente, un carcter bsico es un nmero que abarca desde 0 a 255.

Cadenas: c/ Lorenzo Lamas Secuencia de caracteres.

Las cadenas de caracteres estn formadas por caracteres colocados secuencialmente en memoria, uno detrs de otro. Existen varias formas de indicar el nmero de caracteres almacenado: la que abander en su da el lenguaje de programacin Pascal, con una primera posicin que indicaba el tamao de la cadena, o la ms popular hoy en da, del lenguaje de programacin C, que cierra la secuencia de caracteres con un carcter de valor 0 ('\0').

Lgicos: Slo toman el valor Verdadero (true)/ Falso (false).

Los valores lgicos son retornados por expresiones booleanas, de manera que puedan concatenarse todas juntas y formar expresiones booleanas complejas. Pero tambin es normalmente necesario almacenar estos valores para ser empleados ms tarde.

2.2 EXPRESIONES Y ASIGNACIN


Una expresin es una combinacin de constantes, variables, operadores, parntesis y nombres de funcin que representan una determinada forma de operar con los datos.

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

La asignacin es la operacin por medio de la cual una variable toma el valor resultado de la evaluacin de una expresin. Se representa mediante el smbolo . Ejemplo:
a 3.14; a a + 5;

Toda la computacin y los lenguajes de programacin ms empleados (imperativos) giran en torno a esta operacin. 2.2.1 OPERADORES Los operadores permiten combinar los datos para realizar los clculos necesarios para llevar a cabo la accin que se desea. Los operadores pueden ser de dos tipos: Unarios: se aplican slo sobre un dato, por ejemplo: negacin lgica: a Binarios: se aplican sobre dos datos, por ejemplo: suma 5 + a siendo a Entero o Real. Operadores de valores lgicos: Negacin lgica: x, se indica como NOT( x ) NO( x ). Operador Y lgico: se indica como x AND y, o tambin x Y y. Esta expresin devuelve verdadero cuando x e y son verdaderos. Operador O lgico: se indica como x OR y, o tambin x O y. Esta expresin slo devuelve falso cuando ambas son falsas.

A continuacin se especifica un conjunto de operadores en funcin de su utilizacin.

Operadores aritmticos: Se aplican sobre Enteros, y Reales, permitiendo obtener valores numricos como resultado. suma aritmtica: x + y resta aritmtica: x - y multiplicacin: x * y divisin real: x / y divisin entera: x / y (cuando x e y son de tipo Entero) x % y: resto de la divisin entera

Operadores relacionales: Relacionan valores numricos para obtener valores lgicos: x > y : x mayor que y. x < y : x menor que y. x >= y : x mayor o igual que y. x <= y : x menor o igual que y. x = y : x igual a y. x <> y : x distinto de y.

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

2.2.2 FUNCIONES Las funciones son identificadores de operaciones que no se pueden representar con operadores. Para invocar a una funcin se coloca su nombre, y entre parntesis los datos sobre los que se aplica.

NOMBRE abs( x ) sen( x ) cos( x ) tan( x ) arcsen( x ) arccos( x ) arctan( x ) ln( x ) log( x ) sqrt(x)

SIGNIFICADO Valor absoluto Z N o R R Seno R R (Radianes) Coseno R R (Radianes) Tangente R R (Radianes) Arcoseno R R (Radianes) Arcoseno R R (Radianes) Arcotangente R R (Radianes) Logaritmo Neperiano Logaritmo decimal (base 10) Raiz cuadrada

En ciertas ocasiones puede ocurrir que no se disponga de una funcin que realice un determinado clculo necesario. En ese caso deben buscarse las propiedades matemticas que permitan realizar la funcionalidad deseada mediante la combinacin de funciones y operadores existentes. Un caso concreto es el caso del log 2 x que debe ser calculado mediante la propiedad siguiente: log b (a ) = 2.2.3 RESTRICCIONES DE ASIGNACIN En una asignacin hay una serie de reglas que rigen el clculo del efecto de la operacin. A continuacin se numeran las ms importantes: En la parte izquierda solo puede existir una variable. La variable pierde su antiguo valor. La ejecucin de una instruccin de asignacin comienza con la evaluacin de la expresin de la derecha, una vez evaluada se hace efectiva la asignacin. Esto implica que si la variable asignada aparece a la derecha se usar su antiguo valor para evaluar la expresin. log x ( a) log x (b)

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

ALGORITMO EjecucinAsignacin CONSTANTES X: Entero = 2 Y: Entero = 5 VARIABLES Z: Entero INICIO Z y + x Z z + z ESCRIBIR( z ) FIN_ALGORITMO

El tipo de dato al que pertenece el resultado de la evaluacin de la expresin (parte derecha) debe ser el mismo que el de la derecha de la variable (parte izquierda).

INICIO z 1 z ( x + y )* Z; /* Equivalente z (x+y)* 1*/ ESCRIBIR( z ) FIN_ALGORITMO

2.2.4 ENTRADA Y SALIDA DE DATOS Se utilizan las siguientes instrucciones para publicar informacin en la pantalla, y obtener informacin por el teclado, respectivamente.

ESCRIBIR( Introduzca el radio del crculo ) LEER( x )

Ntese que, cuando se pide informacin por el teclado, es conveniente mostrar primero un mensaje que indique qu es lo que hay que introducir (sobre todo si se tiene en cuenta la alternativa, una pantalla vaca con un cursor parpadeante).
ALGORITMO reaCrculo CONSTANTES PI: Real = 3,1416 VARIABLES radio: Real resultado: Real INICIO ESCRIBIR( Introduzca el radio: ); LEER( radio ) resultado PI * radio * radio ESCRIBIR( El rea es: , resultado ) FIN_ALGORITMO

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

3 Paradigma de programacin estructurado El paradigma de programacin estructurado naci en los aos 60, desde que en 1954 John Backus en IBM comenz el desarrollo de Fortran, un lenguaje de programacin que hoy est prcticamente en desuso. El testigo lo recogieron en su momento lenguajes de programacin como Ada, o Pascal, y despus lenguajes de programacin modernos como C.

3.1 INSTRUCCIONES
Una instruccin es cada uno de los pasos que da un algoritmo para llegar a un resultado. El programador debe tratar de reducir, siempre que sea posible, el nmero de INSTRUCCIONES y de DATOS empleado, buscando eficiencia. 3.1.1 INSTRUCCIN NULA Instruccin nula es aquella instruccin que no hace nada. Se denota por SEGUIR. Esta instruccin, no se colocar nunca en pseudocdigo pero ser empleada en especificacin de software para describir formalmente algunas construcciones algortmicas. 3.1.2 COMPOSICIN DE INSTRUCCIONES Composicin de instrucciones es la forma de agrupar o combinar instrucciones de tal manera que se obtenga el comportamiento deseado. As es la composicin para un autor de msica.

3.2 ESTRUCTURA SECUENCIAL


Hace referencia a varias instrucciones que se ejecutan una despus de otra y en un determinado orden. Esto implica el uso del carcter ; para la separacin de las instrucciones. Ejemplo:
x x + 1 x x / 2; y x % 2

3.3 ESTRUCTURA DE DECISIN


Se trata de composiciones que permiten escoger una secuencia de instrucciones u otra en funcin de expresiones lgicas o numricas. 5.2.1 Composicin condicional (SI) Permite la ejecucin o no de una composicin de acciones en funcin de una expresin cuyo valor es de tipo lgico. Su sintaxis es la siguiente:
SI expresin_lgica composicin_de_instrucciones FINSI

A continuacin, se muestra un ejemplo que presenta esta construccin.

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

ALGORITMO MayorEdad CONSTANTES MayoriaEdad: Entero = 18 VARIABLES edad: Natural INICIO ESCRIBIR( Introduzca una edad: );LEER( edad ) SI edad > MayoriaEdad ESCRIBIR( Mayor de edad ) FINSI FIN_ALGORITMO

5.2.2 Composicin alternativa Permite especificar la ejecucin de una composicin de instrucciones si se cumple la condicin u otra distinta si no se cumple la condicin. Su sintaxis es la siguiente:
SI SINO expresin_condicional composicin_de_instrucciones1 composicin_de_instrucciones2

FINSI

A continuacin, se muestra un ejemplo que presenta esta construccin.


ALGORITMO Mximo VARIABLES a: Entero; b: Entero; INICIO ESCRIBIR( Introduzca ESCRIBIR( Introduzca SI a > b ESCRIBIR( a es SINO ESCRIBIR( b es FINSI FIN_ALGORITMO

un nmero: ); LEER( a ) un nmero: ); LEER( b ) mayor que b ) mayor que a )

5.2.3 Composicin selectiva Instruccin que permite discriminar entre la ejecucin de varias composiciones de instrucciones en funcin del valor de una expresin generalmente numrica. Su sintaxis es la siguiente:
CASO expresin SEA valor1: composicin1 valor2: composicin2 valor3: INICIO composicin3 FIN .... valorN: composicinN [SINO:composicin_defecto] FIN_CASO

Un ejemplo de utilizacin de la estructura de decisin alternativa se muestra a continuacin.

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

ALGORITMO Mes VARIABLES mes: Entero INICIO ESCRIBIR( Introduzca nmero de mes: ); LEER( mes ) CASO mes SEA 1: ESCRIBIR( Enero. ) 2: ESCRIBIR( Febrero. ) 3: ESCRIBIR( Marzo. ) 4: ESCRIBIR( Abril. ) 5: ESCRIBIR( Mayo. ) 6: ESCRIBIR( Junio. ) 7: ESCRIBIR( Julio. ) 8: ESCRIBIR( Agosto. ) 9: ESCRIBIR( Septiembre. ) 10: ESCRIBIR( Octubre. ) 11: ESCRIBIR( Noviembre. ) 12: ESCRIBIR( Diciembre. ) SINO: ESCRIBIR( ERROR: No existe tal mes. ) FIN_CASO FIN_ALGORITMO

En caso de que se emplee una composicin secuencial para cada caso puede aplicarse el siguiente esquema;
CASO expresin SEA 1: INICIO instruccin1 instruccin2 ... FIN FIN_CASO

5.2.4 Equivalencias de estructuras de decisin Las estructuras de decisin tienen varias equivalencias, que es interesante tener en cuenta aunque finalmente nunca se usen en un algoritmo.

10

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

SI C

I FIN_SI

SI C SINO

SEGUIR FIN_SI SI C I1 FIN_SI SI NO( c ) I2 FIN_SI

SI C SINO

I1

I2 FIN_SI

CASO E SEA A: I1 B: I2 SINO: In FIN_CASO;

SI E=A I1 SINO SI E=B I2 SINO In FIN_SI FIN_SI

La ltima de ellas, sin embargo, s es posible que se utilice en la vida real. La gran mayora de lenguajes de programacin limitan el uso de la estructura de decisin alternativa o mltiple a que la expresin de control sea de tipo Entero, no permitindose el tipo Real ni Cadena, de manera que es necesario realizar la transformacin dada.

3.4 ESTRUCTURA ITERATIVA


Provocan una repeticin de una instruccin o secuencia varias veces. Hay tres tipos de composiciones iterativas: MIENTRAS, REPETIR, DESDE. 3.4.1 COMPOSICIN ITERATIVA MIENTRAS Es una estructura iterativa que permite repetir una instruccin o conjunto de instrucciones mientras se cumpla una condicin . La composicin iterativa MIENTRAS es la ms bsica de las composiciones y cualquiera de las composiciones iterativas puede ser reemplazada por ella. Su sintaxis es la siguiente:
MIENTRAS expresin_booleana composicin FIN_MIENTRAS

El clculo del factorial se muestra a continuacin como ejemplo.


ALGORITMO Factorial VARIABLES numero: Entero resultado: Entero i: Entero INICIO LEER( numero ) resultado numero i numero 1 MIENTRAS i > 1 resultado resultado * i i i - 1 FIN_MIENTRAS

11

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

FIN_ALGORITMO

3.4.2 COMPOSICIN ITERATIVA REPETIR Es muy similar a la anterior, con la salvedad de que la expresin lgica no es una condicin de permanencia sino una condicin de salida y adems el cuerpo se ejecuta como mnimo una vez. Su sintaxis es la siguiente:
REPETIR composicin HASTA expresin_condicional

Un ejemplo se muestra a continuacin:


ALGORITMO SumaNmeros; VARIABLES numero: Entero resultado: Entero INICIO resultado 0 REPETIR LEER( numero ) resultado resultado + numero HASTA numero = 0 ESCRIBIR( La suma es: , resultado ) FIN_ALGORITMO

3.4.3 COMPOSICIN ITERATIVA DESDE Permite ejecutar una composicin para un conjunto de valores conocido. Para ello incorpora una variable llamada vcb (variable controladora del bucle, de tipo entero), de la cual se puede conocer su valor durante la ejecucin del bucle y as saber el nmero de vuelta actual. Su sintaxis es la siguiente:
DESDE vcb Vi HASTA Vf [INCREMENTO delta] composicin FIN_DESDE

Donde: vcb: variable controladora del bucle vi: valor inicial vf: valor final delta: cuanto aumenta o disminuye vcb por pasada
ALGORITMO TablaMultiplicar VARIABLES i: Entero numero: Entero INICIO LEER( numero ); DESDE i 0 HASTA 10 ESCRIBIR( numero, x , i, =, numero * vcb ) FIN_DESDE FIN_ALGORITMO

Ejemplo:

12

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

3.4.4 EQUIVALENCIA ENTRE COMPOSICIONES ITERATIVAS La composicin iterativa MIENTRAS puede representar a cualquier otra composicin iterativa. Por ejemplo, una composicin DESDE:
DESDE vcb Vi HASTA Vf INCREMENTO delta composicin FIN_DESDE

se puede representar de la siguiente forma:


vcb Vi MIENTRAS vcb <= Vf composicin vcb vcb + delta FIN_MIENTAS

En el caso de contar hacia atrs, simplemente sera necesario cambiar el signo + y el operador relacional de la condicin de permanencia. En el caso de la composicin REPETIR,
REPETIR I HASTA expresin_condicional

esta, se podra representar mediante la siguiente combinacin de MIENTRAS


I; MIENTRAS NO( expresin_condicional ) I; FIN_MIENTRAS;

4 Otras representaciones algortmicas Hasta aqu hemos visto la notacin algortmica conocida como pseudocdigo. Pero adems de, esta existen ms: Pseudocdigo Diagramas N-S o Nassi Schederman Diagramas de flujo o flujogramas. representacin algortmica no estructurada. representacin algortmica estructurada

4.1 DIAGRAMAS N-S NASSI SCHEDERMAN


Se basa en una representacin grfica de la algortmica y en el uso embebido de instrucciones pseudocdigo 1. ALGORITMO: Suma
INICIO LEER( a ) LEER( b ) ESCRIBIR( a + b ) FIN

2. CONDICIONAL

13

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

LEER( a, b ) a>b SI ESCRIBIR( a ) NO ESCRIBIR( b )

3. MIENTRAS
LEER( x ) resultado 0 ix-1 MIENTRAS x > 1 resultado resultado * i ii-1

4. DESDE
LEER( x ) resultado 0 DESDE i x - 1 HASTA 1 resultado resultado * i

5. REPETIR
resultado resultado * i ii-1 REPETIR HASTA i = 0

Ejemplo: INICIO resultado 0


LEER ( num ) resultado resultado + num REPETIR HASTA num = 0 ESCRIBIR ( resultado )

FIN 14

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

4.2 DIAGRAMAS DE FLUJO O FLUJOGRAMAS


Simbologa: Lneas de flujo que son unidireccionales INSTRUCCIN
ENTRADA / SALIDA

CONDICIN

EXPRESIN

INICIO

FIN

Marcan el inicio y el fin del algoritmo

15

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

Ejemplo:
INICIO

CUENTA 0

LEER (NUMERO)

CUENTA CUENTA + NUMERO

NO

NUMERO = 0

SI
ESCRIBIR (CUENTA)

FIN

16

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

5 Ejemplos de algoritmos tpicos 5.1.1 CLCULO DEL MXIMO COMN DIVISOR DE UN NMERO
ALGORITMO MCD { Este algoritmo permite calcular el MCD de dos nmeros } VARIABLES a, b: Entero INICIO LEER( a, b ) MIENTRAS a <> b SI a > b a a b ; SINO b b - a ; FIN_SI FIN_MIENTRAS ESCRIBIR( El mcd es: , a ) FIN_ALGORITMO

5.1.2 CLCULO DEL MXIMO COMN MLTIPLO DE UN NMERO


ALGORITMO MCM; { Este algoritmo permite calcular el MCM de dos nmeros } VARIABLES a: Entero b: Entero aCopia: Entero bCopia: Entero INICIO LEER( a, b ) aCopia a bCopia b MIENTRAS a <> b SI a > b a a b SINO b b - a FIN_SI FIN_MIENTRAS ESCRIBIR( El mcm es: , ( aCopia * bCopia ) / a ) FIN_ALGORITMO

5.1.3 CLCULO DE LA POTENCIA DE UN NMERO ELEVADO A OTRO


ALGORITMO Potencia { Este algoritmo permite calcular una potencia } VARIABLES base: Entero exp: Entero resultado: Entero INICIO LEER( base, exp ) resultado 1 MIENTRAS exp > 0 resultado resultado * base exp exp - 1 FIN_MIENTRAS ESCRIBIR( El resultado es: , resultado )

17

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

FIN_ALGORITMO

5.1.4 CLCULO DE LAS AREAS DE VARIAS FIGURAS


ALGORITMO areas; { Este algoritmo permite calcular el rea de un cuadrado, de un crculo o de un tringulo } CONSTANTES PI: Real = 3,14 VARIABLES a, b: Real; {________|_Circulo_|_Cuadrado_|_Tringulo_} {____a___|__radio__|___lado___|____base___} {____b___|_________|__________|___altura__} opcion: Entero INICIO REPETIR ESCRIBIR( 1. rea del cuadrado ) ESCRIBIR( 2. rea del crculo ) ESCRIBIR( 3. rea del tringulo ) ESCRIBIR( 4. Salir ) ESCRIBIR( Introduzca la opcin: ) LEER( opcion ) CASO opcion SEA 1: INICIO ESCRIBIR( Introduzca lado: ) LEER( a ) ESCRIBIR( rea: , a * a ) FIN; 2: INICIO ESCRIBIR( Introduzca radio: ) LEER( a ) ESCRIBIR( rea: ,a * a * PI ) FIN; 3: INICIO ESCRIBIR( Introduzca la base: ) LEER( a ) ESCRIBIR( Introduzca la altura: ) LEER( b ) ESCRIBIR( rea: , a * b ) FIN; 4: SEGUIR; SINO: ESCRIBIR( Opcin invlida ) FIN_CASO HASTA opcion=4 FIN_ALGORITMO

18

TEMA 1: INTRODUCCIN A LA PROGRAMACIN

FP

5.1.5 LECTURA DE UN NMERO EN UNA DETERMINADA BASE


ALGORITMO leerEnBaseX; { Este algoritmo permite obtener el valor decimal codificado en base 2 } CONSTANTES Base: Entero = 2; VARIABLES {variable que controla el bucle de los pesos de cada una de las cifras que componen el nmero} vcbPeso: Entero; {variable que controla el bucle del clculo de la potencia de un nmero } vcbPotencia: Entero; {nmero en base Base leido como una cadena} numStr: Cadena; {valor numrico decimal del nmero} valorNumero: Entero; {resultado del clculo de la potencia} valorPotencia: Entero; { Funciones necesarias (variarn de un lenguaje a otro): length() devuelve el tamao de una cadena val() devuelve el valor numrico dentro de una cadena substring() devuelve una subcadena } INICIO LEER( numStr ) valor 0 DESDE vcbPeso 1 HASTA length( numStr ) { Calcular base elevado a vcbPeso - 1 } valorPotencia 1 DESDE vcbPotencia 1 HASTA vcbPeso - 1 valorPotencia valorPotencia * Base FIN_DESDE {Calcular el valor de la cifra } valorNumero valorNumero + ( valorPotencia * val( substring( numStr, vcbPeso, 1 ) ) ) FIN_DESDE ESCRIBIR( El valor del nmero es: , valorNumero ) FIN_ALGORITMO de un nmero

19

Vous aimerez peut-être aussi