Sie sind auf Seite 1von 16

Facultad de Ingeniera de Sistemas, Cmputo y

Telecomunicaciones
Sistema a Distancia




ALGORITMOS
Un enfoque prctico


FRANKLIN ARRIOLA RAMREZ
YULIANA JUREGUI ROSAS








2009
Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

1 Sistema a Distancia
ndice General

Presentacin .......................................................................................... 1
Introduccin .......................................................................................... 2

Capitulo I
Nociones de algoritmos ......................................................................... 3
1. Definicin de algoritmos ....................................................................... 3
2. Visin histrica .................................................................................... 3
3. Caractersticas de los algoritmos ............................................................ 3
4. Herramientas para el diseo de algoritmos ............................................. 4
4.1. Diagramas de flujo ...................................................................... 4
4.2. Diagramas Nassi-Schneiderman..................................................... 5
4.3. Pseudocdigo .............................................................................. 5
5. Composicin de los algoritmos .............................................................. 6
5.1. Seccin de datos ....................................................................... 7
5.1.1. Variables ............................................................................. 7
5.1.2. Constantes .......................................................................... 7
5.1.3. Tipos de datos ...................................................................... 7
5.2. Seccin del cdigo ..................................................................... 8
5.2.1. Expresin ............................................................................ 8
5.2.2. Operadores u Operandos ....................................................... 8
5.2.2.1. Prioridad de los operadores ......................................... 10
5.2.2.2. Uso de parntesis ...................................................... 10
5.2.3. Funciones predefinidas ......................................................... 11
5.2.4. Asignacin .......................................................................... 11
6. Secuencia de los algoritmos ................................................................. 12
6.1. Entrada de datos ...................................................................... 12
6.2. Salida de datos ........................................................................ 13

Capitulo II
Programacin estructurada .................................................................. 14
1. Definicin de programacin estructurada ............................................... 14
2. Estructura secuencial ...........................................................................14
2.1. Ejercicios resueltos ....................................................................14
2.2. Ejercicios propuestos ................................................................ 29
3. Estructura selectiva .............................................................................30
3.1. Estructura selectiva simple: Si Fin_si .........................................31
3.2. Estructura selectiva doble: Si Sino Fin_si ................................34
3.3. Estructura selectiva mltiples ..................................................... 41
3.3.1. Estructura selectiva mltiple: Si anidado ................................ 41
3.3.2. Estructura selectiva mltiple: En caso sea Fin_caso ............... 51
3.3.3. Estructura selectiva mltiple: En caso sea mltiple .................. 58
3.4. Ejercicios propuestos ................................................................ 62
4. Estructura repetitiva ........................................................................... 65
4.1. Conceptos bsicos .................................................................... 65
4.2. Estructura repetitiva Mientras - Fin_mientras ............................... 65
4.3. Estructura repetitiva Repetir Hasta_que..................................... 81
4.4. Estructura repetitiva Desde Fin_desde ...................................... 90
4.5. Variantes de las estructuras repetitivas ....................................... 99
4.5.1. Bucles anidados ................................................................... 99
4.5.2. Bucles infinitos .................................................................. 107
4.6. Ejercicios propuestos .............................................................. 108

Capitulo III
Programacin modular ....................................................................... 112
1. Definicin de programacin modular ................................................... 112
Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

2 Sistema a Distancia
2. Mdulos .......................................................................................... 112
3. Partes de un mdulo ......................................................................... 112
4. Parmetros ...................................................................................... 113
5. Tipos de mdulos ............................................................................. 113
5.1. Funciones .............................................................................. 113
5.2. Procedimientos ....................................................................... 114
6. Estructura de un algoritmo que contiene mdulos ................................ 114
7. Proceso de llamada a un mdulo ........................................................ 115
8. Valor de retorno de un mdulo ........................................................... 116
9. Cuando crear mdulos con parmetros ................................................ 116
10. Mtodos para el paso de parmetros ................................................... 116
10.1. Por valor ............................................................................... 117
10.2. Por referencia ........................................................................ 117
11. Variables Globales y Locales .............................................................. 118
12. Ejercicios resueltos ........................................................................... 118
13. Ejercicios propuestos ........................................................................ 151
14. Recursividad .................................................................................... 153
14.1. Caractersticas ....................................................................... 153
14.2. Ventajas y desventajas ........................................................... 153
14.3. Ejercicios resueltos ................................................................. 153
14.4. Ejercicios propuestos .............................................................. 169

