Sei sulla pagina 1di 19

CONCEPTOS BSICOS

PROBLEMA: Un problema se puede definir como la contradiccin desfavorable de "lo que es"
entre "lo que debe ser". Un problema suele ser un asunto del que se espera una solucin, aunque
sta lista no siempre sea obvia. Se habla de problemas cuando hay preguntas respecto a una
estructura o un objeto, cuyas respuestas necesitan de una explicacin con su correspondiente
demostracin. Esto quiere decir que un problema matemtico se resuelve al hallar una entidad
que posibilite la satisfaccin de las condiciones del problema.
LGICA: es una ciencia formal que estudia los principios de la demostracin e inferencia vlida.
Lgica es una ciencia formal que estudia la estructura o formas del pensamiento humano (como
proposiciones, conceptos y razonamientos) para establecer leyes y principios vlidos para
obtener criterios de verdad. Como adjetivo, 'lgico' o 'lgica' significa que algo sigue las reglas
de la lgica y de la razn. La lgica proposicional es la rama de la lgica que estudia las
variables proposicionales, las conectivas lgicas. Algunos autores tambin la identifican con la
lgica matemtica o la lgica simblica, ya que utiliza una serie de smbolos especiales que la
acercan al lenguaje matemtico. Las proposiciones pueden ser verdaderas o falsas.
ALGORITMO: Se define algoritmo como un conjunto ordenado y finito de operaciones que
permite hallar la solucin de un problema. Mtodo y notacin en las distintas frmulas del
clculo. El algoritmo constituye un mtodo para resolver un problema mediante una secuencia de
pasos a seguir. Dicha secuencia puede ser expresada en forma de diagrama de flujo con el fin de
seguirlo de una forma ms sencilla. De acuerdo con el concepto anterior, el algoritmo podra
estar incluido en la definicin de programa de ordenador de la Ley de Propiedad Intelectual
(TRLPI), al referirse a ste como toda secuencia de instrucciones o indicaciones destinadas a ser
utilizadas, directa o indirectamente, en un sistema informtico para realizar una funcin o una

tarea o para obtener un resultado determinado, cualquiera que fuere su forma de expresin y
fijacin.
TIPOS DE ALGORITMOS
Existen diferentes tipos de algoritmos, de acuerdo con algunos de sus atributos. Por ejemplo:
Segn el sistema de signos con el que describen los pasos a seguir, se reconocen:
Algoritmos cualitativos: cuando se hace a travs de palabras, es decir, las instrucciones son
verbales. Sucede, por ejemplo, con recetas de cocina.

Algoritmos cuantitativos: cuando se hace a travs de clculos numricos. Se puede hacer un


algoritmo, por ejemplo, para obtener la raz cuadrada de un nmero.
B) Segn su funcin, los algoritmos pueden ser:
Algoritmos de ordenamiento: secuencian los elementos que ingresan a partir de un cierto orden,
en general, segn un orden numrico o lxico.
Algoritmos de bsqueda: al contrario de realizar operaciones o secuenciar elementos, se dedica a
encontrar dentro de una lista que ingresa, uno o varios elementos en particular que cumplan con
el conjunto de condiciones dadas.
Algoritmos de encaminamiento: deciden de qu modo se deber transmitir algo que llega, y
cmo seguir un conjunto de pasos encadenados. Se dividen fundamentalmente entre adaptativos
y estticos, los primeros con cierta capacidad de aprendizaje y ajuste a la circunstancia, mientras
que los segundos funcionan mecnicamente, siempre del mismo modo. Es importante decir que
los algoritmos de encaminamiento cuentan con una propia subdivisin, segn el camino que se
toma para que la transmisin llegue de manera efectiva (ejemplos de estos tipos son: por el

camino ms corto, de manera ptima, basado en el flujo, etc.).


Tambin los algoritmos segn la estrategia que se utiliza para llegar al resultado. Veamos
algunos ejemplos:

Algoritmos probabilsticos: no se puede estar seguro de la exactitud de la respuesta que darn. Se


