0% encontró este documento útil (0 votos)
8 vistas7 páginas

El Software

La Unidad II aborda conceptos fundamentales sobre datos, procesos e información, destacando la diferencia entre datos e información y el papel de las computadoras en el procesamiento de datos. Se define la computadora como un sistema compuesto por hardware y software, y se explican los tipos de lenguajes de programación, así como la creación de software y la depuración de errores. Además, se discuten características de un programa de buena calidad y se presentan preguntas para evaluar la comprensión de los conceptos técnicos tratados.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas7 páginas

El Software

La Unidad II aborda conceptos fundamentales sobre datos, procesos e información, destacando la diferencia entre datos e información y el papel de las computadoras en el procesamiento de datos. Se define la computadora como un sistema compuesto por hardware y software, y se explican los tipos de lenguajes de programación, así como la creación de software y la depuración de errores. Además, se discuten características de un programa de buena calidad y se presentan preguntas para evaluar la comprensión de los conceptos técnicos tratados.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

Unidad II: Conceptos Generales

UNIDAD II: CONCEPTOS GENERALES

DATO, PROCESO E INFORMACIÓN


Dato e información son dos términos que suelen confundirse.
DATO: Es la unidad mínima de información , es lo que constituye una información. Se consideran datos a
toda entrada de información a una computadora. Estos datos pueden ser administrativos, científicos,
comerciales, etc. son elementos primitivos, de los cuales a través del procesamiento se obtiene la información.
LA COMPUTADORA: se utiliza para procesar en forma automática y a gran velocidad esos datos. Como
resultado del procesamiento de esos datos se obtiene la información deseada, la cual será útil en la toma de
decisiones.

DATO PROCESO INFORMACIÓN

Una PC es una computadora personal, originalmente diseñada para servir a un sólo usuario. Sale al
mercado en 1981 y va evolucionando en capacidad y velocidad, además su costo se va reduciendo. Existen
diferentes configuraciones para adecuarse a la múltiples necesidades de los usuarios.

LA COMPUTADORA COMO SISTEMA


UN SISTEMA: es un conjunto de componentes relacionados que interactúan para realizar una
tarea. Un sistema de informática está compuesto por el Hardware (CPU, dispositivos periféricos) y el
Software (sistema operativo y los programas). El software de un sistema de información está formado por los
datos, los programas de ingreso, actualización e informe de resultados y los procedimientos manuales y por
máquina.
Se denomina HARDWARE (ferretería) a todos los componentes electrónicos y mecánicos, es decir
físicos de una computadora.
Se denomina SOFTWARE al conjunto de programas o procedimientos que determinan las acciones de la
máquina, es todo lo concerniente a la programación.
Las computadoras están estructuradas según un modelo básico de funcionamiento que describe la
interacción que se realiza entre los elementos que la componen. Este modelo es:

Página 1
Unidad II: Conceptos Generales

MONITOR

MOUSE CPU IMPRESORA

SCANNER TECLADO MÓDEM

PROGRAMA: Es un conjunto de instrucciones que ejecutadas ordenadamente resuelve un problema.

UNA INSTRUCCIÓN: es cada paso de un programa, pero que lo ejecuta el ordenador o computadora.

TIPOS DE INSTRUCCIONES:
- E/S: Pasar información del exterior al interior del ordenador y al revés.
- ARITMÉTICOs: Operadores Aritméticas: +,-,*,...
- LÓGICAS: Lógicas: or, and,
- RELACIONALES: <, >, =, ...
- SELECTIVAS: Permiten la selección de una alternativa en función de una condición.
- REPETITIVAS: Repetición de un número de instrucciones un número finito de veces.

CREACIÓN DE SOFTWARE

Las computadoras internamente solo manejan el sistema binario, es decir ceros y unos; por este motivo, para
que un programa pueda ser “entendido” por una computadora, tiene que estar escrito en ese sistema de
numeración(Sistema Binario).
A lo largo de la historia de la programación de computadoras se fueron ccreando lenguajes de programación
que permiten escribir un programa utilizando instrucciones que nosotros podemos entender.

PROGRAMA FUENTE: Es el programa escrito en un lenguaje de programación que nosotros podemos


entender.

Una vez terminado el programa, se traduce al lenguaje que puede entender la maquina (ceros y unos) utilizando
un programa traductor llamado COMPILADOR. Durante la compilación, el programa fuente es revisado por el
compilador para detectar errores ortográficos, lógicos y sintácticos; si se detectan errores se genera una lista de
ellos y en aviso de error; en cambio, si no los hay, el programa fuente es traducido al lenguaje de maquina,
recibiendo el nombre de PROGRAMA OBJETO.

Para que ese programa se pueda ejecutar en una computadora, debe realizarse un ultimo paso a cargo de un
software llamado ENLAZADOR o LINKER. En el proceso de enlace, el linker o enlazador prepara el
programa objeto para que pueda ser ejecutado en una computadora, obteniéndose finalmente el PROGRAMA
EJECUTABLE.

Página 2
Unidad II: Conceptos Generales

Programa fuente (Editor)

Compilador

Error

Programa objeto Librerias

Linkador

Programa Ejecutables

LENGUAJE DE PROGRAMACIÓN: Es el un conjunto de reglas, símbolos y palabras especiales usadas para


construir un programa.

LENGUAJES DE PROGRAMACIÓN SE CLASIFICAN EN:


 Bajo nivel  (Lenguaje máquina)
 Intermedios  (Lenguaje ensamblador),
 Alto nivel  Gestión Científicos Propósito general y específicos.

LENGUAJE MÁQUINA
El lenguaje máquina es el único que entiende directamente la computadora, utiliza el alfabeto binario que
consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura inglesa de dígitos binarios). Fue el
primer lenguaje utilizado en la programación de computadoras, pero dejó de utilizarse por su dificultad y
complicación, siendo sustituido por otros lenguajes más fáciles de aprender y utilizar, que además reducen la
posibilidad de cometer errores.
EJEMPLO
0000 0001 1010 0001 01 A1
1000 1001 1001 1010 89 9A
0011 1010 1001 1100 3A 9C
0111 0100 0111 0000 74 70
1110 1001 0010 0000 E9 20

Ventaja: No necesita ser traducido.

Inconveniente: La dificultad, la confusión, para corregir errores, es propia de cada máquina.

Página 3
Unidad II: Conceptos Generales

LENGUAJE ENSAMBLADOR
El lenguaje ensamblador es 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 cadenas de bits.
EJEMPLO
INICIO: ADD B, 1
MOV A, E
CMP A, B
JE FIN
JMP INICIO
FIN : END
Este lenguaje presenta la mayoría de los inconvenientes del lenguaje máquina:
 Cada modelo de computadora tiene un lenguaje ensamblador propio diferente del de los demás, por lo cual
un programa sólo puede utilizarse en la máquina para la cual se programó.
 El programador ha de conocer perfectamente el hardware del equipo, ya que maneja directamente las
posiciones de memoria, registros del procesador y demás elementos físicos.
 Todas las instrucciones son elementales, es decir, en el programa se deben describir con el máximo detalle
todas las operaciones que se han de llevar a cabo en la máquina para la realización de cualquier proceso.
 Se necesita un proceso de traducción.

Por otro lado, tanto el lenguaje máquina como el ensamblador gozan de la ventaja de mínima ocupación de
memoria y mínimo tiempo de ejecución en comparación con el resultado de la compilación del programa
equivalente escrito en otros lenguajes.

LENGUAJES DE ALTO NIVEL


Los lenguajes de alto nivel, también denominados lenguajes evolucionados, surgen con posterioridad a los
anteriores, con los siguientes objetivos, entre otros:
 Lograr independencia de la máquina, pudiendo utilizar un mismo programa en diferentes equipos con la
única condición de disponer de un programa traductor o compilador, que lo suministra el fabricante, para
obtener el programa ejecutable en lenguaje binario de la máquina que se trate. Además, no se necesita
conocer el hardware específico de dicha máquina.
 Aproximarse al lenguaje natural, para que el programa se pueda escribir y leer de una forma más sencilla,
eliminando muchas de las posibilidades de cometer errores que se daban en el lenguaje máquina, ya que se
utilizan palabras (en inglés) en lugar de cadenas de símbolos sin ningún significado aparente.
 Incluir rutinas de uso frecuente como son las de entrada/salida, funciones matemáticas, manejo de tablas,
etc, que figuran en una especie de librería del lenguaje, de tal manera que se pueden utilizar siempre que se
quieran sin necesidad de programarlas cada vez.
Desventaja: El proceso de traducción es muy largo y ocupa más recursos. Aprovecha menos los recursos
internos.

Página 4
Unidad II: Conceptos Generales

