You are on page 1of 40

Informática

Autoridades

UNIVERSIDAD NACIONAL DEL NORDESTE

RECTOR
Arq. Oscar Vicente VALDÉS

VICERRECTOR
Dr. Hugo DOMITROVIC

SECRETARIO GENERAL ACADÉMICO


Dr. Orlando Ángel MACCIÓ

SECRETARIO GENERAL DE CIENCIA Y TÉCNICA


Dr. Ángel José FUSCO

SECRETARIA GENERAL ADMINISTRATIVA


Cra. Susana CORREU DE DUSEK

SECRETARIO GENERAL DE ASUNTOS SOCIALES


Ing. R. Abel ESQUIVEL

SECRETARIO GENERAL DE EXTENSIÓN UNIVERSITARIA


Ing. Hugo Dardo DOMÍNGUEZ

FACULTAD DE CIENCIAS EXACTAS Y NATURALES Y AGRIMENSURA

DECANO
Ing. Eduardo Enrique del VALLE

VICEDECANA
Lic. Lidia Itatí FERRARO de CORONA

SECRETARIA ACADÉMICA
Dra. Aurora Cristina ARMÚA

SECRETARIO DE DESARROLLO ACADÉMICO


Dr. Jorge Emilio MONZÓN

SECRETARIO DE ASUNTOS ESTUDIANTILES


Sr. Marcelo Omar CÁCERES

SECRETARIO DE EXTENSIÓN
Sr. Roberto ENRIQUEZ

UNNE-Virtual-Sistema de Educación Virtual de la UNNE 3


UNNE-Virtual

DIRECTORA EJECUTIVA
María Paula BUONTEMPO

EQUIPO TÉCNICO
Alicia Raquel BRESSAN Sebastián MACCIÓ
Andrea BRITEZ Susana Gabriela MORENO
Julia CAPLAN Olga MUSIMESSI
Natalia CAPOVILLA Ileana DE LEÓN
Karen CEJAS María José PERSOGLIA
Johanna COCHIA Margarita Cristina ORTIZ
Alejandro FERNANDEZ Luciana RAMÍREZ FARÍAS
Mario GABARDINI María Isabel SÁNCHEZ
María GALDEANO Silvina SÁNCHEZ
Analía GECHEFF Natalia STECHINA
Claudia GONZALEZ Vanesa VIGNOLO
Natalia KLER

Los contenidos desarrollados en estos Módulos son


de exclusiva responsabilidad de sus autores.

4
UNNE-Virtual-Sistema de Educación Virtual de la UNNE
Presentación

Presentación
Este módulo busca acercar al futuro estudiante de Licenciatura en Sistemas de
Información a los temas propios de la disciplina, con un enfoque que destaca la
importancia de la resolución de problemas utilizando computadoras.
Se inicia con la presentación de los conceptos fundamentales de la Informática,
definiciones, alcances y términos propios de la disciplina.
Luego aborda la problemática de la resolución de problemas utilizando
computadoras, se brindan los elementos conceptuales que configuran el contexto
del desarrollo de software y se introduce al alumno en la práctica de una
metodología básica para la construcción de soluciones factibles de ser
implementadas, posteriormente, en una computadora.

Contenidos
Informática: definición, alcances. Información. Carácter y dato. Unidades de
medida de la información. Tratamiento automático de la información. La
computadora: hardware y software. Programas e instrucciones. Aplicaciones de la
informática.
Resolución de problemas con computadoras: ciclo de vida del software.
Algoritmos: concepto, características. Técnicas de escritura de algoritmos. Tipos
de datos. Constantes y variables. Operaciones y funciones. Evaluación de
expresiones. Instrucciones de entrada y salida. Conceptos de programación
estructurada. Estructuras de control: secuencia, selección, repetición.

Objetivos
Que el alumno ingresante a la Licenciatura en Sistemas de Información:
• Comprenda el alcance de la disciplina y el rol del profesional de la
informática en el desarrollo de soluciones tecnológicas basadas en el
razonamiento humano.
• Advierta la importancia de la automatización de la obtención de
información y el aporte estratégico a los fines organizacionales y de
desarrollo.
• Incorpore los términos usuales relacionados con la informática y su
herramienta principal: la computadora.
• Adquiera una visión completa del proceso de desarrollo de software,
partiendo del enunciado del problema, definición de las especificaciones,
diseño del algoritmo, codificación, compilación y prueba.
• Modele soluciones algorítmicas para problemas sencillos, combinando
representaciones de datos y estructuras de control apropiadas.
• Comprenda la importancia de expresar sus soluciones de manera precisa,
ordenada y siguiendo reglas formales.
• Asimile nociones básicas que le permitan una mejor comprensión y
aprovechamiento de las asignaturas específicas del primer año de la
carrera.
• Refuerce su vocación profesional mediante la incorporación temprana de
los conceptos fundamentales de la disciplina y la práctica de actividades
sencillas pero esenciales como la resolución de problemas.

Licenciatura en Sistemas de Información 5


Informática

La Informática
Por Informática se entiende al “Conjunto de conocimientos científicos y técnicas
que hacen posible el tratamiento automático y racional de la información por medio
de computadoras”.
Justamente la palabra informática, de origen francés, está formada por la
contracción de los vocablos: INFORmación y autoMÁTICA.
En esta definición se destacan dos términos relevantes:
- Tratamiento automático: Se refiere a que son las propias máquinas (las
computadoras) las que realizan las tareas de captura, proceso y
presentación de la información.
- Tratamiento racional: Se refiere a que todo el proceso está regulado a
través de una secuencia de instrucciones (programa) que siguen el
razonamiento humano.
El objetivo marcado es el tratamiento automático de la información y el medio
utilizado para lograrlo es la computadora.
Por lo tanto, para entender en qué consiste la Informática, es imprescindible
conocer:
- Todas las características técnicas de las computadoras y sus
componentes asociados (periféricos).
- Los distintos tipos de información y datos que se manejarán (sistemas de
representación, archivos y bases de datos).
- Los procesos y métodos aplicados a la información o datos (programas).
- Los sistemas de comunicación que permitirán tratar la información a
distancia y compartirla de forma confiable (redes de comunicación de
datos).
Conocer con detalle estos aspectos y la relación que existe entre ellos, permitirá
entender cómo se realiza el tratamiento automático de la información utilizando
computadoras.
En la definición se hace mención a la utilización de “computadoras”. En realidad, el
término es más amplio y debe entenderse como “sistema informático”, siendo este
un conjunto de recursos destinados al tratamiento de la información.

La Informática como disciplina


La Association for Computing Machinery (ACM) y la IEEE-Computer Society
elaboraron una serie de recomendaciones sobre la Currícula de Computación, y
en este documento especifican la siguiente definición (se aclara que en este
contexto, las palabras Computación e Informática se utilizan como sinónimos):
La Computación como disciplina comprende el estudio de procesos algorítmicos
que describen y transforman a la información; estudian su teoría, análisis, diseño,
eficiencia, implementación y aplicación. La pregunta fundamental subyacente en
toda la computación es: ¿qué puede ser automatizado (en forma eficiente)?
Esta disciplina nació al inicio de la década de 1940 con la conjunción de la teoría
de los algoritmos, la lógica matemática y la invención de la computadora
electrónica con programa almacenado.
La computación extiende sus raíces profundamente en la Matemática y en la
Ingeniería. La matemática aporta análisis al área, mientras que la ingeniería aporta
diseño. La disciplina posee su propia teoría, su método experimental y su
ingeniería.

Licenciatura en Sistemas de Información 7


Curso de Nivelación y Ambientación 2009

La teoría trata con el desarrollo matemático subyacente e incluye teorías de apoyo


tal como teoría de grafos, combinatoria o lenguajes formales.
La abstracción (o modelado) trata con modelos de potenciales implementaciones;
los modelos suprimen detalles mientras que retienen características esenciales, y
proveen medios por los cuales se puede predecir comportamiento futuro.
El diseño trata con el proceso de especificar un problema, derivar requerimientos
y especificaciones, elaborar una solución apropiada, desarrollar el sistema
informático asociado a la misma e implementarlo. El diseño incluye el método
experimental, que en computación viene en distintos estilos: medición de
programas y sistemas, validación de hipótesis y realización de prototipos para
extender las abstracciones a la práctica.

Información
Como se ha notado, la Informática tiene como objetivo principal proporcionar
información en forma automatizada, por lo tanto es necesario tener claro qué se
entiende por información.
Por una parte, se puede denominar información a la “comunicación o adquisición
de conocimientos que permiten ampliar o precisar los que se poseen sobre una
materia determinada”. Por ejemplo, porcentaje de alumnos que aprobaron la
materia Redes.
Por otra parte, algunos autores denominan información al “conjunto de símbolos
con los que se representan convencionalmente hechos, objetos e ideas”. Este
enfoque es más material y podría llevar a pensar que cualquier conjunto de
símbolos es información aunque no tenga sentido. Por ejemplo, un archivo de
datos de alumnos almacenado en el disco rígido.
En general, la naturaleza de la información se comprende mejor en un escenario
de comunicación, donde se da por supuesto un contexto cognitivo compartido por
un emisor y un receptor, y se transmiten mensajes (informaciones) a través de un
canal que propaga símbolos, de manera tal que se presenta:
- Una petición de conocimiento.
- La satisfacción de la petición de conocimiento (respuesta).
La respuesta proporcionada es la información, esta deberá aportar un
conocimiento desconocido al receptor y serle útil.
Por ejemplo: Dos individuos se encuentran en el pasillo de un edificio y uno le
pregunta a otro: “¿Quién fue?”, y el otro responde: “Juan”.
En este ejemplo se supone que ambas personas comparten el mismo idioma,
condición necesaria para la comunicación. Saber si el mensaje aporta
conocimiento al receptor estará relacionado con el contexto y la forma de la
pregunta, pero lo que no queda del todo claro es: ¿cuál es la información asociada
al mensaje? Algunas alternativas:
- El conocimiento de que fue Juan y no María.
- Que no fue un fenómeno natural el que rompió la ventana.
En evidente que la información asociada a la respuesta puede ser muy diversa y
se precisa de un contexto de comunicación donde emplear el lenguaje como
medio de la comunicación. La condición de utilidad de la respuesta permite
eliminar mensajes que no son del todo satisfactorios, por ejemplo, si la respuesta
del segundo individuo es “un hombre”, posiblemente no satisfaga las expectativas
del primer individuo.
Atendiendo a estas dos formas de concebir la información, desde la Informática,
resulta más pertinente considerar a la información como una realización del

8
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

conocimiento, conocimiento como objeto, aunque unido a los símbolos del


mensaje que soporta la información.
De esta manera, se puede entender que las computadoras tratan solo con la parte
física de los símbolos: la representación de la información. Por ello, cuando se
dice que una computadora procesa información se debe entender que manipula
las cadenas de símbolos que portan la información. Es decir, la computadora
recibe como entrada una representación simbólica de ciertos datos de un
problema y proporcionará como producto cierta secuencia de símbolos, que,
convenientemente interpretada, dará la solución (información) del problema. A
continuación se ilustra la idea con un gráfico:

En el contexto genérico de procesamiento de información, se denomina dato a la


información de entrada e información a la salida o resultado del procesamiento.
Un dato es una representación de un objeto del mundo real mediante la cual se
puede modelar aspectos de un problema que se desea resolver con un programa
en una computadora.
A su vez, un dato está formado por uno o varios caracteres. Un carácter es
cualquier símbolo numérico, alfabético o especial que se emplea en la escritura y
en el cálculo:
- Numéricos: 0,1,2,… 9
- Alfabéticos: a, b, c,…, z, A, B, C,… Z
- Especiales: *, /, +, #,…
- De control: salto de línea, fin de archivo (EOF)...

Tratamiento de la información
Tratar información quiere decir operar o procesar un conjunto de datos iniciales o
datos de entrada, y, como resultado de este procesamiento, obtener un conjunto
de datos finales o de salida. El procesamiento de datos está constituido por tres
actividades básicas:
Captura de datos de entrada: Los datos deben ser registrados en la memoria
interna de la computadora antes de procesarse. Pueden ser captados
directamente (por ejemplo, detectando electrónicamente un sonido, una
temperatura, un código de barras) o pueden ser dados en forma de letras o
números (caracteres) ingresados por teclado u otro dispositivo de entrada.
Manipulación de los datos: Sobre los datos de entrada es posible realizar las
siguientes operaciones:
- Agrupamiento: consiste en organizar o clasificar elementos similares por
grupos o clases.
- Cálculo: consiste en la manipulación aritmética y lógica de los datos.
- Clasificación: consiste en el ordenamiento de los datos agrupados según
una secuencia lógica (de mayor a menor, del más antiguo a más reciente).

Licenciatura en Sistemas de Información 9


Curso de Nivelación y Ambientación 2009

Manejo de los resultados de salida: Una vez que han sido manipulados los
datos de entrada, sobre ellos se pueden realizar las siguientes operaciones:
- Almacenamiento y recuperación: Con el proceso de almacenamiento se
asegura la conservación de los datos para el futuro. Para realizar
consultas posteriores, se utiliza el proceso de recuperación.
- Comunicación y reproducción: El proceso de comunicación de datos
consiste en la transferencia de los mismos de un lugar a otro, donde serán
utilizados o se procesarán de nuevo. Este proceso continúa hasta que la
información llega al usuario. Cuando la recibe puede necesitar copiar o
duplicar la información (por ejemplo un listado de las ventas del último
mes) y esta tarea de reproducción la realiza una máquina.

Operaciones para el tratamiento de la Información


En el tratamiento de la información aparecen implicadas algunas o todas las
operaciones elementales se exponen a continuación:
- Lectura: consiste en adquirir la información que después utilizará el resto
de las operaciones elementales. Ejemplo: escribiendo en el teclado,
oprimiendo el botón del mouse, leyendo un archivo almacenado en un
disquete.
- Almacenamiento: guardar la información durante el tiempo que sea
necesario para hacer uso de ella cuando se precise. Ejemplo: guardar
datos en el disco rígido de la PC.
- Clasificación: Permite ordenar la información guardada usando la
operación anterior de almacenamiento. Ejemplo: ordenar un archivo de
alumnos por Apellido.
- Cálculo aritmético y lógico: Este tipo de operación elemental nos permite
procesar la información realizando sobre ellas operaciones aritméticas y
lógicas. Ejemplo: sumar dos valores, comparar y determinar si un valor es
mayor, menor o igual a otro, etc.
- Copia: Consiste en poder transcribir información a un soporte dado de
forma automática. Ejemplo: realizar una copia de archivos del disco rígido
a un CD.
- Escritura: Consiste en mostrar la información de una manera clara y
ordenada sobre un soporte dado. Ejemplo: imprimir un informe.

¿Por qué se automatiza el tratamiento de la información?


Las razones que han llevado a la automatización del tratamiento de la información
son fundamentalmente cuatro:
- La realización de funciones que el hombre por sí solo no puede llevar a
cabo: comunicaciones a larga distancia, etc.
- La ejecución de funciones que, aunque el hombre pueda llevarlas a cabo
por sí mismo, su ejecución tardaría mucho tiempo. Por ejemplo, los
cálculos complejos para el seguimiento y control de un proyectil dirigido o
de una nave espacial.
- La obtención de seguridad en algunas tareas, como las que implican la
repetición de una serie de pasos, en las que el hombre es más propenso a
cometer errores. Las computadoras, una vez que han aprendido como
realizar las tareas correctamente repiten el proceso una y otra vez sin
cometer errores.

10
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

- La sustitución del hombre para tareas monótonas. Este tipo de tareas no


implican el desarrollo de su actividad intelectual, con lo que, al
automatizarlas, el hombre puede dedicar su esfuerzo a funciones más
decisivas e importantes. Ejemplo: control automático de parámetros de
calidad en la fabricación de productos industriales.

¿Por qué la necesidad de información?


El conocimiento o información obtenida en el procesamiento se utiliza para tomar
decisiones con vistas a un accionar concreto. Esta es la importancia que tiene la
Informática en la actualidad: permite obtener información confiable, precisa y
oportuna que permitirá tomar mejores decisiones. Esto posibilita a las
empresas y organizaciones el logro eficiente de sus objetivos.

Unidades de medida de la Información


En el interior de las computadoras, la información se almacena y se transfiere de
un sitio a otro según un código que utiliza sólo dos valores (un código binario)
representados por 0 y 1. En la entrada y salida de la computadora se efectúan
automáticamente los cambios de código oportunos para que la información sea
directamente comprendida por los usuarios.
La unidad más elemental de información es un valor binario conocido como bit, es
una posición o variable que toma el valor 0 ó 1. Representa la información
correspondiente a la ocurrencia de un suceso de entre dos posibilidades distintas:
prendido o apagado, abierto o cerrado.
Se ha visto que la información se representa por medio de caracteres y que
internamente se codifica en un alfabeto binario, es decir, en bits. Por tanto a cada
carácter le corresponde un cierto número de bits.
Un byte es el número de bits necesarios para almacenar un carácter. Este número
depende del código utilizado por la computadora, siendo generalmente 8, por lo
que habitualmente byte se utiliza como sinónimo de 8 bits.
Por ejemplo, la palabra “CPU” tiene 3 caracteres, cada uno de ellos requerirá 8
bits para ser almacenado, lo que equivale a 3 bytes.
La capacidad de almacenamiento de una computadora o de un soporte de
información, (tal como disco, disquete o cinta magnética) se mide en bytes. Como
es una unidad relativamente pequeña, es usual utilizar múltiplos, que se muestran
en la tabla siguiente:
MEDIDA EQUIVALENCIA
1 Byte 8 bits
1 Kilobyte (KB) 1024 bytes = 210 bytes
1 Megabyte (MB) 1024 KB = 220 bytes = 1.048.576 bytes
1 Gigabyte (GB) 1024 MB = 230 bytes = 1.073.741.824 bytes
1 Terabyte (TB) 1024 GB = 240 bytes
1 Petabyte (PB) 1024 TB = 250 bytes
1 Exabyte (EB) 1024 PB = 260 bytes
Se utiliza el factor multiplicador 1024 en lugar de 1000 por tratarse de la potencia
de 2 más próxima a 1000, lo que resulta conveniente para trabajar aspectos
relacionados con la electrónica subyacente.

Licenciatura en Sistemas de Información 11


Curso de Nivelación y Ambientación 2009

La computadora
La Informática trata exclusivamente el procesamiento realizado por una
computadora.
Computador, computadora u ordenador (se consideran términos equivalentes), se
define como una máquina capaz de aceptar unos datos de entrada, efectuar con
ellos operaciones lógicas y aritméticas, y proporcionar la información resultante a
través de un medio de salida; todo ello sin intervención de un operador humano y
bajo el control de un programa de instrucciones previamente almacenado en el
propio computador.
Las operaciones lógicas permiten comparar valores o determinar condiciones de
verdad o falsedad, y las aritméticas son análogas a las usuales en matemática
(suma, multiplicación, etc.).
La diferencia fundamental de la computadora con otras máquinas que realizan un
tratamiento automático de la información (como las calculadoras) se encuentra en
la propia definición: el proceso lo controla el programa y no un operador humano.
Existen otras diferencias adicionales:
- Puede realizar las seis operaciones elementales de tratamiento de la
información.
- Gran velocidad de tratamiento de la información.
- Gran potencia de cálculo aritmético y lógico.
- Puede guardar programas y datos necesarios para la resolución de
cualquier problema.
- Puede comunicarse con las personas y con otras máquinas para recibir y
emitir datos.

Programas e instrucciones
Una instrucción es un conjunto de símbolos que representa una orden de
operación o tratamiento para la computadora. En general, estas operaciones se
realizan con datos.
Un programa es un conjunto ordenado de instrucciones que se dan a la
computadora indicándole las operaciones o tareas que se desea que realice.
Las instrucciones se forman con elementos o símbolos tomados de un
determinado repertorio, el “juego de instrucciones” de una CPU particular, y se
construyen siguiendo unas reglas precisas.
Los programas son formulaciones concretas de algoritmos abstractos (soluciones
expresadas en términos generales), que utilizan representaciones de datos e
instrucciones específicas de la plataforma en la que van a ser implementados.
Todo lo relativo a los símbolos y reglas para escribir programas se denomina
lenguaje de programación.
Ejemplos de programas son aquellos que permiten emitir un cheque de pago para
los empleados de una empresa, operar las funciones de un cajero automático,
emitir resúmenes de tarjetas de crédito, realizar el cálculo de la trayectoria de un
misil, obtener un pronóstico del tiempo, etc.

Hardware y software
En general, en una computadora o en un sistema informático, se encuentran dos
partes fundamentales que interactúan entre sí:
El elemento físico o hardware: Es el conjunto de elementos materiales:
computadoras, impresoras, periféricos, redes de comunicación, etc.

12
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

El elemento lógico o software: Se refiere a los programas, datos o conjunto de


elementos lógicos: sistema operativo, lenguajes de programación, programas de
aplicación específicos, archivos de datos, páginas web, etc.

Aplicaciones de la Informática
Uno de los agentes más importantes de la sociedad actual es la información, de
ahí el gran interés de la Informática, que tiene por objeto el “tratamiento
automático de la información”. Hay pocas actividades humanas en que la
Informática no tenga incidencia, de forma directa o indirecta.
Las computadoras resultan útiles para aplicaciones que reúnan una o varias de las
siguientes características:
- Gran volumen de datos. Las computadoras son particularmente
apropiadas para procesar grandes cantidades de datos.
- Datos comunes. Las bases de datos posibilitan que los datos de una
computadora puedan utilizarse en múltiples aplicaciones, sin necesidad de
replicarlos físicamente.
- Repetitividad. Una de las características más relevantes de las
computadoras (y sus lenguajes de programación) es procesar ciclos de
instrucciones iterativamente. Una vez programadas las instrucciones que
constituyen el ciclo y la cantidad de iteraciones, la computadora las
ejecutará sin importar lo elevado de dicho número.
- Distribución. El origen y el destino de la información no necesitan estar
ubicados en una sola computadora central. La información puede
introducirse (y obtenerse como resultado) a través de terminales
distribuidos por áreas geográficas muy extensas (desde distintas oficinas
de una empresa hasta estaciones repartidas por todo el mundo).
Una computadora puede realizar todas sus operaciones con una precisión
controlada, obteniendo resultados consistentes con la precisión de los datos
introducidos.
Las posibles aplicaciones de la Informática se agrupan en:
Procesamiento de datos administrativos:
- Contabilidad, stock, facturación, gestión de personal, control de
producción y de productividad.
- Planificación y control de proyectos, programación lineal, programación
por camino crítico.
- Modelos financieros y predicción (de bolsa, por ejemplo)
- Gestión bancaria, gestión bibliotecaria.
- Seguros, sistemas de reserva y expedición de pasajes.
- Paquetes integrados de Oficina Electrónica u ofimática (procesadores de
texto, hoja electrónica de cálculo, gestión de bases de datos, etc.)
Ciencias físicas e ingeniería:
- Resolución de ecuaciones y de problemas matemáticos.
- Análisis de datos experimentales utilizando técnicas estadísticas.
- Realización de tablas matemáticas.
Ciencias de la vida y médicas:
- Investigación médica, biológica y farmacéutica.
- Ayuda al diagnóstico (sistemas expertos para diagnóstico médico).

Licenciatura en Sistemas de Información 13


Curso de Nivelación y Ambientación 2009

- Base de datos con historias clínicas, medicina preventiva (control de


vacunación).
Ciencias sociales y del comportamiento:
- Análisis de datos (evaluación de encuestas).
- Bases de datos jurídicas (legislación, jurisprudencia, etc.).
- CAI (Enseñanza Asistida por Computadora), la computadora como
herramienta pedagógica, juegos (video juegos, ajedrez, etc.).
Arte y humanidades:
- Aplicaciones al arte: composición de cuadros, composición musical,
películas de dibujos animados, etc.
- Análisis automático de textos (determinación de frecuencia de uso de
palabras, etc.)
Ingeniería asistida por computadora:
- Diseño, fabricación y prueba con ayuda de computadora. Estas
aplicaciones se identifican como CAD, CAM y CADMAT, y utilizan
estaciones de trabajo con altas prestaciones gráficas.
- Informática industrial: control o monitoreo de unidades individuales
(encendido de luces, monitoreo de temperatura y otras variables
ambientales, etc.)

14
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

Resolución de problemas con computadoras


La Informática también puede definirse como la ciencia que estudia el análisis y
resolución de problemas utilizando computadoras. En esta definición la palabra
ciencia se relaciona con una metodología fundamentada y racional para el estudio
y resolución de los problemas. En este sentido la Informática se vincula
especialmente con la Matemática y la Ingeniería.
Como se mencionó anteriormente, la computadora es una máquina digital con
capacidad de cálculo numérico y lógico, que opera controlada por un programa
almacenado. Esto quiere decir que internamente tiene órdenes o instrucciones
que la computadora podrá leer, interpretar y ejecutar ordenadamente.
En este sentido, un programa es un conjunto de instrucciones ejecutables en una
computadora, que permite cumplir una función específica o requerimiento que
debe satisfacer.
Normalmente los programas alcanzan su objetivo en un tiempo finito, aunque
algunas aplicaciones, como por ejemplo un sistema de monitoreo de alarma, se
ejecutan indefinidamente, porque poseen un requerimiento de tiempo infinito.
Un programa sin errores ejecutado por una computadora, que comienza y termina
normalmente puede ser incorrecto si no cumple con los requerimientos definidos.
Por ejemplo: un programa de predicción de clima debería estimar la temperatura
máxima y mínima prevista para cada día. Si en lugar de ello devuelve un promedio
diario, o temperaturas máxima y mínima esperadas en la semana, será un
programa que devuelve un resultado en un tiempo finito pero no es correcto pues
no son los resultados que se requieren.

Para resolver problemas los programas operan con datos. Los datos representan
objetos del mundo real que permiten modelar aspectos de un problema que se
desea resolver. Por ejemplo, un sistema de administración de alumnos de una
universidad automatiza los procesos de ingreso y seguimiento de las actividades
académicas de los alumnos, tales como inscripción, cursado, exámenes, etc.,
¿qué datos representarán a las entidades que intervienen en estos procesos: el
alumno, la carrera, las materias, etc.?
Los datos reales son difíciles de representar en una computadora, dado que es
una máquina digital binaria con capacidad de operar solo unos y ceros. Por lo
tanto, la representación de los datos, aun los más simples, como los números, las
letras, un nombre o un color, requiere una transformación desde el mundo real a
alguna forma de representación binaria que pueda ser interpretada por la
computadora.
Datos más complejos como una imagen, una canción o la trayectoria de un misil,
también son representados en forma binaria. Sin embargo, la forma de modelarlo
e interpretarlo requerirá de un análisis cuidadoso por parte de quien escribe el
programa.

Por lo tanto, las dos cuestiones más importantes que debe enfrentar quien debe
escribir un programa para resolver un problema mediante una computadora son:
- Definir el conjunto de instrucciones cuya ejecución ordenada conduce a la
solución.
- Elegir la representación adecuada de los datos del problema.

Licenciatura en Sistemas de Información 15


Curso de Nivelación y Ambientación 2009

En síntesis, las computadoras son una poderosa herramienta para la resolución de


problemas, pero su potencialidad está en función de la capacidad de programación
de soluciones adecuadas a cada problema particular.
La función esencial del especialista informático es explotar la potencialidad de las
computadoras (velocidad, exactitud, confiabilidad) para resolver problemas del
mundo real.
Para lograr esto debe analizar el problema, ser capaz de sintetizar sus aspectos
esenciales y poder especificar la solución que se desea. Posteriormente, debe
expresar la solución en forma de programa, operando los datos del mundo real
mediante una representación válida en una computadora.

Etapas en la resolución de problemas: el ciclo de vida del


software
Desde el planteo inicial de un problema hasta que se obtiene el correspondiente
programa o aplicación, su instalación y funcionamiento en una computadora, se
sigue una serie de pasos que en conjunto constituyen lo que en Ingeniería de
Software se denomina ciclo de vida del software.
Si bien se reconoce que el proceso de diseñar programas es esencialmente
creativo, los pasos o etapas comunes que generalmente deben seguir los
programadores son:
- Análisis: Estudio detallado del problema con el fin de obtener una serie
de documentos (especificaciones o requerimientos) en los que quede
totalmente definido el proceso de la automatización.
- Diseño: Determinación de una solución o algoritmo para el problema
planteado.
- Codificación: La solución se escribe en la sintaxis de un lenguaje de
programación, obteniéndose así el programa o código fuente.
- Compilación, ejecución, verificación y depuración: El programa fuente
se convierte a código binario ejecutable, se corre en la computadora, se
comprueba rigurosamente y se eliminan todos los errores que puedan
detectarse.
- Mantenimiento. El programa se actualiza y modifica cada vez que sea
necesario en función de los requerimientos de los usuarios. Esta es la
etapa más larga del ciclo de vida de desarrollo de software y puede durar
muchos años.
- Documentación: Se documentan las distintas etapas del ciclo de vida del
software, fundamentalmente el análisis, diseño y codificación, a los que se
agrega manuales de usuario y de referencia, así como también normas
para el mantenimiento.

Las dos primeras etapas conducen a un diseño detallado escrito en forma de


algoritmo, que permitirá resolver el problema.
En la tercera etapa se implementa el algoritmo en un código escrito en un lenguaje
de programación, reflejando las ideas generadas en las etapas anteriores.
En la etapa de compilación y ejecución el código se traduce a un lenguaje que la
máquina pueda entender y se ejecuta el programa, esto es, la computadora realiza
una a una las instrucciones dadas en el programa.
La verificación y depuración consiste en la búsqueda y eliminación de los errores.
Cuanto mejor detallado y específico sea el resultado de las etapas de análisis y

16
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

diseño, menor será la posibilidad de encontrar en la etapa de depuración errores


serios que requieran repetir etapas previas, o sean difíciles de identificar y corregir.
La documentación es un elemento importante que hace a las buenas prácticas de
programación, ayuda a la comprensión del código y facilita su mantenimiento. No
se trata de una etapa independiente, sino que se desarrolla a medida que se
avanza en cada una de las otras etapas vistas.

Se describen a continuación con más detalle las tareas involucradas en cada


etapa.

Análisis del problema


Esta etapa requiere una clara definición donde se contemple exactamente lo que
debe hacer el programa y el resultado o solución deseada.
Para definir correctamente un problema es conveniente responder a las siguientes
preguntas:
- ¿Qué entradas se requieren? (tipo y cantidad)
- ¿Cuál es la salida deseada? (tipo y cantidad)
- ¿Qué método produce la salida deseada?

Diseño del algoritmo


En la etapa de análisis del proceso de programación se determina qué deberá
hacer el programa y en la etapa de diseño se especifica cómo hará el programa la
tarea solicitada.
Los métodos más eficaces para el proceso de diseño se basan en la estrategia
“divide y vencerás”. Esto quiere decir que la resolución de un problema complejo
se realiza dividiendo el problema en subproblemas menos complejos, hasta llegar
a un nivel cuya solución pueda ser implementada en una computadora. Este
método se conoce técnicamente como diseño descendente (top-down) o diseño
modular, que se tratará más detalladamente en las materias de la carrera.

Codificación de un programa
Codificación es la escritura en un lenguaje de programación de la representación
de un algoritmo desarrollado en las etapas precedentes. Dado que el algoritmo es
independiente del lenguaje de programación que será utilizado para su
implementación, el código se puede escribir con igual facilidad en un lenguaje u
otro.
Para realizar la conversión de un algoritmo en un programa, las operaciones
indicadas en el algoritmo se expresan en el lenguaje de programación
correspondiente, respetando sus reglas y sintaxis. Esta operación se realiza con
un programa editor propio del lenguaje de programación o un editor de texto de
uso general. Como resultado se obtiene un archivo que se almacena en la
computadora y se conoce como programa fuente.
El objetivo del programador debe ser escribir programas sencillos y claros, que
sean fáciles de actualizar, ya sea por quien los escribió o por otros programadores.

Compilación y ejecución de un programa


La compilación consiste en la traducción del programa fuente a lenguaje de
máquina. De esta tarea se encarga el programa compilador del lenguaje de
programación. Si luego de la compilación se presentan errores (errores de
compilación), es necesario editar nuevamente el programa, corregir los errores y
compilar otra vez. Este proceso se repite hasta que no se presenten más errores,

Licenciatura en Sistemas de Información 17


Curso de Nivelación y Ambientación 2009

obteniéndose el programa objeto, que todavía no es ejecutable directamente. A


continuación, se realiza la fase de montaje o enlace (link), que completa el
programa objeto con bibliotecas existentes (también conocidas como librerías) o
rutinas propias del compilador, para generar el programa ejecutable.
Cuando el programa ejecutable se ha creado (generalmente la extensión del
archivo será .exe o .com), se puede ejecutar el programa desde el sistema
operativo con solo teclear su nombre o hacer doble clic sobre el nombre (estas
acciones dependen del entorno operativo particular que se esté manejando).
Ejemplos de programas ejecutables son: WINWORD.EXE (ejecutable del
procesador de textos Word), msnmsgr.exe (ejecutable del programa de mensajería
instantánea Windows Messenger), acroread.exe (ejecutable del visor de archivos
PDF Acrobat Reader), nod32krn.exe (programa ejecutable del antivirus NOD32).

Verificación y depuración de un programa


La verificación de un programa es el proceso de comprobación de la corrección de
un programa. Se realiza mediante la ejecución del mismo con un conjunto de
datos de pruebas para determinar si el programa tiene errores. Este conjunto de
datos de prueba o test debe contener valores de datos de entrada normales,
valores extremos de los datos para comprobar los límites, valores erróneos y
valores de entrada que comprueben casos especiales del programa.
La depuración es el proceso de encontrar los errores y corregir o eliminar dichos
errores. En general, existen tres tipos de errores:
- Errores de compilación: Se producen normalmente por un uso incorrecto
de las reglas del lenguaje de programación y suelen ser errores de sintaxis.
Si hay errores de sintaxis, la computadora no puede entender la
instrucción, no se genera el programa objeto y el compilador emite una
lista con todos los errores encontrados durante la compilación. Por
ejemplo: uso incorrecto de palabras reservadas, de símbolos de
separación de instrucciones, etc.
- Errores de ejecución: Se producen por instrucciones que la computadora
puede comprender pero no ejecutar. Ejemplos típicos son operaciones en
las que se pretende dividir por cero y raíces cuadradas de números
negativos. En estos casos, se detiene la ejecución del programa y se
imprime un mensaje de error. El programa “cancela”, que es el término
usual en la jerga informática.
- Errores lógicos: Se producen en la lógica del programa y la fuente del
error suele ser el diseño del algoritmo. Estos errores son los más difíciles
de detectar porque el programa funciona sin producir mensajes de error, el
error solo se advierte por la obtención de resultados incorrectos. En este
caso se debe volver a la etapa de diseño del algoritmo, modificar el
algoritmo, cambiar el programa fuente y compilar y ejecutar de nuevo.

Documentación y mantenimiento
La documentación de un programa consiste en la descripción de los distintos
pasos en el proceso de resolución de un problema. La importancia de la
documentación debe ser destacada por su decisiva influencia en el producto final:
programas pobremente documentados son difíciles de leer, más difíciles de
depurar y casi imposibles de mantener y modificar.
La documentación de un programa puede ser: interna o externa. La interna es la
contenida en los comentarios del programa fuente, que son explicaciones
intercaladas con el código para ayudar a comprender pasos específicos. Se
identifican con una sintaxis específica para que el compilador las ignore, es decir,

18
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

para que entienda que no es una instrucción que debe ejecutar. Esta sintaxis
depende del lenguaje de programación utilizado (generalmente es un símbolo
especial al inicio del comentario).
La externa incluye análisis, diagramas de flujo y/o pseudocódigos, y manuales del
usuario con instrucciones para ejecutar el programa y para interpretar los
resultados.
La documentación es especialmente importante cuando deben introducirse
cambios en los programas. Después de cada cambio la documentación debe ser
actualizada.

Algoritmos: concepto y características


De acuerdo a lo mencionado, en la etapa de diseño se desarrolla el algoritmo que
permitirá solucionar el problema planteado, haciendo uso de computadoras.
Un algoritmo es un método para resolver problemas. Más específicamente, es un
conjunto finito de reglas que dan una secuencia de operaciones para resolver un
problema específico.
El término proviene del matemático persa Mohammed Al-khowarizmi que alcanzó
gran repercusión por el enunciado de reglas paso a paso para sumar, restar,
multiplicar y dividir números decimales.
Para llegar a la realización de un programa es necesario el diseño previo de un
algoritmo, de modo que sin algoritmo no puede existir un programa.
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 o ejecutarse en una
computadora distinta, sin embargo el algoritmo será siempre el mismo. Así, por
ejemplo, en una analogía con la vida diaria, una receta de un plato de cocina se
puede expresar en español, inglés o francés, pero cualquiera sea el idioma, los
pasos para la elaboración del plato se realizarán sin importar el idioma del
cocinero.
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.
Dada la importancia del algoritmo en la ciencia de la computación, un aspecto muy
importante será el diseño de algoritmos. El diseño de la mayoría de los algoritmos
requiere creatividad y conocimientos profundos de la técnica de la programación.

Características de los algoritmos


Además de ser un conjunto finito de reglas que da la secuencia de operaciones
para resolver un tipo específico de problema, un algoritmo tiene cinco
características fundamentales:
1. Finitud. Un algoritmo siempre debe terminar luego de un número finito de
pasos.
2. Definición. Cada paso de un algoritmo debe estar precisamente definido,
las acciones a realizar deben especificarse de manera rigurosa y sin
ambigüedades.
3. Entrada. Un algoritmo tiene cero o más entradas, esto es, cantidades que
le son dadas inicialmente antes de que el algoritmo empiece. Estas
entradas se toman de un conjunto específico de objetos.

Licenciatura en Sistemas de Información 19


Curso de Nivelación y Ambientación 2009

4. Salida. Un algoritmo tiene una o más salidas, esto es, cantidades que
tienen una relación específica con las entradas.
5. Efectividad. También se espera que un algoritmo sea efectivo. Esto
significa que todas las operaciones a realizarse en el algoritmo deben ser
suficientemente básicas para que puedan, en principio, llevarse a cabo
exactamente y en un tiempo finito por un hombre usando lápiz y papel.

Ejemplo de algoritmo
Se requiere calcular la media de tres números que ingresan por teclado.
Los pasos del algoritmo son:
1. Ingresar primer número
2. Ingresar segundo número
3. Ingresar tercer número
4. Sumar los tres números
5. Dividir el resultado obtenido en el paso anterior por 3
6. Mostrar el cociente obtenido
La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
La información proporcionada al algoritmo constituye su entrada y la información
producida por el algoritmo constituye su salida.
En el algoritmo del ejemplo citado anteriormente se tendrá:
Entrada: los números.
Proceso: suma de todos los números y división del resultado por tres
Salida: media de los tres números ingresados

Escritura de algoritmos
Una computadora solo es capaz de resolver un problema si se le indica paso a
paso las acciones que debe realizar. Estos pasos sucesivos constituyen, como ya
se vio, el algoritmo.
Escribir un algoritmo consiste en realizar una descripción del método o conjunto de
reglas que se propone para resolver un problema. Estas reglas tienen las
siguientes propiedades:
- Debe seguirse una secuencia definida de pasos hasta que se obtenga el
resultado.
- Sólo puede ejecutarse una operación a la vez.
Además, en todo algoritmo los datos manipulados son de importancia
fundamental: se busca obtener una determinada información a partir de datos
básicos del problema, por lo que no es de extrañar que en la escritura de
algoritmos adquieran una identidad propia. Como generalmente se querrá aplicar
el mismo algoritmo a conjuntos de datos de entrada diferentes, estos datos se
identifican en cada paso con un nombre, que será reemplazado en tiempo de
ejecución por los datos particulares que sea necesario tratar (por ejemplo, por los
datos ingresados a través del teclado u obtenidos de un archivo). En el ejemplo del
cálculo de la media, visto anteriormente, los números de entrada se identificarán
con las variables n1, n2, n3, o cualquier nombre que se desee.
El hecho de que un algoritmo deba especificar un conjunto finito y ordenado de
pasos a seguir, no es contradictorio con la posibilidad de realizar algunas de las
operaciones solo bajo ciertas condiciones (por ejemplo, calcular el recargo de una
factura solo si está vencida), indicar la repetición de algunas de las instrucciones
un número de veces conocido de antemano (por ejemplo 10 veces) o aun un

20
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

número no conocido de veces que se determinará a partir de los datos de entrada


recibidos (por ejemplo, mientras el operador ingrese valores mayores que 0).
Estas acciones se conocen como alteraciones en el flujo de control, es decir en el
orden de ejecución de las instrucciones del algoritmo, y permiten expresar las
soluciones de problemas complejos como la repetición selectiva de operaciones
sencillas.

Para escribir algoritmos se utilizan diversas técnicas que buscan eliminar la


ambigüedad del lenguaje coloquial en la especificación de sus pasos.
Una forma de escribir algoritmos es mediante fórmulas. Una fórmula permite
obtener valores desconocidos (salida) a partir de valores conocidos (datos)
relacionados en una expresión matemática que indica las operaciones que se
deben aplicar (algoritmo).
Un ejemplo conocido es la fórmula para calcular las soluciones de ecuaciones de
segundo grado, de la forma: ax 2 + bx + c = 0
Las soluciones son dos y se obtienen como:

− b + b 2 − 4ac − b − b 2 − 4ac
x1 = x2 =
2a 2a
En este caso los datos de entrada son los coeficientes a, b y c, y los resultados
son los valores de x1 y x2 que se obtienen aplicando las operaciones indicadas en
la fórmula.
Como se puede notar, las fórmulas son especialmente útiles cuando los pasos a
seguir se pueden expresar como operaciones aritméticas y funciones matemáticas.
Otra manera de representar un algoritmo es con diagramas de flujo. Constituyen
un recurso gráfico, que facilita especialmente la visualización de alteraciones en el
flujo de control, pues utilizan flechas para indicar qué instrucción se debe ejecutar
a continuación.
Utiliza distintos símbolos que determinan la forma de interpretar el contenido de
los mismos: como instrucciones a ejecutar, como condiciones para determinar el
siguiente paso del algoritmo, como datos de entrada a obtener, como resultados a
emitir, etc.
Ejemplo:
El diagrama de flujo que representa el algoritmo para calcular la media aritmética
de tres valores numéricos es el siguiente:

Licenciatura en Sistemas de Información 21


Curso de Nivelación y Ambientación 2009

En este curso se escribirán los algoritmos en pseudocódigo.


Los datos y operaciones se expresan de la misma manera que en los diagramas
de flujo, pero las alteraciones en el flujo de control y las operaciones de
entrada/salida se indican mediante palabras clave. Esta forma de escribir
algoritmos guarda semejanzas con las sentencias disponibles en cualquier
lenguaje de programación, por lo que constituye una práctica valiosa para la futura
tarea de escribir y mantener programas, pero sus reglas son más flexibles,
permitiendo así concentrarse en la estructura lógica del algoritmo, sin preocuparse
por las limitaciones que impondría trabajar con un lenguaje de programación en
particular.
Si bien el pseudocódigo presenta muchas variantes, se convendrá utilizar la
sintaxis que se presenta en los apartados siguientes, para facilitar el entendimiento
durante el curso e incorporar algunas prácticas de gran utilidad en la elaboración
de algoritmos y programas.
Ejemplo:
El mismo algoritmo representado en el diagrama de flujo, en pseudocódigo se
representará de la siguiente manera:
VARIABLES
REAL: media
ENTERO: n1, n2, n3
INICIO
LEER n1, n2, n3
media = (n1 + n2 +n3)/3
ESCRIBIR media
FIN

Tipos de datos y operaciones


La selección de un tipo de datos para representar los objetos manipulados por el
algoritmo determinará las operaciones aplicables y las relaciones que pueden
establecerse entre ellos.
Por ejemplo: tiene sentido plantear la operación 3 + 5, ¿pero qué significa
“casa” + “árbol”?
Los tipos de datos disponibles y las operaciones que estos soportan dependen en
cierta medida del lenguaje de programación escogido, como también la forma
específica de realizar operaciones, asignaciones y comparaciones. Para el
desarrollo de algoritmos generales se utilizan entonces tipos de datos y
operaciones básicas que están disponibles en todos los lenguajes.

Literales y variables
Cuando en un algoritmo o programa se utiliza un valor fijo para realizar cálculos u
operaciones, este dato se conoce como constante o literal (*). Como todo dato,
ocupa un espacio y tiene un tipo:
3,1415 es un literal de tipo numérico
“El resultado es:” es un literal de tipo cadena, que se distinguirá
usando comillas
VERDADERO es un literal de tipo lógico
FALSO es el otro literal posible de tipo lógico
Utilizar literales es la forma más sencilla de manipular datos en la computadora,
pero también la más limitada: un programa que sólo use literales será más

22
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

parecido a una calculadora, pues deberá modificarse el programa cada vez que se
quiera obtener un resultado a partir de datos distintos.
La flexibilidad de un programa radica en la posibilidad de combinar valores
constantes y datos que modifican convenientemente su valor en tiempo de
ejecución, para obtener resultados que varían de acuerdo a los datos de entrada
que recibe el programa.
Los valores que cambian durante la ejecución del programa se llaman variables, y
corresponden a espacios de la memoria principal que se identifican con un nombre
y son de un tipo de dato, y pueden cambiar de contenido si el programador así lo
especifica con las instrucciones adecuadas.
El nombre de una variable es lo que permite utilizar el espacio de memoria
reservado para la misma y el valor que allí se almacena. Los posibles nombres de
las variables dependerán del lenguaje de programación elegido (longitud,
caracteres válidos), pero en general se buscará respetar lo siguiente:
- Debe ser descriptivo de los valores que se le asignarán (esto se conoce
como mnemotécnico). Esto se logra evitando nombres muy cortos (A, X) y
nombres que si bien indican qué guarda la variable no aportan información
sobre su significado en la solución del problema (VALOR, DATO, SUMA).
- No utilizar caracteres especiales (espacio, letras acentuadas, ñ, coma,
punto). En general se recomienda limitarse a letras (a b … z), dígitos (0 1
2 … 9) y guión bajo (_) para separar palabras. Algunos lenguajes
distinguen mayúsculas de minúsculas en los nombres de las variables (por
ejemplo, NOTA no es lo mismo que Nota o nota).
(*) Rigurosamente no son términos equivalentes, pero esto se verá en cursos
posteriores de la carrera.

Declaración de variables
Antes de iniciar cada algoritmo se describirá el conjunto de datos a utilizar, sean
estos de entrada, de salida, o para cálculos intermedios o auxiliares. Habrá
entonces una primera sección donde se asignará un nombre y se indicará el tipo
de cada uno de ellos, y estas condiciones deberán respetarse durante todo el
desarrollo del algoritmo.
VARIABLES
TIPO-1: var-11, …, var-1n
TIPO-2: var-21, …, var2n

TIPO-m: var-m1, …, var-mn
siendo var-XX los nombres de las variables y TIPO-X uno de los siguientes:
- REAL para datos numéricos con coma decimal
- ENTERO para datos numéricos que no tengan cifras decimales
- CHAR para dato de tipo carácter
- BOOL para valores lógicos (verdadero / falso)

Por ejemplo:
VARIABLES
REAL: precio_unitario, precio_final
ENTERO: cantidad
declara tres variables numéricas: dos de tipo real y una de tipo entero.

Licenciatura en Sistemas de Información 23


Curso de Nivelación y Ambientación 2009

No todos los lenguajes de programación requieren que se declaren las variables a


utilizar: algunos permiten usar variables que no fueron declaradas previamente, y
las crean cuando se les asigna un valor. Otros incluso permiten que el tipo de una
variable cambie durante la ejecución del programa, o realizan conversiones
automáticas cuando no coinciden los tipos en una asignación. Sin embargo no es
recomendable utilizar este tipo de operaciones con frecuencia, ya que generan
soluciones difíciles de entender, de documentar y, consecuentemente, muy
difíciles de depurar y mantener.
El algoritmo propiamente dicho, es decir el conjunto de operaciones a realizar
utilizando los espacios de memoria definidos, se indicará en un bloque delimitado
por las palabras clave INICIO y FIN. En esta sección se le debe asignar un valor
apropiado a la variable antes de ejecutar cualquier paso que pueda requerirla.

Expresiones
Una expresión es un conjunto de variables (nombres de espacios de memoria) y/o
valores literales que se combinan mediante operaciones aplicables a los tipos de
datos manipulados y determinan un resultado.
La acción de la computadora que consiste en computar las operaciones indicadas
para determinar el resultado de una expresión se conoce como evaluar la
expresión.
Las expresiones se agrupan por el tipo de datos resultante de su evaluación. Por
ejemplo, 3 + 5 * 2 es una expresión de tipo numérico, pues aplica operaciones
numéricas (suma, producto) a literales de tipo numérico (3, 5, 2) y su resultado es
el número 13. Sin embargo 3 < 5 es una expresión lógica, pues si bien opera
literales numéricos, obtiene un resultado lógico al aplicar el operador de
comparación <, dando como resultado el valor VERDADERO.
Si CANTIDAD es una variable de tipo numérico, CANTIDAD / 2 es una expresión
de tipo numérico, y su resultado dependerá del valor que esté almacenado en
CANTIDAD al momento de evaluar la expresión.
El resultado de una expresión estará disponible para utilizar luego en el programa
sólo si se lo guarda en una variable, de la forma indicada en el apartado siguiente.

Asignación
El papel de las variables en un algoritmo es asumir diferentes valores durante su
procesamiento. Para utilizar el valor almacenado en una variable se invoca su
nombre, pero antes de poder utilizarla se le debe asignar un valor correspondiente
a su tipo.
Para guardar o cambiar el valor almacenado en una variable se utilizará el símbolo
=. En este contexto, el símbolo = no tiene el sentido de una igualdad matemática,
sino que es un operador de asignación:
variable = valor
Aquí valor representa un dato literal o el resultado de una expresión. Es importante
el orden al utilizar el operador de asignación: la computadora SIEMPRE guardará
el valor de la derecha en el espacio de la memoria identificado con el nombre que
figura a la izquierda. El tipo de dato valor que aparezca a la derecha del signo =
deberá ser coherente con el tipo de dato declarado para la variable a la que se
asigna. Por ejemplo, si la variable se declaró como numérica solo podrá
asignársele un número, en otro caso se producirá un error al intentar compilar el
programa asociado (o errores inesperados en tiempo de ejecución si el compilador
no restringe tipos de datos en las asignaciones).

24
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

Es una instrucción destructiva, es decir que si la variable tenía algún valor


almacenado, este se perderá al ejecutar la asignación.
Las asignaciones más básicas consisten en guardar en una variable un valor
literal:
valor = 50
leyenda = “Bienvenido al sistema, ingrese su nombre:”
fin_de_datos = verdadero

Y las más interesantes consisten en guardar los resultados de evaluar expresiones


en variables, para poder reutilizarlos:
promedio = suma_de_notas / cantidad_de_notas
fin_de_datos = (nro_empleado == 0)

Otra forma de guardar un valor en una variable es a través de una instrucción de


lectura, que se detalla más adelante.
Recordar que las variables guardarán solo los valores que se almacenen
explícitamente en ellas mediante instrucciones de asignación o lectura.

Operaciones y funciones
Las expresiones combinan operadores y nombres de funciones para indicar las
manipulaciones que se desean sobre los datos que operan.
Según sea el tipo de datos que manipulan y el resultado obtenido, estos
operadores y funciones se clasifican en:
- Aritméticas: datos numéricos y resultado de tipo numérico
- Relacionales: datos numéricos o carácter y resultado de tipo lógico
- Lógicas: datos lógicos y resultado de tipo lógico
- Carácter: datos de tipo carácter
Pueden combinarse los distintos tipos en una expresión, siempre que los datos
sean compatibles con la operación solicitada.
Por ejemplo: (3 + 4) < 2 es una expresión válida cuyo valor es FALSO, sin
embargo 3 + (4 < 2) no es una expresión válida, pues no se puede sumar el
número 3 al valor lógico FALSO.
Algunos operadores tienen mayor prioridad que otros, es decir que se evalúan
antes. Si se desea cambiar la prioridad en la evaluación de una expresión se
puede utilizar paréntesis. Es similar al uso de paréntesis en matemática:
3 + 5 * 10 da como resultado 53
(3 + 5) * 10 da como resultado 80

A continuación se detallan operadores y su significado. Los que figuran en las filas


superiores tienen mayor prioridad que los que figuran en las filas inferiores, y si
dos operadores comparten una fila significa que tienen la misma prioridad y
entonces se evaluarán de izquierda a derecha.
Sin embargo, no es necesario que memorice la prioridad de los operadores: utilice
paréntesis cuando no esté seguro.

Licenciatura en Sistemas de Información 25


Curso de Nivelación y Ambientación 2009

Operadores numéricos
OPERADOR OPERACIÓN EJEMPLO y su RESULTADO
- opuesto -4 -4
(operación unitaria) -(-9.0) 9.0
** ^ ↑ potenciación 3 ** 2 9
0,5 ** 2 0,25
* multiplicación 6,2 * 2 12,4
/ división 5,1 / 2 2,55
div división entera 5 div 2 2
mod resto (de la 5 mod 2 1
división entera)
+ suma 10 + 4,9 14,9
- resta 5 – 16 -11

Operadores relacionales y lógicos


OPERADOR OPERACIÓN EJEMPLO y su RESULTADO
no negación no VERDADERO FALSO
(operación unitaria)
y conjunción VERDADERO y FALSO FALSO
o disyunción incluyente VERDADERO o FALSO VERDADERO
== igual 10 == -5 FALSO
FALSO == FALSO VERDADERO
<> != distinto 10 <> -5 VERDADERO
FALSO != FALSO FALSO
< menor 10 < -5 FALSO
<= menor o igual 10 <= -5 FALSO
> mayor 10 > -5 VERDADERO
>= mayor o igual 10 >= -5 VERDADERO

Funciones internas
Las operaciones que se requieren en los programas exigen en muchos casos,
además de las operaciones básicas o primitivas ya mencionadas, operadores
especiales que se denominan funciones internas, incorporadas o estándar. Por
ejemplo, las funciones que calculan la raíz cuadrada (raiz2) o el logaritmo decimal
de un número (log10).
Las funciones reciben los datos a operar como argumentos entre paréntesis. Por
ejemplo sen(3,1415) significa evaluar el seno del ángulo que mide 3,1415 radianes.

26
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

Algunas funciones numéricas internas que están disponibles en la mayoría de los


lenguajes de programación son:
FUNCIÓN CÁLCULO REALIZADO EJEMPLO y su RESULTADO
abs valor absoluto abs(-10) 10
abs(10) 10
cos coseno (argumento en cos(2,1) 0,99932839
radianes)
sen seno (argumento en sen(2,1) 0,036643709
radianes)
cuadrado cuadrado cuadrado(2,5) 6,25
raiz2 raíz cuadrada raiz2(5) 2,236068
log10 logaritmo decimal log10(1000) 3
(argumento positivo)
ln logaritmo neperiano ln(20) 2,9957323
(argumento positivo)
exp exponencial exp(2,1) 8.1661600
redondeo redondeo redondeo(3,78) 4
trunc truncamiento trunc(3,78) 3

Evaluación de expresiones
Cuando se combinan funciones y operadores en las expresiones, se evalúan en el
siguiente orden:
1. se evalúan las expresiones que son argumentos de funciones, si existen
2. se evalúan las funciones
3. se operan los resultados de funciones y otros datos de la expresión, con la
prioridad correspondiente.

Por ejemplo la expresión:


5 * X + log(20 + Y) <= 200
si se supone que X = 10 e Y = 3, se evalúa de la siguiente manera:

Argumentos de funciones:
1. 20 + Y, que da como resultado (considerando Y = 3) 20 + 3 = 23
Funciones:
2. log(23), que da como resultado 1,3617278
Operaciones:
3. 5 * X, que da como resultado (considerando X = 10) 5 * 10 = 50
4. 50 + 1,3617278, que da como resultado 51,3617278
5. 51,3617278 <= 200, que da como resultado VERDADERO
Es decir que el valor de esa expresión es VERDADERO.

Licenciatura en Sistemas de Información 27


Curso de Nivelación y Ambientación 2009

Entrada y salida
La instrucción LEER captura datos de un dispositivo de entrada y los almacena en
la o las variables indicadas.
Es posible inicializar una variable (es decir, darle su primer valor luego de
declararla) mediante una operación de lectura en lugar de una asignación. Es
también una operación destructiva.
Por ejemplo:
LEER A, B, C
Si se ingresan por teclado los valores 100, 50 y 30, entonces A=100, B=50, C=30.

La instrucción ESCRIBIR indica que los datos deben enviarse a un dispositivo de


salida.
Por ejemplo:
ESCRIBIR A, B, C
Tomando los valores del ejemplo anterior, se mostrarán en pantalla los datos 100,
50 y 30 (generalmente separados por tabulaciones).
Para indicar que los resultados deben ser enviados a una impresora se puede usar
en su lugar la instrucción IMPRIMIR, que es análoga:
IMPRIMIR A, B, C
Tomando los valores del ejemplo anterior, se imprimirán los datos 100, 50 y 30.

En general puede utilizarse cualquier expresión como parámetro de una


instrucción de salida, pero no es una práctica recomendable, porque hace el
programa más difícil de interpretar y mantener.
Por ejemplo:
ESCRIBIR venta_anual / dias_anio
puede ser la instrucción para mostrar un promedio, pero es más comprensible:
promedio_diario = venta_anual / dias_anio
ESCRIBIR promedio_diario
Además esta última opción permite realizar otras operaciones con el valor
almacenado en promedio_diario, sin necesidad de calcularlo nuevamente.

Estructuras de control
Como ya se adelantó, para resolver algunos problemas no basta con indicar un
conjunto secuencial de pasos a seguir, sino que a veces es necesario evaluar
condiciones y en consecuencia ejecutar o repetir la ejecución de determinados
pasos.
Esto es posible utilizando estructuras de control, que permiten determinar en
tiempo de ejecución cuál debe ser la siguiente instrucción a ejecutar. Se llaman así
porque proporcionan un mecanismo para pasar el control de la ejecución a otro
punto del algoritmo, que no necesariamente es el que aparece a continuación,
alterando el flujo de control.
Las estructuras básicas que permiten expresar cualquier algoritmo son tres:
secuencial, selectiva y repetitiva. También existen otras derivadas, pero siempre
pueden reducirse a las tres fundamentales.

Supóngase que se desea calcular la tarifa a abonar por una comunicación


telefónica, a partir del precio por minuto y la duración de la llamada.

28
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

Un algoritmo sencillo será:


VARIABLES
REAL: duracion, precio_minuto
REAL: tarifa
INICIO
LEER precio_minuto
LEER duracion
tarifa = precio_minuto * duracion
ESCRIBIR tarifa
FIN

En este algoritmo la estructura utilizada es la secuencia, que consiste en ejecutar


las instrucciones una a continuación de la otra en el orden indicado.

INSTRUCCION1

INSTRUCCION2

INSTRUCCIONn

Secuencia

Supóngase ahora que está vigente una promoción, de manera tal que si la
comunicación duró más de 10 minutos tiene un descuento del 10% en el precio
final.
En este caso es necesario que un grupo de instrucciones -las que permitirán
calcular y aplicar el descuento- se ejecuten de acuerdo a una condición. Para ello
se utiliza una estructura selectiva:
VARIABLES
REAL: duracion, precio_minuto
REAL: tarifa
INICIO
LEER precio_minuto
LEER duracion
tarifa = precio_minuto * duracion
SI duracion > 10 ENTONCES
// aplicar descuento del 10%
tarifa = tarifa – tarifa * 10 / 100
FIN-SI
ESCRIBIR TARIFA
FIN

Licenciatura en Sistemas de Información 29


Curso de Nivelación y Ambientación 2009

La estructura selectiva permite ejecutar una o varias instrucciones solo cuando se


cumple una determinada condición, es decir, si es verdadera una expresión lógica.
Tiene dos versiones:
- la alternativa simple, que ejecuta un bloque de instrucciones si la
condición se cumple
- la alternativa doble, que ejecuta un bloque de instrucciones si la condición
es verdadera y un bloque distinto si la condición es falsa.

CONDICION S INSTRUCCION1

INSTRUCCION2
N

INSTRUCCIONn

Alternativa simple

N CONDICION S

INSTRUCCION1 INSTRUCCION1

INSTRUCCION2 INSTRUCCION2

… …

INSTRUCCIONn INSTRUCCIONn

Alternativa doble

El problema presentado también puede resolverse utilizando alternativa doble:

VARIABLES
REAL: duracion, precio_minuto
REAL: tarifa
REAL: descuento

30
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

INICIO
LEER precio_minuto
LEER duracion
tarifa = precio_minuto * duracion
SI duracion > 10 ENTONCES
// descuento del 10%
descuento = tarifa_base * 10 / 100
SINO
// no se aplica descuento
descuento = 0
FIN-SI
tarifa = tarifa_base - descuento
ESCRIBIR tarifa
FIN

La tercera estructura básica es la estructura repetitiva, que permite repetir un


conjunto de instrucciones. Esta repetición se controla con una condición que es
verificada antes de cada iteración o repetición, para determinar el momento en que
se pasará el control de la ejecución a la instrucción que aparece a continuación del
ciclo.

CONDICION S INSTRUCCION1

INSTRUCCION2
N

INSTRUCCIONn

Iteración o repetición

Por ejemplo, si en lugar de calcular la tarifa de una comunicación telefónica se


quisiera calcular la tarifa de varias comunicaciones, es posible repetir las
instrucciones que resuelven el problema para todas las llamadas que se desee
procesar.
Cuando se utiliza una estructura repetitiva, es fundamental establecer la condición
que permitirá detener la repetición en algún momento, y expresarla en una forma
procesable por la computadora, esto es, mediante una expresión lógica. Si esta
condición no se especifica o nunca se cumple, el bloque de instrucciones se
repetirá indefinidamente hasta agotar los recursos de la computadora (lo que en la
jerga informática se conoce como “cuelgue”).
Cuando la repetición sea “mientras haya datos”, el programador será el encargado
de definir un valor especial para los datos ingresados que será identificado como
una señal para detener el procesamiento. En general se opta por utilizar algún
valor ajeno al dominio del problema, como por ejemplo una llamada con duración 0,
un nombre vacío o una cantidad de productos negativa.

Licenciatura en Sistemas de Información 31


Curso de Nivelación y Ambientación 2009

La nueva situación planteada puede entonces resolverse de la siguiente manera:


VARIABLES
REAL: duracion, precio_minuto
REAL: tarifa
INICIO
LEER precio_minuto
LEER duracion
MIENTRAS duracion > 0 HACER
tarifa = precio_minuto * duracion
ESCRIBIR tarifa
LEER duracion
FIN-MIENTRAS
FIN
O bien, aplicando el descuento promocional:
VARIABLES
REAL: duracion, precio_minuto
REAL: tarifa
REAL: descuento
INICIO
LEER precio_minuto
LEER duracion
MIENTRAS duracion > 0 HACER
tarifa = precio_minuto * duracion
SI duracion > 10 ENTONCES
// descuento del 10%
descuento = tarifa_base * 10 / 100
SINO
// no se aplica descuento
descuento = 0
FIN-SI
tarifa = tarifa_base - descuento
ESCRIBIR tarifa
LEER duracion
FIN-MIENTRAS
FIN

Así, se deberá instruir al operador para que ingrese el valor real de la duración de
la llamada mientras quiera calcular la tarifa, e ingrese 0 o un número negativo para
finalizar el programa. El precio del minuto se lee una sola vez al iniciar el programa,
pues no varía entre llamadas.
Observe que al final del bloque de instrucciones a repetir aparece:
LEER duracion
que es la instrucción encargada de obtener nuevos datos y permitirá determinar en
qué momento debe detenerse el procesamiento. Sin esta instrucción el problema
no será resuelto, pues calculará indefinidamente la tarifa de la primera llamada
ingresada y no evaluará nuevos datos.

32
Facultad de Ciencias Exactas y Naturales y Agrimensura
Informática

En general casi cualquier algoritmo combinará todas estas estructuras para


expresar la solución al problema que se desea resolver. Esto puede observarse en
la última versión de nuestro ejemplo.
Cuando el bloque de instrucciones de una estructura está contenido en otra se
dice que las estructuras están anidadas.

La forma general de las estructuras vistas es:

Secuencia
instrucción-1
instrucción-2

instrucción-n

Alternativa simple
SI condición ENTONCES
instrucción-1

instrucción-n
FIN-SI

Alternativa doble
SI condición ENTONCES
instrucción-1

instrucción-n
SINO
instrucción-1

instrucción-n
FIN-SI

Repetición o iteración
MIENTRAS condición HACER
instrucción-1

instrucción-n
FIN-MIENTRAS
Donde:
- instrucción-1, instrucción-2, … , instrucción-n representa una o más
asignaciones, operaciones de entrada, operaciones de salida o bloques
correspondientes a estructuras alternativas o repetitivas.
- condición es una expresión lógica, es decir una expresión que puede
evaluarse como verdadera o falsa.

Licenciatura en Sistemas de Información 33


Curso de Nivelación y Ambientación 2009

Bibliografía
ACM. Computing Curricula 2005. ACM en:
http://www.acm.org/education/education/curric_vols/CC2005-
March06Final.pdf
Barchini, Graciela y otros. Modelo curricular de la Informática. Revista
Iberoamericana de Educación (ISSN: 1681-5653) n.º 42/3 – 25 de marzo
de 2007 EDITA: Organización de Estados Iberoamericanos para la
Educación, la Ciencia y la Cultura (OEI) en
http://www.rieoei.org/deloslectores/1586Barchini.pdf
Dapozo, Gladys. Introducción a la Informática: apuntes de la cátedra. 2008.
De Giusti, Armando. Algoritmos, datos y programas. Prentice Hall. 2001.
ISBN 987-9460-64-2.
Diccionario de la lengua española. Vigésima segunda edición. Versión en línea:
http://buscon.rae.es/draeI/
Joyanes Aguilar, Luis. Fundamentos de Programación. Algoritmos. Estructuras de
Datos y Objetos. Mc Graw-Hill. 1996. 2003. 3ra. Edición. ISBN 84-481-
3664-0.
Knuth, Donald E. The Art of Computer Programming. Segunda impresión. Addison-
Wesley, 1969.
Llamas Bello, César. Introducción a la Informática. Ed. Thomson. 2004.
Prieto; Lloris; Torres. Introducción a la Informática. McGraw-Hill. 3ra. edición. 2002.
Wirth, Niklaus. Algoritmos y Estructuras de Datos. Prentice Hall. 1987. ISBN 968-
880-113-5.

34
Facultad de Ciencias Exactas y Naturales y Agrimensura
Ejercitación

Ejercitación
1) Señale (5) situaciones cotidianas en las que se obtiene algún tipo de
información mediante un tratamiento automatizado, como por ejemplo la
determinación del precio final de una compra en un supermercado.
2) Mencione (5) ejemplos de información que sea útil o significativa para apoyar
la toma de decisiones obtenida utilizando computadoras, por ejemplo, el
porcentaje de ingresantes a la carrera de Sistemas respecto del total de
alumnos inscriptos en la Facena en el 2009. Indique en cada ejemplo qué
datos se necesitan para obtenerla.
3) Indique el tipo de representación que elegiría para utilizar en una computadora
los siguientes datos:
a) Promedio general obtenido durante el nivel medio
b) Saldo de una cuenta bancaria
c) Domicilio de un cliente
d) Fecha de nacimiento
e) Fotografía de su mascota
f) Teléfono de un compañero de clase
g) Mensaje de voz recibido por una contestadora automática
h) Diploma de finalización de estudios del nivel medio
i) Mensaje de texto enviado a un teléfono celular
j) Ruta a seguir para llegar a un destino
4) Se dispone de un pendrive de 2GB para copiar un video MPG de 345 MB y 20
fotografías en JPG de aproximadamente 2.320 KB cada una. ¿Es suficiente el
espacio disponible en el pendrive?
5) ¿Es posible enviar por correo electrónico un documento de 2.567 KB, si el
límite de la cuenta de correo es de 2 MB para archivos adjuntos?
6) Si cada contacto ocupa 120 bytes en el chip de un teléfono celular, ¿cuántos
contactos podrá almacenar un chip de 64 KB?
7) Un disco rígido dispone de 44.678.234 KB libres y se desea almacenar una
colección de películas que requiere 31,6 GB. ¿Cuántos MB quedarán
disponibles en el disco?
8) Una cámara fotográfica tiene 512MB de memoria, y guarda fotos de
aproximadamente 1.043.300 bytes en calidad baja, 3,1 MB en calidad media y
5.643 KB en calidad alta. ¿Cuántas fotografías de cada tipo de calidad es
posible almacenar?
9) Identifique la operación involucrada en las siguientes actividades de
tratamiento de la información:
a) Activar un recordatorio de una agenda electrónica
b) Calcular el importe de una llamada telefónica
c) Grabar información utilizando el micrófono
d) Descargar fotografías de una cámara digital
e) Determinar la edad de una persona
f) Visualizar los contactos del programa Messenger por estado de conexión
g) Guardar un trabajo práctico desde el procesador de texto

Licenciatura en Sistemas de Información 35


Curso de Nivelación y Ambientación 2009

h) Ingresar la clave del correo electrónico


i) Imprimir una tarjeta de invitación
j) Listar documentos usados recientemente
10) Señale cuáles de los siguientes elementos corresponden a hardware y cuáles
a software.
a) Archivo PDF
b) Base de datos
c) Disco rígido
d) Grabadora de DVD
e) Imagen JPG
f) Impresora
g) Linux
h) Memoria RAM
i) Mensaje de correo electrónico
j) Microprocesador
k) Módem ADSL
l) Monitor CRT
m) Pista de audio
n) Procesador de texto
o) Puerto USB
p) Valores ingresados por teclado
11) Complete la lista del punto anterior agregando tres elementos más a cada
categoría: software y hardware.

Resolución de problemas
1) Describa entradas, salidas y procedimiento necesario, en términos generales,
para resolver cada una de las situaciones planteadas a continuación.
a) Determinar el precio de un viaje en remís.
b) Obtener el listado de estudiantes que regularizaron una materia.
2) ¿Qué resultado permiten obtener estos algoritmos? ¿Qué tipo de datos
intervienen?
a) VARIABLES
REAL: base, altura
REAL: resultado1, resultado2
INICIO
LEER base, altura
resultado1 = base * altura
resultado2 = 2 * base + 2 * altura
ESCRIBIR resultado1, resultado2
FIN

b) VARIABLES
ENTERO: nacimiento
CARACTER: cumplio
ENTERO: resultado

36
Facultad de Ciencias Exactas y Naturales y Agrimensura
Ejercitación

INICIO
ESCRIBIR “Año de nacimiento: “
LEER nacimiento
ESCRIBIR “¿Cumplió años durante 2009? (s/n)”
LEER cumplio
SI cumplio == “s” ENTONCES
resultado = 2009 – nacimiento
SINO
resultado = 2009 – nacimiento – 1
FIN-SI
ESCRIBIR resultado
FIN

c)
INICIO

iva = 0,21

total = 0

¿hay más N
resultado =
productos? total + total * iva

S
producto,
producto
LEER resultado
cantidad
precio

total = total + FIN


cantidad * precio

3) En los algoritmos del punto anterior, los nombres de las variables hacen
referencia al tipo de dato que contienen, pero no indican el significado del
mismo en el problema a resolver. Modifique los nombres para que resulten
mnemotécnicos.
4) Indique el tipo de dato y el resultado que se obtiene al evaluar cada una de las
siguientes expresiones.
a) –(3.5 * 9 + 2)
b) ln(10 * abs(-3.3)) < 2.1
c) (8 + 5 * 3) mod 3
d) trunc( (-5 * 2.3 + 2.8) / (7 + 3.1) )
e) –(3.5 * 9 + 2) <= (8 + 5 * 3) mod 3
f) raiz2( abs(5 * -3.4) ) > 2 Y 5 * -3.4 < -10
5) Las siguientes son instrucciones válidas en un algoritmo, ¿a qué tipos de dato
corresponden las variables involucradas en las mismas?
a) intermedio = ln(10 * inicial)
b) premio = tiempo * 0.7 + gasto * 0.3 <= maximo
c) clase = valor mod 3
d) ESCRIBIR mensaje
e) porc = trunc( aprobados / total * 100 )

Licenciatura en Sistemas de Información 37


Curso de Nivelación y Ambientación 2009

f) condicion = promedio >= 7 Y asistencia >= (clases * 0.8)


g) LEER numero
h) area = pi * radio ** 2
i) ESCRIBIR precio * cantidad * iva / 100
j) z = abs( sen(x * y) )
6) Escriba las expresiones necesarias para:
a) Obtener el promedio de tres valores, correspondientes a temperaturas
registradas en tres momentos del día.
b) Calcular la cantidad de pulgadas de una longitud expresada en metros,
sabiendo que una pulgada equivale a 2,54 centímetros.
c) Determinar si un número es mayor que la suma de otros dos, para saber si
pueden ser lados de un triángulo.
d) Comprobar si un año es bisiesto.
e) Obtener la distancia entre dos puntos distintos de un plano, conociendo
sus coordenadas (x,y).
7) Utilizando las expresiones del ejercicio anterior, escriba el algoritmo que
permita capturar los datos requeridos, calcular los resultados esperados e
informarlos.
8) Modifique los algoritmos del punto anterior, de forma que verifiquen que los
datos ingresados se encuentren en un rango válido, y en caso de no ser así
emitan un mensaje de error.
9) Escriba los algoritmos que permitan:
a) Determinar el precio de una entrada de cine, sabiendo que los días lunes,
martes y miércoles se tiene 40% de descuento.
b) Obtener el espacio disponible en un dispositivo de almacenamiento a
partir del tamaño del mismo en GB o MB y el tamaño de los archivos
almacenados en el mismo en GB o MB. Considerar que los datos pueden
ingresarse en diferentes unidades.
10) Modifique los algoritmos elaborados, de manera que permitan procesar los
datos más de una vez, hasta que el operador indique que desea finalizar el
programa.
11) Escriba los algoritmos que permitan resolver las siguientes situaciones:
a) A partir del precio de costo, la existencia mínima y actual de los productos
de una perfumería, se desea obtener un listado de los productos que es
necesario reponer y el costo de la compra a realizar.
b) Un operador ingresa el nombre, el sexo y la edad de un grupo de
estudiantes universitarios. Determinar la proporción de mujeres y la
cantidad de estudiantes mayores de 25 años.
12) Escriba los algoritmos correspondientes a las situaciones planteadas en el
punto 1).

38
Facultad de Ciencias Exactas y Naturales y Agrimensura
Índice

Índice

Presentación 5
La Informática 7
Información 8
La computadora 12
Aplicaciones de la Informática 13
Resolución de problemas con computadoras 15
Etapas en la resolución de problemas: el ciclo de vida del software 16
Algoritmos: concepto y características 19
Escritura de algoritmos 20
Bibliografía 34
Ejercitación 35

DAPOZO, Gladys; PELOZO, Silvia.


Módulo Informática del Curso de Nivelación y Ambientación FaCENA.
Diciembre de 2008.

Licenciatura en Sistemas de Información 39


Impreso en:
Secretaría General de Extensión Universitaria
Universidad Nacional del Nordeste
Resistencia, Chaco –Diciembre 2008

You might also like