agrupan en distintos subtipos, pero con esa premisa: o bien presentan soluciones aproximadas del
problema, o bien presentan soluciones que pueden ser correctas pero tambin errneas.
Algoritmo cotidiano: es el que se da en la vida comn de las personas, no se aplica en sistemas
informticos ni en nada ajeno al da a da. Muchas de las decisiones que se toman desde que uno
se despierta por la maana pertenecen a este grupo.
Algoritmo heurstico: abandona alguno de los objetivos como recurso para terminar llegando a
la solucin. En general, son utilizados cuando no existe una solucin mediante las vas
tradicionales.
Algoritmo de escalada: se comienza con una solucin insatisfactoria (que no cumple la entrada y
la salida), y se la va modificando aproximndose a lo que se busca. En algn momento,
estaremos cerca de (o llegaremos a) la solucin correcta.
Algoritmo voraz: Con la idea de llegar a una solucin ptima definitiva, elige analizar cada paso
como nico y elegir la solucin ptima para ese paso.
Algoritmo determinista: es completamente lineal (cada paso tiene un paso sucesor y un paso
predecesor) y por lo tanto predictivo, si se conocen sus entradas y su forma de proceder. El
algoritmo de Euclides, que permite averiguar el mximo comn divisor entre dos nmeros,
responde a este tipo. Se distinguen de los no deterministas, donde el algoritmo tiene un
comportamiento en forma de rbol.

CARACTERISTICA DEL ALGORITMO


Las caractersticas fundamentales que debe cumplir todo algoritmo son:

Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso.


Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo
resultado cada vez.

Un algoritmo debe ser finito. el algoritmo se debe terminar en algn momento; o sea, debe tener

un nmero finito de pasos.


Un algoritmo debe ser legibles: El texto que lo describe debe ser claro, tal que permita

entenderlo y leerlo fcilmente.


Un algoritmo debe definir tres partes: Entrada, Proceso y Salida. Ejemplo: el algoritmo de receta

de cocina se tendr:
Entrada: ingrediente y utensilios.
Proceso: elaboracin de la receta en la cocina.
Salida: terminacin del plato (por ejemplo, Pollo al horno)
DESARROLLO DE ALGORITMOS CUALITATIVOS
Los algoritmos cualitativos permiten dar solucin a casos cotidianos en donde no es necesario utilizar
operaciones matemticas para llegar a dicha solucin.
EJEMPLOS: describir los pasos para ver una pelcula en un cine
*ir al cine
*hacer la fila para comprar la boleta
*entrar al cine
*ver la pelcula
*salir del cine
Cuantitativos a diferencia de los anteriores solucionan casos en donde es necesario el recurrir a las
matemticas para dar solucin a dichos casos.
Ejemplo: describir los pasos para sumar dos nmeros
*solicitar los nmeros que se va a sumar

*tomar el primer nmero y a este sumarle el segundo


*dar el resultado de la operacin anterior
COMPONENTES DE UN ALGORITMO
Para disear 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. Los pasos en esta primera
descripcin de actividades debern ser refinados aadiendo detalles al mismo e incluso, algunos de ellos,
pueden requerir un refinamiento adicional antes que podamos obtener un algoritmo claro preciso y
completo. En un algoritmo se debe considerar tres partes:
Entrada: Informacin dada al algoritmo
Proceso: Operaciones o clculos necesarios para encontrar la solucin del problema
Salida: Respuestas dadas por el algoritmo o resultados finales de los clculos.
Como ejemplo imagnese que desea desarrollar un algoritmo que calcule la superficie de un rectngulo
proporcionndole su base y altura. Lo primero que deber hacer es plantearse y contestar a las siguientes
preguntas:
Especificaciones de entrada
Qu datos son de entrada?
Cuntos datos se introducirn
Cuantos son datos de entradas vlidos?
Especificaciones de salida
Cules son los datos de salida?

Cuntos datos de salida se producir?


