Sunteți pe pagina 1din 32

Fundamentos de

Programación
Tema 1
Conceptos Previos

Administración de Sistemas Informáticos 17/10/08 13:16


Tema 1
Conceptos Previos
1. Introducción
2. Estructura básica de un ordenador
3. Hardware
4. Software
5. Los algoritmos
6. Lenguajes de programación
7. Ciclo de vida de una aplicación informática
8. Calidad de los programas
9. Metodología de la programación
10. Documentación de programas

Administración de Sistemas Informáticos 17/10/08 13:16


1. Introducción
 Definición de informática.
– Conjunto de conocimientos científicos y técnicos que hacen posible el
tratamiento automático de la información por medio de computadoras.
 La computadora.
– Máquina capaz de aceptar datos de entrada, efectuar con ellos
operaciones lógicas y/o aritméticas y proporcionar, bajo el control de un
programa previamente almacenado en la propia computadora, datos de
salida sin intervención de un operador humano.
– Características.- Rapidez, precisión y memoria.
– Operaciones básicas.
 Aritméticas.
 Lógicas.
 Almacenamiento.

Administración de Sistemas Informáticos 17/10/08 13:16


1. Introducción
 El proceso de la información
– Componentes comunes
 Datos de entrada
Programa
 Algoritmo de resolución
 Información de salida

Datos de entrada Datos de salida

Retroalimentación (Feedback)

Administración de Sistemas Informáticos 17/10/08 13:16


1. Introducción
 Los algoritmos y los programas
– Algoritmo.- Conjunto de reglas que definen con precisión una
secuencia de operaciones a realizar, en orden, para resolver un
determinado problema.
– Programa.- Algoritmo expresado en un lenguaje de
programación adecuado.
– Fases de diseño
 Notación intermedia: Ordinogramas, pseudocódigos, etc.
 Codificación: Cobol, C, Pascal, etc.
 Traducción: Lenguaje Máquina.

Administración de Sistemas Informáticos 17/10/08 13:16


1. Introducción
 Ejemplo.
– Hallar la longitud de un vector situado en el
plano cartesiano.

y2 (x2,y2)

Py

(x1,y1)
y1

x1 Px x2
Administración de Sistemas Informáticos 17/10/08 13:16
1. Introducción
y2 (x2,y2)
 Datos de entrada:
Py
– (x1, y1), (x2, y2)
(x1,y1)
 Algoritmo: y1
– Leer x1, y1, x2, y2
– Calcular Px = x2 – x1 x1 Px x2
– Calcular Py = y2 – y1
– Calcular R = raíz cuadrada ( Px · Px + Py ·
Py)
– Imprimir R
 Datos de salida:
– R

Administración de Sistemas Informáticos 17/10/08 13:16


2. Estructura básica de un
ordenador.
 Hardware.
– Soporte físico, equipo físico o hardware.
– Conjunto de circuitos electrónicos, cables, armarios,
dispositivos electromecánicos y otros elementos
físicos que forman la computadora.
 Software.
– Soporte lógico, logical o software.
– Conjunto de programas ejecutables por la misma que
controlan y permiten su funcionamiento.

Administración de Sistemas Informáticos 17/10/08 13:16


2. Estructura básica de un
ordenador.
Bus de Control
Bus de Datos

Entrada Salida
Memoria secundaria

Memoria Principal
(Instrucciones y datos)

Unidad de Control Unidad Aritmético-Lógica


(U.C.) (A.L.U.)
Unidad Central de Proceso (C.P.U.)

Administración de Sistemas Informáticos 17/10/08 13:16


3. Hardware
 Unidades de entrada.  Unidades de salida.
– Dispositivos de – Dispositivos que
introducción de datos muestran los datos de
e instrucciones. salida en formatos
– Transforman datos de inteligibles por los
entrada en señales operadores.
binarias. – Transforman datos
– Teclado, ratón, binarios en caracteres
escáner, lector de o gráficos.
códigos de barras, – Monitor, impresora,
micrófono, etc. plotter, altavoz, etc.

Administración de Sistemas Informáticos 17/10/08 13:16


3. Hardware. Memoria.
 Memoria principal,  Memoria secundaria,
central o interna. masiva, auxiliar o
– De acceso directo o externa.
aleatorio. – De acceso pseudodirecto.
– Direccionable a nivel de – Direccionable a nivel de
byte o palabra. sector o bloque.
– Muy rápida (nseg). – Baja velocidad de acceso
– Poca capacidad (mseg).
(Megabytes). – Capacidad casi infinita.
– Alto coste. – Bajo coste.
– Tipos. – Tipos.
 RAM (Random Access  Acceso secuencial (cinta
Memory). magnética).
 ROM (Read Only  Acceso “directo” (disco
Memory). magnético y óptico).
Administración de Sistemas Informáticos 17/10/08 13:16
3. Hardware. Memoria.
Palabra (8 bits)

