Sei sulla pagina 1di 13

Algoritmos

Miguel Angel Martinez Gutierrez

870000051

REVISADO

2.Algoritmos

Diseo de Algoritmos
Diferentes diseos de
Algoritmos
Anlisis de los Algoritmos
Resolucin de los
Algoritmos

2.Algoritmos

15%

28 nov.2014

CALIFICACION
14%

ALGORITMOS Y PROGRAMAS

INTRODUCCIN A LOS ALGORITMOS


Si tuvieses que escoger un programa entre varios que resuelven un mismo
problema, enfuncin de que escogeras?: de su elegancia?, de la legibilidad?,
del interfaz de usuario?,de su velocidad de ejecucin?, de la memoria que
consume? No cabe duda de que todoslos factores influyen. Nosotros
consideraremos aqu criterios basados en la eficiencia, esdecir, en el mejor
aprovechamiento de los recursos computacionales. Nuestro objeto deestudio
serian los mtodos de resolucin de problemas, es decir, los algoritmos, y no
losprogramas, o sea, sus implementaciones concretas usando diferentes
lenguajes deprogramacin.El desarrollo de algoritmos es un tema fundamental e
importante en el diseo deprogramas, aplicaciones de cmputo y soluciones
informticas. Por lo cual, el alumno debetener buenas bases que le sirvan para
poder crear de manera fcil y rpida el desarrollo desus programas.

SISTEMAS DE PROCESAMIENTO DE LA INFORMACIN


Un ordenador es una mquina de procesamiento de informacin. Es una mquina
con unconjunto de elementos que interactan entre s, cables, chips,
procesadores, etc., (procesarinformacin es la capacidad del Sistema de
Informacin para efectuar clculos de acuerdocon una secuencia de operaciones
preestablecida. Estos clculos pueden efectuarse condatos introducidos
recientemente en el sistema o bien con datos que estn almacenados).Para
procesar la informacin est el hardware (corresponde a todas las partes fsicas
y tangibles de una computadora: sus componentes elctricos, electrnicos,
electromecnicosy mecnicos, microprocesador, RAM, buses, chips,), y el
software (que comprende elconjunto de los componentes lgicos necesarios para
hacer posible la realizacin de unatarea especfica, en contraposicin a los
componentes fsicos del sistema, el hardware).

DEFINICIN DE ALGORITMO
Si bien los allegados a la informtica saben que un algoritmo es un conjunto de
operacionesordenadas de modo tal en que puedan resolver un problema, son
pocos los saben que eltrmino deriva del matemtico astrnomo y gegrafo
musulmn al-Jwarizmi.Los algoritmos tienen algo en comn con las funciones
matemticas: reciben una entrada y producen una salida, pero para que pueda ser
considerado como algoritmo debe sereficiente (encontrar una solucin en el menor
tiempo posible), finito (posee un nmerodeterminado de pasos) y definido (se llega
al mismo resultado si se sigue el mismo procesoms de una vez).En conclusin un
algoritmo es una serie de pasos organizados que describe el proceso quese debe
seguir, para dar solucin a un problema especfico.

TIPOS DE ALGORITMOS
Existen dos tipos y son llamados as por su naturaleza:

Cualitativos:
Son aquellos en los que se describen los pasos utilizando palabras.

Cuantitativos:
Son aquellos en los que se utilizan clculos numricos para definirlos pasos del
proceso.
Definicin de Lenguaje
Es una serie de smbolos que sirven para transmitir uno o ms mensajes (ideas)
entre dosentidades diferentes. A la transmisin de mensajes se le conoce
comnmente comocomunicacin.La comunicacin es un proceso complejo que
requiere una serie de reglas simples, peroindispensables para poderse llevar a
cabo. Las dos principales son las siguientes:

TCNICAS Y DISEOS DE ALGORITMOS


INICIANDO LA PROGRAMACIN

Lenguajes Algortmicos

Un Lenguaje algortmico es una serie de smbolos y reglas que se utilizan para


describir demanera explcita un proceso.
Tipos de Lenguajes Algortmicos

Grficos: Es la representacin grfica de las operaciones que realiza un


algoritmo(diagrama de flujo).

No Grficos: Representa en forma descriptiva las operaciones que debe realizar