Capitulo IV
Arreglos............................................................................................... 171
1. Arreglos .......................................................................................... 171
2. Tipos de arreglos .............................................................................. 171
2.1. Arreglos Unidimensionales o vectores......................................... 171
2.1.1. Declaracin de un vector .................................................... 171
2.1.2. Acceso a los elementos de un vector .................................... 172
2.1.3. Operaciones con vectores ................................................... 172
2.2. Arreglos Bidimensionales o matrices ......................................... 172
2.2.1. Declaracin de una matriz .................................................. 173
2.2.2. Acceso a los elementos de una matriz .................................. 173
2.3. Arreglos Multidimensionales ..................................................... 173
3. Formas de inicializacin de los arreglos ............................................... 174
3.1. En vectores ............................................................................ 174
3.2. En matrices ........................................................................... 174
4. Arreglos sin tamao .......................................................................... 175
5. Lectura e impresin de un arreglo ....................................................... 175
5.1. Lectura en vectores ................................................................ 175
5.2. Lectura en matrices ................................................................ 175
5.3. Impresin en vectores ............................................................. 175
5.4. Impresin en matrices ............................................................ 176
6. Ejercicios resueltos ............................................................................. 176
7. Ejercicios propuestos ........................................................................ 190
8. Paso de vectores a mdulos ............................................................... 191
8.1. Parmetro actual .................................................................... 191
8.2. Parmetro formal ................................................................... 192
9. Paso de una matriz a mdulos ............................................................ 192
9.1. Parmetro actual .................................................................... 192
9.2. Parmetro formal ................................................................... 192
10. Ejercicios resueltos ........................................................................... 193
11. Ejercicios propuestos ........................................................................ 249

Capitulo V
Mtodos de ordenacin y bsqueda .................................................... 253
1. Mtodos de ordenacin por seleccin .................................................. 253
Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

3 Sistema a Distancia
1.1. Mtodo de ordenacin por seleccin simple ................................ 253
1.2. Mtodo de ordenacin por conteo ............................................. 256
2. Mtodos de ordenacin por Comparacin-Intercambio (C/I) ................... 259
2.1. Mtodo de ordenacin en burbuja ............................................. 259
2.2. Mtodo de ordenacin shell ...................................................... 262
2.3. Mtodo de clasificacin par impar .......................................... 265
3. Mtodos de ordenacin por insercin ................................................... 268
3.1. Mtodo de ordenacin por insercin con desplazamiento ............. 268
3.2. Mtodo de ordenacin por insercin binaria ................................ 273
4. Mtodos de bsqueda ....................................................................... 275
4.1. Bsqueda secuencial ............................................................... 275
4.1.1. En arreglos desordenados ................................................... 275
4.1.2. En arreglos ordenados ......................................................... 277
4.2. Bsqueda binaria .................................................................... 278

Bibliografa ......................................................................................... 281
Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

4 Sistema a Distancia
Introduccin

La construccin de programas de computadores es un proceso que involucra las
siguientes actividades: definicin del problema, diseo del algoritmo, codificacin,
ejecucin y validacin. Se considera al diseo del algoritmo como una actividad
clave para la programacin.

El presente material esta dirigido principalmente a quienes estn iniciando sus
estudios en programacin. Sirve como texto bsico o de consulta para cursos
impartidos en los diferentes centros de estudios donde se trata este tema. En este
contexto, se aborda con mayor nfasis el enfoque de la programacin estructurada
y modular. As como el manejo de las estructuras estticas que sirven de base para
estos enfoques.

En cada capitulo del libro se considera una parte terica, importante para el
entendimiento de los temas tratados, as como un nmero significativo y variado de
ejercicios resueltos, que ayude al lector a comprender y experimentar el manejo de
algoritmos, adems se proporciona una lista de problemas planteados, que pueden
ser resueltos como resultado de la lectura del libro.

El libro esta organizado en cinco captulos. En el primer captulo se contempla
nociones de algoritmos, como punto introductorio al tema central; en el captulo
dos se definen los conceptos necesarios sobre programacin estructurada
definiendo las estructuras de control propios de este enfoque; en el captulo tres se
introduce al lector a la programacin modular considerando los conceptos
necesarios para el entendido de esta tcnica de programacin; en el captulo cuatro
se desarrolla el manejo de las estructuras de datos estticas y finalmente en el
captulo cinco se presenta y explica los principales mtodos de ordenacin y
bsqueda.

Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

