Académique Documents
Professionnel Documents
Culture Documents
INTRODUCCIN A LA COMPUTACION
UNIDAD II: DATOS, ALGORITMOS Y PSEUDOCODIGOS
http://www.urbe.edu/info-consultas/web-profesor/12697883/
Introduccin a la Computacin
ALGORITMO
Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea y/o
resolver un problema. De un modo ms formal, un algoritmo es una secuencia finita de operaciones
realizables, no ambiguas, cuya ejecucin da una solucin de un problema en un tiempo finito.
El trmino algoritmo no est exclusivamente relacionado con la matemtica, ciencias de la
computacin o informtica.
En realidad, en la vida cotidiana empleamos algoritmos en multitud de ocasiones para resolver
diversos problemas. Algunos ejemplos son el uso de una lavadora (se siguen las instrucciones),
pero no la preparacin de una comida (porque no estn perfectamente definidos los pasos).
Tambin existen ejemplos de ndole matemtica, como el algoritmo de la divisin para calcular el
cociente de dos nmeros, el algoritmo de Euclides para calcular el mximo comn divisor de dos
enteros positivos, o incluso el mtodo de Gauss para resolver Sistema lineal de ecuaciones.
Introduccin a la Computacin
CONCEPTO
Introduccin a la Computacin
OTRAS DEFINICIONES DE
ALGORITMO
Secuencia de pasos computacionales que transforman una entrada en una salida (efecto
caja negra) Herramienta computacional para resolver un determinado problema, en el cual,
debe estar bien especificada la relacin entre la entrada y la salida. El algoritmo materializa
(efecta) dicha relacin. Un algoritmo es un resolvedor de un problema determinado.
Introduccin a la Computacin
ESTRUCTURA BSICA:
inicio
datos de entrada (operaciones
bsicas)
procesamiento de los datos
datos de salida
fin
HISTORIA
La palabra algoritmo proviene del nombre del matemtico llamado Muhammad ibn Musa al-Jwarizmi que vivi
entre los siglos VIII y IX. Su trabajo consisti en preservar y difundir el conocimiento de la antigua Grecia y de la
India. Sus libros eran de fcil comprensin, de ah que su principal logro no fuera el de crear
nuevos teoremas o corrientes de pensamiento, sino el de simplificar la matemtica a punto tal que pudieran ser
comprendidas y aplicadas por un mayor nmero de personas. Cabe destacar cmo seal las virtudes del
sistema decimal indio (en contra de los sistemas tradicionales rabes) y cmo explic que, mediante una
especificacin clara y concisa de cmo calcular sistemticamente, se podran definir algoritmos que fueran
usados en dispositivos mecnicos en vez de las manos (por ejemplo, bacos).
Tambin estudi la manera de reducir las operaciones que formaban el clculo. Es por esto 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 ms tarde
mutara a algoritmo en el siglo XVIII. La palabra ha cambiado de forma que en su definicin se incluye a
todos los procedimientos finitos para resolver problemas.
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.
Ing. Luis G. Molero M.Sc.
M.Sc.
Introduccin a la Computacin
DATOS
Datos son los hechos que describen sucesos y entidades."Datos" es una palabra en plural que
se refiere a ms de un hecho. A un hecho simple se le denomina "data-tem" o elemento de
dato.
TIPOS DE DATOS
Podemos definir un tipo de dato a partir de los valores permitidos y las operaciones que se
puedan llevar a cabo sobre estos valores.
Tipos simples
Los tipos simples, que incluyen tipos ordinales y tipos reales de datos, son tipos de datos
que definen conjuntos ordenados de valores.
Tipo Ordinal
Un tipo ordinal define un conjunto ordenado de valores en los cuales cada valor,
excepto el primero, tienen un nico predecesor y cada valor, excepto el ltimo,
tienen un nico sucesor.
Introduccin a la Computacin
TIPOS DE DATOS
Tipo Ordinal
Tipos predefinidos
Tipo de dato entero
Es un tipo de dato que puede representar un subconjunto finito de los nmeros enteros. El
nmero mayor que puede representar depende del tamao del espacio usado por el dato y la
posibilidad (o no) de representar nmeros negativos
EJEMPLO
Bytes = 4x8 = 32 bits
Con 32 bits se pueden representar 232=4294967296 valores:
Slo positivos: del 0 al 4294967295
Positivos y negativos: del -2147483648 al 2147483647
Tipo de dato carcter
Cualquier signo tipogrfico. Puede ser una letra, un nmero, un signo de puntuacin o un
espacio. Este trmino se usa mucho en computacin.
Introduccin a la Computacin
TIPOS DE DATOS
Tipo Ordinal
Tipos predefinidos
Tipo de dato lgico
El tipo de dato lgico o booleano es en computacin aquel que puede representar valores
de lgica binaria, esto es, valores que representen falso o verdadero.
Tipos definidos por el usuario
Tipo de dato enumerado
Un tipo enumerado define un conjunto ordenado de valores con el simple hecho de listar
los identificadores que denotan tales valores
EJEMPLO
Introduccin a la Computacin
TIPOS DE DATOS
Tipo Ordinal
Tipos definidos por el usuario
Tipo de dato subrango
Un tipo subrango se define de un tipo ordinal, especificando dos constantes de ese tipo,
que actan como lmite inferior y superior del conjunto de datos de ese tipo.
EJEMPLO
0..9 este tipo subrango consta de los
elementos
0,1,2,3,4,5,6,7,8,9
Introduccin a la Computacin
TIPOS DE DATOS
Tipo no Ordinal
Tipo de dato real
El tipo de dato real define un conjunto de nmeros que pueden ser representados con la notacin
de coma flotante.
EJEMPLO
a = 123,123456789 / 100
Truncando: a = 1,2312345678
Redondeando: a =
1,2312345679
Tipo de dato puntero
Un puntero (o apuntador) es una variable manipulable que referencia una regin de memoria; en
otras palabras es una variable cuyo valor es una direccin de memoria
Introduccin a la Computacin
TIPOS DE DATOS
Tipos compuestos o complejos
Cadena de caracteres
Es una secuencia ordenada de longitud arbitraria (aunque finita) de elementos que pertenecen a
un cierto alfabeto
EJEMPLO
x=
aacbbcba
Estructura de datos
Una estructura de datos define la organizacin e interrelacionamiento de estos, y un
conjunto de operaciones que se pueden realizar sobre l
EJEMPLO
Vectores (matriz o array)
Registro (estructura de
datos)
Ing. Luis G. Molero M.Sc.
M.Sc.
Introduccin a la Computacin
EXPRESIONES
Son un mtodo por medio del cual se pueden realizar bsquedas dentro de cadenas de caracteres. Sin
importar si la bsqueda requerida es de dos caracteres en una cadena de 10 o si es necesario encontrar
todas las apariciones de un patrn definido de caracteres en un archivo de millones de caracteres, las
expresiones regulares proporcionan una solucin para el problema.
El Punto "."
La barra inversa o
contrabarra"\"
Los corchetes "[]"
La barra "|"
El signo de dlar "$"
El acento circunflejo "^"
Los parntesis"()"
El signo de interrogacin "?"
Las llaves "{}"
El asterisco "*"
El signo de suma "+"
Introduccin a la Computacin
OPERADORES
Aritmticos
Nos permiten, bsicamente, hacer cualquier operacin aritmtica, que necesitemos (ejemplo: suma,
resta, multiplicacin, etc). En la siguiente tabla se muestran los operadores de los que disponemos en
C y su funcin asociada.
Introduccin a la Computacin
OPERADORES
Lgicos
Utilizan para combinar valores lgicos (Verdadero/Falso) y obtener nuevos valores lgicos que
determinen el flujo de control de un algoritmo o programa.
Relacionales
Al igual que en matemticas, estos operadores nos permitirn evaluar las relaciones
(igualdad, mayor, menor, etc) entre un par de operandos (en principio, pensemos en
nmeros). Los operadores relacionales de los que disponemos en C son:
Introduccin a la Computacin
Pasos
Etapa
Descripcin
Diseo de algoritmo
Codificacin
Compilacin y ejecucin
Verificacin
Depuracin
Documentacin
Introduccin a la Computacin
EN EL DISEO
El todo es la sumatoria de las partes.
Divide el todo en varias partes.
Introduccin a la Computacin
Los programas que se estructuran de esta forma, se dicen que tienen diseo modular y el mtodo de
romper el programa en modos pequeos se llama programacin modular.
Los mdulos pueden ser planificados, codificados, compilados y depurados independientemente pueden
ser intercambiados entre si.
Este proceso implica la ejecucin de los siguientes pasos:
programar un modulo
comprobar un modulo
depurar el modulo
Este proceso convierte el resultado del anlisis del problema en un diseo modular con refinamientos
sucesivos que permiten una traduccin a un lenguaje que se denomina diseo del algoritmo.
Introduccin a la Computacin
Pseudo cdigo
Introduccin a la Computacin
Es la representacin grafica del algoritmo; segn la ANSI consta de una simbologa , que
tiene los siguientes significados:
Proceso
Entrada/Salida
Impresora
Monitor
Introduccin a la Computacin
Proceso: Decisin
Indica operaciones lgicas o de
comparacin entre datos- normalmente
entre dos y en funcin del resultado,
determina cual de los dos caminos
alternativos se debe seguir; normalmente
tiene dos salidas- respuestas si o no.
Conector
Sirve para enlazarlos partes
cualesquiera de un organigrama a travs
de un conector de salida y otro en la
entrada. En la misma pagina del
diagrama
Conector
Teclado
Introduccin a la Computacin
PSEUDOCDIGO
Introduccin a la Computacin
SENTENCIAS A UTILIZAR
Tipos de Datos
- Numericos: (1, 15,67888234, 3.141596)
+ Entero: 1, 234, 4545 (Valores sin dgitos decimales)
+ Real: 1233.23 , 3.1416, 3454545.25 (Valores con
decimales)
- Cadena: Letras (A, Pedro, Luis)
- Logico : Verdadero (V) o Falso (F)
Declarar: declara las variables a utilizar
Iniciar: Inicializa las variables a sus valores originales
Leer: Ingresa datos a las variables desde el teclado
Salida (Escribir) : Presenta los datos, literales o valores deseados en la pantalla
Inicio : Inicia los procesos
Fin : Finaliza los procesos
Introduccin a la Computacin
Estas estructuras permiten bifurcar la direccin de ejecucin de un programa; en otro orden de ideas,
permite seleccionar la parte del programa que se desea procesar
Bloque Si
Si (Condicion) Entonces
sentencia 1
Sentencia 2
Sino
Sentencia 3
Sentencia 4
FinSi
Introduccin a la Computacin
En Caso de
Caso Var = 1
Sentencia 11
Sentencia 12
Caso Var = 2
Sentencia 21
Sentencia 22
Caso Var = 3
Sentencia 31
Sentencia 32
Fin Caso
Introduccin a la Computacin
ESTRUCTURAS REPETITIVAS
Segmento de cdigo de programa que permite repetir un proceso tantas veces como se desee o
necesite
Mientras (Condicin)
Sentencia 1
Sentencia 2
Sentencia 3
Sentencia 4
Sentencia 1
Sentencia 2
Fin Mientras
Estas estructuras estn presentes en Visual tal como en otros lenguajes de
programacin.
Para I=1 Hasta 10
Sentencia 11
Sentencia 12
Sentencia 13
Sentencia 14
Sentencia 15
Sentencia 16
Sentencia 17
Fin Para
Ing. Luis G. Molero M.Sc.
M.Sc.
Introduccin a la Computacin
Ejercicio 1.
Se desea realizar un diagrama de flujo que sume dos numero introducidos por teclado.
PROCESO
IMPRESORA
Inicio
X, Y, R
DECISION
X, Y
CONECTOR
X+Y=R
TECLADO
Fin
Introduccin a la Computacin
Ejercicio 2.
Se desea realizar un diagrama de flujo que reste dos numero introducidos por teclado.
PROCESO
IMPRESORA
Inicio
X, Y, R
DECISION
X, Y
CONECTOR
X-Y=R
TECLADO
Fin
Introduccin a la Computacin
Ejercicio 3.
Se desea realizar un diagrama de flujo que multiplique dos numero introducidos por teclado.
PROCESO
IMPRESORA
Inicio
X, Y, R
DECISION
X, Y
CONECTOR
X*Y=R
TECLADO
Fin
Introduccin a la Computacin
Ejercicio 4.
Se desea realizar un diagrama de flujo que divida dos numero introducidos por teclado.
Inicio
PROCESO
IMPRESORA
X, Y, R
DECISION
X, Y
Y=0
No
Si
Error
CONECTOR
X/Y=R
TECLADO
R
Fin
Introduccin a la Computacin
Ejercicio 5.
Se desea realizar un diagrama de flujo para la biblioteca que determine si el libro es universitario
o es de escuela superior. Si el libro es de escuela superior no se va a utilizar, si el libro es
universitario, se crea un sello en la impresora con las palabras UNI.
PROCESO
IMPRESORA
Inicio
DECISION
Libro
Libro
CONECTOR
UNI?
No
Si
Imprimir UNI
TECLADO
Fin
Introduccin a la Computacin
EJERCICIOS PROPUESTOS
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.