unalgoritmo (pseudocdigo).INICIOEntero: EdadESCRIBA cul es tu edad? Lea
EdadSI (Edad >=18 entonces)ESCRIBA Eres mayor de EdadSINOESCRIBA
No eres mayor de EdadFINSIESCRIBA fin del algoritmoFIN

COMENZAMOS A PROGRAMAR
Un computador es un sistema electrnico diseado para procesar grandes
cantidades dedatos a alta velocidad con el fin de generar informacin til en el
proceso de toma dedecisiones. Dicha informacin contar con los atributos de
oportunidad, veracidad,confiabilidad y exactitud. Pero estas actividades no se
pueden desarrollar por s sola, paraesto se requiere de ser programada,
introducirle instrucciones u rdenes que le digan lo quetiene que hacer. Un
programa es la solucin a un problema inicial, as que todo comienzaall, en el
Problema
. El proceso de programacin es el siguiente: Dado un determinadoproblema el
programador debe idear una solucin y expresarla usando un algoritmo, luegode
esto, debe codificarlo en un determinado lenguaje de programacin y por ltimo
ejecutarel programa en el computador el cual refleja una solucin al problema
inicial. Esto es agrandes rasgos lo que hace el programador de computadores.

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS POR MEDIODE


COMPUTADORA

DEFINICIN DEL PROBLEMA


En este paso se determinan la informacin inicial para la elaboracin del
programa. Esdonde se determina qu es lo que debe resolverse con el
computador, el cual requiereuna definicin clara y precisa. Es importante que se

conozca lo que se desea que realicela computadora; mientras esto no se conozca


del todo no tiene mucho caso continuarcon la siguiente etapa.

ANLISIS DEL PROBLEMA


Una vez que se ha comprendido lo que se desea de la computadora, es
necesariodefinir:

Los datos de entrada.

Cul es la informacin que se desea producir (salida)

Los mtodos y frmulas que se necesitan para procesar los datos.Una


recomendacin muy prctica es el de colocarse en el lugar de la computadora
y analizar qu es lo que se necesita que se ordene y en qu secuencia para
producir losresultados esperados

TCNICAS Y DISEOS DE ALGORITMOS


INICIANDO LA PROGRAMACIN

DISEO DEL ALGORITMO


Las caractersticas de un buen algoritmo son:

Debe tener un punto particular de inicio.

Debe ser definido, no debe permitir dobles interpretaciones.

Debe ser general, es decir, soportar la mayora de las variantes que se


puedanpresentar en la definicin del problema.

Debe ser finito en tamao y tiempo de ejecucin.

CODIFICACIN
La codificacin es la operacin de escribir la solucin del problema (de acuerdo a
lalgica del diagrama de flujo o pseudocdigo), en una serie de instrucciones
detalladas, enun cdigo reconocible por la computadora, la serie de instrucciones
detalladas se leconoce como cdigo fuente, el cual se escribe en un lenguaje de
programacin olenguaje de alto nivel.

PRUEBA Y DEPURACION
Se denomina prueba de escritorio a la comprobacin que se hace de un algoritmo
parasaber si est bien hecho. Esta prueba consiste en tomar datos especficos
como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un
resultado, el anlisis de estosresultados indicar si el algoritmo est correcto o si
por el contrario hay necesidad decorregirlo o hacerle ajustes.

PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS


Todos estos elementos con los cuales se construyen dichos algoritmos se basan
en unadisciplina llamada: Programacin Estructurada.
Dato
Es la expresin general que describe los objetos con los cuales opera el
programa. Porejemplo, la edad y el domicilio de una persona, forman parte de sus
datos. Los datos sesitan en objetos llamados variables.Las variables son zonas
de memoria cuyo contenido cambia durante la fase deprocesamiento de
informacin. Son objetos cuyo valor puede ser modificado a lo largo de laejecucin
de un programa. Las variables llevan un nombre llamado identificador. Este
puedeser una cadena de letras y dgitos, empezando siempre con una letra. Por
ejemplo: Pi,curso99, nom_alum, etc.
Tipos De Datos
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple
carcter,tal como a, un valor entero tal como 35. El tipo de dato determina la
naturaleza delconjunto de valores que puede tomar una variable.Estos datos
Pueden ser:SimplesNumricosLgicos Alfanumricos (char,
string)Estructurados Arreglos (vectores y matrices)Registros ArchivosPunteros
Tipos de Datos Simples