Qu precisin tendrn los resultados?
Se debe imprimir una cabecera?
El algoritmo en el primer diseo se podr representar con los siguientes pasos
Paso 1 Entrada de base y altura desde perifrico de entrada por ejemplo teclado
Paso 2 Clculo de la superficie, multiplicando la base por la altura
Pase 3 Salida por pantallas de base, altura y superficie.
DATOS
Un dato es una representacin simblica (numrica, alfabtica, algortmica, espacial, etc.) de un atributo
o variable cuantitativa o cualitativa. Los datos describen hechos empricos, sucesos y entidades. Es un
valor o referente que recibe el computador por diferentes medios, los datos representan la informacin
que el programador manipula en la construccin de una solucin o en el desarrollo de un algoritmo.
Los datos aisladamente pueden no contener informacin humanamente relevante. Slo cuando un
conjunto de datos se examina conjuntamente a la luz de un enfoque, hiptesis o teora se puede apreciar
la informacin contenida en dichos datos. Los datos pueden consistir en nmeros, estadsticas o
proposiciones descriptivas. Los datos convenientemente agrupados, estructurados e interpretados se
consideran que son la base de la informacin humanamente relevante que se pueden utilizar en la toma
de decisiones, la reduccin de la incertidumbre o la realizacin de clculos. Es de empleo muy comn en
el mbito informtico y, en general, prcticamente en cualquier investigacin cientfica.
En programacin, un dato es la expresin general que describe las caractersticas de las entidades sobre
las cuales opera un algoritmo.

TIPOS DE DATOS
El tipo de datos en matemticas se acostumbra clasificar las variables de acuerdo con ciertas
caractersticas. Se hacen distinciones claras entre variables reales, complejas y lgicas, o bien entre
variables que representan valor individual, conjunto de valores o conjunto de conjuntos; o entre
funciones, funcionales o conjunto de funciones. Nos apegaremos al hecho de que toda constante,
variable, expresin o funcin es de cierto tipo.
El tipo asociado a un dato se hace explcito en una declaracin de constante, variable, expresin o
funcin, y que sta declaracin preceda a la utilizacin y aplicacin de la misma. Evidentemente la
cantidad de almacenamiento asignada a un dato tendr que ser elegido dependiendo del tamao del
conjunto de valores que pueda tomar. De tal manera que el tipo de un dato determina:
El conjunto de valores al cual pertenece una constante, o que puede tomar una variable o expresin, o
que puede generar una funcin.
La cantidad de memoria necesaria para su almacenamiento.
El conjunto de operaciones vlidas sobre los mismos. El tipo de un valor representado por una
constante, variable o expresin puede derivarse de su forma o de su declaracin sin que necesite
ejecutarse un proceso de clculo. Cada operador o funcin aguarda la llegada de argumentos de un tipo
fijo y da como resultado un tipo fijo. Si un operador admite argumentos de varios tipos, entonces el tipo
de resultado se puede determinar de las reglas especficas del lenguaje.
Tipos de datos primitivos.

Se refiere a tipos de datos bsicos o elementales, a partir de las cuales se formar estructuras de datos.
Los tipos de datos primitivos considerados en los lenguajes de programacin son: enteros, reales, lgicos
y los caracteres.
El tipo entero (INTEGER) comprende un subconjunto de nmeros enteros cuyo tamao puede variar
entre los diversos sistemas de computacin. Es un miembro del siguiente conjunto de nmeros:
{ . . . , -(n+1), -n, -(n-1),. . . . , -2, -1, 0, 1, 2, . . . ., (n-1), n, (n+1),. . . .}
Si una computadora utiliza n bits para representar un entero en complemento de 2, entonces los valores
posibles de x estn entre -2n-1 y 2n+1 -1. Las operaciones aritmticas sobre enteros se consideran
exactas, es decir, el resultado es otro entero.
El tipo real (REAL) representa un subconjunto de los nmeros reales, denominado conjunto punto
flotante. los problemas de redondeo ocasionados por operaciones con nmeros finitos de cifras. Para este
tipo de datos son vlidas todas las operaciones aritmticas: suma, resta, multiplicacin, divisin,
potencia, etc.
El tipo lgico (BOOLEAN) representa un datos que puede tener uno de dos estados posibles:
verdadero y falso, si y no, activado y desactivado, etc. Estos valores se representan con las constantes:
TRUE y FALSE. Las operaciones validas sobre los datos lgicos o booleano se denominan
comparaciones lgicas, las cuales son: conjuncin (AND), disyuncin (ORA) y la negacin (NO) lgica.
El tipo carcter (CHAR) comprende un conjunto de caracteres imprimibles: las letras maysculas y
minsculas, los dgitos, el espacio en blanco, los caracteres de puntuacin (+ - * / ! @ # $ % ^& _
= ...) y un conjunto de caracteres grficos.

Tipo cadena es una secuencia finita de smbolos tomados del tipo primitivo carcter incluyendo la
cadena nula o vaca. Por lo general el inicio y el final de una cadena lo delimitaremos con un apstrofe
(). Cada cadena tiene un atributo llamado longitud, el cual es el nmero de caracteres en la misma.
CONSTANTES
Una constante es un valor que no puede ser alterado/modificado durante la ejecucin de un programa,
nicamente puede ser ledo. Una constante corresponde a una longitud fija de un rea reservada en la
memoria principal del ordenador, donde el programa almacena valores fijos.
Por ejemplo:
El valor de pi = 3.1416
Por conveniencia, el nombre de las constantes suele escribirse en maysculas en la mayora de
lenguajes.
VARIABLES
Una variable es la expresin simblica representativa de un elemento no especificado comprendido en
un conjunto. Este conjunto constituido por todos los elementos o variables, que pueden sustituirse unas a
otras es el universo de variables. Se llaman as porque varan, y esa variacin es observable y medible.
Las variables pueden ser cuantitativas, cuando se expresan en nmeros, como por ejemplo la longitud o
el peso. Las variables cualitativas expresan cualidades, por ejemplo, designar con letras las preferencias
de los estudiantes por sus materias de estudio.
Las variables continuas son las que pueden tener cualquier valor como el peso o la altura. Las
discontinuas son las que tienen valores determinados, como por ejemplo, la cantidad de hijos de una
familia.

Las variables dependientes, que constituyen el objeto de investigacin, por ejemplo crecimiento y
desarrollo de los nios, son las que se ven modificadas por las independientes, por ejemplo cierto
producto alimenticio. Lo que queremos comprobar es si ese alimento estimula el crecimiento de los
nios. La variable a estudiar es la dependiente, pues es los que observaremos, y se modificar de
acuerdo al consumo de la variable independiente. Hay tambin variables extraas que pueden influir
como que adems los nios practiquen deportes. En este caso conviene eliminarlas, suprimiendo por
ejemplo la prctica del deporte en el perodo de estudio para no contaminar la investigacin, ya que por
ejemplo no sabremos si crecieron por el deporte o por el producto alimenticio.
En informtica se usa el trmino variable para designar, en el lenguaje de programacin, a un tipo de
dato, al que se ha asignado un valor, que puede variar durante la ejecucin del programa.
OPERADORES ARITMTICOS
Son aquellos que sirven para operar trminos numricos. El ejemplo ms utilizado es el smbolo (+) o de
suma. Estos operadores podemos clasificarlos a su vez como:
UNARIOS: Aquellos que trabajan con UN OPERANDO.
BINARIOS: Son los que combinan DOS OPERANDOS, dando como resultado un valor numrico
cuyo tipo ser igual al mayor de los tipos que tengan los operandos.
Un operando viene a ser una de las entradas (argumentos) de un operador Por ejemplo, en:
3+6=9
"+" es el operador y "3" y "6" son los operandos.
La siguiente tabla muestra los smbolos de los operadores binarios:
Operadores aritmticos bsicos

Operador
+
*
/

Operacin
Suma
Resta
Multiplicacin
Divisin

Ejemplo
a+b
a-b
a*b
a/b