Se puede decir que el principal problema que presentan los lenguajes de alto nivel es la gran cantidad de
ellos que existen actualmente en uso (FORTRAN, LISP, ALGOL, COBOL, APL, SNOBOL, PROLOG,
MODULA2, ALGOL68, PASCAL, SIMULA67, ADA, C++, LIS, EUCLID, BASIC), además de las diferentes
versiones o dialectos que se han desarrollado de algunos de ellos.
ERRORES
Una vez que se introduce el programa fuente en la computadora se inicia el proceso de compilación, el cual
informa de cualquier error que se haya cometido según el lenguaje de programación elegido. Si el programa no
posee errores se ejecuta.
Frecuentemente, a pesar de las mejores intensiones de los programadores, se cometen errores durante la
escritura de los programas que pueden ser debido al mal uso de algunas características de los lenguajes de
programación, o , quizás a una mala comprensión de lo que hacen exactamente algunas sentencias de
programas. La computadora ayuda frecuentemente a encontrar estos errores imprimiendo mensajes de error, por
ejemplo, si las sentencias no están especificadas adecuadamente o se intenta una operación ilegal. Es misión del
programador la eliminación de todos los errores del programa; este proceso tan importante recibe
frecuentemente el nombre de DEPURACIÓN.
EXISTEN TRES TIPOS DE ERRORES COMUNES EN EL PROGRAMA:
1) SINTÁCTICO O ERROR EN TIEMPO DE COMPILACIÓN: Un error sintáctico es una violación de
unas de las reglas gramaticales del propio lenguaje de programación.
2) ERROR DE EJECUCIÓN O ERROR DE TIEMPO DE FUNCIONAMIENTO (SEMÁTICO): sucede
cuando el programa lleva a la computadora a hacer una operación que por alguna causa no puede hacerse.
Cuando ocurre un error de ejecución, la computadora detiene la ejecución del programa e imprime un mensaje
de error. (ej. Una división por cero)
3) ERROR LÓGICO: es mas sutil que los otros dos y es quizás el tipo de error mas difícil de detectar porque
generalmente no genera mensajes de error. Únicamente aparece mensajes cuando genera un error de ejecución,
en ese caso hay que mirar mas arriba para ver que lo produjo. En otras ocasiones el error no causa error de
ejecución entonces el programa sigue ejecutándose pero modifica el resultado. Una forma de encontrar errores
lógicos es probando los programas.

INTERPRETES Y COMPILADORES
Existen dos tipos de traductores de los lenguajes de programación de alto nivel:
 Compilador, que analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje(por
ejemplo, el lenguaje de la máquina). Su acción equivale a la de un traductor humano, que toma un libro y
produce otro equivalente escrito en otra lengua.
 Interprete, que analiza un programa fuente y lo ejecuta directamente, sin generar ningún código
equivalente. Su acción equivale a la de un interprete humano, que traduce las frases que oye sobre la
marcha, sin producir ningún escrito permanente.
Interpretes y compiladores tienen diversas ventajas e inconvenientes que los hacen complementarios:
 Un interprete facilita la búsqueda de errores, pues la ejecución de un programa puede interrumpirse en
cualquier momento para estudiar el entorno(valores de las variables, etc.). Además, el programa puede
modificarse sobre la marcha, sin necesidad de volver a comenzar la ejecución
 Un compilador suele generar programas más rápidos y eficientes, ya que el análisis del lenguaje fuente se
hace una sola vez, durante la generación del programa equivalente.
 Un interprete se ve obligado generalmente a analizar cada instrucción tantas veces como se ejecute.
 Un interprete permite utilizar funciones y operadores más potentes, como por ejemplo ejecutar códigos
contenido en una variable en forma de cadena de caracteres.
 Un Compilador no puede utilizar funciones y operaciones más potentes, prescinden de este tipo de
operadores

Página 5
Unidad II: Conceptos Generales

VERIFICACIÓN DE FUNCIONAMIENTO CON DATOS DE PRUEBA


La prueba de programas implica ejecutar un programa con datos cuidadosamente seleccionados para los cuales
se conoce el resultado. Cuando se conoce el resultado correcto, los resultados que dan el programa pueden
comprobarse con facilidad. Los datos a usar deberán elegirse de acuerdo con las especificaciones del programa,
lo que nos asegura de que el programa hace lo que se supone que ha de hacer, el lugar de hacer lo que esta
escrito; esta forma de probar detectara frecuentemente omisiones en la implementación del problema. Se debe
uno asegurar que están representados todos los casos posibles, lo cual no significa que se hayan de probar todos
los datos posibles, si no que deberán probarse todas las situaciones posibles. (Ej un programa que lea el nombre
de un empleado y su hora trabajada y calcule el importe de pago recibido por hora, según un salario fijo por
semana. El programa debe imprimir el nombre del empleado, la hora trabajada y el salario por hora de la
semana. Suponemos que por algún motivo el empleado no trabaja nada esa semana y por lo tanto la entrada en
su tarjeta fue cero. Al pasar el programa con esa información del empleado dará un error, ya que se hará un
intento de dividir por cero).