5 Sistema a Distancia
Nociones de algoritmos


1. Definicin de algoritmos

Un algoritmo es un conjunto finito de instrucciones para llevar a cabo una tarea
especfica, como la solucin de un problema en un nmero finito de pasos. Esto es,
que la ejecucin del algoritmo concluye en algn momento.

Se puede comparar el concepto de algoritmo con una receta de cocina, as pues, los
algoritmos habitualmente estn formados por secuencias de instrucciones que
probablemente se repiten (iteran) o que requieren decisiones (comparaciones
lgicas) hasta que completan su tarea.

Cuando un algoritmo est asociado con el procesamiento de informacin, los datos
se leen de una fuente o dispositivo de entrada, se procesan y emiten un resultado
por un dispositivo de salida, o bien se almacenan en otro dispositivo para su uso
posterior.

2. Visin histrica

La palabra algoritmo proviene del nombre del matemtico y astrnomo Abu Jafar
Muhammad ibn Musa al-Khwarizmi que vivi entre los siglos VIII y IX. Este
personaje no se destaca por crear nuevos teoremas, sino ms bien por escribir
libros de muy fcil comprensin, simplificando el entendimiento de la matemtica,
pudiendo ser aplicada por un mayor nmero de personas. Desarroll en el Al-yebr-
mugabata, frmulas para posibilitar que con un nmero limitado de pasos e
indicaciones claras de ejecucin, se pudieran resolver ecuaciones de primer y
segundo grado; explic por medio de algoritmos el uso de dispositivos mecnicos
como los bacos. Es por esto y otras razones, que aun no siendo el creador del
primer algoritmo, el concepto lleva aunque no su nombre, s su pseudnimo.

As, de la palabra algorismo, que originalmente haca referencia a las reglas de uso
de la aritmtica utilizando dgitos rabes, se evolucion a la palabra latina,
derivacin de al-Khwarizmi, algobarismus, que en el siglo XVIII mutara a algoritmo
abarcando su definicin a toda clase de procedimientos utilizados con el propsito
de resolver problemas o realizar determinadas tareas.

Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La
autora fue Ada Byron, en cuyos escritos se detallaban la mquina analtica en 1842.
Por ello que es considerada por muchos como la primera programadora, aunque
desde Charles Babbage, nadie complet su mquina, por lo que el algoritmo nunca
se implement.

3. Caractersticas de los algoritmos

Todo algoritmo debe cumplir las siguientes caractersticas:
Preciso: debe especificar sin ambigedad el orden en que se deben ejecutar
todas las instrucciones.
Definido: cada vez que se ejecute bajo las mismas condiciones, la secuencia de
ejecucin deber ser la misma proporcionndonos el mismo resultado.
Finito: debe terminar en un nmero finito de pasos, en un tiempo finito y
requiriendo una cantidad finita de esfuerzo.

En la prctica, para evaluar un buen algoritmo se considera el tiempo que requiere
su ejecucin, esto puede ser expresado en trminos del nmero de veces que se
ejecuta cada paso. Muchas veces se tienen varios algoritmos para dar solucin a un
Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

6 Sistema a Distancia
mismo problema, en este caso, se debe decidir por el mejor, considerando su
simplicidad, elegancia y eficiencia.

4. Herramientas para representar algoritmos

Existen varias maneras para representar algoritmos, as, podemos considerar:

4.1. Diagramas de flujo

Los diagramas de flujo, son representaciones grficas mediante el cual se
especifica la direccin que sigue la informacin que contiene un algoritmo para
poder producir un resultado; los datos se encierran en diferentes figuras, las
cuales se denominan figuras lgicas. Cada una de estas figuras estn
relacionadas entre si mediante flechas que indican el orden que deben ser
ejecutadas.

Para hacer comprensibles los diagramas a todas las personas, los smbolos
utilizados han sido normalizados por el Instituto Nacional Estadounidense de
Estndares (ANSI, por sus siglas en ingls: American National Standards
Institute).

Diagrama Descripcin

Terminal: Indica el inicio y fin del diagrama de
flujo.

Entrada/Salida: Indica la entrada y salida de
datos.

