Está en la página 1de 39

UNIVERSIDAD NACIONAL DE CONCEPCIÓN

FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS


CARRERA – INGENIERÍA EN INFORMÁTICA EMPRESARIAL

Introducción a la Informática
Prof. MSc. Alcides Javier Torres Gutt.
Sitio virtual efacu.concepcion.com.py
ALGORITMO
 Describe la secuencia ordenada de pasos, sin
ambigüedades, que conducen a la solución de
un problema dado.
 Los algoritmos son independientes tanto del
lenguaje de programación en que se expresan
como de la computadora que los ejecuta.
 En cada problema el algoritmo se puede
expresar en un lenguaje diferente de
programación y ejecutarse en una computadora
distinta; sin embargo el algoritmo será siempre
el mismo.
ALGORITMO
 En la ciencia de la computación y en la
programación los algoritmos son más importantes
que los lenguajes de programación o las
computadoras.
 Un lenguaje de programación es tan solo un
medio para expresar un algoritmo y una
computadora es solo un procesador para
ejecutarlo.
 Tanto el lenguaje de programación como la
computadora son los medios para obtener un fin:
conseguir que el algoritmo se ejecute y se efectúe
el proceso correspondiente.
Características
 Estructuración: Un algoritmo debe ser
preciso e indicar el orden de realización de
cada paso.
 Eficiencia: Un algoritmo debe estar
definido. Si se sigue un algoritmo dos
veces, se debe obtener el mismo resultado
cada vez.
 Finito: Un algoritmo debe ser finito. Si se
sigue un algoritmo, se debe terminar en
algún momento; o sea debe tener un
número finito de pasos.
Características
 Legibilidad: Un algoritmo debe ser legible.
Cualquier programador debe poder comprender
el objetivo del algoritmo.
 Modificabilidad: Se debe poder modificar,
para ampliar, corregir o agregar procesos al
algoritmo.
 Modularidad: Para algoritmos muy largos y
complejos, es mejor descomponerlo en unidades
funcionales y tratarlos en forma independiente
para su mayor comprensión.
Tipos de Algoritmo
 Diagramas de Flujo
 Pseudocódigo

 Diagramas Nassi Schneiderman

 Diagramas Guarnier Orr

 Diagramas HIPO
Diagramas de Flujo
 Es una de las técnicas de representación de
algoritmos más antigua y a la vez más
utilizada.
 Un diagrama de flujo es un diagrama que
utiliza símbolos(caja) estándares y que tiene
los pasos del algoritmo escritos en esas cajas
unidas por flechas, denominadas líneas de
flujo, que indica la secuencia en que se deben
ejecutar.
Representación de los
Diagramas de Flujo

 Terminal: Representa el comienzo “inicio” y el final,


“fin”, de un programa. Puede representar también una
parada o interrupción.

 Entrada/Salida: cualquier tipo de introducción de


datos en la memoria desde los periféricos.
Representación de los
Diagramas de Flujo

 Proceso: cualquier tipo de operación que pueda originar cambio


de valor, formato o posición de la información almacenada en
memoria, operaciones aritméticas, de transferencia, etc.

 Decisión: indica operaciones lógicas o de comparación entre


datos, normalmente dos, y en función del resultado de la misma
determina cual de los distintos caminos alternativos del programa
se debe seguir.
Representación de los
Diagramas de Flujo

 Conector: sirve para enlazar dos partes cualesquieras de


un ordinograma a través de un conector en la salida y otro
en la entrada.

 Sentido: indicador de dirección o línea de flujo

 Linea conectora: sirve de unión entre los símbolos


Representación de los
Diagramas de Flujo

 Impresora: se utiliza para indicar que la salida será impresa

 Sub-rutina: Llamada a un sub proceso predeterminado. Una


subrutina es un módulo independiente del programa principal,
que recibe una entrada procedente de dicho programa, realiza
una tarea determinada y regresa al terminar, al programa
principal.
Representación de los
Diagramas de Flujo

 Pantalla: se utiliza en ocasiones en vez del símbolo de E/S.

Teclado: se utiliza en ocasiones en vez del símbolo de E/S.


PSEUDOCÓDIGO
 Es un lenguaje de especificación de algoritmos. Su
uso hace que el paso de codificación final sea
relativamente fácil.
 El pseudocódigo nació como un lenguaje similar al
inglés y era un medio de representar básicamente las
estructuras de control de programación estructurada.
 Se considera un primer borrador, dado que el
pseudocódigo tiene que traducirse posteriormente a
un lenguaje de programación.
 El pseudocódigo no puede ser ejecutado por una
computadora.
Ventajas
 La ventaja del pseudocódigo es que en su uso en la
planificación de un programa, el programador se
puede concentrar en la lógica y en las estructuras de
control y no preocuparse de las reglas de un lenguaje
específico.
 El pseudocódigo utiliza para representar las acciones
sucesivas palabras reservadas del inglés, similares a
sus homónimas en los lenguajes de programación,
tales como star, end, stop, if-then-else, while-wend,
repeat-until. ect.
 La escritura del pseudocódigo exige normalmente la
identación, sangría en el margen izquierdo, de
diferentes líneas.
Diagramas HIPO.
 HIPO son las siglas de jerarquía (más) entrada /
proceso / salida.
 Las siglas nos proporcionan una descripción y una
ayuda de memoria sobre lo que trata esta técnica.
 Es jerárquica porque el sistema completo consiste
de subsistemas más pequeños.
 Las siglas nos recuerdan las tres partes
principales de cualquier sistema: entrada, proceso
y salida. Una vez que se ha terminado la gráfica de
jerarquía se trazan en otras tres páginas
individuales, la sección de la entrada, del proceso
y la salida.
Características
 El HIPO es una técnica visual. Existen tres
tipos principales de diagramas en el
sistema HIPO:
 VTOC o tabla visual de contenido.
 Diagramas de panorámica IPO
(entrada/proceso/salida)
 Diagramas detallados IPO
Partes
 VTOC: La VTOC es la gráfica jerárquica. Proporciona un
mapa que permite al lector localizar un módulo dentro del
sistema principal.
 Diagramas panorámica IPO: Los diagramas de
panorámica IPO permite una vista macro de la entrada,
proceso y salida. En este punto es útil listar todas las
entradas, procesos y salidas en las tres secciones del
papel sin trazar los símbolos especializados.
 Diagramas detallados IPO. Para hacerlos útiles los
diagramas panorámicos deben ser divididos en
diagramas para cada uno de los módulos que contienen,
por lo que a esto se le denomina diagrama detallado IPO.
Diagramas Nassi
Schneiderman
 Es un enfoque más estructurado, pero un poco
menos visual. Su principal ventaja es que adopta la
filosofía de la programación estructurada. Una
cantidad limitada de símbolos, por lo que el diagrama
de flujo ocupa menos espacio.
 Los tres símbolos básicos que utiliza en la gráfica son
un cuadro, que se usa para representar cualquier
proceso e el programa.
 El segundo, es un triángulo divisor de columnas, que
representa una decisión.
 El tercer símbolo es un cuadro dentro del cuadro es
usado para mostrar que se realiza una iteración.
Diagramas Nassi
Schneiderman
 Estas gráficas deben ser completas y comprensibles lo
cual representa una desventaja pequeña en
comparación con otros métodos.
 Por otro lado sus beneficios son muchos, proporciona
al analista una herramienta que le ayuda en el diseño
de programas y desarrollo de procesos, debido a que
son compatibles con la programación estructurada.
 Es fácil de leer, puesto que no se requiere un
conocimiento de símbolos complejos y tampoco ocupa
espacio valioso.
Diagrama Panorámico
Warnier-Orr
 El enfoque jerárquico es similar al de HIPO y los
diagramas N-S en que se toma un enfoque
jerárquico de arriba hacia abajo.
 Este no es un diagrama tan visual debido a que usa
llaves y otros símbolos.
 Las llaves se usan para representar conjuntos y
subconjuntos, y se usan variables tales como M y N
para representar la cantidad de veces que se
realiza una iteración.
 Cuando una condición se satisface o no, se usa la
notación (0, 1), y un signo + significa que la lista de
conceptos son alternativas posibles.
Diagrama Panorámico
Warnier-Orr
 Se usa PERFORM para ramificar a otra parte del
programa.
 El lado izquierdo del diagrama representa la panorámica.
Conforme el analista se mueve de izquierda a derecha, el
sistema es descompuesto en subsistemas más pequeños.
 El desarrollo de diagramas es único, debido a que, una vez
que esta definida la estructura general, el analista
comienza con la salida y trabaja hacia atrás.
 Estos diagramas son útiles debido a que son compatibles
con las técnicas de programación estructurada y son
fáciles de desarrollar. Son fáciles de leer y modificar.
PROGRAMAS
La resolución de un problema exige al
menos los siguientes pasos.
 Definición o análisis del problema
 Diseño del algoritmo
 Transformación del algoritmo en un
programa
 Ejecución y validación del programa.
Qué es un Programa?
 Es una secuencia lógica de acciones (instrucciones)
que manipulan un conjunto de objetos (datos) para
obtener unos resultados que serán la solución al
problema que resuelve dicho programa.
 Las instrucciones de un programa consisten, en
general, en modificaciones sobre los objetos del
programa, que constituyen su entorno, desde un
estado inicial hasta otro final que contendrá los
resultados del proceso.
 La ejecución de un programa consiste en la
realización secuencial del conjunto de instrucciones
de que se compone, desde la primera a la última, de
una a una.
Qué es un Programa?
 Este orden de realización únicamente será alterado
mediante instrucciones denominadas de ruptura de
secuencia, que en la actualidad han caído en desuso y
mediante sentencias de control.
 El entorno de un programa u objetos del mismo es el
conjunto de elementos capaces de almacenar unidades de
información, necesarios para contener tanto los datos de
entrada como los datos resultantes de todos los procesos
que se lleven a cabo.
 Los procesos que se pueden llevar a cabo en un programa
pueden ser de tipo aritmético o lógico, incluyéndose
algunas operaciones de manejo de caracteres y
operaciones de entrada/salida.
Sub - programas
 Son generalmente conocidos como Procedimientos o
Funciones. Puede realizar las mismas acciones que un programa:
 Aceptar datos

 Realizar algunos cálculos

 Devolver resultados

 Un subprograma es utilizado por el programa para un propósito


específico.
 Recibe datos desde el programa y le devuelve resultados.
 Se dice que el programa principal llama o invoca al subprograma.
 Esto puede suceder en diferentes lugares del programa. Cada vez
que el subprograma es llamado, el control retorna al lugar de
donde fue hecha la llamada.
Procedimientos
 Un subprograma puede a su vez llamar sus
propios subprogramas
 La declaración de un procedimiento es:
 procedimiento
nombre-procedimiento(parámetros formales;
parámetros variables)
<acciones>
Función
 Matemáticamente una función es una operación que toma uno
o más valores llamados argumentos y produce un valor
denominado resultado.
 Una función puede tener uno o varios argumentos. Cada
función se evoca utilizando su nombre en una expresión con los
argumentos actuales o reales encerrados entre paréntesis.
 Las funciones incorporadas al sistema se denominan funciones
internas o intrínsecas y las funciones definidas por el usuario
funciones externas.
 La declaración de una función es:
función nombre-función(par1, par2, par3, ...)
<acciones>
Tipos de Programas
PROGRAMAS ESPECÍFICOS:
 Son generalmente programas creados
para resolver un solo problema en
particular.
 Por lo general está compuesto por una

secuencia de acciones, algunas de las


cuales serán alternativas o repetitivas.
Tipos de Programas
PROGRAMAS PAQUETES:
 Son programas que están preparados para

soportar cualquier problema del mismo tipo.


 Está relacionada a la aplicación desarrollada

por el programa, y que está relacionada con


la naturaleza de las operaciones que se
realizan en la misma.
Tipos de Programas Paquetes
 Programas de gestión. Se caracterizan por el manejo de una gran
cantidad de datos con pocos cálculos. Resuelven problemas de
gestión.
 Programas técnico-científicos. Al contrario que los anteriores,
realizan una gran cantidad de cálculos con pocos datos. Resuelven
problemas matemáticos, físicos, etc.
 Programas de diseño. Se caracterizan por la utilización de técnicas
gráficas para resolver problemas de diseño gráfico.
 Programas de simulación. Intentan reflejar una situación real para
facilitar su estudio y analizar los problemas que se puedan plantear.
 Programas educativos. Utilizan las ventajas de la computadora
para la docencia, convirtiéndola en un profesor para autodidactas.
 Programas de inteligencia artificial. Se utilizan para simular el
razonamiento humano.
Estructura de un programa
 Un programa es una secuencia de instrucciones que ha de procesar la
computadora con el objeto de obtener unos resultados o datos de salida a
partir de unos datos iniciales o datos de entrada.
 Entrada de datos: Está formada por todas las instrucciones que toman los
datos objeto del programa desde un dispositivo externo(unidad de entrada)
depositándolos en la memoria central de la computadora, incluyendo la
depuración o validación de los mismos.
 Proceso: Conjunto de instrucciones que resuelven el problema a partir de los