Resultado
suma de a y b
Diferencia de a y b
Producto de a por b
Cociente de a por b

OPERADORES RELACIONALES
Una RELACIN consiste de dos operandos separados por un operador relacional. Si la relacin es
satisfecha, el resultado tendr un valor como VERDADERO; si la relacin no se satisface, el resultado
tendr un valor como FALSO.
A continuacin se describen los operadores relacionales ms utilizados:

Smbolo
=
<>
<
>
<=
>=
Ejemplos:
Relacin
20 = 11
15 < 20
PI () > 3.14
'A' < 20
'A' = 65

Significado
IGUAL que
NO IGUAL que
MENOR que
MAYOR que
MENOR o IGUAL que
MAYOR o IGUAL que

Resultado
Falso
Verdadero
Falso
Falso
Verdadero

OPERADOR LGICO
Al igual que en las operaciones relacionales, en las operaciones con operadores lgicos se tienen
resultados cuyo valor de verdad toma uno de los valores VERDADERO o FALSO, tambin llamados
(booleanos).
Los operadores lgicos son :
NOT.
not operando
Descripcin: Invierte el valor de verdad de operando.
Ejemplo:
Si bandera tiene un valor de VERDADERO, ( not bandera) produce un resultado con valor de verdad FALSO.
AND.
operando.1 and operando.2
Descripcin: Produce un resultado con valor de verdadVERDADERO cuando ambos operandos tienen valor de
verdad VERDADERO; en cualquier otro caso el resultado tendr un valor de verdad FALSO.
OR.
operando.1 or operando.2
Descripcin: Produce un resultado con valor de verdadFALSO cuando ambos operadores tienen valores de
verdadFALSO; en cualquier otro caso el resultado tendr un valor de verdad VERDADERO.
XOR.
operando.1 xor operando.2
Descripcin: Un operando debe tener valor de verdadVERDADERO y el otro FALSO para que el resultado
tenga valor de verdad VERDADERO.

COMANDOS
Son instruccin u rdenes que el usuario proporciona a un sistema informtico, desde la lnea de
comandos (otro falso amigo) (como una shell) o desde una llamada de programacin. Puede ser interno
(contenido en el propio intrprete) o externo (contenido en un archivo ejecutable).
Suele admitir parmetros o argumentos de entrada, lo que permite modificar su comportamiento
predeterminado. Suelen indicarse tras una barra "/" (en sistemas operativos DOS) o un guion simple "-"
o doble "--" (en sistemas operativos Unix).

Las lneas de rdenes que escribe el usuario no se ejecutan tal como se han escrito, son procesadas antes
de su ejecucin. Por ejemplo la orden: DELETE *.TXT emplea un metacarcter * que permite
seleccionar todos los ficheros con extensin "TXT".
El encargado de recibir la lnea que escribe el usuario, modificarla, ejecutarla o solicitar su ejecucin es
el denominado intrprete de rdenes o shell del sistema.
El intrprete de rdenes es un programa de estructura repetitiva, cuyas funciones principales son las
siguientes:
Muestra el prompt del sistema.
Expande los caracteres genricos tales como el asterisco o la interrogacin.
Realiza los redireccionamientos tanto de la entrada de datos, como de las salidas.
Si es una orden interna, lo ejecuta.
Si es una orden externa (un programa), intenta localizar recorriendo la lista de directorios de la variable
PATH y si lo encuentra solicita su ejecucin al sistema operativo.
En caso contrario indica que no puede ejecutar dicha orden.

ESTRUCTURAS DE CONTROL
Las estructuras de control permiten modificar el flujo de ejecucin de las instrucciones de un programa.
Con las estructuras de control se puede:
De acuerdo a una condicin, ejecutar un grupo u otro de sentencias (If-Then-Else)
De acuerdo al valor de una variable, ejecutar un grupo u otro de sentencias (Select-Case)
Ejecutar un grupo de sentencias mientras se cumpla una condicin (Do-While)
Ejecutar un grupo de sentencias hasta que se cumpla una condicin (Do-Until)

Ejecutar un grupo de sentencias un nmero determinado de veces (For-Next)


Todas las estructuras de control tienen un nico punto de entrada. Las estructuras de control se puede
clasificar en : secuenciales, iterativas y de control avanzadas. Esto es una de las cosas que permite que la
programacin se rija por los principios de la programacin estructurada.
Los lenguajes de programacin modernos tienen estructuras de control similares. Bsicamente lo que
vara entre las estructuras de control de los diferentes lenguajes es su sintaxis, cada lenguaje tiene una
sintaxis propia para expresar la estructura.
Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados.
SECUENCIAL: Pero por lo general las instrucciones se ejecutan una despus de la otra, en el orden en
que estn escritas, es decir, en secuencia. Este proceso se conoce como ejecucin secuencial.
DE SELECCIN
Las estructuras de control de seleccin, ejecutan un bloque de instrucciones u otro, o saltan a un
subprograma o subrutina segn se cumpla o no una condicin.
REPETITIVAS
Las estructuras de control repetitivas son aquellas en las que una sentencia o grupos de sentencias se
repiten muchas veces. Este conjunto de sentencias se denomina bucle (loop). En este captulo se
introducen las estructuras de control repetitivas disponibles en el lenguaje turbo pascal; asimismo se
describen un conjunto de tcnicas para disear algoritmos y programas que utilicen bucles.

INTRODUCCIN

Se habla de problemas cuando hay preguntas respecto a una estructura o un objeto, cuyas respuestas
necesitan de una explicacin con su correspondiente demostracin. El algoritmo constituye un mtodo
para resolver un problema mediante una secuencia de pasos a seguir. Dicha secuencia puede ser
expresada en forma de diagrama de flujo con el fin de seguirlo de una forma ms sencilla. Para disear
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 y plasmar que datos describan hechos empricos,
sucesos y entidades para llevarlos como valor o referencia al computador por diferentes medios, los
datos representan la informacin que el programador manipula en la construccin de una solucin o en
el desarrollo de un algoritmo.

CONCLUSIN

El lenguaje algortmico es aquel por medio al cual se realiza un anlisis previo del problema a resolver y
encontrar un mtodo que permita resolverlo. El conjunto de todas las operaciones a realizar y el orden en
que se deben efectuarse, se le denomina algoritmo. Esto quiere decir que un problema se resuelve al
hallar una forma de unir proposiciones, conceptos y razonamientos que construyan leyes y principios
vlidos para obtener criterios que nos lleven a solucionar un problema. Bien sea a travs de una
representacin simblica (numrica, alfabtica, algortmica, espacial, etc.) o un atributo o una variable
cuantitativa o cualitativa, que permita al computador por diferentes medios, representar la informacin
que el programador tiene en la construccin de una solucin o en el avance de un algoritmo.

ESQUEMA

CONCEPTOS BSICOS
PROBLEMA
LGICA
ALGORITMO
TIPOS DE ALGORITMOS
CARACTERISTICA DEL ALGORITMO
DESARROLLO DE ALGORITMOS CUALITATIVOS
COMPONENTES DE UN ALGORITMO
DATOS
CONSTANTES
VARIABLES
OPERADORES ARITMTICOS
OPERADORES RELACIONALES
OPERADOR LGICO
COMANDOS
ESTRUCTURAS DE CONTROL
SECUENCIAL
DE SELECCIN
REPETITIVAS

REPBLICA BOLIVARIANA DE VENEZUELA


MINISTERIO DEL PODER POPULAR PARA LA EDUCACIN
INSTITUTO UNIVERSITARIO DE TECNOLOGA JUAN PABLO PEREZ ALFONZO
SAN FRANCISCO ESTADO ZULIA
MATERIA: ALGORITMICA

UNIDAD I CONCEPTOS BSICOS

REALIZADO POR:
GERARDO ARAUJO. C.I: 26.335.671
DOUGLAS GUERERE. C.I: 20.931.493

Potrebbero piacerti anche