0 1 0 1 0 0 1 0
0 1 0 1 0 0 1 0
1 0 1 0 1 1 1 1
00 11 00 11 00 00 11 00
1 0 1 0 1 1 1 1
1

1 0 1 0 1 1 1 1
Decodificador

Bus de 1 0 1 0 1 1 1 1
1

1 0 1 0 1 1 0 1
Direcciones
0 1 0 1 0 0 1 0
0

1 0 1 0 1 1 0 1
0 1 0 1 0 0 1 0
0

1 0 1 0 1 1 0 1
0 1 0 1 0 0 1 0
1 0 1 0 1 1 0 1
1 0 1 0 1 1 0 1
0 1 0 1 0 0 1 0
Bus de
0 1 0 1 0 0 1 0
Datos

Administración de Sistemas Informáticos 17/10/08 13:16


3. Hardware. Memoria.
Sector

10101111011010100001011001101
Bloque

Pista

Administración de Sistemas Informáticos 17/10/08 13:16


3. Hardware. Memoria.
 Unidades de medida.
– Byte.- Número de bits necesarios para
almacenar un carácter; generalmente 8 bits.
1 Kilobyte (Kb) = 210 bytes
 1 Megabyte (Mb) = 210 Kb = 220 bytes

 1 Gigabyte (Gb) = 210 Mbytes = 1024 Mb

– Palabra.- Indica el número de bits que se


pueden procesar y leer o escribir en paralelo.

Administración de Sistemas Informáticos 17/10/08 13:16


4.Software

Usuario
Software de
Aplicación
Sistema Operativo
BIOS

Hardware

Administración de Sistemas Informáticos 17/10/08 13:16


5. Los algoritmos
Por
 Funciones
tanto...
básicas.
– Entrada de información
 Instrucción de entrada o lectura
Un –algoritmo
Proceso es un procedimiento no ambiguo
que –resuelve
Salida deun problema. Un procedimiento es
información
una secuencia
 Instrucciónde
de operaciones
salida o escritura.bien definidas,
 Requisitos
cada una de las decuales
problemas
requierecomputables.
de una cantidad
– Preciso
finita de memoria
Secuenciayfinita
se realiza en un
de operaciones en tiempo
orden
– Acciones no ambiguas finito.El significado de cada acción debe
ser único
– Finito Debe acabar en un tiempo finito

Administración de Sistemas Informáticos 17/10/08 13:16


5. Los algoritmos
 Determinar si un número es par.
– En lenguaje natural.
 Si el número se puede obtener sumando doses, es par. Si
para construirlo hay que sumarle uno a cualquier secuencia
de doses, es impar.
– Con forma de Algoritmo
Leer N
Repetir
Si N > 2 entonces N ← N – 2
Si N = 2 escribe “Par”
Si N = 1 escribe “Impar”
Hasta N = 1 ó N = 2
Fin
Administración de Sistemas Informáticos 17/10/08 13:16
5. Los Algoritmos
 Un mismo problema puede tener multitud de
soluciones algorítmicas.
 La bondad de un algoritmo se medirá por:
– El tiempo.
– Los recursos.
 Características deseables (para su fácil modif).
– Sencillo.
– Claro.
 El diseño de algoritmos es una tarea creativa
donde se combinan la imaginación y la
experiencia.
Administración de Sistemas Informáticos 17/10/08 13:16
5. Los Algoritmos
 Si se decide, tras su evaluación, que un algoritmo
no es eficiente, será necesario o bien diseñar uno
nuevo o bien optimizar el original.

 Optimizar un algoritmo consiste en introducir


modificaciones en él, tendentes a disminuir el
tiempo que necesita para resolver el problema o
a reducir los recursos que utiliza.

Administración de Sistemas Informáticos 17/10/08 13:16


5. Los Algoritmos
 Algoritmo refinado
Leer N
M = parte entera (N/2)
M=Mx2
Si M=N entonces
Escribe “Par”
Sino
Escribe “Impar”

Administración de Sistemas Informáticos 17/10/08 13:16


5. Los Algoritmos
 Algoritmo refinado 2
Leer N
Si resto (N/2) = 0 entonces
Escribe “Par”
Sino
Escribe “Impar”

Administración de Sistemas Informáticos 17/10/08 13:16


5. Los Algoritmos
 Representación Ordinograma

Inicio
Pseudocódigo

Leer N
Leer N
M = parte entera (N/2) M=parte entera (N/2)

