Está en la página 1de 11

1️⃣

Modulo 1 y 2
Sistemas de Procesamiento de
informacion y algoritmos
Sistemas de procesamiento de informacion
Para solucionar un problema mediante un sistema informatico se deben tener
en cuenta:
Una secuencia de instrucciones es comunicada a la computadora.
Se comunica a traves de lenguajes de programacion
Las instrucciones comunicadas define un programa o software
El hardware solo entiende codigo binario, lenguaje de bajo nivel
No es entendible para las personas las secuencias de unos y ceros

Lenguajes de alto nivel, usan expresiones literarias y algebraicas


Se utilizan algortimos, conjunto de pasos para resolver un problema
Mas complejos encaran distintos modelos de resolucion

Clasificacion de los lenguajes de programacion


Se clasifican segun varios criterios
Segun el nivel de abstraccion

Lenguaje maquina: lo comprende el procesador de una computadora y


consisten en secuencias de unos y ceros.

Lenguaje de bajo nivel: complejidad menor al lenguaje maquina, pero


fuerte dependencia con el entendimiento tecnico de la computadora

Lenguaje de alto nivel: se emplean palabra del lenguaje natural, estos


necesitan un interprete o compilador para traducirlo a bajo nivel.

Segun el paradigma de programacion

Modulo 1 y 2 1
Lenguaje imperativo: consiste en un conjunto de instrucciones que la
computadora debe ejecuta sin hacer enfasis en el porque.

Lenguaje funcional: se basa en funciones matematicas y la


composicion, a diferencia de los cambios de estado del lenguaje
imperativo.

Lenguaje logico: aplica reglas logico, utiliza el razonamiento formal, se


soluciona con la comprobacion de verasidad o falsidad de expresiones

Lenguaje orientado a objetos: organiza los datos en objetos que pueden


almacenar y manipular informacion. De mayor popularidad.

Traductores de lenguajes: interpretes y compiladores


Para que un lenguaje sea ejecutado, su codigo fuente en lenguaje de alto nivel
debe ser traducido a lenguaje maquina. Estos se clasifican en interpretes y
compiladores
Interprete: lee a medida que encuentra y ejecuta, proceso interpretar, los
programas de los conoce como interpretes. Ej: Bash, del clasico sistema Unix.
Y basic como ejemplo de un lenguaje interpretado.

Compilador: traduce el codigo fuente de un programa en lenguaje maquina


para que el procesador pueda ejecutar sus intrucciones. El codigo traducido se
denomina codigo objeto.
Luego de ejecutar el codigo fuente corresponde el lenguaje ensamblador, que
necesita de un enlazador o montador, que junta los paquetes de codigo objeto
y otros recursos como bibliotecas y obtiene el lenguaje maquina.

Sistemas de informacion
Un sistema es un conjunto de elementos que interactuan entres si para lograr
un objetivo. El tratamiento de la informacion de una unidad de negocio para su
uso posterior, cubriendo una necesidad, se refiere a un sistema de informacion.

Las actividades de informacion son las siguientes


Entrada de datos: se capturan datos para su posterior procesamiento y
tratamiento, puede venir del exterior o interior de la organizacion. Como
teclados, mouse, escaneres, terminales de entrada, etc.

Almacenamiento: Actividad mediante la cual se guardan los datos recopilados y


la informacion generada.

Modulo 1 y 2 2
Procesamiento de informacion: toma de datos capturados y los procesa para
generar informacion de mayor significado.

Salida de informacion: consiste en informacion negerada mediante dispositivos


de salida como impresoras, proyectores, monitores, dispositivo de sonido, etc.

Tipos y usos de los sistemas informacion


Segun la funcion o el objetivo que tienen en la organizacion los sistemas de
informacion se clasifican en
Sistema de procesamiento de trasacciones: automatiza procesos repetitivos,
denominada sistema de informacion operativo.

Sistema de soporte a decisiones: analizan la informacion generada por los


sistemas de informacion trasnsaccionales que ayudan a la toma de decisiones.
Sistema estrategico: da soporte a la toma decisiones estrategicas de una
organizacion para obtener ventajas respecto de los competidores.

Elementos del lenguaje


Entidades y ligaduras
Entidad: un elemento sobre el cual trabaja un programa, como subprograma,
variable, sentencia, etc. Atributos son asociados a una entidad por medio del
mecanismo de ligadura como una variable tiene un nombre, un tipo de dato,
una ubicacion en memoria, etc.

Ligadura estatica: La asociacion se produce en tiempo de compilacion,


antes de la ejecucion del programa, por lo que pueda darse en tiempo de
compilacion o de diseño.
Menor flexibilidad

Mayor seguridad
Mayor eficiencia

Aplicable a lenguajes compilados

Ligadura dinamica: la asociacion se produce durante la ejecucion del


programa, no puede realizarse en un paso anterior.
Mayor flexibilidad

Menor seguridad

Modulo 1 y 2 3
Mayor costo de ejecucion
Se puede asignar un valor a una variable de tipo referencial, antes de la
ejecucion del programa se desconoce la ubicacion en memoria de la variable
referencial y no se puede realizar la asignacion. La ubicacion es conocida en
tiempo de ejecucion y es en este momento en el que se realiza la ligadura

Sintaxis y semantica
Las reglas de los lenguajes de programacion define la sintaxis

Reglas lexicas: definen el conjunto de caracteres del lenguaje y la forma en


la que se combinan para formar sentencias validas.

Reglas sintacticas: definen reglas de mayor complejidad a partir de


construcciones mas complejas mediante la combinacion de elementos
lexico

El proposito primordial es proponer una notacion para la comunicacion entre el


programador y el procesador.

elementos de la sintaxis: alfabeto, identificadores, palabras reservadas,


espacios en blanco, simbolos de operadores, expresiones, delimitadores de
codigo, comentarios.

Existen metalenguajes que se encargan de definir la reglas, es deseable que la


sintaxis de un lenguaje sea de facil lectura, escritura y analisis en busca de
errores y que no posea ambiguedades.

El significado que toma cada uno de los elementos de un lenguaje de


programacion de acuerdo al contexto define la semantica del lenguaje. Como
variable, valores y expresiones. Ejemplo el chequeo dee tipos de datos, si se
utiliza el operador suma entonces el tipo de dato esperado es numerico.
La sintaxis no tiene en cuenta el contexto, la semantica si.

Algorimo. Concepto. Caracteristicas


Un algortimo es un conjunto de pasos para resolver un problema. Los
problemas son resueltos utilizando algoritmos que se encuentran
representados mediante programas o software.

Caracteristicas principales de los algoritmos


Preciso: Debe indicar el orden de realizacion de cada paso

Modulo 1 y 2 4
Definido: No importa cuantas veces se ejecute el programa, se debe obtener el
mismo resultado en cada ejecucion.

Finito: Debe tener un numero finito de pasos que permiten resolver el


problema.
La descripcion de un algoritmo puede tener distintos niveles de detalle. En
lenguaje natural puede tener ambiguedades y ser extensa. Se emplean
tecnicas formales de descripcion de algoritmos, como diagramas de flujo y
pseudocodigos, y por ultimo se traduce en algun lenguaje de programacion.

Fases en la resolucion de problemas


Resolver un problema mediante la aplicacion de un programa

Analisis del problema: debe definirse el resultado o solucion esperada,


datos de entrada y que debe hacer el programa para llegar a la solucion

Diseño del algoritmo: se diseña el algoritmo

Codificacion: Se escribe el programa, utilizando un lenguaje de


programacion, el diseño es independiente del lenguaje que se utilice.

Compilacion y ejecucion: el programa fuente debe ser traducido a lenguaje


maquina para la posterior ejecucion por parte del procesador.

Verificacion y depuracion: Se comprueba que el programa obtenga los


resultados esperados con una amplia variedad de datos de entrada, la
depuracion consiste en identificar y corregir los posibles errores.

Documentacion: deben describirse los pasos de resolucion del problema e


incluir diagramas de flujo, manuales de usuario, requerimientos, etc.

Mantenimiento: el programa debe actualizarse y modificarse siempre que


sea necesario. Para facilitan este proceso documentacion clara y precisa

Diseño de algoritmos
Para resolver un problema mediante un algoritmo se puede dividir el problema
en partes mas pequeñas e ir resolviendo cada una, combinadas dan la solucion
al problema original de mayor complejidad.

Dividir el probleama original en subproblemas se amplian los detalles, este


diseñse denomina tambien descendente

Comprension mas facil del problema, mayor facilidad para resolver


problemas complejos, mayor facilidad para analizar y mejorar eficiencia del

Modulo 1 y 2 5
algorimo, realizar modificaciones en alguna de las partes del algortimo es
mas facil, mayor facilidad para verificar el problema por medio de sus partes
o modulos.

Representacion de algoritmos
Diagrama de flujo
Utilizan una serie de simbolos
con significados especiales y
son la representacion grafica de
los pasos de un proceso,
conectados por flechas que
indican la secuencua, para
evitar ambiguedades han sido
estandarizadas mediante
normas ANSI.

Pseudocodigo

Utiliza semejanzas con la estructura de un lenguaje de programacion, pero sin


alejarse de algunas convenciones del lenguaje natural, codigo falso, utiliza
palabras que facilitan la lectura humana y aplica un orden y reglas parecidad a
las de un lenguaje de programacion

Tipos de Datos y Variables


Tipos de datos

Modulo 1 y 2 6
Define el conjunto de valores que una variable puede tener. Tambien especifica
las operaciones que se pueden realizar. El tipo de dato define el espacio que se
utiliza en memoria para almacenar los valores.

Basicos o integrados: definidos por los lenguajes de programacion

Definidos por el programador: a partir de tipos de datos basicos.

Datos numericos
conjunto de valores numerico.

tipo numerico entero

Tipo numero real

Datos logicos
booleano, permite tomar una decision

True, verdadero

False, falso

Datos de tipo caracter y cadena


Caracter como el conjunto finito y ordenado que la computadora reconoce

Alfabetico

Numerico

Especiales

Una cadena de caracteres es un tipo de dato estructurado compuesto a partir


de un conjunto de caracteres, delimitados por comillas simples o dobles.

Variables y constantes
Espacio reservado en memoria cuyo contenido (valor) puede cambiar durante
la ejecucion del programa, tiene un identificador o nombre, un tipo de dato y un
valor.

El identificador o nombre de una variable es un conjunto de caracteres


alfanumericos con el que se puede hacer referencia a la misma variable.
Algunos ejemplos de declaraciones de variables con sus identificadores y tipo
de dato son:
entero dato

Modulo 1 y 2 7
entero numero
logico valor

real promedio1
real promedio2
caracter letra

cadena nombre
Las constantes representan objetos cuyos valores no pueden cambiar durante
la ejecucion del programa.
Todos los lenguajes, incluso pseudocodigo tienen un conjunto de palabras
reservadas que poseen un significado especial para el lenguaje y no pueden
ser utilizadas como identificadores.

inicio para
fin segun

entero sea
real repetir
mientras funcion

si logico
sino caracter

entonces cadena

Expresiones y Operadores
Una expresion es la combinacion de variables, constantes, operadores,
funciones y reglas. Se clasifican en
Aritmeticas
Relacionales

Logicas
De caracter

El resultado de una expresion aritmetica es de tipo numerico, mientras que el


resultado de una expresion logica o relacional es de tipo logico, y el de una
expresion de caracter es de tipo caracter.

Modulo 1 y 2 8
Expresiones aritmeticas
Las expresiones aritmeticas son analogas a las que se utilizan en el algebra

+ (suma)

- (resta)

* (multiplicación)

/ (división)

^ (exponenciación)

div (división entera)

mod (módulo [resto de una división entera])

2+4

El numero 2 y 4 son los operandos de la expresion, y el simbolo + representa la


aplicacion del operador suma. El valor de la expresion se conoce como
resultado de la expresion.
El operador / se usa en la divison real y operador div en la division entera.

El operador mod es utilizado para obtener el resto de una division entera.

Reglas de prioridad
Cuando tenemos una expresion en la que figuran varios operadores, el
programa debe elegir un orden para efectuar las operaciones de la expresion.
Las reglas de procedencia o prioridad son:

1) Evaluar prmero las expresiones encerradas entre parentesis


2) Las operaciones aritmeticas obedecen el seguiente orden de prioridad.
operador exponencial

operadores de producto y divison


operadores div y mod

operadores suma y resta


En el caso de que varios operadores coincidan, entonces el orden de ejecucion
es de izquierda a derecha.

Expresiones logicas

Modulo 1 y 2 9
Las expresiones logicas o booleanas son aquellas cuyo resultado es de tipo
logico, es decir, verdadero o falso.

operadores

Conjuncion AND Y &

Disyuncion OR O |

Negacion NOT NO !

Operacion de asignacion
utilizada para almacenar o asignar un valor a una variable. Se representa con el
simbolo = o ←

Operacion de entrada/salida
ingresar valores, como del teclado que pueden ser asignadas a variables,
operacion de lectura
tambien enviar valores, como en la pantalla o impresora, operaciones de
escritura

Ejercicios de aplicacion
existen muchas formas y reglas distintas para representar la estructura de
algoritmo. En nuestros ejemplos constara
Cabezera del algoritmo sentencia simple que comienza con la palabra
reservada algoritmo y el nombre designado

En el caso de utilizar estructura de datos definidas por el programador, como


arreglo y registros, estas deben declararse en un bloque de codigo con la
palabra reservada tipo

A continuacion deben declararse todas aquellas variables y constantes que se


utilicen en el algoritmo. Para definir las variables y constantes utilizarermos las
palabras reservadas var y const respectivamente.

Las sentencias ejecutables son las istrucciones que constituyen los pasos del
algoritmo, que se ejecutaran cuadno el programa inicie. Para delimitar esta
ultima seccion utilizaremos las palabras reserada inicio y fin

Modulo 1 y 2 10
Estructuras secuenciales
son aquellas en las que las acciones se ejecutan a continuacion de la otra, en
secuencia.

Estructuras condicionales
utilizadas para ejecutar un conjunto de sentencias si se cumple una condicion.
Permite modificar el orden de ejecucion de las sentencias segun el resultado
de una expresion que se evalua.
Las estructuras condicionales se clasifian en

condicional simple
Evalua una expresion logica (condicion). si esta es verdadera, ejecuta las
sentencias especificadas a continuacion de la palabra reservada entonces; si
es falsa, no realiza ninguna accion y continua con el flujo del algoritmo

Condicional doble
Evalua una expresion logica (condicion). Si esta es verdadera, ejecuta las
sentencias que se encuentran a continuacion de la palabra reservada entonces
(rama verdadera), pero si la condicion es falsa, entonces se ejecuta las
sentencias especificadas a continuacion de la palabra reservada si-no (rama
falsa)

Condicional multiple
Utilizada cuando se debe elegir entre mas de dos alternativas de acuerdo con
el valor de una variable. Evalua una expresion (condicion) que se puede
resultar en N valores distintos. Segun el resultado de la expresion, se
ejecutaran las sentencias definidas para el valor que se ha obtenido.
Esta expresion requiere que la variable que se evalua sea del tipo entero o
caracter. La aplicacion de la sentencia si-no es opcional y debe ser utilizada
cuando necesitamos ejecutar un conjunto de acciones en el caso de que el
resultado de la variable no sea igual a ninguno de los valores especificados en
las sentencias caso.

Estructuras repetitivas

Modulo 1 y 2 11

También podría gustarte