Publicado el 25 de Septiembre del 2020
877 visualizaciones desde el 25 de Septiembre del 2020
795,0 KB
51 paginas
Creado hace 12a (05/09/2012)
Fundamentos de Programación I
1. Resolución de problemas con
computadoras
Luis Rodríguez Baena (luis.rodriguez@upsam.es)
Universidad Pontificia de Salamanca
Escuela Superior de Ingeniería y Arquitectura
Introducción al procesamiento de la
información
Computadora = Sistema de procesamiento de la información.
● Procesar datos de entrada para obtener una salida.
Datos
Entrada de
datos
Ordenador
Proceso
(programa)
Información
Salida de
información
Un sistema informático estará formado por:
● Hardware
Parte física del sistema
• “Conjunto de los componentes que integran la parte material de un ordenador”
● Software:
Suministra a la parte física las operaciones que debe realizar el sistema.
• “Conjunto de programas, instrucciones y reglas informáticas para ejecutar
ciertas tareas en una computadora”
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
2
Hardware
Para poder realizar las instrucciones
suministradas por el software, una computadora
necesita cumplir las siguientes funciones:
● Proporcionar datos de entrada.
● Devolver datos de salida.
● Almacenar los datos suministrados o generados por el
sistema.
● Ejecutar operaciones aritméticas y lógicas sobre los
datos.
● Controlar y dirigir las operaciones que se realizan en
él.
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
3
Hardware (II)
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
4
Hardware (III)
El procesador (CPU).
● Ejecuta y controla las operaciones que se realizan en el
ordenador.
Solo puede realizar acciones muy simples (sumar, comparar,
mover datos), pero a gran velocidad.
● Gestiona la entrada de información al sistema desde los
dispositivos de entrada, o el almacenamiento secundario,
almacena la información en la memoria principal, la procesa
y la envía al almacenamiento secundario o a los dispositivos
de salida.
● Dos partes principales:
Unidad de control.
○ Coordina las operaciones.
Unidad aritmética y lógica.
○ Realiza las operaciones de procesamiento básicas.
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
5
Hardware (IV)
Dispositivos de entrada y salida.
● ¿De donde viene la información con la que trabaja un programa?
Puede partir de otros programas u otros sistemas informáticos.
Puede ser proporcionada por el usuario del sistema mediante los
dispositivos de entrada.
● Independientemente de la forma de proporcionar los datos (por
teclado, mediante un ratón, por un escáner, por voz, por
gestos…) el mecanismo es similar.
Cuando la CPU solicita información externa (lectura) se transforman los
estímulos de los dispositivos en un formato binario que pueda ser
interpretado por la CPU y almacenado en la memoria central.
● Los datos procesados puede que necesiten ser interpretados por
un humano.
El proceso de salida se realiza de forma similar, pero inversa, al de
entrada:
○ La información, en formato binario, se transforma a estímulos sensoriales
(imagen impresa o en la pantalla, sonido, movimiento, etc.).
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
6
Hardware (V)
Memoria central.
● Existen distintos lugares donde almacenar información:
memoria ROM, memoria caché del procesador, registros del
procesador, almacenamiento temporal de dispositivos
externos (unidades de disco, CD o DVD, tarjetas gráficas).
● Memoria central: memoria RAM.
Memoria de gran capacidad que permite el acceso directo a los
datos a una velocidad razonablemente rápida.
Almacena tanto los programas que se están ejecutando, como los
que éstos utilizan.
Memoria volátil donde se guarda información temporal.
Compuesta de celdas o palabras de compuestas por un número
de bits que depende del procesador.
○ Cada vez que la CPU manda una orden de lectura o escritura en
memoria de lee o escribe una palabra.
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
7
Hardware (VI)
Almacenamiento secundario.
● Inconvenientes de la memoria central:
Capacidad limitada.
Carácter volátil de la información.
● Necesidad de mecanismos que permitan almacenar grandes
volúmenes de información de forma permanente.
● Normalmente se trata de soportes magnéticos u ópticos.
● La información se organiza en forma de archivos con
información relacionada.
Archivos de texto, bases de datos, gráficos, vídeos, programas de
ordenador.
Esos archivos se transferirán total o parcialmente hacia o desde la
memoria central.
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
8
Software
Cualquier componente lógico de un sistema informático
(programas, manuales, sistemas de ayuda, etc.).
En general hace referencia a los programas informáticos.
El ordenador es una herramienta multipropósito.
● Es lo suficientemente flexible para poder hacer cualquier cosa.
● El software (los programas) determinarán las tareas que deben
hacer los componentes del sistema.
Un programa es el conjunto de sentencias o
instrucciones que se suministran a la computadora (el
hardware) para que realice una función.
● Esas sentencias se describen en el programa mediante un
lenguaje de programación.
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
9
Fases en la resolución de problemas
mediante ordenadores
La ingeniería de software propone una serie de fases que habrá que
seguir para el desarrollo de un programa informático.
Ingeniería de
sistemas
Análisis de
requisitos
Diseño
Codificación
Pruebas
Mantenimiento
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
10
Fases en la resolución de problemas
mediante ordenadores (II)
Ingeniería y análisis del sistema.
● El software siempre es parte de un sistema mayor.
Se considera el sistema en su totalidad.
● El desarrollo de software comenzará estudiando todos los
requisitos de todos los elementos del sistema (sean o no
informáticos).
● A partir de éstos se asignará un subconjunto al software.
Análisis de requisitos del software.
● Estudia los requisitos necesarios para cumplir la
funcionalidad del problema.
● Se realiza junto con el cliente y determina las características
básicas que debe cumplir.
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
11
Fases en la resolución de problemas
mediante ordenadores (III)
Diseño.
● Una vez se conocen los requisitos se estudiarán las partes constitutivas del
programa.
Estructuras de datos necesarias.
Arquitectura del software.
y las relaciones entre ellos.
Detalle procedimiental.
○ Diseñar la información necesaria para resolver el problema.
○ Diseñar los distintos componentes software necesarios (módulos) para resolver el problema
○ Diseñar los algoritmos de cada uno de esos componentes.
Codificación.
Pruebas.
Mantenimiento.
● Transcripción de los resultados del diseño a un lenguaje de programación.
● Diseñar un conjunto de datos y tareas a realizar para probar la aplicación
antes de entrar en la fase de producción.
● Modificaciones que debe sufrir la aplicación…
Bien por errores detectados en la fase de producción.
Bien por nuevas necesidades de los clientes o cambios en los procesos productivos.
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
12
Fases en la resolución de problemas:
Modelo de desarrollo resumido
Modelo de desarrollo resumido.
● Análisis del problema.
Comprender la idea general de lo que debe hacer el problema.
Definir el problema indicando los resultados que se quieren obtener (datos de salida) y
los datos que disponemos (datos de entrada).
● Diseño del algoritmo
resultados.
Proceso detallado de los pasos que hay que dar para convertir los datos de entrada en
● Implementación y pruebas.
Traducción del algoritmo a un lenguaje de programación.
Verificación del buen funcionamiento del sistema.
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
13
Análisis del problema
Definición de las tareas que debemos resolver.
Un análisis simplificado del problema debería responder
a estas preguntas.
● ¿Qué queremos obtener?
Especificación de los datos de salida.
Es interesante también delimitar el formato o tipo de esos datos.
○ ¿datos numéricos? ¿una fecha? ¿una secuencia de caracteres?
● ¿De qué datos disponemos?
Especificación de los datos de salida.
También se debería delimitar su formato.
● ¿Cómo se convierten los datos de entrada en datos de salida?
Una idea general de cómo procesar los datos de entrada para convertirlos en
salida.
Ayudará a definir el futuro algoritmo del problema.
Permitirá detectar carencias iniciales, como la ausencia de información relevante
para el proceso.
Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012
14
Análisis del problema (II)
Ejemplo 1.1
● Se desea realizar un programa que permita multiplicar
dos números enteros positivos sin utilizar la
multiplicación.
Datos de salida: El producto de los dos números que será también
un número entero positivo.
Datos de entrada: Dos números. Se supone que se trata de dos
enteros positivos, aunque no se va a comprobar. En caso contrario el
programa no funcionaría.
Proceso: Se deberá acumular el primero de los números de entrada
tantas veces como indique el segundo.
+
Comentarios de: 1. Resolucion de problemas con computadoras - Fundamentos de Programación I (0)
No hay comentarios