M=Mx2 M=M*2
Si M=N entonces
S N
Escribe “Par” M=N
Sino
Escribir “Par” Escribir “Impar”
Escribe “Impar”
Fin
Administración de Sistemas Informáticos 17/10/08 13:16
6. Lenguajes de Programación
 Bajo nivel
– Lenguaje máquina
 Inconvenientes

– Escrito con 0’s y 1’s o código intermedio (octal y


hexadecimal).
– Propio de microprocesador.
– Estilo propio de los circuitos.
– Operaciones simples.
– Formato estricto.
– Acceso a los datos mediante direcciones de memoria.

Administración de Sistemas Informáticos 17/10/08 13:16


6. Lenguajes de Programación
 Bajo nivel
– Lenguaje máquina
 Ventajas

– No necesitan traducción.
– Muy eficientes.
• Rápidos.
• Exprime los recursos de la máquina.

Administración de Sistemas Informáticos 17/10/08 13:16


6. Lenguajes de Programación
 Bajo nivel
– Lenguaje ensamblador.
 Utiliza mnemotécnicos. (ADD, MOV, JMP, etc.)
 Utiliza direcciones simbólicas.

 Precisa traducción (ensamblado).

 Macros (macroensambladores).

– Aplicaciones
 Tiempo Real.
 Control de procesos.

 Programación gráfica.

Administración de Sistemas Informáticos 17/10/08 13:16


6. Lenguajes de Programación
 Alto nivel
– Utilizan simbología próximas al lenguaje natural.
– Fáciles de aprender.
– Fáciles de depurar.
– Tiempo de desarrollo bajo.
– Son multiplataforma.
– Precisan de traductores.
 Compiladores.
 Intérpretes.

Administración de Sistemas Informáticos 17/10/08 13:16


7. Ciclo de vida de una
aplicación informática
 Análisis (Qué)
Proceso de determinar QUÉ se necesita hacer,
antes de decidir CÓMO debe hacerse.
(“descubrimiento”)
 Diseño (Cómo)
Proceso de determinar cuál de las muchas
soluciones es la mejor para lograr lo que se
necesita hacer, respetando las restricciones
tecnológicas y de presupuesto del proyecto.
(“compromiso”)

Administración de Sistemas Informáticos 17/10/08 13:16


7. Ciclo de vida de una
aplicación informática
Edición

Análisis Programa Fuente


Instalación
Previo
Bibliotecas
Errores de compilación Compilación
de
Análisis Programa Objeto Programas
Funcional Pruebas
Errores de enlace Montaje

Análisis Programa Ejecutable


Orgánico Mantenimiento
Errores de ejecución Pruebas

Errores de programación
Errores de diseño

Administración de Sistemas Informáticos 17/10/08 13:16


8. Errores
 De compilación
– Errores sintácticos, corresponden al incumplimiento de las reglas
sintácticas del lenguaje. Los detecta el compilador.
 De ejecución
– Se deben generalmente a operaciones no permitidas.
 De lógica
– Corresponden a la obtención por el programa de resultados que no son
correctos. Se deben a la propia concepción del programa.
 De especificación
– Se deben a la realización de unas especificaciones incorrectas motivadas
por una mala comunicación entre el programador y quien plantea el
problema.

Administración de Sistemas Informáticos 17/10/08 13:16


9. Calidad de los programas
 Legibilidad Ha de ser claro y sencillo, de tal forma que
facilite su lectura y comprensión.
 Fiabilidad Ha de ser «robusto», es decir, capaz de
recuperarse frente a errores o usos
inadecuados.
 Portabilidad Su diseño debe permitir la codificación en
diferentes lenguajes de programación, así
como su instalación en diferentes sistemas.
 Modificabilidad Ha de facilitar su mantenimiento, esto es, las
modificaciones y actualizaciones necesarias
para adaptarlo a una nueva situación.
 Eficiencia Se deben aprovechar al máximo los recursos
de la computadora, minimizando la memoria
utilizada y el tiempo de proceso o ejecución.

Administración de Sistemas Informáticos 17/10/08 13:16


10. Metodología de la
programación
Conjunto de métodos y técnicas
disciplinadas que ayudan al desarrollo
de los programas.
 Programación Modular.
 Programación Estructurada.
 Programación Orientada a Objetos.
 Programación Orientada a Eventos.
 Programación Visual.

Administración de Sistemas Informáticos 17/10/08 13:16


11. Documentación de los
programas
 Documentación Interna.
– Comentarios.
– Código autodocumentado.
 Documentación Externa.
– Especificaciones del análisis.
– Descripción del diseño del programa.
– Descripción de las versiones si las hubiere.
– Descripción del programa principal y subprogramas.
– Manual de usuario.
– Manual de mantenimiento.

Administración de Sistemas Informáticos 17/10/08 13:16

S-ar putea să vă placă și