Vous êtes sur la page 1sur 11

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

Tema 1: Algoritmos
1.1 Concepto de Algoritmo
La palabra algoritmo deriva del nombre de un famoso matemtico y astrnomo rabe AlKhoarizmi ( Al Juarismi siglo IX).
Un algoritmo es un conjunto finito de pasos especficos y organizados para realizar una labor
Un algoritmo pude ser definido como la secuencia ordenada de pasos a seguir, que conducen a
la solucin de un problema dado
1.1.1 Caractersticas de los algoritmos
Todo algoritmo debe ser:
-

Preciso, indicando el orden de realizacin de cada uno de los pasos


Definido, si al algoritmo se le proporciona varias veces los mismos datos, se deben
obtener siempre los mismos resultados
Finito, al seguir el algoritmo, ste debe terminar en algn momento, es decir tener un
nmero finito de pasos.

En la secuencia de pasos de un algoritmo, se deben considerar tres partes:


1. Entrada, datos de entrada dados al algoritmo
2. Proceso, operaciones o clculos necesarios para encontrar la solucin el problema
3. Salida, respuesta (informacin) dada por el algoritmo o resultados finales de los clculos.
1.1.2 Medios de expresin de un algoritmo
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural,
pseudocdigo, diagramas de flujo y lenguajes de programacin entre otros.
-

Las descripciones en lenguaje natural tienden a ser ambiguas y extensas.


El usar pseudocdigo y diagramas de flujo evita muchas ambigedades del lenguaje
natural. Dichas expresiones son formas ms estructuradas para representar algoritmos; no
obstante, se mantienen independientes de un lenguaje de programacin especfico.

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

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

Diagrama de flujo

Los diagramas de flujo son descripciones grficas de algoritmos; usan smbolos conectados con
flechas para indicar la secuencia de instrucciones y estn regidos por ISO.
Los diagramas de flujo son usados para representar algoritmos pequeos, ya que abarcan mucho
espacio y su construccin es laboriosa.
1.2 Resolucin de problemas con ayuda de las computadoras
La principal razn para que las personas aprendan lenguajes de programacin es utilizar la
computadora como una herramienta para automatizar la resolucin de problemas.
Dos fases pueden ser identificadas en el proceso de resolucin de problemas ayudados por
computadora:
1.2.1

Fase de resolucin del problema


Fase de implementacin en un lenguaje de programacin
Fase de resolucin del problema
Esta fase incluye:
a) Anlisis del problema: identificar lo pedido, construir la solucin y determinar los
datos necesarios
b) Diseo del algoritmo, identificar las tareas ms importantes para resolver el problema
y disponerlas (escribirlas) en el orden que han de ser ejecutadas.
c) Verificacin del algoritmo, el modo ms normal de comprobar un algoritmo es
mediante ejecucin manual, usando datos significativos que abarquen todo el posible

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

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

Fase de Implementacin de la solucin

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

Msc. Ing. Sandra Lima Guevara

Valor b
6
14
.

Valor h
5
18

Resultado A
15
126

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

2) Escriba un algoritmo que calcule el valor de la siguiente expresin matemtica:


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

Valor
B
10
2

Resultado
Exp
96.3
65.3

Prctica 2:

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

2. Reglas en la escritura de los algoritmos


2.1 Identificadores
Representan los nombres de los objetos (variables o constantes) que identificamos en la
resolucin de un problema. Es una secuencia de caracteres (letras) que puede ser de cualquier
longitud, aunque tiene ciertas reglas que hay que respetar, las cuales son:

Un identificador siempre debe comenzar con una letra


Un identificador pude estar formado por letras, dgitos y carcter de subrayado
("_"), pero siempre despus del primer carcter.
No puede contener espacios en blanco.

Ya en la programacin un identificador es una forma para nombrar a las celdas de memoria


en la computadora, en lugar de memorizarnos una direccin de memoria. Entonces, los
identificadores se utilizan para nombrar variables, constantes, etc.

Constantes: Las constantes son valores que no pueden cambiar en la ejecucin


del programa. Recibe un valor en el momento de la compilacin del programa y
este no puede ser modificado.
Variables: Las variables son valores que se pueden modificar durante la ejecucin
del programa. Al contrario de las constantes estas reciben un valor, pero este valor
puede ser modificado durante la ejecucin o la compilacin del programa.

2.2 Asignacin de valores


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

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

Una expresin aritmtica es un conjunto de datos (constante o variable) unidos por


operadores aritmticos
R = (A * 2/B) + C mod 2 A^3
OPERADOR

SIGNIFICADO

Suma

Resta

Multiplicacin

Divisin

Exponenciacin

Mod

Residuo

Prioridad de Operadores Aritmticos


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

Operador
*,/

Significado
Primero se realizan la multiplicacin y la divisin

Mod

Segundo se realiza el clculo del residuo

+,-

Tercero se realiza la suma y la resta

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

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

Operador

Significado

Igual que

>

Mayor que

<

Menor que

>=

Mayor o igual que

<=

Menor o igual que

<>

Distinto

Correcto
Incorrecto

2.2.3 Operadores Lgicos


Un operador lgico combina el resultado de dos condiciones, para crear un nico resultado
basndose en el resultado de ambas condiciones
Operador
AND

Significado
Evala como VERDAD si el resultado de ambas condiciones son
evaluadas como verdad

OR

Evala como VERDAD si el resultado de alguna de las condiciones es


evaluada como verdad

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

Estructuras de Control Selectivas


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

Significado

Igual que

>

Mayor que

<

Menor que

>=

Mayor o igual que

<=

Menor o igual que

<>

Distinto

Toda condicin tiene la siguiente sintaxis (es decir forma de escritura):


Valor_1

Operador de comparacin

Valor_2

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

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

SI se cumple una condicin ENTONCES . SINO FIN SI


3) Estructura Selectiva Mltiple
EN CASO QUE se cumple
la condicin1 ENTONCES accin(s) 1
la condicin 2 ENTONCES accin(s) 2

la condicin n ENTONCES accin(s) n


FIN CASO QUE
Qu significa SI se cumple una condicin?
Qu el resultado lgico de evaluar la condicin es VERDAD

1.3Estructura Selectiva Simple


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

Msc. Ing. Sandra Lima Guevara

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

Ejercicios:
1) Escriba un algoritmo que permita determinar si un numero es par, y en tal caso
muestre el mensaje Numero par

1.4Estructura Selectiva Doble


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

10

Universidad Catlica Boliviana

Materia: Introduccin a la Programacin INF-101

1) Escriba un algoritmo que permita determinar si un numero es par, y en tal caso muestre el
mensaje Numero par, caso contrario muestre el mensaje Numero Impar

Msc. Ing. Sandra Lima Guevara

11

Vous aimerez peut-être aussi