CARACTERÍSTICA DE UN PROGRAMA DE BUENA CALIDAD

 LEGIBILIDAD ( ENTENDIBLE ): Todo el programa debe estar desarrollado en forma clara y comprensible.
 FIABILIDAD: Esta en función del equipo a usar, es decir, debe saber decidir cuál es el equipo apropiado para una
aplicación para lo cual se programó. La fiabilidad también se corresponde con la flexibilidad de un programa para
soportar errores triviales, no previstos por el programador pero que no alteran el funcionamiento general del
programa.
 PORTABILIDAD: La resolución del problema no debe quedar atada a un lenguaje único de programación: se
debería poder codificar en muchos lenguajes. Esto se debe a que se planteo una solución particularizada a un
lenguaje especifico, en el futuro no lo podría relacionar o usar con otros lenguajes más nuevos, así como su
instalación en diferente sistemas.
 MODIFICABILIDAD: Es la posibilidad en todo momento de proveer de pequeños cambios en los programas
(Actualizaciones) con el fin de adecuarlos a nuevas circunstancias: Programación abierta. Para ello se sugiere que se
utilicen las técnicas modernas de programación:
1- Modular: Significa que se aplica un análisis y posteriormente un desarrollo "DESCENDENTE(TOP-
DOWN) en los niveles de programación, empleando módulos, sub-algoritmos, procedimientos, etc.
Teniendo en cuenta que cada uno de estos módulos si bien constituyen una entidad separadas, se encuentra
interrelacionada entre sí. El análisis descendente significa que primero se considera los planteos más
generales y luego se comienza a refinar el análisis sobre cada uno de estos. cabe acotar que cada subrutina
puede ser compartida por varios programas.--
2- Estructuradas: es la idea de estandarización en el uso de secuencias que toma nombre de " ESTRUCTURAS
" (MIENTRAS, REPETIR, ETC ).
 EFICACIA - EFICIENCIA: Consiste en verificar que el programa funcione correctamente cumpliendo con los
objetivos previstos ( RESOLVER LOS PROBLEMAS PLANTEADOS). También se considera que el programa sea
lo mas optimo posible y que no abarque recursos innecesarios.

TP1-U2-CUEATIONARIO
A. Leer y Analizar el archivo de la unidad II para comprender los conceptos técnicos de
programación.
B. Responder en siguiente cuestionario:
1) ¿Qué es un dato?
2) ¿Qué es una información?
3) ¿Qué es una computadora?
4) ¿Qué es un sistema?.

Página 6
Unidad II: Conceptos Generales

5) Definir a la computadora como sistemas indicando sus componentes.


6) ¿Qué es un programa?
7) ¿Qué es una instrucción? ¿Cuáles son los tipos de instrucción?
8) Enumerar los pasos para crear un software.
9) ¿Qué es un lenguaje de programación? Describir cada uno de los tipos de lenguajes.
10) ¿Qué es un error?. Describir cada uno de los tipos de errores.

TP2-U2-CUESTIONARIO
1. ¿Qué es un traductor?
2. ¿Qué realiza un intérprete y un compilador?
3. Diferencia entre interprete y compilador.
4. ¿En qué consiste la prueba de un programa?
5. ¿Para qué se realiza la verificación de funcionamiento de un programa?
6. ¿Qué son los datos de prueba?

Respuestas.
Traductor: es un software que convierte un programa en otro lenguaje de programación.
Interprete: es el que analiza el programa fuente y lo ejecuta, sin generar ningún código equivalente.
Compilador: Es el que analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje de
programación(Por ejemplo, en el lenguaje máquina).

Interprete compilación
Genera otro programa equivalente escrito en
No genera ningún código equivalente.
otro lenguaje.
Facilita la búsqueda de errores, pues puede No puede interrumpirse el proceso de
interrumpirse en cualquier momento y compilación, por lo tanto no se puede corregir
modificar sobre la marcha. los errores sobre la marcha.
El programa fuente se analiza una sola vez ,
Analiza cada instrucción tanta veces como se
por lo tanto genera programa más rápido y
ejecute.
eficiente.
Permite utilizar funciones y operadores más Prescinden la utilización de funciones y
potente. operadores más potentes.

La prueba de un programa consiste en ejecutar dicho programa con datos de prueba. Los resultados que dan el
programa puede comprobarse con facilidad ya que nosotros conocemos los resultados correctos de esos datos de
prueba.

La verificación de funcionamiento de un programa se realiza para asegurarnos de que el mismo haga lo que se
supone que ha de hacer.

Datos de prueba: son datos cuidadosamente seleccionados para los cuales se conoce el resultado.

Página 7

También podría gustarte