Procesos: Indica la asignacin de un valor a
memoria y/o alguna operacin aritmtica.

Decisin: Indica la decisin que se toma ante
una comparacin de valores, determinando el
camino a seguir.

Subrutina: Representa los subprogramas.

Conector: Representan la continuidad del
diagrama de flujo dentro de una pgina.

Conector: Representan la continuidad del
diagrama de flujo en otra pgina.

Impresora: Indica la salida de la informacin
por la impresora.
Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

7 Sistema a Distancia

Pantalla: Indica la salida de la informacin por
medio de la pantalla.

Teclado: se utiliza en ocasiones en lugar del
smbolo de Entrada/Salida.

Comentario: Permite aadir anotaciones al
diagrama.

Flechas de direccin: Direccin en la que se
realiza el flujo


4.2. Diagramas Nassi-Schneiderman

El diagrama N-S, tambin conocido como diagrama de Chapin, es como un
diagrama de flujo en el que se omiten las flechas de direccin.

Su representacin se realiza por medio de cajas rectangulares que se encuentra
una a continuacin de la otra. Cada una de estas cajas indica la accin que se
va a realizar.

Inicio
Accin1
Accin2
.
.
.
AccinN
Fin

4.3. Pseudocdigo

Es una mezcla de frases de un idioma nativo (espaol, ingls, etc.),
instrucciones de programacin y algunas palabras claves, que nos permite
representar la secuencia lgica de las acciones de un algoritmo.

La ventaja del pseudocdigo es que en la planificacin de un programa, el
programador se concentra en la lgica sin preocuparse de la rigidez sintctica
que un lenguaje de programacin exige.

Inicio
Accin1
Accin2
.
.
.
AccinN
Fin
Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

8 Sistema a Distancia
Problemas de tipo cotidiano representado en pseudocdigo y/o diagramas de
flujos:

Ejercicio 01
Algoritmo para hacer una llamada desde un telfono fijo, conociendo el nmero
al cual se llamar.

Pseudocodigo Diagrama de flujo


Inicio
Levanto fono
Espero tono
Marco nmero
Espero que contesten
Hablo con la otra persona
Cuelgo el fono
Fin






















Ejercicio 02
Algoritmo para frer un huevo asumiendo que todo lo que se necesita se tiene
disponible.

Inicio
Abrir la llave del gas
Coger un fsforo
Prender la cocina
Poner aceite en la sartn
Romper huevo haciendo caer el contenido en la sartn
Tirar cscaras a la basura
Poner sal al huevo
Mover el huevo con una rasera mientras se esta friendo
Una vez frito el huevo sacarlo con una rasera y colocarlo en un plato
Apagar la cocina.
Fin

5. Composicin de los algoritmos

Bsicamente los algoritmos estn compuestos por una seccin de datos y otra del
cdigo, as tenemos:
Inicio
Constante real: pi 3.1416
Variable real: r, c

Escribir ("Introduzca el radio de la circunferencia")
Leer (r)
a 2 * pi * r * r
Escribir ("El rea es: ", a)
Fin
Seccin de datos
Seccin del cdigo
Inicio
Levanto fono
Espero tono
Marco nmero

Fin
Espero que contesten
Hablo con la otra persona
Cuelgo el fono
Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

9 Sistema a Distancia
5.1. Seccin de datos

En esta seccin se encuentran los identificadores (constantes, variables, tipos
de datos) que representan los datos de un algoritmo. Un identificador es una
secuencia de caracteres que sirve para identificar una posicin de memoria del
computador, pudindose acceder a su contenido. Para definir un identificador se
debe seguir las siguientes reglas:
El primer carcter debe ser una letra, los siguientes caracteres pueden ser
letras, dgitos o el smbolo de subrayado (_).
No debe de comenzar con un nmero, ni debe contener espacios en blanco,
pues indicara la posible existencia de dos o ms identificadores. Por ejemplo
ahorroTotal es un identificador vlido, sin embargo ahorro Total no lo es, ya
que el espacio en blanco incluido entre ahorro y Total indicara la presencia
de dos identificadores: ahorro y Total respectivamente.
Se aconseja elegir nombres de identificadores que describan la informacin
que ellos representan. Esto facilita la lectura, comprensin y escritura del
algoritmo. No es conveniente utilizar nombres cortos ni tampoco
excesivamente largos. Por ejemplo para referirse al sueldo de un trabajador
se podra usar como identificador sueldo, que es mas apropiado que
nombrarlo como x o nombrarlo como elsueldodeltrabajador, en este caso x
no sugiere nada y elsueldodeltrabajador no facilita su escritura.

