Cartilla de Introducción a la Informática
Cartilla de Introducción a la Informática
INGRESO
LIC. EN SISTE MAS DE INFORMACIÓN (LSI)
INTRODUCCIÓN A LA
INF ORMÁTICA
AÑO 2011
Introducción a la Informática
1. PROBLEMAS DE COMPUTACION
1.1 Objetivo
La resolución de problemas utilizando como herramienta una computadora requiere contar con la
capacidad de expresión suficiente como para indicar a la máquina lo que debe llevar a cabo.
Se comenzara resolviendo situaciones del mundo real tratando de utilizar determinados elementos
que caracterizan a una secuencia de ordenes que una computadora puede comprender.
El tema central de este curso es la definición del concepto de algoritmo y los elementos que lo
componen.
1.2 Introducción
La Informática es la ciencia que estudia el análisis y resolución de problemas utilizando
computadoras.
La palabra ciencia se relaciona con una metodología fundamentada y racional para el estudio y
resolución de los problemas.
Si se busca en el diccionario una definición de la palabra problema podrá hallarse alguna de las
siguientes:
• Cuestión o proposición dudosa, que se trata de aclarar o resolver.
• Enunciado encaminado a averiguar el modo de obtener un resultado cuando se conocen
ciertos datos.
La resolución de problemas mediante una computadora consiste en dar una adecuada formulación de
pasos precisos a seguir.
Ingreso 2011 2
Introducción a la Informática
Una vez que se comprende un problema, se debe decidir que tipo de problema es. Dos tipos de
problemas comunes son:
Los problemas que buscan respuestas: si un ejercicio implica el cálculo del número de palabras
que hay en un libro o la bisección de una línea utilizando regla y compás, se trata de un trabajo en
que se debe encontrar algo que se desconoce. La forma en que esto se haga no es de particular
importancia siempre y cuando se obtenga la respuesta correcta (aunque es deseable que sea por
un medio fácil).
Los problemas que buscan pruebas: cuando se pide que se pruebe que hay 720 formas de
colocar seis libros en una fila, se está dando la respuesta. La tarea es distinta a la de encontrar una
respuesta porque ya se sabe lo que se desea. Todo lo que se tiene que hacer es determinar la
relación entre los datos y la respuesta.
Es importante observar que en un problema en que se buscan respuestas se tiene que elaborar una
solución, mientras que cuando se pide que se pruebe sólo es necesario demostrar que existe (o no existe)
una solución, sin crearla. Los problemas de computación no pueden ser problemas en que se busquen
pruebas porque el propósito del trabajo de las computadoras es encontrar respuestas que no se conocen de
antemano. Pero tampoco se les puede considerar como problemas en que se busquen respuestas porque
es la computadora misma la que determina la respuesta, no la persona que trabaja con ella.
Los problemas de computación pertenecen a una tercera clase: los problemas que buscan
métodos, aquí se busca un método mediante el cual se pueda derivar una respuesta.
El proceso de resolver problemas mediante computadoras se describe en la figura 1. Se trata de
encontrar un método por medio del cual se pueda resolver un problema. Una vez que se haga esto, la
computadora se hace cargo del mismo y suministra las respuestas a la pregunta.
Figura 1.
Esta es una simplificación porque una vez que se tiene un método es necesario expresar este método
en una forma en que la computadora pueda operarlo (un programa).
Ingreso 2011 3
Introducción a la Informática
Ingreso 2011 4
Introducción a la Informática
2. ALGORITMOS
2.1. Introducción
La etapa vital de la solución de un problema con una computadora es el diseño del algoritmo y de la
estructura fundamental de datos. Un algoritmo es un procedimiento expresado precisamente para obtener la
solución del problema, la que se presenta de manera subsecuente a una computadora en el lenguaje de
programación seleccionado. Los algoritmos se presentan de una manera conveniente para un lector
humano, mientras que los programas sirven a las necesidades de las computadoras.
Es importante recordar mientras diseñamos un algoritmo que una computadora sólo sigue las
instrucciones y no puede actuar si no se le ha ordenado de manera explícita. Por lo tanto, el solucionador de
problemas debe prever cualquier aspecto del problema en el propio algoritmo.
La palabra algoritmo deriva del nombre de un matemático árabe del siglo IX, llamado Alkhuwarizmi,
quien estaba interesado en resolver ciertos problemas de aritmética y describió varios métodos para
resolverlos. Estos métodos fueron presentados como una lista de instrucciones específicas (como una
receta de cocina) y su nombre se utiliza para referirse a dichos métodos.
2.2. Definición
Un algoritmo es, en forma intuitiva, una receta, un conjunto de instrucciones o de especificaciones
sobre un proceso para hacer algo. Ese “algo” generalmente es la solución de un problema de algún tipo.
Formalmente un algoritmo se puede definir de la siguiente forma:
Un algoritmo puede definirse como una secuencia ordenada de pasos elementales, exenta de
ambigüedades, que lleva a la solución de un problema dado en un tiempo finito.
Ejemplo: escriba un algoritmo que permita preparar una tortilla de papas de tres huevos.
Si la persona que resuelva el problema es un cocinero lo resuelve sin mayor nivel de detalle, pero si
no lo es, se deben describir los pasos necesarios para realizarlo:
Paso 1: Mezclar papas fritas, huevos y una pizca de sal en un recipiente.
Paso 2: Freir.
Esto podría resolver el problema, pero si la persona que lo ejecute no sabe cocinar, se debe detallar,
cada uno de los pasos mencionados, pues estos no son lo bastante simples para un principiante. De esta
manera el primer paso se puede descomponer en:
Ingreso 2011 5
Introducción a la Informática
Nótese que si la tortilla la va a ejecutar un niño, alguna tareas, por ejemplo batir huevos, pueden
necesitar una mejor especificación.
Con este ejemplo se pretende mostrar que la lista de pasos elementales que compongan nuestro
algoritmo depende de quien sea el encargado de ejecutarlo. Si en particular, el problema va a ser resuelto
utilizando una computadora, el conjunto de pasos elementales conocidos es muy reducido, lo que implica un
alto grado de detalle para los algoritmos.
Se considera entonces como un paso elemental aquel que no puede volver a ser dividido en
otros más simples.
Otro aspecto importante de un algoritmo es su nivel de detalle, que no debe confundirse con el
concepto de paso elemental. En ocasiones, no se trata de descomponer una orden en acciones más simples
sino que se busca analizar cuáles son las órdenes relevantes para el problema. Para comprender lo
expuesto se lo analiza con un ejemplo:
Ejemplo: escriba un algoritmo que describa la manera en que Ud. se levanta todas las mañanas para
ir al trabajo.
Paso 1: Salir de la cama
Paso 2: Quitarse el pijama
Paso 3: Ducharse
Paso 4: Vestirse
Paso 5: Desayunar
Paso 6: Arrancar el auto para ir al trabajo
La solución del problema se expresó en seis pasos, descartando aspectos que se suponen o
sobreentienden, como “colocarse los zapatos al vestirse” o “abrir la puerta del auto” pues a nadie se le
Ingreso 2011 6
Introducción a la Informática
ocurriría ir a trabajar descalzo. En cambio existen aspectos que no pueden obviarse o suponerse porque el
algoritmo perdería lógica, por ejemplo el paso “vestirse”, no puede ser omitido. Puede discutirse si se
requiere un mayor nivel de detalle o no, pero no puede ser eliminado del algoritmo.
Un buen desarrollador de algoritmos deberá reconocer esos aspectos importantes y tratar de
simplificar al mínimo su especificación de manera de seguir resolviendo el problema con la menor cantidad
de órdenes posibles.
Además, en la definición de algoritmo se hace referencia a la ambigüedad y tiempo de respuesta,
debido a que todo algoritmo debe cumplir con ciertas propiedades para que se lo considere como tal y
proporcione el resultado deseado cuando un programa basado en él se presenta a una computadora.
Un algoritmo debe cumplir las siguientes propiedades:
Generalidad: un algoritmo se puede realizar para varios problemas que se relacionan entre si, es
decir, se debe aplicar a un problema o clase de problemas específicos.
Ejemplo: indique la forma de marcar un número de teléfono.
Incorrecto: si la solución del algoritmo sirve para marcar solamente el número 4220234, solo tendrá
valor para ese número.
Correcto: si la solución es un método para marcar cualquier número, entonces es útil. Por supuesto,
debe haber alguna restricción a la generalidad de un algoritmo.
Tiempo de respuesta: la ejecución de un algoritmo debe finalizar después de que se haya llevado a
cabo una cantidad finita de pasos. De otra manera, no se puede exigir que la ejecución produzca una
solución.
Ejemplo: Llene la zanja con ese montón de arena
Algoritmo: tome una pala y empiece a echar arena en la zanja. Cuando se llene la zanja deténgase.
( se está seguro que en algún momento parará, aunque no se sabe cuanto tardará).
Ingreso 2011 7
Introducción a la Informática
Errores de Dominio: se presentan cuando no se han especificado todas las situaciones que se
pueden presentar en la práctica o se ha descuidado la apreciación de su importancia. Las pruebas
más difíciles son aquellas que verifican que se ha seleccionado un dominio correcto para el
algoritmo. Cuando una situación no prevista se presenta, hay tres opciones:
Ignorarla porque es improbable y quizás nunca ocurra.
Restringir el dominio del algoritmo para excluirla.
Corregir el algoritmo.
Errores de Lógica: son aquellos errores que se detectan después de que se ha definido en forma
adecuada el dominio de un algoritmo, en la etapa de prueba o verificación. se deben
principalmente a las siguientes causas:
Etapas incorrectas
Secuencia incorrecta de etapas.
Lenguaje común. En el lenguaje normal que hablamos y escribimos; útil para comunicar un
algoritmo a otra persona o en una fase de análisis previo de un sistema computacional.
Diagramas de flujo. Es un lenguaje gráfico; útil para visualizar en forma rápida la secuencia lógica
de pasos a seguir para un algoritmo y de gran ayuda para la traducción del mismo a un programa
de computación
Pseudocódigo: Es una técnica para expresar en lenguaje natural la lógica de un programa, es
decir, su flujo de control. El seudocódigo no es un lenguaje de programación sino un modo de
plantear un proceso de forma que su traducción a un lenguaje de alto nivel sea sencillo para el
programador.
Lenguajes de Programación: Es la forma obligada de expresión de un algoritmo para que pueda
ser leído, ejecutado y almacenado por el computador.
Ingreso 2011 8
Introducción a la Informática
Los símbolos que se describen a continuación, para la representación gráfica de los diagramas de
flujo, son de uso universal.
SÍMBOLO SIGNIFICADO
Ingreso 2011 9
Introducción a la Informática
El diagrama de flujo refleja los pasos sucesivos que el computador debe dar para llegar a la solución
de un problema. Las principales razones por las cuales es generalmente aconsejable el trazado de un
diagrama de flujo son las siguientes:
Ingreso 2011 10
Introducción a la Informática
ACTIVIDAD Nº 1: ALGORITMOS
b) Problema: Cambiar la rueda pinchada de un automóvil teniendo un gato mecánico, una rueda
de reemplazo y una llave inglesa.
1. Aflojar los tornillos de la rueda pinchada con la llave inglesa
2. Ubicar el gato mecánico en su sitio
3. Levantar el gato hasta que la rueda pinchada pueda girar
4. Quitar los tornillos y la rueda pinchada.
5. Poner la rueda de repuesto y los tornillos.
6. Fin
e) Problema: Cambiar un foco quemado de una lámpara en el techo, teniendo un foco nuevo
1. Buscar la escalera
2. Colocar la escalera debajo de la lámpara quemada
3. Elegir un foco nuevo similar al anterior
4. Subir por la escalera
5. Girar el foco quemado en sentido contrario al de las agujas del reloj
6. Ubicar el nuevo foco en el mismo lugar
7. Enroscar en el sentido de las agujas del reloj hasta que quede apretado
8. Bajar de la escalera
9. Fin
Ingreso 2011 11
Introducción a la Informática
Problema: Preparar una taza de café con leche. Considerar que se cuenta con todos los elementos
necesarios
1. Buscar la taza
2. Calentar la leche
3. Encender la hornalla
4. Endulzar
5. Agregar leche al café
6. Hacer el café
7. Fin
Ingreso 2011 12
Introducción a la Informática
Al ser un algoritmo una secuencia de pasos ordenados, estos deben seguir una trayectoria para su
ejecución desde el primer paso hasta el último. Esta trayectoria se denomina flujo de control que indica el
orden en el cual deben ejecutarse los pasos elementales.
Para organizar el flujo de control de un algoritmo se utilizan estructuras de control, estas son
construcciones algorítmicas lineales, de selección e iteración. Las dos últimas alteran el flujo de control lineal
del algoritmo.
Las estructuras de control básicas para organizar el flujo de control en un algoritmo, son las
siguientes:
Estructura secuencial
Estructura de selección
Estructura de iteración
Ejemplo: escriba un algoritmo que describa la forma en que una persona se levanta todas las
mañanas para ir al trabajo.
Acción 1
Acción 2
Acción 3
Ingreso 2011 13
Introducción a la Informática
falso verdadero
Evaluar
condición
Acciones si la Acciones si la
condición es falsa condición es verdadera
Puede ocurrir que no se tengan que representar acciones cuando la condición es falsa. En este caso
se utilizará la siguiente notación:
Si (condición)
entonces
acción o acciones a realizar si la condición es verdadera
FinSi
A continuación se presenta gráficamente esta estructura.
falso verdadero
Evaluar
condición
Acciones si la
condición es verdadera
Ingreso 2011 14
Introducción a la Informática
Si (variable de decisión)
Valor 1: Acción 1
Valor 2: Acción 2
..........................
Valor N: Acción N
[Otro: Acción N+1]
Evaluar la
variable de
decisión
Solución 1 Solución 2
1. Ubicarse en el kiosco 1. Ubicarse en el kiosco
2. Si (tiene caramelos de menta) 2. Si (tiene caramelos de menta)
Entonces Entonces
3. Comprar $2 de caramelos menta 3. Comprar $2 de caramelos menta
Sino 4. Fin Si
4. Comprar $1 de otro tipo de 5. Comprar $1 de otro tipo de caramelos
caramelos 6. Fin
5 FinSi
6 Fin
Ingreso 2011 15
Introducción a la Informática
b) Hacer una llamada telefónica desde un teléfono público a moneda. Considere que se cuenta
con la moneda y siempre se encuentra un teléfono.
Solución 1 Solución 2
1. Obtener una moneda 1. Obtener una moneda
2. Encontrar un teléfono 2. Encontrar un teléfono
3. Si (el teléfono tiene tono) 3. Si (no tiene tono el teléfono)
Entonces Entonces
4. Marcar el número 4. Buscar otro teléfono
5. Hablar 5. FinSi
Sino 6. Marcar el número
6. Buscar otro teléfono 7. Hablar
7. FinSi 8. Fin
8. Fin
1. Tomar el libro
2. Obtener el Nº de la pagina deseada y llamarla X
3. Abrir el libro en la pagina 1
4. Si ( el Nº de pagina es igual a X)
Entonces
5. Vaya al paso 8
Sino
6. Pasar una hoja si es necesario
7. FinSi
8. Fin
Ingreso 2011 16
Introducción a la Informática
Una extensión natural de una estructura secuencial consiste en repetir N veces un bloque de
acciones. El fin de la repetición dependerá de un valor predefinido o del cumplimiento de una determinada
condición.
Existen dos formas de expresar esta estructura la Repetición y la Iteración en este curso solo
utilizaremos la iteración.
Iteración
Puede ocurrir que se desee ejecutar un conjunto de acciones de un algoritmo desconociendo el
número exacto de veces que se ejecutan. Para estos casos existen estructuras de control iterativas
condicionales, es decir, las acciones se ejecutan dependiendo de la evaluación de una condición.
Por lo tanto, dentro de una estructura iterativa, además de una serie de pasos elementales que se
repiten; es necesario contar con un mecanismo que lo detenga.
Podemos definir una estructura iterativa como la estructura de control que permite al algoritmo
ejecutar en forma repetitiva un conjunto de acciones utilizando una condición para indicar su finalización.
Estas estructuras se clasifican en pre-condicionales y pos-condicionales.
Las estructuras pre-condicionales evalúan la condición y, si es verdadera, se ejecuta el conjunto de
acciones; esto hace que dicho conjunto se puede ejecutar 0, 1 o más veces.
La notación para esta estructura es la siguiente:
Mientras (condición)
Acción o acciones a realizar en caso de que la condición sea verdadera.
FinMientras
La condición es una expresión que sólo puede tener uno de dos valores posibles: verdadero o falso.
A continuación se presenta gráficamente esta estructura.
falso verdadero
Evaluar
condición
Ingreso 2011 17
Introducción a la Informática
Repetir
Acción o acciones a realizar en caso de que la condición sea falsa
Hasta (condición)
falso
Evaluar
condición
verdadero
Solución 1 Solución 2
1 Clavar el clavo 1 Clavar el clavo
2 Si (no quedo firme el clavo) 2 Mientras (no quede firme el clavo)
Entonces 3. Golpear el clavo una vez más
3 Golpear el clavo un poco más 4. Fin Mientras
[Link] 5 Colgar el cuadro
4 Colgar el cuadro 6 Fin
5 Fin
b) Se necesita hornear una pizza en un horno defectuoso. El horno se apaga cada cierto tiempo y
debe ser encendido nuevamente. Como condición sabemos que tenemos una cantidad ilimitada de
fósforos y dispone de la prepizza y todos los elementos necesarios
Solución 1 Solución 2
1 Encender el horno 1 Encender el horno
2 Poner la pizza en el horno 2 Poner la pizza en el horno
3 Si (el horno se apagó) 3 Mientras (no este lista la pizza)
Entonces 4 Esperar 1 minuto
4 Encender nuevamente el horno 5 Si (el horno se apagó)
5. FinSi Entonces
6 Si (no está lista la pizza) 6 Encender nuevamente el horno
Entonces 7. FinSi
7 Esperar 1 minuto 8. FinMientras
8. FinSi 9 Apagar el horno
9 Apagar el horno 10 Sacar la pizza
10 Sacar la pizza 11 Fin
11 Fin
Ingreso 2011 18
Introducción a la Informática
c) El Sr. Lombardi ha recibido su pago en un único cheque. Para cobrarlo deberá presentarse en el
banco con su DNI, y este le pagará siempre y cuando la cuenta tenga fondos.
Solución 1: Solución 2:
1 Entrar al banco. 1 Entrar al banco.
2 Colocarse en la caja correspondiente 2 Colocarse en la caja correspondiente
3 Mientras (no le llega el turno) 3 Repetir
4 Esperar 1 minuto 4 Esperar 1 minuto
[Link] 5 Hasta ( que le llegue su turno)
6 Si (tiene el cheque) 6 Si (tiene el cheque)
Entonces Entonces
7 Si (tiene el DNI) 7 Si (tiene el DNI)
Entonces Entonces
8 Cobrar 8 Presentar el cheque al cajero
9. FinSi 9 Si ( tiene fondos en la cuenta)
Sino Entonces
10 Maldecir 10 Cobrar
11 FinSi Sino
12 Salir del banco 11 Maldecir
13 Fin 12 FinSi
13 FinSi
14 FinSi
15 Salir del banco
16 Fin
d) Juan se encuentra sintonizando la radio para escuchar el programa “R & P”. Luego de
escuchar el programa, debe apagar la radio. Considere que el programa esta siendo actualmente
transmitido.
Solución 1 Solución 2:
1 Encender la radio. 1 Encender la radio.
2 Sintonizar una estación de radio 2 Repetir
3 Si (están transmitiendo “R & P”) 3 Sintonizar una estación de radio
Entonces 4 Hasta (esta transmitiendo “R & P”)
4 Escuchar el programa 5 Escuchar el programa
5 FinSi 6 Apagar la radio.
6 Apagar la radio. 7 Fin
7 Fin
Solución 3:
1 Encender la radio.
2 Mientras (no estén transmitiendo “R & P”)
3 Sintonizar una estación de radio
4 FinMientras
5 Escuchar el programa.
6 Apagar la radio.
7 Fin
Ingreso 2011 19
Introducción a la Informática
e) Con el fin de mejorar el arbolado de la Av. Belgrano, la municipalidad desea plantar 300 ligustros
con una distancia de 1 metro entre ellos, . Para realizar dicha tarea resulta necesario descargar el
ligustro, cavar un pozo y plantarlo.
Solución 1 Solución 2:
1 Detener el Camión 1 Detener el Camión
2 Repetir 2 Mientras (no se hayan plantado los 300 ligustros)
3 Descargar el ligustro 3 Cavar un pozo
4 Cavar un pozo 4 Descargar el ligustro
5 Plantar el Ligustro 5 Plantar el Ligustro
6 Contar que se ha plantado un ligustro más 6 Avanza un metro
7 Hasta (Se han plantado 300 ligustros) 7 FinMientras
8 Encender el Camión 8 Encender el Camión
9 Fin 9 Fin
Solución 3:
1 Detener el Camión
2 Mientras (no se hayan plantado los 300 ligustros)
3 Cavar un pozo
4 Descargar el ligustro
5 Plantar el Ligustro
6 Avanzar un metro
7 Contar que se ha plantado un ligustro más
8 FinMientras
9 Encender el Camión
10 Fin
2- Escriba los algoritmos de solución para los siguientes problemas, teniendo en cuenta el uso de las
estructuras de control correspondientes.
a) Una pileta debe ser vaciada utilizando un balde. Considerando que no conoce cuántos baldes
necesitará sacar para vaciar la pileta.
b) Trasladar 70 cajas de 30 kilos cada una, desde la sala A a la Sala B. Considere que sólo llevará una
caja a la vez porque el contenido es muy frágil. Para realizar el trabajo debe ponerse un traje
especial y quitárselo luego de haber realizado el trabajo.
c) Ud. desea ordenar una bolsa con 54 fotografías viejas de manera que todas queden al derecho; esto
es, con la imagen hacia Ud. y cabeza arriba.
d) Usted desea comprar la revista “Crucigramas” que cada mes tiene reservada en el puesto de revistas
que se encuentra en la esquina de su casa, al otro lado de la calle. Verifique que no pasen autos
antes de cruzar.
Ingreso 2011 20
Introducción a la Informática
5. MANEJO DE DATOS
5.1. Datos Simples
Los programas que implementan los algoritmos necesitan alguna manera de representar los objetos
del mundo real. Para ello los algoritmos operan sobre datos y estructuras de datos de distinta naturaleza,
tales como números, letras, símbolos, etc.
Por lo tanto un dato es la expresión general que describe los objetos con los cuales opera una
computadora. Los tipos de datos están ligados a un conjunto de operaciones que permiten su creación y
manipulación.
Los tipos de datos se caracterizan por:
• Un rango de valores posibles
• Un conjunto de operaciones realizables sobre ese tipo
• Su representación
Los tipos de datos simples son:
• Numérico
• Lógico
• Carácter
Enteros
Reales
Enteros
El tipo entero consiste de un subconjunto finito de los números enteros y su tamaño puede variar
según el valor que tenga:
Dado que una computadora tiene memoria finita, la cantidad de valores enteros que se pueden
representar sobre ella son finitos, por esto se deduce que existe un número entero máximo y otro mínimo.
La cantidad de valores que se pueden representar depende de la cantidad de memoria (bits) que se
utilicen para representar un entero.
Ejemplo:
Hay sistemas de representación numérica que utilizan 16 dígitos binarios (bits) para
almacenar en memoria cada número entero, permitiendo un rango de valores enteros
entre –215 y +215. Otros sistemas utilizan 32 bits, por lo que el rango es entre –231 y
+231.
Ingreso 2011 21
Introducción a la Informática
En general, para cada computadora existe el entero maxint, tal que todo número entero n puede ser
representado si
donde maxint identifica al número entero más grande que se puede representar con la cantidad de
dígitos binarios disponibles.
Reales
El tipo de dato real es una clase de dato numérico que permite representar números decimales. Los
valores fraccionarios forman una serie ordenada, desde un valor mínimo negativo, hasta un valor máximo
determinado por la norma IEEE 754, de 1985, pero los valores no están distribuidos de manera uniforma en
ese intervalo, como sucede con los enteros.
Se debe tener en cuenta que el tipo de dato real tiene una representación finita de los números
reales; dicha representación tiene una precisión fija, es decir, un número fijo de dígitos significativos. Esta
condición es la que establece una diferencia con la representación matemática de los números reales. En
este caso se tienen infinitos números diferentes, en tanto que la cantidad de representaciones del tipo de
dato real está limitada por el espacio en memoria disponible.
La representación para números reales se denomina coma flotante. Esta es una generalización de
la conocida notación científica, que consiste en definir cada número como una mantisa (o fracción decimal),
que da los dígitos contenidos en el número; y un exponente (o característica), que determina el lugar del
punto decimal con respecto a estos dígitos.
Ejemplo:
Sea el número 89412950000000000. Su representación científica en cualquier
calculadora es 8,941295 x 1016.
La mantisa del número real representado en la computadora en este caso es : 0,8941295
y el exponente 17. Nótese que, a diferencia de la representación anterior, la coma se
ubica inmediatamente a la izquierda del primer dígito significativo y, por lo tanto, la
magnitud del exponente se incrementa en 1.
Si el número es 0, 0000000000356798, su representación utilizando notación científica es
3,56798 x 10-11.
La mantisa es 0, 356798 y el exponente es –10.
Se observa que un exponente positivo lleva a desplazar la coma decimal tantos lugares
hacia la derecha como lo indica su magnitud, mientras un exponente negativo implica un
desplazamiento hacia la izquierda.
Ingreso 2011 22
Introducción a la Informática
Un tipo de dato carácter proporciona objetos de la clase de datos que contiene solo un elemento como
su valor. Este conjunto de elementos está establecido y normalizado por un estándar llamado ASCII
(American Standard Code for Information Interchange), el cual establece cuales son los elementos y el orden
de precedencia entre los mismos. Los elementos son las letras, número y símbolos especiales disponibles
en el teclado de la computadora y algunos otros elementos gráficos. Cabe acotar que el código ASCII no fue
único, pero es el más utilizado internacionalmente.
Son elementos carácter:
Se debe tener en cuenta que no es lo mismo el valor entero 1 que el símbolo carácter ‘1’. Un valor del
tipo de dato carácter es solo uno de los símbolos mencionados.
Los operadores relacionales descriptos en el tipo de dato numérico, pueden utilizarse también sobre
los valores del tipo de dato carácter. Esto es, dos valores de tipo carácter se pueden comparar por =, <>, >,
<, >=, >=; el resultado de cualquiera de ellos es un valor de tipo de dato lógico.
La comparación de dos caracteres es posible dado que el código ASCII define para cada símbolo un
valor en su escala. De esta manera, al comparar dos símbolos, para determinar el resultado se utiliza el
valor dado por el código.
Dentro del código ASCII los valores de los dígitos son menores que los valores de las letras
mayúsculas, y estos a su vez menores que los de las letras minúsculas. Los valores dentro del código para
los símbolos especiales, o bien son menores que los dígitos, o bien mayores que las letras minúsculas.
Ejemplo:
Ingreso 2011 23
Introducción a la Informática
El tipo de dato lógico, también llamado booleano, en honor al matemático británico George Boole
(quien desarrolló el Álgebra lógica o de Boole), es un dato que puede tomar un valor entre un conjunto
formado por dos posibles:
Verdadero (true)
Falso (false)
Se utiliza en casos donde se representan dos alternativas a una condición. Por ejemplo, si se debe
determinar si un valor es primo; la respuesta será verdadera ( true) si el número es divisible solamente por si
mismo y la unidad; en caso contrario, si tiene algún otro divisor, la respuesta será falsa (false).
Los algoritmos contienen ciertos valores que no deben cambiar durante la ejecución del mismo. Tales
valores se llaman Constantes. De igual forma existen otros valores que cambian durante la ejecución del
mismo, estas son las Variables.
Una constante es una partida de datos(objetos) que permanece sin cambios durante todo el
desarrollo del algoritmo o durante la ejecución del programa.
Una variable es un objeto o partida de datos cuyo valor puede cambiar durante el desarrollo del
algoritmo o ejecución del programa.
Operadores Aritméticos
+ Suma
- Resta
* Multiplicación
/ División
∧ Potencia
Una Expresión Aritmética es aquella que cuando se la evalúa siempre se obtiene un resultado numérico.
Ejemplos de expresiones aritméticas
2 * 5 + 7 = 17
3 * A / 4 + Cont ∧ 2
Suma = Suma + N
Ingreso 2011 24
Introducción a la Informática
Operadores Relacionales
< Menor
> Mayor
<= Menor igual
>= Mayor igual
= Igual a
<> Distinto a
Operadores Lógicos
Los operadores lógicos o boléanos básicos son:
Negación (Not)
Conjunción (And)
Disyunción (Or)
Ejemplo:
Para cada operador lógico se define un símbolo, los cuales se muestran en la tabla 2.1.
Ingreso 2011 25
Introducción a la Informática
La tabla de verdad de una proposición es, como su nombre lo indica, una tabla donde se muestran
todas las combinaciones posibles de los valores de verdad de dicha proposición.
Conjunción
Dadas dos proposiciones cualquiera p y q, la proposición molecular p ∧ q representa la conjunción
de p y q.
La conjunción de dos proposiciones es cierta únicamente en el caso en que ambas proposiciones lo
sean.
p q p∧q
V V V
V F F
F V F
F F F
Disyunción
p q p∨q
V V V
V F V
F V V
F F F
Negación
Dada una proposición p, su negación ∼ p, permitirá obtener el valor de verdad opuesto.
El valor de verdad de la negación de una proposición verdadera es falso y el valor de verdad de la
negación de una proposición falsa es verdadero.
p ∼p
V V
F F
Ingreso 2011 26
Introducción a la Informática
Ingreso 2011 27
Introducción a la Informática
A + C * 3 - 2 / 12 ..............
A=1, B=5,
C=0
((C +3 * (5 + 2) / 10)* A) ↑ (- 1) ..............
(A + 10 / 5 * A – (B ↑ 2) ) * (- 1) ..............
A* B + ( B - C ) * 3 / (B –3) .............
A = (A + ( B - C ) * 3) ..............
A=1, B= -2,
A+B-C/3 ..............
C=3
C > (A + ( B - C ) * 3)
S ↑ 2 <= R + S ..............
Ingreso 2011 28
Introducción a la Informática
Símbolo Función
a)
1 CONECTOR O SÍMBOLO DE CONEXIÓN: se
usa cuando el diagrama es largo y se requiere más de
una hoja de papel o para evitar líneas que se crucen.
b)
2 SALIDA/ IMPRESION: Indica la salida impresa de
la información.
c)
3 PROCESAMIENTO: Se usa generalmente para
sentencias de asignación (acción de asignar).
d)
4 ENTRADA/LECTURA: Se utiliza para la
F V introducción de datos desde un periférico a la
memoria del computador y para la salida de
resultados desde la memoria del computador a un
periférico.
e)
5 INICIO/FIN: Indica principio o fin de un diagrama.
f)
6 DECISIÓN: se usa para evaluar expresiones de tipo
lógicas o comparativas, seleccionando la ruta en
función del resultado: (V) Verdadero o (F) Falso.
2. Verificar los siguientes algoritmos especificando los resultados obtenidos con los valores
indicados para cada variables en la tabla 1, luego comparar con el valor esperado de dicha tabla e
indicar si se ha obtenido el mismo resultado.
Identificadores
Diagrama de flujo A B Valor Esperado Valor Obtenido
a) 5 2 -17
b) 3 4 14
c) 2 -1 0.55
d) -1 4 5
e) -2 -4 0
f) 3 5 227.5
g) 2 7 “Verdadero”
h) 4 5 “Falso”
Ingreso 2011 29
Introducción a la Informática
a) b) c)
A, B
A, B
A, B
R = B - A * (B + A) * 2 + 1
R= A + B * 3 – (24/12)
R= ((B+ 3 * (5 + 2) / 10))* A ↑(-1)
R
R
R
d) e) f)
A, B A, B A, B
R R R
g) h)
A, B
A, B
R= (2 * A + 3)
R= (2 + 3) * A
T = 6 + (B – 1)
T = 2 + ( 3 * B)
R<T
Si No Si
No R<> T ^
R > 25
“Falso” “Verdadero” “Falso” “Verdadero
Ingreso 2011 30
Introducción a la Informática
Ingreso 2011 31
Introducción a la Informática
f) Leer dos números enteros, mostrar aquellos que sean de tres dígitos.
1. Inicio
2. Leer X
3. Leer Y
4. Si (X > 99) y (X <= 999)
5. Entonces
6. Mostrar X
7. FinSi
8. Si (Y > 99) y (Y <= 999)
9. Entonces
10. Mostrar Y
11. FinSi
12. Fin
m) Leer el sueldo de un emplead, se pide mostrar el sueldo incrementado de acuerdo a la siguiente tabla
Sueldo Porcentaje de incremento
0 a 1000 15 %
1001 a 2000 10%
2001 en adelante 5%
n) Leer dos números, si el segundo ingresado es igual al doble del primero más uno, mostrar los dos números
ingresados, caso contrario mostrar el mensaje “No cumplen la condición”.
Ingreso 2011 32
Introducción a la Informática
b) Dadas cincuenta monedas, de 25 o 50 ctvos, o de 1 peso, calcular y mostrar cuantas monedas hay de cada valor
1. Inicio
2. Cant = 0
3. C25 = 0
4. C50 = 0
5. C1 = 0
6 Repetir
6. Leer Moneda
7. Si ( Moneda = 25)
Entonces
8. C25= C25 +1
Sino
9. Si ( Moneda = 50)
Entonces
10 . C50= C50 + 1
Sino
11. Si ( Moneda = 1)
Entonces
13. C1= C1 +1
14. FinSi
15. FinSi
16. FinSi
13. Cant = Cant + 1
14. Hasta (Cant = 50)
15. Mostrar C25, C50, C1
16. Fin
c) Leer cincuenta números enteros, se pide calcular y mostrar el promedio de los mismos.
1. Inicio
2. SUM = 0.
3. C = 0
4. Mientras (C < 50)
5. Leer NUM
6. SUM = SUM + NUM
7. C=C+1
8. FinMientras
9. PROM = SUM / C
10. Mostrar PROM
11. Fin
Ingreso 2011 33
Introducción a la Informática
d) Leer N números enteros, calcular y mostrar la suma de los nros. positivos y la cantidad de los nros. negativos
y nulos.
1. Inicio
2. SUMP = 0.
3. CNEG = 0.
4. CNU = 0.
5. C = 1
6. Leer N
7. Mientras (C <= N)
8. Leer NUM
9. Si (NUM >0 )
Entonces
10. SUMP = SUMP +NUM
Sino
11. Si (NUM < 0)
Entonces
12. CNEG = CNEG + 1
Sino
13. CNU = CNU + 1
14. FinSi
15. FinSi
16. C=C+1
17. FinMientras
18. Mostrar SUMP, CNEG, CNU
19. Fin
P=0
C=1
SUM = 0
C ≤N SI
N NUM
PROM = SUM / P
AUX = INT(NUM / 2 ) * 2
PROM
N SI
AUX = NUM
AUX = INT(NUM / 5 ) * 5
N SI
AUX = NUM
P=P+1
b) c)
d)
C=1
C30 = 0
C80 = 0
SI
C ≤N
NO A
C30,C80
NO SI
A > 0 ∧ A<30
NO SI
A >80 C30=C30 + 1
C80=C80 + 1
C=C+1
Ingreso 2011 35
Introducción a la Informática
Ingreso 2011 36
Introducción a la Informática
u) Leer N cuaternas de datos correspondientes a los artículos de un negocio: Código del artículo, Cantidad de
unidades disponibles, Costo por unidad, Código de marca, mostrar:
• La cantidad de artículos que poseen cantidad de unidades disponibles menores que 100.
• Los códigos de los artículos cuyo código de marca sea igual a 355 y la cantidad de unidades disponibles sea
mayor a 50.
• Los códigos de artículos cuyo costo por unidad no supere los 5 pesos
v) En el Hospital de Niños se lleva a cabo un control anual de las enfermedades infecciosas; para ello se tiene en cuenta
los siguientes datos de N niños: edad, sexo (varón/ mujer) y enfermedad (1-hepatitis, 2-sarampión, 3-otra enfermedad
infecciosa). Se pide calcular y mostrar:
• La cantidad de varones afectados con hepatitis que tengan entre 8 y 12 años.-
• El porcentaje de mujeres afectados de sarampión.
• La cantidad de niños menores de 4 años que ingresaron al hospital con otras enfermedades infecciosas.
• La menor y la mayor edad de las niñas que tuvieron sarampión.-
w) Leer N ternas de datos correspondientes a los empleados de una empresa. Dni, sexo (1- Femenino y 2- Masculino)
y DT (días trabajados) y teniendo en cuenta que por cada día trabajado se abona $10, mostrar:
• Cantidad de empleados mujeres que hayan trabajado menos de 20 días
• Promedio del sueldo de los empleados varones.
• Sueldo de cada empleado (varones y mujeres).
• DNI del empleado (varones y mujeres) con menor cantidad de días trabajados.
x) Leer N pares de números positivos, donde el primero es la base y el segundo el exponente, para cada par de número
mostrar la potencia. (sin utilizar el operador de potencia)
y) Leer N pares de números, mostrar para cada par el resultado del producto (utilizando sumas sucesivas)
z) La AFIP realiza periódicamente controles a los ingresos anuales de sus N contribuyentes para cada uno de ellos se
ingresa el Código de contribuyente y los correspondientes Ingresos mensuales. Calcular y mostrar
• El mayor de Ingreso mensual de cada contribuyente
• El Condigo de contribuyente que obtuvo el mayor ingreso anual.
Bibliografía Consultada
De Giusti A., “Algoritmos, datos y programas. Con aplicaciones en Pascal, Delphi y Visual Da
Vinci”, Prentice Hall, Argentina. 2001.
Ingreso 2011 37