datos que han sido introducido, dejando los resultados en la memoria central.
El dispositivo encargado de llevarlo a cabo es la unidad central de proceso.
 Salida de resultados: Las constituyen las instrucciones que hacen que los
datos resultantes del proceso sean proporcionados al exterior por medio de
algún dispositivo(unidad de salida).
 Estos tres componentes de todo programa, no aparecen separadamente sino
que lo normal es encontrar las instrucciones pertenecientes a cada uno de los
tres grupos mezclados entre si, porque en ocasiones es necesario realizar
operaciones de entrada después de iniciada la fase de proceso, y asimismo, se
proporcionan algunos resultados antes de terminado el mismo.
Tipos de estructuras
 Programas lineales. Consisten en una secuencia de
acciones primitivas. Su ejecución es lineal en el orden en
que han sido escritas.
 Programas alternativos. Consisten en el anidamiento de
acciones alternativas entremezcladas con instrucciones
primitivas.
 Programas cíclicos. Son aquellos en los que un conjunto
de instrucciones de las existentes en el programa se repite
un número determinado o indeterminado de veces.
SISTEMAS
 Constituye en su origen un conjunto de ideas
producto de la inteligencia de las personas para
solucionar problemas de muy diversos tipos.
 Es un conjunto de normas y órdenes que
coordinan los procesos que se realizan.
 Está integrado por un gran número de
programas que interactúan unos con otros. A
través de ellos pueden ser manejados todos los
recursos de un sistema informático para resolver
cualquier problema empresarial.
Función de un Sistema
 Es la parte lógica que dota al equipo físico de capacidad
para realizar cualquier tipo de trabajos.
 En los primeros años de existencia de las computadoras,
tuvo mayor peso específico el hardware que el software
puesto que se disponía de grandes computadoras, caras y
complejas, que desarrollaban el trabajo definido por unos
pocos y pequeños programas.
 En la actualidad, en un sistema informático tiene mayor
peso específico el software que el hardware por ir
adquiriendo día a día, el primero, una mayor importancia
en todos los aspectos coste, mantenimiento, etc.
Tipos de Sistemas
 SISTEMAS DE BASE: Conjunto de programas
imprescindibles para el funcionamiento del
hardware, más un conjunto cuya misión es la de
facilitar el uso del sistema y optimizar sus
recursos.
 Son programas encargados de la gestión interna
de la computadora, es decir, de la unidad central
de proceso, la memoria central y los periféricos.
Pertenecen a este grupo los sistemas opera-
tivos, entornos operativos, compiladores e
intérpretes, utilidades.
Tipos de Sistemas
 SISTEMAS DE APLICACIÓN: Conjunto de pro-
gramas que se desarrollan para que una
computadora realice cualquier trabajo controlado o
asistido por el usuario.
 Está constituido por los programas que dirigen el
funcionamiento de la computadora para la realiza-
ción de trabajos específicos, denominados aplica-
ciones.
 Pertenecen a éste grupo los Sistemas estándar,
paquetes integrados y sistemas a medida.
LENGUAJES DE
PROGRAMACIÓN
 Es una notación para escribir programas, a
través de los cuales podemos comunicar-
nos con el hardware y dar así las órdenes
adecuadas para la realización de un deter-
minado proceso.
 Un lenguaje está definido por una gramá-
tica o conjunto de reglas que se aplican a
un alfabeto constituido por el conjunto de
símbolos utilizados.
Tipos de Lenguajes
 Lenguajes de Bajo nivel: Llamado lenguaje máquina
que es el único que entiende directamente la computa-
dora. Utiliza el alfabeto binario, que consta de los dos
únicos símbolos 0 y 1, denominados bits.
 Lenguajes intermedios: Llamado ensamblador.
Constituye el primer intento de sustituir el lenguaje
máquina por otro más similar a los utilizados por las
personas. En este lenguaje, cada instrucción equivale a
una instrucción en lenguaje máquina, utilizando para su
escritura palabras nemotécnicas en lugar de cadena de
bits.
Tipos de Lenguajes
 Lenguajes de alto nivel: Denominados también
lenguaje evolucionado, surge con los siguientes
objetivos:
 Lograr independencia de la máquina, pudiendo utilizar
un mismo programa en diferentes equipos.
 Aproximarse al lenguaje natural, para que el
programa se pueda escribir y leer de una forma más
sencilla.
 Incluir rutinas de uso frecuente, como las de
entrada/salida, funciones matemáticas, manejo de
tablas, etc.

También podría gustarte