Identificador Validez Explicacin
Calculo1 Contiene un nmero.
2edad x Comienza con un nmero.
salario Bruto x Tiene un espacio en blanco intermedio.
sueldo_trabajador Puede incluir el smbolo de subrayado.
Tabla 1. Identificadores validos () y no validos(x)

5.1.1. Variables

Una variable se define como un identificador que se utiliza para almacenar
los datos. Es un nombre que hace referencia a un valor que puede variar a
lo largo de la ejecucin del programa. Pueden ser:
Variable Numrica, que representa un valor entero o real, por ejemplo,
entero: edad, cantidad; real: sueldo, descuento.
Variable Alfanumrica o literal: que representa un carcter o una
secuencia de caracteres. Por ejemplo caracter: seccin, categora;
cadena: nombre, profesin.

5.1.2. Constantes

Es aquel elemento que no cambia de valor durante la ejecucin de un
programa (o comprobacin de un algoritmo). Puede ser:
Constante Numrica, que representa un determinado valor, por ejemplo,
son constantes enteras: 20, 30; constantes reales: 3.1416, 20.8.
Constante Alfanumrica o literal: cualquier carcter o secuencia de
caracteres (dgito, letra, smbolo especial) comprendidos entre comillas.
Por ejemplo prof Doctor.


5.1.3. Tipos de datos

El tipo de una variable, define el contenido que sta tendr, es decir,
indica el propsito de la variable.
Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

10 Sistema a Distancia
Los datos se clasifican en diversas categoras, segn el tipo de mquina o
del lenguaje en uso. Generalmente podemos encontrar las siguientes
categoras:

Enteros
Son nmeros que no contienen componentes decimales o fraccionarias;
pueden ser positivos o negativos. Permite realizar operaciones
aritmticas.
Reales
Son nmeros, siempre tienen un punto decimal y pueden ser positivos o
negativos. Un nmero real consta de un nmero entero y una parte
decimal. Permite realizar operaciones aritmticas.
Carcter
Es un conjunto finito y ordenado de caracteres que la computadora
reconoce. Un dato de este tipo contiene solo un carcter. Dentro del
algoritmo se distingue de las variables, porque son delimitados por
apstrofes o comillas simples.
As tenemos:
o Caracteres Alfabticos (A,B,C, Z, a, b, c z)
o Caracteres Numricos (0, 1, 2, 9)
o Caracteres Especiales (+, -, /, ^, ;, <, >, $, ...)
Cadena
Es un sucesin de caracteres que se encuentran delimitados por comillas
doble, representan informacin textual (palabras, frases, etc). La
longitud de una cadena es el nmero de caracteres comprendidos entre
los separadores o delimitadores, los espacios en blanco tambien los
cuenta. Por ejemplo:
Hola amigos Longitud = 11
Bienvenidos al mundo de los algoritmos Longitud = 38
Lgicos
Denominados tambin Booleano, es aqul dato que solo puede tomar
uno de dos valores: verdadero (true) o falso (false).


5.2. Seccin del Cdigo

A esta seccin se le considera el corazn del algoritmo. En ella van el cuerpo del
programa, conformado por las sentencias que indican los pasos que se van a
realizar durante la ejecucin del algoritmo.


5.2.1. Expresin

Las expresiones son combinaciones de variables, constantes, operadores,
funciones especiales, parntesis, entre otros, que se forman para
representar las operaciones aritmticas, relacionales y lgicas. Por ejemplo:

a + 2 * b c / 3

Una expresin consta de operadores y operandos. Segn sea el tipo de
datos que manipulan, se clasifican las expresiones en:
Aritmticas
Relacinales
Lgicas


5.2.2. Operadores y Operandos
Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

11 Sistema a Distancia

Los operadores son smbolos especiales que relacionan los valores de una o
ms variables y/o constantes. Es decir, los operadores nos permiten
manipular valores.
Los operandos son los valores, constantes, variables o expresiones que
intervienen en una expresin.

Operando Operador Operando




Los tipos de operadores son:

a) Operadores Aritmticos
Permite la realizacin de operaciones matemticas con los valores de
las variables y constantes.
Pueden ser utilizados con tipos de datos enteros o reales.
Cuando en una operacin aritmtica los operandos son de tipos
diferentes, ambos son convertidos al tipo de operando de precisin
mas alta, es decir si ambos son enteros, el resultado es entero, si
alguno de ellos es real, el resultado es real.

Los operadores aritmticos son:

Operador
Aritmtico
Significado
Expresin Aritmtica
(a = 13, b = 2)
Resultado
+ Suma a + b 15
- Resta a b 11
* Multiplicacin a * b 26
/ Divisin real a / b 6.5
div Divisin entera a div b 6
mod
Residuo de una
divisin
a mod b 1
^ Exponenciacin a ^ 2 169

Tabla 2. Operadores Aritmticos

b) Operadores Relacionales
Se utiliza para comparar dos valores, produciendo un resultado lgico
(verdadero o falso)
La comparacin se realiza entre valores del mismo tipo de datos
(numricos o cadenas).
Estos operadores sirve para expresar las condiciones en los
algoritmos.

Los operadores relacionales son:

Operador
Relacional
Significado
Expresin Relacional
(a = 3, b = 2)
Resultado
> Mayor que a > b true
>= Mayor o igual que a >= b true
Variable o Constante
Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

12 Sistema a Distancia
< Menor que a < b false
<= Menor o igual que a <= b false
= Igual a a + b = 5 true
<> Distinto de a <> b true
Tabla 3. Operadores Relacinales

c) Operadores Lgicos
Permite establecer comparaciones entre valores lgicos
El resultado de esta comparacin es de tipo lgico o booleano
(verdadero o falso).
Los operadores lgicos son:

Variables Operador
x y x and y x or y not x
true true true true false
true false false true false
false true false true true
false false false false true
Tabla 4. Operadores Lgicos

Se observa en la tabla que el resultado de una operacin and ser cierto solo
si los dos operandos son ciertos, el resultado de una operacin or ser cierto
si alguno de los dos operandos es cierto o ambos a la vez, en el caso del
operador not niega el operando, obtenindose true (verdadero) si el
operando es falso o viceversa.


5.2.2.1. Prioridad de los operadores

Todas las expresiones entre parntesis se evalan primero. Las
expresiones con parntesis anidados se evalan de dentro a fuera, el
parntesis ms interno se evala primero.
Dentro de una misma expresin los operadores se evalan en el
siguiente orden.

^ Exponenciacin
*, /, mod Multiplicacin, divisin, modulo.
+, - Suma y resta.

Los operadores en la misma prioridad se evalan de izquierda a derecha.

Por ejemplo: 2 + 3 * 10

El operador de multiplicacin tiene mayor prioridad que la suma, por lo
cual el compilador evaluara primero la multiplicacin 3*10 y a
continuacin la suma obteniendo como resultado 32.

Por ejemplo: 2*3 8 / 4

Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

13 Sistema a Distancia
El operador de multiplicacin tiene igual prioridad que la divisin, por lo
cual el compilador evaluar primero la multiplicacin 2*3, y a
continuacin la divisin obtenindose 6 2 dando como resultado 4.


5.2.2.2. Uso de parntesis

Los parntesis se utilizan para cambiar el orden preestablecido, ya que
las operaciones encerradas entre parntesis se evalan primero.
Por ejemplo, hallar el promedio de dos nmeros:

x = a + b / 2
x = (a+b) / 2

En la primera expresin, debido a la prioridad en primer lugar se divide b
entre 2, y despus se suma el valor de a, esta expresin es distinta
cuando se utilizan parntesis, primero se suma a+b y luego dividirlo
entre dos.

Cuando en una expresin contiene subexpresiones que se encuentran
anidadas por parntesis, primero se evalan las subexpresiones anidados
en el nivel mas interno luego el siguiente nivel mas interno y as
sucesivamente.

Por ejemplo:

8 + ( 6 ( 8 3 ) + 2)
Primero efectuamos el parntesis mas interno (8 3) obteniendo 5 como
resultado, reemplazamos obtenemos 8 + (6 5 + 2).

Efectuamos el parntesis ya que tiene mayor prioridad que la suma
obteniendo 3, luego efectuamos la suma obteniendo como resultado 11.


5.2.3. Funciones predefinidas

