Beruflich Dokumente
Kultur Dokumente
Qu es una computadora? I
Dispositivo electrnico. Procesar informacin. Resultados.
Datos
Unidad de control. Unidad Aritmtico Lgica. Memoria principal. Programa. Dispositivos de entrada. Dispositivos de salida.
Unidad de Control
Coordina las operaciones de la computadora. Determina que operaciones deben realizarse y el orden.
Extraer de memoria instruccin a ejecutar. Determinar circuitos de la UAL a intervenir . Extraer de memoria principal los datos necesarios . Ordenar a la AUL efectuar operaciones . Si la instruccin a proporcionado nuevos datos estos son almacenados en la memoria principal Incrementar en una unidad el contenido del contador de instrucciones a ejecutar.
Memoria Principal
RAM (Random Acces Memory). Almacena informacin:
Instrucciones.
Datos.
Memoria Principal
Se organiza en unidades de almacenamiento (celdas). Cada celda consta de un cierto nmero de bits. 1 carcter se representa en 1 Byte.
Hola
Memoria Principal
Cada celda tiene asociado una direccin. La informacin almacenada es su contenido. Al contenido se les denominan palabras. Existen palabras de 8, 16, 32, 64 bits.
Memoria Principal
Memoria Cache
Codificacin
Este cdigo utiliza n = 8 bits. ste fue el primer cdigo utilizado para computadoras, aceptado en principio por IBM.
El cdigo ASCII bsico utiliza 7 bits. y permite representar 128 caracteres (letras maysculas ASCII ampliado con 8 bits permite llegar a 28 (256) caracteres.
Cdigo Unicode
Representacin de textos
Se representa mediante un cdigo (secuencia de bits) asignado. Los caracteres se agrupan en 5 categoras:
Caracteres
alfabticos: Letras maysculas y minsculas. Caracteres Numricos: 1,2,3,4,5,6,7,8,9,0 Caracteres Especiales: ,%,& Caracteres Geomtricos: , | Caracteres de Control: Retorno de carro.
Representacin Numrica
Ineficiente representarlos como caracteres. Notacin binaria mas eficiente.
Al
ingresar un valor numrico en la computadora , ste es almacenado como caracteres. Dentro del programa se especifica el tipo de dato (tarea). El compilador del lenguaje transforma los caracteres en su representacin binaria.
Representacin de caracteres
Codificacin, ms utilizada ASCII (American Standar Code for Information Interchange). Algunos lenguajes como java usan UNICODE.
Codificacin ASCII
Representacin de Imgenes
Algoritmo
Conjunto de reglas, ordenadas de forma lgica, para desarrollar un clculo o para solucionar un problema, ya sea de forma manual o utilizando una mquina. Es recomendable la utilizacin de un algoritmo como paso previo al desarrollo de un programa de computador. Debe tratarse que cada paso descrito en el algoritmo pueda ser reflejado mediante una instruccin en un lenguaje de programacin.
Diseo del algoritmo: describir pasos ordenados para la solucin del problema dado.
Expresar el algoritmo en un lenguaje de programacin. Ejecucin y validacin del programa.
Caractersticas de un algoritmo
Independiente del lenguaje de programacin. Preciso: Orden de ejecucin de cada paso. Definido: El mismo resultado. Finito: Debe terminar en algn momento.
Definicin de un algoritmo
Ejemplo:
Lenguajes de programacin
Lenguajes ms utilizados
Lenguaje de mquina
Lenguaje ensamblador(bajo nivel) Lenguaje de alto nivel
Lenguaje de mquina
Escritos en lenguaje inteligible para la computadora (0,1). Dependen del HW de la computadora. Ventaja: Velocidad de ejecucin superior. Desventajas:
Dificultad
Creados para permitir escribir programas en lenguajes similares al humano. Dependen del HW. Las instrucciones son llamadas nemotcnicos. ADD, SUB,DIV ADD M N P 0110 1001 1010 1011 Ensamblador FUENTE, traducido OBJETO
Reducido para desarrollo de aplicaciones. Aplicaciones tiempo real. Control dispositivos electrnicos.
Fcil
Desventajas
Nmero
Aumento Ms
lentos en ejecucin.
Ejemplo
inicio b= base h= altura
Pseudocodigo
Un pseudocdigo o falso Lenguaje, establecido en lenguaje natural como una serie de instrucciones parecida a los lenguajes de programacin, pero sin llegar a la rigidez de sintaxis. Permite codificar un programa con mayor agilidad que en cualquier lenguaje de programacin, con la misma validez semntica, normalmente se utiliza en las fases de anlisis o diseo de software.
Pseudocodigo
No puede ser ejecutado o interpretado por un PC. Describe un algoritmo utilizando una mezcla de frases en lenguaje natural. El objetivo del pseudocdigo es permitir que el programador se centre en los aspectos lgicos de la solucin, evitando las reglas de sintaxis de los lenguajes de programacin.
Programacin Modular
Divisin del programa en mdulos. Cada modulo ejecuta una actividad especifica.
Programacin Estructurada
Tcnica en la cual la estructura de un programa, es construida mediante el uso de tres estructuras lgicas de control:
Secuencia: Sucesin simple de dos o mas operaciones. Seleccin: Bifurcacin condicional de una o ms operaciones. Repeticin: Repeticin de una operacin mientras se cumple una condicin.
Programacin Estructurada
1966 Bohm Jacopini, demuestra que un programa propio puede ser resuelto utilizando nicamente las tres estructuras de control:
Secuencial. Seleccin.
Repeticin.
Programa Propio
Posee un solo punto de entrada. Posee un solo punto de salida. Existen caminos desde la entrada hasta la salida que se pueden seguir pasando por todo el programa. No existen lazos infinitos.
SELECT-CASE
SELECT (Expresin) CASE Valor1 (Bloque de sentencias 1) CASE Valor2 (Bloque de sentencias 2) CASE Valor n (Bloque de sentencias n) CASE ELSE (Bloque de sentencias "Else") END SELECT
DO-WHILE
DO WHILE (Condicin) (Bloque de sentencias) LOOP
DO-UNTIL
DO (Bloque de sentencias) UNTIL (Condicin)
FOR-NEXT
FOR (Variable= Expresin1) TO (Expresin2) STEP (Salto) (Bloque de sentencias) NEXT
Subalgoritmos o Subprogramas
Subalgoritmos o Subprogramas
Ejemplo:
El problema principal es resuelto por el programa principal (llamado controlador). Hace llamado a subprogramas denominados procedimientos y funciones.
Subalgoritmos o Subprogramas
Procedimiento: Recibe datos desde el programa principal para procesarlos. Regresa el control al programa principal.
Programa
Conjunto de instrucciones (ordenes dadas a la maquina), para producir la ejecucin de una determinada tarea. Fases en el desarrollo de un programa:
Definicin
del problema. Diseo del algoritmo. Codificacin. Depuracin y verificacin. Documentacin. Mantenimiento.
Palabras reservadas (void, begin, public,). Identificadores (nombres: de variables, funciones, procedimientos,). Caracteres especiales(&&, ; ,.. ). Constantes. Variables. Expresiones (Combinacin de operadores). Instrucciones.
Datos Numricos
Valores numricos:
Enteros. Reales.
Datos Lgicos
Denominado booleano.
Toman el valor de TRUE o FALSE.
Cadena de caracteres, sucesin de caracteres delimitados por o , depende del lenguaje de programacin.
Constantes
Variables
Nombre que empieza por una letra, puede estar formada por varios caracteres. Su valor puede variar durante la ejecucin del programa. Numricas. Alfanumricas. Booleanas.
Expresiones
Combinaciones de constantes, variables, smbolos de operacin, parntesis, nombres de funciones especiales, etc.
A+b*(C+d);
pepe+a.substring(1,2);
Instrucciones
Ejecutables y no ejecutables.
Funciones internas
Ejemplo
Calcular el salario neto de un trabajador: De acuerdo al nmero de horas trabajadas, precio de la hora. Al salario se le hacen descuentos por concepto de impuestos equivalentes al 20% del salario bruto Inicio leer nombre, horas, precio_hora salario_bruto = horas * precio_hora impuestos =0.20 * salario_bruto salario_neto = salario_bruto - impuestos
escribir nombre,, salario_neto
Fin
El diagrama N-S o tambin conocido como diagrama de Chapin es una tcnica de especificacin de algoritmos que combina la descripcin textual, propia del pseudocdigo, con la representacin grfica del diagrama de flujo. Las palabras reservadas ms utilizadas son:
Inicio Fin Leer Escribir Mientras Repita Hasta Para Incrementar Decrementar Hacer Funcin Entero Real Caracter Cadena Lgico Retornar
Ejemplo
Estructuras De Control
Secuencia: Un conjunto de instrucciones ejecutadas en el mismo orden que ha sido escritas Condicionales:
Simples Mltiples
Repetitivas:
Condicionales (If)
Mediante la evaluacin de una expresin, se ejecuta una alternativa determinada. Se utilizan para tomar decisiones lgicas; de ah que se suelan denominar tambin estructuras de decisin o alternativas.
Representacin
Diagrama de Flujo Pseudocodigo
SI <CONDICIN> ENTONCES
no Condicin
SINO
ACCIN .
si
ACCIN
.
si Accin
FIN_SI
Cuando existen ms de dos alternativas posibles, es cuando se presenta el caso de alternativas mltiples.
Representacin
Diagrama de Flujo Pseudocodigo
CASE <CONDICIN>
no Condicin
1
a1
V1: a1
N= 1 2
2
a2 a3
3
a4
ELSE OTRAS
END_CASE
Representacin
Diagrama de Flujo Pseudocodigo
MIENTRAS <CONDICIN> HAGA
Diagramas N/S
no Condicin
A1 A2
Mientras Condicion A1
A2
FIN MIENTRAS
a1
a1
Representacin
Diagrama de Flujo
a1
Pseudocodigo
HAGA A1
Diagramas N/S
A1 A2
no Condicin
A2
a1
Arreglos
Arreglos: Son listas de datos del mismo tipo que pueden ser accedidos a travs de un ndice
Arreglos: Creacin
Lenguajes de programacin
Lenguajes de programacin
Los lenguajes de programacin son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java,Javascript etc.. Los lenguajes de programacin facilitan la tarea de programacin, ya que disponen de formas adecuadas que permiten ser ledas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.
Lenguajes de programacin
Los lenguajes de " Alto Nivel" son los mas utilizados como lenguaje de programacin. En ese sentido se llama "Independientes de la maquina". Ejemplos de estos lenguajes de alto nivel son PASCAL , JAVA y FORTRAN ,COBOL C, ETC. Los "Lenguajes Ensambladores" y los "Lenguajes Maquina" son dependientes de la maquina. Cada tipo de maquina, tal como VAX de digital, tiene su propio lenguaje maquina distinto y su lenguaje ensamblador asociado.
Lenguajes de programacin
La programacin de un lenguaje de alto nivel requiere, de algn tipo de interfaz con el lenguaje maquina para que el programa pueda ejecutarse. Las interfaces mas comunes: un "compilador" y un "interprete". El compilador traduce el programa a otro equivalente en el lenguaje X de la maquina "residente" como un paso separado antes de la ejecucin. El interprete ejecuta directamente las instrucciones en un lenguaje Y de alto nivel, sin un paso de procesamiento previo.
Lenguajes de programacin
Hay lenguajes de programacin que utilizan compilador. 1) Traducir el programa simblico a cdigo mquina 2) Ejecucin y procesamiento de los datos. Otros lenguajes de programacin utilizan un programa intrprete o traductor, el cual analiza directamente la descripcin simblica del programa fuente y realiza las instrucciones dadas.
Lenguajes de programacin
El intrprete en los lenguajes de programacin simula una mquina virtual, donde el lenguaje de mquina es similar al lenguaje fuente. Mquina virtual: Software que crea un entorno virtual entre la plataforma de la computadora y su sistema operativo, de tal forma que un usuario final puede ejecutar programas en una Mquina Abstracta
Lenguajes de programacin
La ventaja del proceso interprete es que no necesita de dos fases para ejecutar el programa, sin embargo su inconveniente es que la velocidad de ejecucin es ms lenta ya que debe analizar e interpretar las instrucciones contenidas en el programa fuente.
Define las variables y elementos que participan en el programa Operacionales: Realizan operaciones con las variables Estructurales: Controlan el flujo del programa
y con referencia directa al problema. No espacios en blanco, ni smbolos extraos en ellas. Se pueden usar abreviaturas, pero solo de carcter general. No deben ser palabras reservadas del lenguaje.
Serie de Fibonacci: es una sucesin de nmeros enteros que fue descrita por primera vez en Europa por Leonardo de Pisa, tambin conocido como Fibonacci.
O sea, que se empieza con 0 y 1, y luego cada nmero es la suma de los dos anteriores.
2
3 4
1
2 3
5
6 7 8 9 10 11 12
5
8 13 21 34 55 89 144
inicio
Ejemplo 1
N1 = 1 T=1
Serie de Fibonacci
NO
Serie = T
ndice = 2 ndice >=2
SI
NO
N2 = N1
N1 = T
T = N1 + N2 Serie = Serie & T ndice = ndice +1 Serie = 1 & Serie serie FIN
Tomado de :
http://www.monografias.com/trabajos19/algoritmos/algoritmos.shtml http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo