Algoritmia
FUNDAMENTOS DE INFORMÁTICA.
CODIFICACIÓN Y ALGORITMIA.
Pedro María Alcover Garau
Ingeniero Industrial Ingeniero Técnico Industrial
FUNDAMENTOS DE INFORMÁTICA.
CODIFICACIÓN Y ALGORITMIA.
Pedro María Alcover Garau
Área de Lenguajes y Sistemas Informáticos Universidad Politécnica de CartagenaSeptiembre, 2006 Revisado Diciembre, 2008.
i
© Pedro María Alcover Garau Edita Universidad Politécnica de Cartagena Primera Edición: Septiembre 2006. ISBN: 84–95781–72–7 Depósito Legal MU–1869–2006. Imprime Morpi, S.L.
ii
A todo el personal no docente que trabaja en la Universidad Politécnica de Cartagena. Porque realmente, muy especialmente también gracias a ellos, es una suerte trabajaraquí. Y a los profesores del Área de Lenguajes y Sistemas Informáticos. Porque trabajar con ellos hace del trabajo una constante ocasión de alegría.
“SÓLO HAY 10 TIPOS DE PERSONAS: LOS QUE ENTIENDEN EL SISTEMA BINARIO Y LOS QUE NO.” (Frase tomada de “Los Guardianes del Libro”, Geraldine Brooks, 2008. Ed. RBA., 1ª edición. Página 150)
iii
iv
PRESENTACIÓN
Después de varios años deintentar conseguir que los alumnos aprendan a programar en C, he pensado que sería útil facilitarles el trabajo e intentar conseguir también que aprendiesen a programar “en castellano”. He escrito este manualillo con la intención de lograr que el alumno tenga mucho ganado cuando se enfrente al aprendizaje de un lenguaje de programación. Pretendía, al comenzar a escribir estas páginas, mostrar alalumno el modo en que se debe expresar cuando quiere asignarle una tarea a un ordenador. Para eso he querido primero explicar cómo es el ordenador y cómo codifica la información; y así, luego, poder también explicar de qué manera hay que especificar las órdenes de lo que el ordenador debe hacer. Por mi experiencia como profesor que pretende enseñar a programar, creo que estos siete capítulos podránayudar a comprender mejor en qué consiste la tarea de programación. Agradezco mucho al profesor Juan Ángel Pastor Franco el esfuerzo grande de revisión del libro. Con sus muchas correcciones y sugerencias ha logrado hacer el manual mucho más claro de lo que inicialmente era.
v
Agradeceré cualquier sugerencia que un alumno quiera hacerme para la mejora de este manual. También lo agradecerán ental caso los lectores de años posteriores. Mi dirección es pedro.alcover@upct.es. Muchas gracias. Cartagena, septiembre, 2006
vi
ÍNDICE
CAPÍTULO 1 INTRODUCCIÓN Y CONCEPTOS GENERALES
Estructura funcional de las computadoras. Instrucciones, Lenguajes, Compiladores. Soporte físico (hardware) y soporte lógico (software). Sistemas Operativos. Recapitulación.
1 1 7 10 11
CAPÍTULO 2CODIFICACIÓN NUMÉRICA
Concepto de código. Los números como sistema de codificación de cantidades. Fundamentos matemáticos para un sistema de numeración. Bases, dígitos y cifras. Sistemas de numeración habituales en la informática. Sistema Binario. Cambio de Base. Complementos a la Base. Recapitulación. Ejercicios. Sugerencia.
13 13 15 16 18 19 21 23 26 26 28
vii
CAPÍTULO 3 CODIFICACIÓNINTERNA DE LA INFORMACIÓN
Introducción. Códigos de Entrada/Salida. Representación o Codificación Interna de la Información. Enteros sin signo. Enteros con signo. Recapitulación. Ejercicios.
31 31 33 35 36 37 38 38
CAPÍTULO 4 ALGORITMOS.
Concepto de Algoritmo. Representación de algoritmos. Reglas básicas de la programación estructurada para la construcción de algoritmos. Otros ejemplos deconstrucción de algoritmos. Recapitulación. Ejercicios propuestos.
41 42 45 48 52 60 61
CAPÍTULO 5 MODELO DE REPRESENTACIÓN
Introducción. Abstracción. Modularidad. La abstración de la información: los datos. Tipo de dato. Variable. Variable – Tipo de dato – Valor. Paradigmas de programación. Programación estructurada. Recapitulación.
65 65 67 67 77 78 79 80 80 83
viii
CAPÍTULO 6...
Regístrate para leer el documento completo.