En los lenguajes de programacin existen ciertas funciones predefinidas o
internas que aceptan un argumento y producen un valor. As tenemos,
algunas funciones numricas que sern usadas en el desarrollo de
algoritmos:

Funcin Descripcin
absoluto(x)
cos(x)
sin(x)
entero(x)
ln(x)
log(x)
raiz(x)
redondeo(x)
Valor absoluto
Coseno
Seno
Parte entera de un nmero
Logaritmo natural
Logaritmo decimal
Raz cuadrada
Redondear un nmero

Las funciones se utilizarn en una expresin escribiendo su nombre, seguido
de los argumentos adecuados encerrados entre parntesis.


5.2.4. Asignacin

Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

14 Sistema a Distancia
Un operador de asignacin altera el valor de una variable sin alterar su tipo.
Se representa por una flecha que apunta hacia la izquierda (); este
operador copia el valor del operando o la expresin de la derecha en la
variable de la izquierda, aplicando las conversiones de tipo usuales cuando
es necesario. El formato general de asignacin es:




Donde Expresin puede ser una variable, constante, operacin o funcin.

Ejemplo:
a 2

Significa que a la variable a se le ha asignado el valor 2. La accin de
asignar es destructiva, ya que el valor que tuviera la variable antes de la
asignacin se pierde y se reemplaza por el nuevo valor. As en la secuencia
de operaciones:
a 30
a 189
a 9

El valor de la variable a ser 9, es decir el ltimo valor asignado, ya que los
valores anteriores se han destruido.


6. Secuencia de los algoritmos

En un algoritmo se definen tres partes: Entrada, Proceso y Salida.





La entrada est conformada por la informacin dada al algoritmo o conjunto de
instrucciones que generan los valores con los que se ha de trabajar en caso de
que carezca de datos de entrada.
El proceso lo conforman los clculos y operaciones necesarias para que a partir
de los datos o instrucciones de entrada se llegue a los resultados.
La salida son las transformaciones que ha sufrido la informacin de entrada a
travs del proceso para obtener los resultados finales

Inicio

Constante real: pi 3.1416
Variable real: r, c
Escribir (Introduzca el radio de la circunferencia)
Leer (r)

a 2*pi*r*r

Escribir (El rea es: , a)
Fin


6.1. Entrada de datos

Nom_variable Expresin


Proceso
Entrada Salida
Entrada
Salida
Proceso
Algoritmos: Un enfoque prctico - Captulo I Franklin Arriola R. / Yuliana Juregui R.

15 Sistema a Distancia
Consiste en recibir desde un dispositivo de entrada (por ejemplo el teclado) un
valor o dato. Se representa por la palabra Leer la cual, est seguida por el
nombre de la variable delimitado entre parntesis: Leer (nombre_variable)

Se utiliza para que un usuario introduzca los datos requeridos por un algoritmo.

Cuando se leen ms de una variable es necesario separarlas por comas:
Leer (nombre_variable1, nombre_variable2,...)

Por ejemplo para leer las variables a, b, c, se tiene:

En Pseudocdigo En Diagrama de flujo

Leer (a, b, c)


6.2. Salida de datos

Consiste en transferir el valor de una variable o un mensaje a un dispositivo de
salida (por ejemplo la pantalla, impresora). Se representa por la palabra
Escribir, la cual est seguida por el nombre de la variable delimitado entre
parntesis: Escribir (nombre_variable)

Se utiliza para mostrar al usuario los resultados obtenidos.

Cuando se escriben mas de una variable es necesario separarlas por comas:
Escribir (nombre_variable1, nombre_variable2,...)

El nombre de variable puede ser de dos tipos: constantes alfanumricas o
variables.

Los mensajes se escriben entre comillas dobles " ". Si una variable es escrita
entre comillas, se mostrar el nombre de la variable correspondiente, y si la
variable es escrita sin comillas se mostrara el contenido de la variable.

As se tiene:
Escribir (Cualquier mensaje)
Escribir (variable1, variable2)

Estas dos formas se puede representar en una sola instruccin como:
Escribir (Cualquier mensaje , variable1, variable2)

Por ejemplo para imprimir el M.C.D. de dos nmeros, se tiene:

En Pseudocdigo En Diagrama de flujo

Escribir (El M.C.D es , m)


a, b, c
El M.C.D. es ,m

Das könnte Ihnen auch gefallen