Datos Numricos:
Permiten representar valores escalares de forma numrica, esto incluye a los
nmerosenteros y los reales.

TCNICAS Y DISEOS DE ALGORITMOS


INICIANDO LA PROGRAMACIN
Este tipo de datos permiten realizar operaciones aritmticas comunes.
Datos lgicos:
Son aquellos que solo pueden tener dos valores (cierto o falso) ya que
representan elresultado de una comparacin entre otros datos (numricos o
alfanumricos).
Datos alfanumricos (string):
Es una secuencia de caracteres alfanumricos que permiten representar
valoresidentificables de forma descriptiva, esto incluye nombres de personas,
direcciones, etc. Esposible representar nmeros como alfanumricos, pero estos
pierden su propiedadmatemtica, es decir no es posible hacer operaciones con
ellos. Este tipo de datos serepresentan encerrados entre comillas.
Identificadores
Los identificadores representan los datos de un programa (constantes, variables,
tipos dedatos). Un identificador es una secuencia de caracteres que sirve para
identificar unaposicin en la memoria de la computadora, que permite acceder a
su contenido.Ejemplo: nombre, num_hors, califica, etc.
Reglas para formar un identificador
debencontener
puede ser de varios caracteres. Pero esrecomendable una longitud promedio de 8
ntificador debe dar una idea del valor que contiene.

CONSTANTES, VARIABLES Y EXPRESIONESConstantes


Una constante es un dato numrico o alfanumrico que no cambia durante la
ejecucindel programa.Ejemplo:pi = 3.1416
Variable
Es un espacio en la memoria de la computadora que permite almacenar
temporalmente undato durante la ejecucin de un proceso, su contenido puede
cambiar durante la ejecucindel programa.Para poder reconocer una variable en la
memoria de la computadora, es necesario darle unnombre con el cual podamos
identificarla dentro de un algoritmo.Ejemplo: area = pi * radio ^ 2Las variables son:
el radio, el area y la constate es pi
Clasificacin de las VariablesPor su contenido

Variables Numricas: Son aquellas en las cuales se almacenan valores


numricos,positivos o negativos, es decir almacenan nmeros del 0 al 9, signos (+
y -) y el puntodecimal.Ejemplo: iva = 0.15 pi = 3.1416 costo = 2500

Variables Lgicas: Son aquellas que solo pueden tener dos valores (cierto o
falso)estos representan el resultado de una comparacin entre otros datos.

Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras,


nmeros y caracteres especiales).Ejemplo: letra = a apellido = lopez direccion =
Av. Libertad #190

TCNICAS Y DISEOS DE ALGORITMOS


INICIANDO LA PROGRAMACIN
Por su uso

Variables de Trabajo: Variables que reciben el resultado de una operacin


matemticacompleta y que se usan normalmente dentro de un programa.Ejemplo:
Suma = a + b /c

Contadores: Se utilizan para llevar el control del numero de ocasiones en que se


realizauna operacin o se cumple una condicin. Con los incrementos
generalmente de unoen uno.

Acumuladores: Forma que toma una variable y que sirve para llevar la
sumaacumulativa de una serie de valores que se van leyendo o calculando
progresivamente.
Expresiones
Las expresiones son combinaciones de constantes, variables, smbolos de
operacin,parntesis y nombres de funciones especiales.Por ejemplo: a + (b + 3) /
cCada expresin toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecucin de las operaciones indicadas.Una
expresin consta de operadores y operandos. Segn sea el tipo de datos
quemanipulan, se clasifican las expresiones en:

Aritmticas

Relacionales

Lgicas

OPERADORES Y OPERANDOSOperadores
Son elementos que relacionan de forma diferente, los valores de una o ms
variables y/oconstantes. Es decir, los operadores nos permiten manipular valores.
Operadores Aritmticos
Los operadores aritmticos permiten la realizacin de operaciones matemticas
con los valores (Variables y constantes).Los operadores aritmticos pueden ser
utilizados con tipos de datos enteros o reales. Siambos son enteros, el resultado
es entero; si alguno de ellos es real, el resultado es real.
Operadores Aritmticos
+ Suma- Resta* Multiplicacin/ Divisinmod Modulo (residuo de la divisin
entera)Ejemplos:Expresin Resultado7 / 2 3.512 mod 7 54 + 2 * 5 14
Prioridad de los Operadores Aritmticos
Todas las expresiones entre parntesis se evalan primero. Las expresiones con
parntesisanidados se evalan de dentro a fuera, el parntesis ms interno se
evala primero. Dentrode una misma expresin los operadores se evalan en el
siguiente orden:

TCNICAS Y DISEOS DE ALGORITMOS


INICIANDO LA PROGRAMACIN
1. ^ Exponenciacin2. *, /, mod Multiplicacin, divisin, modulo.3. +, - Suma y
resta.Los operadores en una misma expresin con igual nivel de prioridad se
evalan deizquierda a derecha.Ejemplos:4 + 2 * 5 = 1423 * 2 / 5 = 9.23 + 5 * (10 (2 + 4)) = 232.1 + (1.5 + 12.3) = 2.1* 13.8 = 29.98
Operadores Relacionales
Se utilizan para establecer una relacin entre dos valores. Luego compara estos
valoresentre si y esta comparacin produce un resultado de certeza o falsedad
(verdadero o falso).Los operadores relacionales comparan valores del mismo tipo
(numricos o cadenas).Estos tienen el mismo nivel de prioridad en su

evaluacin.Los operadores relacinales tiene menor prioridad que los


aritmticos. Tipos de operadores Relacionales

> Mayor que

<
Menor que

> = Mayor o igual que

<
= Menor o igual que

<
> Diferente

= IgualEjemplos:Si a = 10, b = 20, c = 30a + b > c Falsoa - b


<
c Verdadero a - b = c Falsoa * b
<
> c VerdaderoEjemplos no lgicos:a
<
b
<
c10
<
20
<
30 T > 5

<
30(no es lgico porque tiene diferentes operandos)
Operadores Lgicos
Estos operadores se utilizan para establecer relaciones entre valores lgicos.
Estos valorespueden ser resultado de una expresin relacional. Tipos de
operadores Lgicos And Y Or ONot NegacinEjemplo:Para los siguientes
ejemplos T significa verdadero y F falso.

TCNICAS Y DISEOS DE ALGORITMOS


INICIANDO LA PROGRAMACIN

Operador Not Operador Not


Operando Resultado T FF T
Operador And Operador And
Operando1 Operador Operando2 Resultado T AND T T T F FF T FF F F
Operador Or Operador Or
Operando1 Operador Operando2 Resultado T Or T T T F TF T TF F FPrioridad de
los Operadores Lgicos1. Not2. And3. OrPrioridad de los Operadores en
General1. ( )2. ^3. *, /, Mod, Not4. +, -, And5. >,
<
, > =,
<
=,
<
>, =, OrEjemplos:Sea: a = 10 b = 12 c = 13 d =10

TCNICAS PARA LA FORMULACIN DE ALGORITMOS.Diagrama de Flujo


Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se
puede decirque es la representacin detallada en forma grfica de cmo deben
realizarse los pasos en lacomputadora para producir resultados.Esta

representacin grfica se da cuando varios smbolos (que indican diferentes


procesosen la computadora), se relacionan entre si mediante lneas que indican el
orden en que sedeben ejecutar los procesos. Los smbolos utilizados han sido
normalizados por el institutonorteamericano de normalizacin (ANSI):

ENTRADA Y SALIDA DE LA INFORMACIN:


Las dos operaciones bsicas de cada salida son las de lectura y de escritura. La
lectura esequivalente a la asignacin en cuanto que va a haber una variable que
recibe un valor, peroeste valor no resulta de evaluar ninguna expresin, sino que
el valor lo vamos a leer de undispositivo externo de entrada.

TCNICAS Y DISEOS DE ALGORITMOS


INICIANDO LA PROGRAMACIN
Leer (nombre de la variable)El valor introducido por el dispositivo externo, tiene
que ser del mismo tipo del que la variable que se le asigne.La operacin de
escritura lo que hace es mostrar el valor de una variable en un dispositivoexterno
de salida.Escribir (variable)La operacin de escritura no es una operacin
destructivo en memoria. Al pedir un valor alusuario hay que decirle que es lo que
se le quiere pedir escribiendo un mensaje.

Potrebbero piacerti anche