Академический Документы
Профессиональный Документы
Культура Документы
FUNDAMENTOS DE PROGRAMACION
Algoritmos y
Programas
(1.1) computadora y sistema operativo
(1.1.1) computadora
Segn la RAE (Real Academia de la lengua espaola), una computadora es una
mquina electrnica, analgica o digital, dotada de una memoria de gran
capacidad y de mtodos de tratamiento de la informacin, capaz de resolver
problemas matemticos y lgicos mediante la utilizacin automtica de
programas informticos.
Sin duda esta mquina es la responsable de toda una revolucin que est
cambiando el panorama econmico, social e incluso cultural. Debido a la
importancia y al difcil manejo de estas mquinas, aparece la informtica como la
ciencia orientada al proceso de informacin mediante el uso de computadoras.
Una computadora consta de diversos componentes entre los que sobresale el
procesador, el componente que es capaz de realizar las tareas que se requieren
al ordenador o computadora. En realidad un procesador slo es capaz de realizar
tareas sencillas como:
Ver la pelcula
Nombre de la pelcula, direccin de la sala, hora de proyeccin
Entrada, nmero de asiento
Para solucionar el problema, se debe seleccionar una pelcula de la cartelera del peridico, ir a la sala y comprar la entrada para, finalmente, poder ver la pelcula.
Fundamentos de programacin
(Unidad 2) Metodologa de la programacin
Unidades de
almacenamiento
Perifricos de
entrada
CPU
Perifricos de
salida
Otros
dispositivos
Memoria RAM. Memoria interna formada por un circuito digital que est
conectado mediante tarjetas a la placa base. Su contenido se evapora
cuando se desconecta al ordenador. Lo que se almacena no es
permanente.
La entrada
Tipo de entrada (sol, sombra, tendido, andanada, etc.)
Disponibilidad de la entrada
Hay que ir a la taquilla y elegir la entrada deseada. Si hay entradas se compra (en taquilla o a los reventas).
Si no la hay, se puede seleccionar otro tipo de entrada o desistir, repitiendo esta accin hasta que se ha conseguido la entrada o el posible comprador ha desistido.
EJERCICIO RESOLVER Poner la mesa para la comida.
Anlisis del problema
DATOS DE SALIDA:
DATOS DE ENTRADA:
DATOS AUXILIARES:
La mesa puesta
La vajilla, los vasos, los cubiertos, la servilletas, el nmero de comensales
Nmero de platos, vasos, cubiertos o servilletas que llevamos puestos
Para poner la mesa, despus de poner el mantel, se toman las servilletas hasta que su nmero coincide con el
de comensales y se colocan. La operacin se repetir con los vasos, platos y cubiertos.
Taza de t
Bolsa de t, agua
Pitido de la tetera, aspecto de la infusin
Despus de echar agua en la tetera, se pone al fuego y se espera a que el agua hierva (hasta que suena el pitido de la tetera). Introducimos el t y se deja un tiempo hasta que est hecho.
Fundamentos de programacin
(Unidad 2) Metodologa de la programacin
Platos limpios
Platos sucios
Nmero de platos que quedan
EJERCICIO RESOLVER
1.6. Reparar un pinchazo de una bicicleta.
Anlisis del problema
DATOS DE SALIDA:
DATOS DE ENTRADA:
DATOS AUXILIARES:
La rueda reparada
La rueda pinchada, los parches, el pegamento
Las burbujas que salen donde est el pinchazo
Despus de desmontar la rueda y la cubierta e inflar la cmara, se introduce la cmara por secciones en un
cubo de agua. Las burbujas de aire indicarn donde est el pinchazo. Una vez descubierto el pinchazo se aplica el pegamento y ponemos el parche. Finalmente se montan la cmara, la cubierta y la rueda.
Fundamentos de programacin
(Unidad 2) Metodologa de la programacin
Por ejemplo si tenemos el nmero 153,6 utilizando e sistema octal (base ocho), el
paso a decimal se hara:
182 + 581 + 380 + 68-1 = 64 + 40 + 3 + 6/8 = 107,75
EJERCICIO RESOLVER
1.7. Pagar una multa de trfico.
Anlisis del problema
DATOS DE SALIDA:
DATOS DE ENTRADA:
DATOS AUXILIARES:
Debe elegir cmo desea pagar la multa, si en metlico en la Delegacin de Trfico o por medio de una transferencia bancaria. Si elige el primer caso, tiene que ir a la Delegacin Provincial de Trfico, desplazarse a la ventanilla de pago de multas, pagarla en efectivo y recoger el resguardo.
Si desea pagarla por transferencia bancaria, hay que ir al banco, rellenar el impreso apropiado, dirigirse a
la ventanilla, entregar el impreso y recoger el resguardo.
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
EJERCICIO- RESOLVER
1.8. Hacer una llamada telefnica. Considerar los casos: a) llamada manual con operador; b) llamada automtica; c) llamada a cobro revertido.
Anlisis del problema
Para decidir el tipo de llamada que se efectuar, primero se debe considerar si se dispone de efectivo o no para
realizar la llamada a cobro revertido. Si hay efectivo se debe ver si el lugar a donde vamos a llamar est conectado a la red automtica o no.
Para una llamada con operadora hay que llamar a la centralita y solicitar la llamada, esperando hasta que
se establezca la comunicacin. Para una llamada automtica se leen los prefijos del pas y provincia si fuera necesario, y se realiza la llamada, esperando hasta que cojan el telfono. Para llamar a cobro revertido
se debe llamar a centralita, solicitar la llamada y esperar a que el abonado del telfono al que se llama d su
autorizacin, con lo que se establecer la comunicacin.
Como datos de entrada tendramos las variables que nos van a condicionar el tipo de llamada, el nmero
de telfono y, en caso de llamada automtica, los prefijos si los hubiera. Como dato auxiliar se podra considerar en los casos a y c el contacto con la centralita.
Fundamentos de programacin
(Unidad 2) Metodologa de la programacin
operacin OR
OR (O en espaol) devuelve verdadero si cualquiera de los operandos es
verdadero (es decir, si valen 1). La tabla es esta:
OR
operacin NOT
Esta operacin acta sobre un solo BIT y lo que hace es invertirle; es decir, si vale
uno valdr cero, y si vale cero valdr uno.
NOT
2.1.3. Expresiones
Una expresin es una combinacin de operadores y operandos. Los operandos podrn ser constantes,
variables u otras expresiones y los operadores de cadena, aritmticos, relacionales o lgicos. Las expresiones se clasifican, segn el resultado que producen, en:
Numricas. Los operandos que intervienen en ellas son numricos, el resultado es tambin de
tipo numrico y se construyen mediante los operadores aritmticos. Se pueden considerar anlogas a las frmulas matemticas.
Binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Fundamentos de programacin
(Unidad 2) Metodologa de la programacin
(1.3) algoritmos
(1.3.1) nocin de algoritmo
Segn la RAE: conjunto ordenado y finito de operaciones que permite hallar
la solucin de un problema.
Los algoritmos, como indica su definicin oficial, son una serie de pasos que
permiten obtener la solucin a un problema. La palabra algoritmo procede del
matemtico rabe Mohamed Ibn Al Kow Rizmi, el cual escribi sobre los aos
800 y 825 su obra Quitad Al Mugabala, donde se recoga el sistema de
numeracin hind y el concepto del cero. Fibonacci, tradujo la obra al latn y la
llam: Algoritmi Dicit.
El lenguaje algortmico es aquel que implementa una solucin terica a un
problema indicando las operaciones a realizar y el orden en el que se deben
efectuarse. Por ejemplo en el caso de que nos encontremos en casa con una
bombilla fundida en una lmpara, un posible algoritmo sera:
(1)
(2)
(3)
Funcin
Inicio y fin del algoritmo
Proceso
Entrada/Salida
Decisin
Comentario
Por lo que los tres pasos anteriores pueden ser mucho ms largos:
[1]
Comprobar si hay bombillas de repuesto
(1.1) Abrir el cajn de las bombillas
(1.2) Observar si hay bombillas
[2]
Si hay bombillas:
(2.1) Coger la bombilla
(2.2) Coger una silla
(2.3) Subirse a la silla
(2.4) Poner la bombilla en la lmpara
[3]
Si no hay bombillas
(3.1) Abrir la puerta
(3.2) Bajar las escaleras....
Cmo se observa en un algoritmo las instrucciones pueden ser ms largas de lo
que parecen, por lo que hay que determinar qu instrucciones se pueden utilizar y
qu instrucciones no se pueden utilizar. En el caso de los algoritmos preparados
para el ordenador, se pueden utilizar slo instrucciones muy concretas.
Dispositivo 1
Dispositivo 2
Controlador
de E/S 1
Controlador
de E/S 2
Bus
Cach
UCP
Memoria
principal
UC
UAL
Interrupciones
Fundamentos de programacin
(Unidad 2) Metodologa de la programacin
(2)
(3)
(1.4) aplicaciones
(1.4.1) programas y aplicaciones
Programa. La definicin de la RAE es: Conjunto unitario de
instrucciones que permite a un ordenador realizar funciones
diversas, como el tratamiento de textos, el diseo de grficos, la
resolucin de problemas matemticos, el manejo de bancos de
datos, etc. Pero normalmente se entiende por programa un conjunto de
instrucciones ejecutables por un ordenador.
Un programa estructurado es un programa que cumple las condiciones de
un algoritmo (finitud, precisin, repeticin, resolucin del problema,...)
Fundamentos de programacin
(Unidad 2) Metodologa de la programacin
Anlisis
Diseo
Codificacin
Pruebas
Mantenimiento
Ilustracin 3, Ciclo de vida de una aplicacin
(1)
Anlisis. En esta fase se determinan los requisitos que tiene que cumplir la
aplicacin. Se anota todo aquello que afecta al futuro funcionamiento de la
aplicacin. Este paso le realiza un analista
(2)
(3)
(4)
(1.5) errores
Cuando un programa obtiene una salida que no es la esperada, se dice que
posee errores. Los errores son uno de los caballos de batalla de los
programadores ya que a veces son muy difciles de encontrar (de ah que hoy en
da en muchas aplicaciones se distribuyan parches para subsanar errores no
encontrados en la creacin de la aplicacin).
tipos de errores
Fundamentos de programacin
(Unidad 2) Metodologa de la programacin
8 16
1.
2.
3.
4.
Fundamentos de programacin
(Unidad 2) Metodologa de la programacin
Puesto que el ensamblador es una representacin textual pero exacta del cdigo
mquina; cada programa slo funcionar para la mquina en la que fue concebido
el programa; es decir, no es portable.
La ventaja de este lenguaje es que se puede controlar absolutamente el
funcionamiento de la mquina, lo que permite crear programas muy eficientes. Lo
malo es precisamente que hay que conocer muy bien el funcionamiento de la
computadora para crear programas con esta tcnica. Adems las lneas
requeridas para realizar una tarea se disparan ya que las instrucciones de la
mquina son excesivamente simples.
Fortran
1954
Lisp
Algol
1960
CPL
Basic
1963
1964
Simula
PL/I
1964
1963
Pascal
Logo
1969
1970
Cobol
1958
1958
1968
Sh
1971
1971
SmallTalk
1973
Modula
Awk
1975
1978
C++
1983
Quick Basic
Perl
1987
1984
Turbo Pascal
1988
Visual Basic
Python
Oak
1991
1991
1991
VBScript
1993
Delphi
1995
JavaScript
Java
PHP
1995
1995
1995
Java 2
ASP
1998
1996
C#
2000
ACTIVIDADES
5. QUE SON SISTEMAS BINARIOS
6. QUE SON OPERACIONES LOGICAS
7. QUE SON OPERACIONES AND
8. QUE SON SISTEMA HEXADECIMAL
9. QUE ES ALGORITMO
ACTIVIDADES
10. CUALES SON LAS CARACTISTICAS DEL ALGORITMO
11. CUALES SON LOS ELEMENTOS QUE CONFORMAN EL ALGORITMO
12. CUALES SON LAS FASES DEL ALGORITMO
13. QUE SON PROGRAMAS Y APLCIACIONES
14. QUE ES HISTORIA DE SOFTWARE
Fundamentos de programacin
(Unidad 2) Metodologa de la programacin
ACTIVIDADES
15. CUALES SON LOS CICLO DE VIDA DE UNA APLICACIN
16. QUE SON LOS ERRORES
17. QUE ES LENGUAJE DE PROGRAMACION
18. QUE ES LENGUAJE DE ALTO NIVEL
19. QUE ES LENGUAJE DE BAJO NIVEL
20. HABLE SOBRE BASIC