2. SISTEMAS DE PROCESAMIENTO DE
INFORMACION
Computadora: Maquina o
aparato electrónico capaz de
ejecutar operaciones repetitivas
a muy alta velocidad.
Entrada = Datos Salida = InformaciónPROCESADOR
Representación de algún hecho,
concepto o entidad real (los datos
pueden tomar diferentes formas; por
ejemplo palabras escritas o habladas,
números y dibujos).
Datos procesados y organizados.
COMPONENTES DE UN SISTEMA DE PROCESAMIENTO DE INFORMACION
3. PREGUNTA
¿Cuáles son los roles de cada de
uno de estos actores respecto a los
sistemas de procesamiento y
automatización de la información?
Desarrolladores
Usuarios
Técnicos
4. ¿QUÉ ES PROGRAMACIÓN?
Definiciones de Programación en la web:
• Programación es el acto de crear un programa de
computadora, un conjunto concreto de instrucciones
que una computadora puede ejecutar. El programa
se escribe en un lenguaje de programación, aunque
también se pueda escribir directamente en lenguaje
de máquina, con cierta dificultad. Un programa se
puede dividir en diversas partes, que pueden estar
escritas en lenguajes distintos.
es.wikipedia.org/wiki/Programaci%C3%B3n
• La acción de escribir un programa de computación.
www.laopinion.com/glossary/p.html
5. SOFTWARE DE DESARROLLO:
LENGUAJES DE PROGRAMACIÓN
• El software o programas de desarrollo se utilizan para crear
aplicaciones, para resolver problemas científicos,
comerciales, administrativos o de cualquier tipo.
• Estos programas se denominan lenguajes de programación y
están integrados por programas y utilerías que facilitan la
construcción para los usuarios del sistema informático.
• El ordenador solo es capaz de procesar en lenguaje
maquina o lenguaje nativo, binario.
• Debido a la dificultad para usar este lenguaje, se inventaron
otros lenguajes que permitieron crear programas en cualquier
computadora y traducirlos al lenguaje de una máquina en
particular.
6. SOFTWARE DE DESARROLLO
• Un lenguaje de programación es un conjunto de
símbolos, instrucciones y enunciados que están
sujetos a una serie de reglas.
Utilizan un léxico, una sintaxis y una semántica.
• Léxico: conjunto de símbolos conocido como
vocabulario
• Sintaxis: reglas para construir el lenguaje
• Semántica: conjunto de significados de un lenguaje
7. 1. Lenguaje máquina (lenguaje de bajo nivel)
Categorías de los Lenguajes de
Programación
8. 2. Lenguaje Ensamblador (lenguaje de nivel medio)
• Emplea representación simbólica y utiliza
procedimientos mnemotécnicos de funciones
matemáticas. Los datos se identifican con nombres y
permiten la introducción de comentarios para
entender el programa con mayor facilidad y
optimiza los recursos del hardware.
Categorías de los Lenguajes de
Programación
9. 3. Lenguaje de alto nivel
• Lenguajes más acorde con el lenguaje humano.
• Utilizan palabras y frases (por lo general en inglés).
• Permiten modificar los códigos de los programas con
facilidad.
• Son independientes de la estructura física de la
computadora, contando con instrucciones de uso
frecuente como las funciones matemáticas.
• Son lenguajes de programación alejados del lenguaje
máquina lo cual necesitan ser traducidos antes de
ejecutarse y esta tarea se realiza por medio de los
intérpretes o los compiladores.
Categorías de los Lenguajes de
Programación
10. • INTÉRPRETES: traducen el programa instrucción
por instrucción y este proceso se realiza cada
vez que se ejecuta el programa. Permiten al
programador realizar correcciones durante el
proceso de compilación.
• COMPILADORES: funciona en dos etapas: en la
primera traducen el programa y en la segunda
crean un programa objeto en lenguaje
máquina. Indican antes de su ejecución si
existen errores para que el programador realice
sus correcciones.
11. SOFTWARE DE APLICACIÓN
• Conjunto de aplicaciones que realizan las funciones más
comunes dentro de la casa, escuela u oficina. Son
aplicaciones básicas que todo usuario debe conocer.
• Procesador de textos: Word, WordPad, Block de Notas, Edit Pad,
Ultra Edit 32, …
• Hoja de Cálculo: Excel, Quattro Pro, GS-Calc, yCode, …
• Programa de Presentaciones: PowerPoint, Freelance Graphics, Corel
Presentations, …
• Editor de gráfico: Corel Draw, Publisher, PageMaker, QuarkXpress, …
• Administrador de base de datos: dBase, Access, MySQL, FoxPro, …
• Navegador de Internet: Explorer, Netscape Navigator, Mozilla,…
• Correo electrónico: Outlook, CC-Mail, Eudora,…
• Agenda Electrónica: Outlook, PDA´S,…
12. EVOLUCIÓN DE LOS LENGUAJES DE
PROGRAMACIÓN
• Primera Generación: se relacionan con las máquinas
integradas por bulbos. Se programaban con base en
instrucciones en lenguaje máquina.
• Segunda Generación: se desarrollan los lenguajes
ensambladores.
• Tercera Generación: aparecen los primero lenguajes de
alto nivel, algunos de los cuales están vigentes hasta la
fecha como BASIC, PASCAL, FORTRAN, C++ y COBOL
entre otros.
• Cuarta Generación: son los lenguajes orientados a
objetos y gestión de base de datos, tales son los casos
de Visual Basic o SQL
• Quinta Generación: son los lenguajes orientados hacia
las aplicaciones de inteligencia artificial. Algunos
ejemplos son: LISP y PROLOG.
13. CARACTERÍSTICAS DE LOS LENGUAJES
DE ALTO NIVEL
• Los programas creados con ellos se pueden
ejecutar en computadoras de distinta arquitectura.
• El programa escrito debe ser traducido a lenguaje
máquina.
• Al traducir una instrucción del programa fuente,
genera varias instrucciones en lenguaje máquina.
• Las instrucciones se parecen al lenguaje natural de
las personas. (inglés)
• Incluyen funciones matemáticas, de texto y lógicas.
• No aprovechan completamente los recursos
internos de la máquina.
14. LENGUAJES DE PROGRAMACION
;Lenguaje ensamblador, sintaxis Intel para procesadores x86
mov eax,1 ;mueve a al registro eax el valor 1
xor ebx, ebx ;pone en 0 el registro ebx
int 80h ;llama a la interrupción 80h (80h = 128 sistema
decimal)
{Lenguaje Pascal}
program suma;
var x,s,r:integer; {declaración de las variables}
begin {comienzo del programa principal}
writeln('Ingrese 2 números enteros');{imprime el texto}
readln(x,s); {lee 2 números y los coloca en las variables x y s}
r:= x + s; {suma los 2 números y coloca el resultado en r}
writeln('La suma es ',r); {imprime el resultado}
readln;
end.{termina el programa principal}
15. HABLEMOS DE ALGORITMOS…
La palabra Programación resulta muy cercana y familiar; se puede
relacionar con un programa
de televisión, con un programa político, con la programación de horas
de estudio, etc.
Al fijarnos en los ejemplos anteriores, vemos que todos ellos tienen algo
en común: intentan realizar una actividad de un modo ordenado.
Cuando se especifican y determinan los pasos que se deben dar, así
como el orden en que han de realizarse para poder llevar a cabo
cualquier actividad, estamos especificando lo que se
define como algoritmo.
16. EJEMPLO
• Supongamos que queremos escuchar un disco de
música. Para hacer esto necesitamos definir
una serie de pasos que constituirán el algoritmo:
• 1. Dirigirnos a la estantería.
• 2. Seleccionar el CD a escuchar.
• 3. Sacar el CD seleccionado de la estantería.
• 4. Abrir la funda y extraer el CD.
• 5. Abrir la bandeja del reproductor de CD.
• 6. Introducir en la bandeja el CD seleccionado.
• 7. Cerrar la bandeja del reproductor.
• 8. Pulsar play.
17. SISTEMAS DE PROCESAMIENTO DE
INFORMACION
Algoritmo: Conjunto de instrucciones que especifica la
secuencia de operaciones a realizar, en orden, para resolver
un problema especifico, en otras palabras un algoritmo es
una formula para la resolución de un problema.
Un programa es similar a un algoritmo: la gran diferencia es que los pasos que
permiten resolver el problema deben escribirse en un determinado lenguaje de
programación para que el
ordenador pueda ejecutarlos y encontrar así la solución.
Un programa de computadora se escribe en un lenguaje de programación, un
algoritmo representa una solución a un problema. Cuando escribimos un
programa codificamos un algoritmo.
18. GENERALIDADES SOBRE LOS
ALGORITMOS
Metodología de programación: Consiste en la metodología aplicada para la
resolución de problemas mediante programas.
Descripción ordenada
de la secuencia de
pasos (sin
ambigüedades) que
conducen a la
solución de problema
dado (Análisis del
problema y desarrollo
del algoritmo).
Expresar el
algoritmo como un
programa en el
lenguaje de
programación
adecuado.
Ejecución y
validación del
programa de
computadora.
Tarea que se desea
resolver.
La definición de un algoritmo debe describir tres partes: Entrada, proceso y salida.
Ejemplo: La receta de un sancocho.
19. SOLUCIÓN DE PROBLEMAS
APLICANDO MODELOS MATEMÁTICOS
FÓRMULASDATOS RESULTADOS
Entrada SalidaProceso
Básicamente en esto consiste la solución de un problema según el Modelo matemático. Véase la
similitud con el esquema de un sistema de representación de información. La identificación
de las entradas (datos que tenemos para solucionar el problema), procesos ( formulas,
mensajes, procedimientos) y salidas (la solución) es indispensable cuando queremos formular
algoritmos.
ANALISIS ALGORITMO
¿Qué datos necesito?
(ENTRADA)
Capturar el numero 1
Capturar el numero 2
¿Qué formulas voy a utilizar?
(PROCESO)
Algoritmo de la suma:
Suma = numero 1 + numero 2
¿Qué resultados voy a obtener?
(SALIDA)
Imprimir el resultado de la suma.
20. CARACTERÍSTICAS Y FORMAS DE LOS
ALGORITMOS
Tres características básicas:
1. Preciso: debe ser concreto, no tener pasos de mas
y la solución tiene que ser clara y concreta.
2. Congruente: al probarse varias veces los
resultados deben ser los mismos.
3. Finito: al seguir los pasos deben llegar a la
solución, es decir, debe tener termino.
Los algoritmos pueden ser creados (representados) de dos
formas distintas:
1. Pseudo-código: es un conjunto pequeño y claro de instrucciones;
en secuencia, que permite llevar a cabo una tarea.
2. Diagrama de flujo: es la representación de la secuencia, a través
de símbolos, de la tarea que se va a realizar.
21. CARACTERÍSTICAS Y FORMAS DE LOS
ALGORITMOS
En pseudo-código: Lenguaje natural-alg.
Inicio
Escribe: (“calcula el area de cualquier rectángulo”)
Escribe: (“de largo mide”)
Captura: (largo)
Escribe: (“de ancho mide”)
Captura: (“ancho”)
Formula: área = largo x ancho
Escribe: (“ el area mide:” , area)
fin
22. CARACTERÍSTICAS Y FORMAS DE
LOS ALGORITMOS
En diagrama de flujo
inicio ancho largo
Área = largo x anchoárea
fin
Entrada (in) Entrada (in)
Salida (out)
PROCESO
23. GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
• Describa los pasos para cambiar un
bombillo quemado.
Algoritmo Programa
26. Entender el problema
Básicamente es poner a prueba nuestra comprensión de
lectura (también puede ser oral) del problema.
Debemos seguir estos pasos:
1.Leer y re leer el problema
2.Entender la pregunta, es decir, tener claro cual es el
resultado esperado.
3.Identificar los datos importantes
4.Organizar y clasificar los datos e información
5.Realizar un esquema o figura.
27. Trazar (configurar)
un plan
Esto quiere decir que acciones debemos hacer con
los datos y verificar nuestros datos, por lo que debemos
tener presente estas preguntas:
•¿Qué operaciones (acciones) necesito?
•¿Qué datos que poseo no son importantes?
•¿Será mejor descomponer el problema en otros
más pequeños?
•¿Tengo más alternativas?
28. Ejecutar Plan
• Ahora que entendemos el problema y hemos elegido
nuestras operaciones debemos ejecutarlo, esto quiere
decir seguir paso a paso nuestra traza (configuración) y
verificar si vamos llegando al resultado esperado.
• Debemos ejecutar las operaciones y preguntarnos
¿vamos por camino correcto? si es así seguimos con
las siguientes operaciones y comprobar si nos
acercamos a la solución.
Recuerda en apoyarte con dibujos o diagramas.
29. Revisar
• Luego de ejecutar nuestro plan y al comprobar
que hemos llegado al resultado esperado
debemos entregar una respuesta completa.
• Podemos preguntarnos si existe otra forma de
resolver el problema y comenzamos el ciclo de
nuevo. Ver si podemos hacerlo más genérico
para casos similares.
• Tener en la mente el problema porque puede
servir de ayuda en un caso similar.
30. Manos a la obra!
En un juego, el ganador obtiene una ficha roja; el
segundo, una ficha azul; y el tercero, una amarilla. Al
final de varias rondas, el puntaje se calcula de la
siguiente manera: Al cubo de la cantidad de fichas rojas
se adiciona el doble de fichas azules y se descuenta el
cuadrado de las fichas amarillas. Si Andrés llegó 3
veces en primer lugar, 4 veces de último y 6 veces de
intermedio, ¿Qué puntaje obtuvo?
(Adaptado de Melo (2001), página 30).
33. Parte 1 del enunciado
En un juego, el ganador obtiene una ficha roja; el segundo,
una ficha azul; y el tercero, una amarilla.
¿Tenemos datos importantes?
Así es, debemos entender que existen 3 tipos de fichas
para cada lugar
Ayudas:
Subrayar y
colorear
34. Parte 2 del enunciado
Al final de varias rondas, el puntaje se calcula de la
siguiente manera: Al cubo de la cantidad de fichas rojas se
adiciona el doble de fichas azules y se descuenta el
cuadrado de las fichas amarillas.
¿Tenemos datos importantes?
Sí! tenemos una fórmula para calcular el puntaje final.
35. Parte 3 del enunciado
Si Andrés llegó 3 veces en primer lugar, 4 veces de último
y 6 veces de intermedio, ¿Qué puntaje obtuvo?
¿Tenemos datos importantes?
Sí, tenemos la cantidad de veces que Andrés ha ganado
en los 3 distintos lugares.
Además tenemos la pregunta, es decir, sabemos que
debemos tener un resultado concreto.
36. ¿Y ahora?
Hemos leído el enunciado y re leído, obtuvimos los datos
de acuerdo a cada parte del enunciado, por lo que ahora
pasamos a TRAZAR un plan según los datos que
tenemos.
Es decir ordenarlos según por cada parte del enunciado y
verificar que operaciones necesito para resolver el
problema.
37. Trazando nuestro plan
Parte 1:
Roja para el primer lugar
Azul para el segundo lugar
Amarilla para el tercer lugar
Parte 2:
Armamos la fórmula para calcular puntaje final:
PF = (R3
)+ (2 x Az) - (Am2
)
Parte 3:
Andrés tiene: 3 fichas rojas (R), 6 azules (Az) y 4 amarillas
(Am).
38. Continuamos...
Nuestro tercer paso es EJECUTAR nuestra traza según los
datos obtenidos al entender el problema.
Quiere decir unir las operaciones elegidas y aplicar los
datos en dichas operaciones.
39. Ejecutando el plan
Por lo que tenemos:
Andrés tiene: 3 fichas rojas (R), 6 azules (Az) y 4 amarillas
(Am).
Y la fórmula obtenida:
PF = (R3
)+ (2 x Az) - (Am2
)
Reemplazando tenemos:
PF = (33
)+ (2x6) - (42
)
Continuando cada operación:
PF = 27 + 12 - 16
Nuestro resultado final es: PF = 23
40. Revisando
Al ejecutar nuestro plan ahora debemos REVISAR, para
ello debemos comprobar que nuestro resultado es
correcto, quiere decir que debemos revisar los cálculos y
verificar con la solución estimada.
Tenemos que dar una solución completa, en nuestro caso
sería como respuesta según la pregunta del problema:
El puntaje final que obtuvo Andrés fue de 23
42. ¿Cómo resuelvo un
algoritmo?
Ahora que entendemos un poco más de cómo resolver un
problema ahora llevemos el mismo teorema para resolver
un algoritmo en computación.
Cuyas fases serían entonces:
43. Analizar el problema
Esta etapa sería Entender el problema por lo que aquí
debemos:
•Formular el problema
•Conocer el resultado esperado
•Identificar datos e información
•Definir las operaciones
•Restricciones del problema
44. Diseñar un algoritmo (I)
Es la representación gráfica mediante un diagrama la
secuencia de las operaciones de forma lógica.
Esta etapa sería Trazar el problema.
45. Diseñar un algoritmo (II)
El diagrama para diseñar un algoritmo es conocido como
Diagrama de Flujo, representa la secuencia lógica de
nuestro análisis.
Cuya simbología es:
47. Traducir un algoritmo
Es Ejecutar el problema, es decir que debemos pasar
nuestro diagrama a un lenguaje (idioma), en donde cada
lenguaje posee su propia gramática y sintaxis:
•Comenzar y terminar un programa: INICIO, FIN
•Declarar los tipos de los datos: entero, decimal, letra,
texto.
•Entrada por teclado: leer
•Desición: si - sino
•Iteración: mientras
•Mostrar por pantalla: imprimir
48. Depurar un programa
• Esta etapa es Revisar.
• Aquí revisamos y se corrigen los errores de nuestra
traducción mediante el resultado obtenido que
debemos probar y validar.
• Para depurar nuestro programa debemos asignar
valores a nuestras variables y seguir el flujo (secuencia)
de nuestro diseño y nuestra traducción.
• Nos podemos ayudar haciendo una tabla para seguir el
flujo de nuestro programa y anotar los valores de las
variables a medida se vayan modificando.
49. Manos a la obra!
• Tenemos el mismo enunciado del ejercicio ya visto
anteriormente.
• En un juego, el ganador obtiene una ficha roja; el
segundo, una ficha azul; y el tercero, una amarilla. Al
final de varias rondas, el puntaje se calcula de la
siguiente manera: Al cubo de la cantidad de fichas rojas
se adiciona el doble de fichas azules y se descuenta el
cuadrado de las fichas amarillas. Si Andrés llegó 3
veces en primer lugar, 4 veces de último y 6 veces de
intermedio, ¿Qué puntaje obtuvo?
50. Análisis del problema
Para nuestro ejercicio tenemos en esta etapa, según lo
entendido al leer el problema:
•Existen 3 tipos de fichas para cada lugar
o Rojas, Azules y Amarillas
•Fórmula para calcular el puntaje final.
o PF = (R3
)+ (2 x Az) - (Am2
)
•cantidad de veces que Andrés ha ganado en los 3
distintos lugares
o 3 fichas rojas, 6 azules y 4 amarillas
•Debemos tener un resultado concreto.
51. Diseñar un algoritmo
• Quiere decir que debemos utilizar la simbología de
Diagrama de Flujo (ir a diapositiva) para diseñar
nuestra solución.
• Básicamente es "dibujar" el análisis realizado
anteriormente utilizando Diagrama de Flujo (ir a
diapositiva).
• Debemos definir nuestros datos, las operaciones y el
resultado a mostrar
53. Traducir un algoritmo (I)
• Ahora es el momento de escribir nuestro diagrama en
un lenguaje de programación el cual es conocido como
Pseudo - código
• Para ello escribiremos con las palabras reservadas
mencionadas anteriormente (ver diapositiva Traducir un
algoritmo)
54. Traducir un algoritmo (II)
//Indicamos el inicio del programa
INICIO
//Declaramos las variables y las iniciamos
ENTERO fichas_rojas = 3;
ENTERO fichas_azules = 6;
ENTERO fichas_amarillas = 4;
ENTERO puntaje_final = 0;
//Escribirmos la operación a utilizar
puntaje_final = fichas_rojas^3 + 2*fichas_azules - fichas_amarillas^2;
//Imprimimos por pantalla el texto que queremos mostrar
IMPRIMIR "El puntaje final de Andres es de "
//Imprimimos por pantalla la variable que queremos mostrar
IMPRIMIR puntaje_final;
//Indicamos el fin del programa
FIN
Ayudas:
// indica comentario
55. Depurar el programa
Para hacer la depuración debemos ir reemplazando los
valores de las variables en nuestro programa.
•Tenemos los valores ya dados por el enunciado: f_rojas
= 3, f_azules = 6 y f_amarillas = 4, estos valores
debemos reemplazarlos en nuestra fórmula inicial:
puntaje_final = 3^3 + 2*6 - 4^2;
•Realizando el cálculo nos da como resultado:
puntaje_final = 39;
•Impresión por pantalla:
El puntaje final de Andres es de 39