Informática€¦ · información y el aporte estratégico a los fines organizacionales y de...

40
Informática

Transcript of Informática€¦ · información y el aporte estratégico a los fines organizacionales y de...

Page 1: Informática€¦ · 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

Informática

Page 2: Informática€¦ · 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
Page 3: Informática€¦ · 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

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

Autoridades

UNIVERSIDAD NACIONAL DEL NORDESTE

RECTORArq. Oscar Vicente VALDÉS

VICERRECTORDr. Hugo DOMITROVIC

SECRETARIO GENERAL ACADÉMICODr. Orlando Ángel MACCIÓ SECRETARIO GENERAL DE CIENCIA Y TÉCNICADr. Ángel José FUSCO

SECRETARIA GENERAL ADMINISTRATIVACra. Susana CORREU DE DUSEK

SECRETARIO GENERAL DE ASUNTOS SOCIALESIng. R. Abel ESQUIVEL

SECRETARIO GENERAL DE EXTENSIÓN UNIVERSITARIAIng. Hugo Dardo DOMÍNGUEZ

FACULTAD DE CIENCIAS EXACTAS Y NATURALES Y AGRIMENSURA

DECANOIng. Eduardo Enrique del VALLE VICEDECANALic. Lidia Itatí FERRARO de CORONA

SECRETARIA ACADÉMICADra. Aurora Cristina ARMÚA

SECRETARIO DE DESARROLLO ACADÉMICODr. Jorge Emilio MONZÓN

SECRETARIO DE ASUNTOS ESTUDIANTILESSr. Marcelo Omar CÁCERES

SECRETARIO DE EXTENSIÓNSr. Roberto ENRIQUEZ

Page 4: Informática€¦ · 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

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

UNNE-Virtual

DIRECTORA EJECUTIVA María Paula BUONTEMPO

EQUIPO TÉCNICOAlicia Raquel BRESSANAndrea BRITEZJulia CAPLANNatalia CAPOVILLA Karen CEJAS Johanna COCHIA Alejandro FERNANDEZ Mario GABARDINI María GALDEANO Analía GECHEFFClaudia GONZALEZNatalia KLER

Sebastián MACCIÓ Susana Gabriela MORENOOlga MUSIMESSI Ileana DE LEÓN María José PERSOGLIA Margarita Cristina ORTIZLuciana RAMÍREZ FARÍAS María Isabel SÁNCHEZ Silvina SÁNCHEZNatalia STECHINAVanesa VIGNOLO

Los contenidos desarrollados en estos Módulos son de exclusiva responsabilidad de sus autores.

Page 5: Informática€¦ · 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

Presentación

Licenciatura en Sistemas de Información 5

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.

Page 6: Informática€¦ · 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
Page 7: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 7

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.

Page 8: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 8

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

Page 9: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 9

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).

Page 10: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 10

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.

Page 11: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 11

- 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.

Page 12: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 12

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.

Page 13: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 13

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).

Page 14: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 14

- 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.)

Page 15: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 15

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.

Page 16: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 16

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

Page 17: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 17

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,

Page 18: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 18

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,

Page 19: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 19

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.

Page 20: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 20

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

Page 21: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 21

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: 02 =++ cbxax

Las soluciones son dos y se obtienen como:

aacbbx

242

1−+−

= a

acbbx2

42

2−−−

=

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:

Page 22: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 22

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

Page 23: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 23

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.

Page 24: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 24

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).

Page 25: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 25

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.

Page 26: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 26

Operadores numéricos

OPERADOR OPERACIÓN EJEMPLO y su RESULTADO

- opuesto (operación unitaria)

-4 -(-9.0)

-4 9.0

** ^ ↑ potenciación 3 ** 2 0,5 ** 2

9 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 división entera)

5 mod 2 1

+ 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 (operación unitaria)

no VERDADERO FALSO

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 FALSO != FALSO

VERDADERO 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.

Page 27: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 27

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) abs(10)

10 10

cos coseno (argumento en radianes)

cos(2,1) 0,99932839

sen seno (argumento en radianes)

sen(2,1) 0,036643709

cuadrado cuadrado cuadrado(2,5) 6,25

raiz2 raíz cuadrada raiz2(5) 2,236068

log10 logaritmo decimal (argumento positivo)

log10(1000) 3

ln logaritmo neperiano (argumento positivo)

ln(20) 2,9957323

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.

Page 28: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 28

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.

Page 29: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 29

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

INSTRUCCIONn

INSTRUCCION2

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

Page 30: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 30

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

INSTRUCCIONn

INSTRUCCION2

N

Alternativa simple

CONDICION SN

INSTRUCCION1

INSTRUCCIONn

INSTRUCCION2

INSTRUCCION1

INSTRUCCIONn

INSTRUCCION2

Alternativa doble

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

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

Page 31: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 31

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

N

INSTRUCCION1

INSTRUCCIONn

INSTRUCCION2

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.

Page 32: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 32

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.

Page 33: Informática€¦ · 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

Informática

Licenciatura en Sistemas de Información 33

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.

Page 34: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 34

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.

Page 35: Informática€¦ · 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

Ejercitación

Licenciatura en Sistemas de Información 35

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

Page 36: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 36

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

Page 37: Informática€¦ · 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

Ejercitación

Licenciatura en Sistemas de Información 37

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)

iva = 0,21

INICIO

FIN

total = 0

LEER

total = total +cantidad * precio

producto,resultado

N¿hay másproductos?

S

resultado =total + total * iva

productocantidadprecio

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 )

Page 38: Informática€¦ · 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

Curso de Nivelación y Ambientación 2009

Facultad de Ciencias Exactas y Naturales y Agrimensura 38

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).

Page 39: Informática€¦ · 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

Índice

Licenciatura en Sistemas de Información 39

Í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.

Page 40: Informática€¦ · 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

Impreso en: Secretaría General de Extensión Universitaria

Universidad Nacional del NordesteResistencia, Chaco –Diciembre 2008