Documente Academic
Documente Profesional
Documente Cultură
INTRODUCCIÓN A LA PROGRAMACIÓN
El ordenador no tiene inteligencia, todo lo que puede realizar son las siguientes
operaciones básicas:
• Sumar y restar.
PERIFÉRICOS DE
CPU ENTRADA
(teclado, ratón,…)
PERIFÉRICOS
ALMACENAM
MEMORIA
IENTO
PRINCIPAL
O PERIFÉRICOS DE
RAM SALIDA (pantalla,
impresora,…)
Para que un ordenador funcione, es decir, realice alguna tarea, se necesita decirle
lo que tiene que hacer y eso se logra mediante las APLICACIONES
máquina.
1- 1
Instrucción de
APLICACIÓN la aplicación:
INFORMÁTICA: Traducción
- word SISTEMA de las
COMPONENTES
- excel -abrir archivo OPERATIVO
-guardar instrucciones DEL PC
- access -imprimir de aplicación
-etc. -…
PROGRAMA: Para que un ordenador funcione, es decir, sea capaz de hacer algo con
la información que le damos, deben dársele ordenes:
definen un algoritmo.
En el uso diario, datos e información son esencialmente sinónimos. Sin embargo los
1- 2
Datos se refieren a la representación de algún hecho, concepto o entidad real.
o Decimal
o Binario
o Octal
o Hexadecimal
o …
1- 3
Un número se puede representar por un conjunto ordenado de símbolos diferentes
valor que representa cada símbolo depende de su valor absoluto y de la posición que ocupa
es el Teorema Fundamental de la Numeración, que dice: “El valor decimal de una cantidad
posibles valores. El nombre usado para cada uno de estos símbolos es “dígito”.
Cuando combinamos varios dígitos, tenemos un número. Su valor depende no solo del
valor de cada uno de ellos sino de la posición que tiene dentro del conjunto.
Cada uno de estos símbolos se denomina BIT. (Es la unidad mínima de información).
informático es el siguiente:
1 BIT un dígito 0 , 1
1 BYTE 8 BITS
Sistema octal: Es un sistema de numeración que utiliza 8 dígitos (0, 1, ...,7) es decir
1- 4
Binario Decimal
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
Hexadecimal, que permite trabajar cómodamente con el sistema binario, puesto que
1- 5
¿CÓMO CONVERTIR DE UN SISTEMA DE NUMERACIÓN A OTRO?
85 2
05 42 2
1 02 2 2
1
0 0 1 2
1 0
5 2
1 0
2 2 1
0 1
Quedaría: 1010101(2
Ej 2: 85(10= ¿?(8
85 8
05 10 8
5 2 1
Quedaría: 125(8
Ej 3: 85(10= ¿?(16
85 16
5 5
Quedaría: 55(16
CUALQUIER DECIMAL Se aplica el Teorema Fundamental de la
SISTEMA
Numeración.
Ej 1: BINARIO a DECIMAL:
1010101(2 = 1x 26 + 0 x 25 + 1x 24 + 0x 23+ 1x22 +0x 21
1- 6
+1x 20 = 85(10
Ej 2: OCTAL a DECIMAL:
123(8 = 1x 82 + 2x 81 + 3x 80 = 64 + 16 + 3 =
83(10
Ej 3: HEXADECIMAL a DECIMAL:
C1A(16 = Cx162 + 1x 161 + Ax160 = 12 * 256 +
16 + 10 *1=
= 3072 +26=3098(10
BINARIO OCTAL FORMA 1:
Se hacen grupos de 3 bits empezando por la
derecha. Si al final el nº de bits que queda es
inferior a 3, se rellena con 0 por la izda. Luego cada
grupo se traduce al decimal correspondiente.
Ej: 001010101
1 2 5 ==> 125(8
FORMA 2:
1º) Pasar de BINARIO a DECIMAL:
Ej: 1010101(2 = aplicando teorema=85(10
2º) Pasar de decimal a octal dividiendo entre 8:
85 8
05 10 8
5 2 1
Quedaría: 125(8
FORMA 2:
1º) Pasar de BINARIO a HEXADECIMAL:
Ej: 1010101(2 = aplicando teorema=85(10
1- 7
2º) Pasar de decimal a hexadecimal dividiendo
entre 16:
85 16
5 5
Quedaría: 55(16
OCTAL BINARIO FORMA 1:
Se codifica cada dígito octal en binario con 3 bits y
se colocan en el mismo orden en que estaban. Ese
será el resultado.
Ej: 123(8 =¿?(2
011
010001 010 011(2
001
FORMA 2:
1º) Pasar de OCTAL a DECIMAL usando el teorema:
Ej: 123(8 = aplicando teorema=83(10
2º) Pasar de decimal a binario dividiendo entre 2:
83 2
03 41 2
1 01 2 2
0
1 0 1 2
0 0
5 2
0 0
1 2 2
0 1
Quedaría: 1010011(2
OCTAL HEXADECIMAL FORMA 1: rápida
1º) Se pasa de octal a binario
2º) Se pasa de binario a hexadecimal
Ej: 123(8 =¿?(16
1º) 123(8
011
010001 010 011(2
001
2º) 1 0 1 0 0 1 1(2
5 3 ==> 53(16
FORMA 2:
1- 8
1º) Pasar de OCTAL a DECIMAL usando el teorema:
Ej: 123(8 = aplicando teorema=83(10
2º) Pasar de decimal a hexadecimal dividiendo
entre 16:
83 16
3 5
Quedaría: 53(16
HEXADECIMAL BINARIO FORMA 1:
Se codifica cada dígito octal en binario con 4 bits y
se colocan en el mismo orden en que estaban. Ese
será el resultado.
Ej: 1A3(16 =¿?(2
0011
10100001 1010 0011(2
0001
FORMA 2:
1º) Pasar de HEXADECIMAL a DECIMAL usando el
teorema:
Ej: 1A3(16 = aplicando teorema=419(10
2º) Pasar de decimal a binario dividiendo entre 2:
41 2
9
01 20 2
9
1 00 10 2
9 4
0 0 5 2
1 9 4 2
1 1 2 2
0 2 6
0 1 2
0 6 3
1 6 2
0
0 3 2
1 1
Quedaría: 110100011(2
HEXADECIMAL OCTAL FORMA 1: rápida
1º) Se pasa de hexadecimal a binario
2º) Se pasa de binario a octal
Ej: 53(16 =¿?(8
1º) 53(16
0011
01010101 0011(2
1- 9
2º) 1 0 1 0 0 1 1(2
1 2 3 ==> 123(8
FORMA 2:
1º) Pasar de HEXADECIMAL a DECIMAL usando el
teorema:
Ej: 53(16 = aplicando teorema=83(10
2º) Pasar de decimal a octal dividiendo entre 8:
83 8
03 10 8
3 2 1
Quedaría: 123(8
1 KB=1024Bytes y Byte=8bits
Por tanto:
1KB=1024*8=8192bits
1MB=1024KB y 1KB=1024bytes
Por tantos:
1MB=1024*1024=1.048.576 bytes
1*162+2*161+3*160=256+32+3=291
1*25+0*24+1*23+0*22+1*21+0*20 =32+8+2=42
1001
2010
3011
Entonces:
001 010 011
1 - 10
6.2) A base 16:
291 2
09 145 2
11 05 72 2
1 1 12 36 2
0 16 18 2
0 0 9 2
1 4 2
0 2 2
0 1
291 8
051 36 8
3 4 4
101010
5 2
1 - 11
32+8*2=42 en base 10
2º) Paso 42 base 10 a base 8 dividiendo entre 8 hasta no poder más:
42 8
2 5
Entonces sería : 52
101010
2 10
42 16
10 2
2) En un lápiz de memoria de 2GB cuántas fotos cogen, si cada foto ocupa 1.800KB?
3.1)Paso a octal:
10111
2 7
Por tanto, es 27 en octal
1 - 12
3.2)Paso a hexadecimal:
10111
1 7
Por tanto, es 17 en hexadecimal
52 2
12 26 2
0 06 13 2
0 1 6 2
0 3 2
1 1
Entonces sería:
110100
1=0001
F=1111
A=1010
5=0101
Por tanto: 101 1010 1111 0001
11001111
12 15
Tendremos : 12 15 = CF
1 - 13
“Algoritmo es la formula para la resolución de un problema”.
(Al cocinero una receta, al músico una partitura, ..etc.). Cuando el procesador es una
una de las cuales especifica las operaciones que debe realizar al computadora.
programación es tan solo un medio para expresar un algoritmo y una computadora es solo un
correspondiente”.
importante será su diseño. Las características fundamentales que debe cumplir todo
algoritmo son:
1 - 14
2) PROCESO: elaboración de la receta
Un ejemplo de algoritmo para preparar una “tortilla de patata para 2 personas” podría ser:
8- Dejarlas freir
11 – Coger 4 huevos
16 – Darle la vuelta
1 - 15
Hoy en día la mayoría de los programas que utilizamos o elaboramos están
del problema.
PRINCIPAL que llama a SUBPROGRAMAS más pequeños que a su vez pueden llamar
a otros subprogramas.
programación.
1 - 16
Fase de Prueba del programa: En esta fase se comprueba si el programa está
en cuenta todas las posibles combinaciones de datos de entrada para que esté bien
probado.
Fase de mantenimiento
Para completar el ciclo de vida hay que realizar las correcciones necesarias
posteriores a su implantación.
Problema
Análisis
Especificaciones
Programación
Algoritmo
Codificación
Programa
llegar a una determinada solución. La elección del algoritmo mas adecuado se debe basar en
1 - 17
una serie de requisitos de calidad que adquieren gran importancia a la hora de evaluar el
Las características generales que debe reunir un programa son las siguientes:
Legibilidad: tendrá que estar escrito de forma que sea fácil su lectura y
comprensión.
programación.
los cuales podemos comunicarnos con el hardware del ordenador y dar así las ordenes
de tal forma que, según utilicemos un nivel u otro, así tendremos que utilizar un
Lenguaje máquina.
Son aquellos que están escritos en lenguajes directamente inteligibles por la máquina
(ordenador), ya que sus instrucciones son cadenas binarias ( 0, 1) que especifican una
Las instrucciones del lenguaje máquina dependen del hardware de la computadora y, por
1 - 18
Ventajas: Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de
traducción posterior, lo que supone una velocidad de ejecución superior a cualquier
Inconvenientes:
Poca fiabilidad.
Estos lenguajes son mas fáciles de utilizar que los lenguajes máquina, pero al igual
que ellos dependen del ordenador, por lo que no hay un único lenguaje ensamblador.
language).
nemotécnicos (mnemonics).
ADD M, N, P
1 - 19
Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente
por la computadora, sino que requiere una fase de traducción al lenguaje máquina.
Programa fuente
Programa ensamblador
ENSAMBLADOR
Programa objeto
Ventajas: Las ventajas de estos lenguajes frente a los lenguajes máquina son:
Mayor facilidad de codificación
Inconvenientes:
máquina.
Los lenguajes de alto nivel son los más utilizados por los programadores. Están
diseñados para que las personas escriban y entiendan los programas los programas de un
programas escritos en lenguajes de alto nivel son transportables, lo que significa que tienen
1 - 20
la posibilidad de poder se ejecutados con poca o ninguna modificación en diferentes tipos
de computadoras.
Ventajas:
lenguajes humanos.
Transportabilidad.
Inconvenientes:
Al igual que sucede con los lenguajes ensambladores, los lenguajes fuente tienen
que ser traducidos por programas traductores, llamados en este caso compiladores e
interpretes.
fuente escritos en lenguajes de alto nivel a código máquina. Los traductores se dividen en:
Compiladores.
Intérpretes.
1.7.1.- Compiladores.
1 - 21
El programa escrito en lenguajes de alto nivel se llaman programa fuente y el
Programa fuente
Compilador
Programa objeto
1.7.2.- Intérpretes.
continuación lo ejecuta.
Programa fuente
Intérprete
Traducción y ejecución
línea a línea
1 - 22
1.8.- La compilación y sus fases.
La compilación es el proceso de traducción de programas fuente a programas
objeto.
Edición
Linkado: Esta fase también recibe el nombre de montaje y consiste en unir o
Ejecución: Esta fase consiste en la llamada del programa ejecutable a través del
ERRORE SI SI
Programa
sistema
Fuente operativo.
S Inicialmente se debe comprobar el buen funcionamiento del
NO
ERRORE
NO
programa mediante el uso deLinkado
unos juegos de pruebas que especifican Slos
Datos de entrada incorrectos que producen una parada del sistema (por
división).
varios tipos:
1 - 24
C) ERRORES LÓGICOS: Se producen en la lógica del programa y suelen ser debidos a
fallos en el diseño del algoritmo. Son los más difíciles de detectar, ya que el
programa suele funcionar sin dar errores, pero obtiene resultados no deseados. En
las constituyen.
-GUÍA TÉCNICA
-GUÍA DE INSTALACIÓN
1.10.1.-GUÍA TÉCNICA
QUE ES:
A QUIEN VA DESTINADO:
-cuaderno de carga
1 - 25
(refleja el diseño y análisis de la aplicación, destinado a programadores.
programadores y analistas)
analistas)
QUE ES:
A QUIÉN VA DESTINADO:
1.10.3.-GUÍA DE INSTALACIÓN
QUE ES:
1 - 26
CUESTIONES Y PROBLEMAS
UT1: ¿QUÉ ES UN PROGRAMA?
24/9/08
1 - 27