Cartilla Informatica 2020
Cartilla Informatica 2020
Cartilla Informatica 2020
INGRESO
INTRODUCCIÓN A LA
INFORMÁTICA
PROGRAMADOR UNIVERSITARIO EN
INFORMATICA (PUI)
AÑO 2020
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 2020 2
Introducción a la Informática
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 2020 3
Introducción a la Informática
Ingreso 2020 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 2020 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
ocurriría ir a trabajar descalzo. En cambio existen aspectos que no pueden obviarse o suponerse porque el
Ingreso 2020 6
Introducción a la Informática
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 2020 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 2020 8
Introducción a la Informática
Ingreso 2020 9
Introducción a la Informática
Ingreso 2020 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
d) 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 2020 11
Introducción a la Informática
Ingreso 2020 12
Introducción a la Informática
Entendido el concepto de algoritmo surge la pregunta: Cómo se pueden resolver los problemas para los que
no hay un método establecido o para los cuales no conocemos un algoritmo. Para ello proponemos el
siguiente método
4. MÉTODO HEURÍSTICO
1. Toma de Conciencia
Todos tenemos alguna capacidad para resolver los problemas en forma creativa, pero a menudo la
sobreestimación de esta capacidad es un gran obstáculo. A las personas que resuelven con éxito los
problemas les es difícil aceptar la necesidad de la heurística, ya que consideran que saben lo suficiente, sin
embargo, pocas de ellas tendrán un éxito completo y no habrá ninguna posibilidad de mejorar. Por otra
parte, los que se consideran ineptos para manejar problemas que no conocen bien tenderán a evitar las
situaciones difíciles y, por lo tanto, no podrán descubrir los progresos posibles. Entonces, como primer paso
para mejorar nuestras aptitudes, es necesario estar conscientes de ellas y saber controlar las habilidades.
Esto conduce al meollo de todos los métodos heurísticos:
- Debo estar consciente de lo que estoy haciendo.
Es necesario reconocer deliberadamente cada caso que se tome en la solución de un problema.
Desde el principio se debe adoptar una actitud receptiva. Todas las propuestas deben considerarse
tentativamente sin importar que tan obvias o imposibles parezcan. En esta forma se creará una conciencia y
nuevas soluciones pueden aparecer.
Para obtener algún beneficio de este método es necesario aceptar en forma tentativa todas las ideas que se
presenten. Es mejor rechazar una idea conscientemente que estar de acuerdo con ellas, sin haberla
analizado.
2. Definición
La definición de un problema implica la formulación de tres preguntas:
- Qué resultados se deben obtener?
Especifique con precisión qué resultados se requieren. Si los resultados van a tener un uso práctico los
datos originales se deben incluir en los resultados finales.
- Qué datos se nos proporcionan?
Defina todos los datos en forma precisa. Examine de nuevo las especificaciones de los mismos y encuentre
cuántos elementos de datos hay. Puede variar este número? Hay alguna restricción en el tipo de datos?
- Qué condiciones relacionan los datos a los resultados? Son satisfactorias estas condiciones (es decir,
aseguran que se obtendrán resultados correctos para todos los datos)?
Asegúrese de que no omite condiciones y de que comprende perfectamente los términos que se utilizan
para relacionar los datos y los resultados.
A menudo no se pueden establecer correctamente las condiciones hasta que se analiza más detalladamente
el problema. Sin embargo, es posible tener un conocimiento intuitivo de las condiciones y más adelante se
puede revisar la definición y adaptar la experiencia que se obtenga en el estudio de las soluciones posibles.
Tratar de introducir una notación adecuada para los datos y resultados, mediante la cual se pueden expresar
las condiciones en forma más clara y concisa.
Ingreso 2020 13
Introducción a la Informática
Es probable que al tratar de desarrollar una solución, se encuentren fallas en esta definición y las preguntas
se tengan que volver a establecer. Siempre se debe considerar que una definición preliminar es tentativa. No
debe cambiarse sin una razón positiva y hasta entonces es necesario apegarse estrictamente a ella.
3. Análisis del Problema
Después de responder a la pregunta ¿Entiendo el problema? Sé cómo resolverlo?
“Entiendo el problema” entonces procedo a desarrollar un algoritmo, pero a menudo está equivocada. Es
necesario comparar la resolución propuesta y los pasos mediante los cuales se obtuvo con la definición
original, para ver si hay discrepancias entre ellas. Por lo general las fallas se presentan por imponer
condiciones incorrectas, pero también se deben verificar los datos y los resultados esperados.
La habilidad para seleccionar un buen método depende principalmente de la experiencia previa, pero se
puede indicar una guía importante:
- Seleccione el procedimiento más sencillo y claro, el que tenga menos sutilezas.
En este paso nos respondemos a la pregunta ¿Cómo?
Comenzamos a diseñar el algoritmo correspondiente y expresamos las entradas y resultados que se quieren
obtener con los nombres de variables correspondientes.
La eficiencia de un algoritmo (su rapidez de ejecución) es de gran importancia y a menudo se utiliza como el
criterio básico para seleccionar un método. No obstante , es mejor buscar y desarrollar el algoritmo que sea
más eficiente desde el punto de vista del que lo resuelve, es decir, la solución que se pueda convertir en
algoritmo con el mejor esfuerzo. Con frecuencia esta solución también será muy rápida. Sea la más rápida o
no, siempre es más fácil retroceder y buscar mejores alternativas una vez que se ha obtenido una solución
satisfactoria.
5. Verificación
En este punto se debe verificar la solución propuesta. Una de las mejores técnicas consiste en tabular el
diagrama de flujo, teniendo cuidado de utilizar números distintos a los que se emplearon antes. Debe
procurar estar seguro de que se prueben todas las situaciones posibles. La tabulación puede ser un proceso
largo y tedioso, pero es el más sencillo para encontrar errores en la solución del problema.
Se recomienda lo siguiente:
- . Encontrar subproblemas y cruces ayuda en el proceso de resolución y en la
verificación.
- Seleccionar conjuntos de datos de prueba que permitan que se utilicen todas las
trayectorias en el diagrama de flujo.
- Es obvio que si una trayectoria en el diagrama de flujo no se ha verificado no se sabe
si funciona o no. La selección de conjuntos de datos de prueba es fácil en problemas sencillos: observe
todas las cajas de decisión (rombos) en el diagrama de flujo que hacen que se utilicen nuevas trayectorias (o
sea, las que no terminan con ciclos) y prepare un conjunto de datos para cada una de las alternativas que se
presenten.
Ingreso 2020 14
Introducción a la Informática
- Además del problema de seleccionar los datos adecuados, en la tabulación hay dos
causas por las cuales se pueden cometer errores. Primero, nunca debe suponerse que un nombre de
variable tiene un valor particular asociada a él, y segundo, cada valor en la tabla debe corresponder a la
acción de una sola caja del diagrama. Para reunir estos puntos:
- Cuando haga una tabulación se debe comportar como una computadora, no como un
ser humano; en otras palabras, debe carecer de iniciativa. Lo que es más importante, debe tabular lo que
diagrama hace y no lo que usted piensa o espera que haga.
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
Acción 1
Acción 2
Acción 3
Ingreso 2020 15
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 2020 16
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
condición
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:
Ingreso 2020 17
Introducción a la Informática
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
Condición
falso
Evaluar
condición
verdadero
Ingreso 2020 18
Introducción a la Informática
6 TIPO DE DATOS
6.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 2020 19
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
16
calculadora es 8,941295 x 10 .
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
-11
3,56798 x 10 .
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 2020 20
Introducción a la Informática
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 2020 21
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.
Ingreso 2020 22
Introducción a la Informática
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
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:
Ingreso 2020 23
Introducción a la Informática
Para cada operador lógico se define un símbolo, los cuales se muestran en la tabla 2.1.
Conjunción Y / AND
Disyunción O / OR
Negación NO / NOT
Tabla 2.1. Conectores Lógicos
Tablas de verdad
Para poder analizar cualquier proposición compuesta y decir qué valor de verdad tiene, es usual
hacerlo a través de lo que se conoce como tabla de verdad, la cual se define de la siguiente manera:
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 pq
V V V
V F F
F V F
F F F
Disyunción
p q pq
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.
Ingreso 2020 24
Introducción a la Informática
p p
V F
F V
Ingreso 2020 25
Introducción a la Informática
1.- Dados los siguientes valores, indicar a qué tipo de dato corresponden:
3 -----------------------------------------------------------
‘A’ ---------------------------------------------------------
-5 ----------------------------------------------------------
5.2 ---------------------------------------------------------
-2.6 --------------------------------------------------------
True -----------------------------------------------------
‘a’ ---------------------------------------------------------
“casa” -----------------------------------------------------
False ----------------------------------------------------
0.1545876 ------------------------------------------------
“2013” ----------------------------------------------------
2 - Dadas las siguientes expresiones algebraicas, indicar el resultado y el tipo de resultado que se
obtiene al realizar la evaluación de las mismas.
a) A=3
b) A = -2
c)
d) A=4
PI=3.14
e) Radio= 3.2
g) “coche” = “Coche”
Ingreso 2020 26
Introducción a la Informática
3. Dadas las siguientes expresiones, identifique variables, constantes, tipos de operadores, calcule el
resultado e indique de que tipo es el mismo.
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 2020 27
Introducción a la Informática
Ingreso 2020 28
Introducción a la Informática
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.
a) 5 2
b) 3 4
c) 2 -1
d) -1 4
e) -2 -4
f) 3 5
g) 2 7
h) 4 5
Ingreso 2020 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
Ingreso 2020 30
Introducción a la Informática
i) Leer un número de 3 dígitos imprimir los dígitos que lo componen y en qué posición.
j) Leer un número de 3 cifras, se pide:
Controlar si el numero ingresados es de 3 dígitos, en cuyo caso se debe mostrar:
El primer y el último dígito, solo si el digito central es par.
La suma del primer más el último dígito, si el digito central es impar.
El mensaje “Capicúa” si el número ingresado lo es.
Caso contrario mostrar el mensaje “numero incorrecto”
k) Leer 3 números de un dígito, se pide componer con ellos un número de 3 dígitos y mostrar el
número obtenido.
Ejemplo: A= 4 B= 7 C= 9 Número obtenido NUM= 479
l) Leer un número entero, mostrarlo si es de dos dígitos e impar.
m) Leer dos números determinar si uno es múltiplo del otro.
n) Leer el sueldo de un empleado, se pide mostrar el sueldo incrementado de acuerdo a la siguiente
tabla:
Ingreso 2020 31
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
1. C1= C1 +1
2. FinSi
3. FinSi
4. 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
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
Ingreso 2020 32
Introducción a la Informática
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
NO NUM
PROM = SUM / P M
AUX = INT(NUM / 2 ) * 2
PROM
NO SI
AUX = NUM
AUX = INT(NUM / 5 ) * 5
NO SI
AUX = NUM
P=P+1
C=C+1
Ingreso 2020 33
Introducción a la Informática
b)
CONT = 25
NO
CONT ≤ 83
R =INT(CONT/2)*2
NO SI
CONT = R
CONT
CONT = CONT + 1
c)
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 2020 34
Introducción a la Informática
l) Leer una serie de números cuyo final está dado por el ingreso del número 999, se pide imprimir
la cantidad de números de 3 dígitos múltiplos de 6
m) Leer una serie de números de 3 dígitos cuyo final esta dado por el ingreso del número 999,
mostrar:
Cantidad de números capicúas ingresados.
La suma de aquellos números cuyo dígito de la unidad sea par
Cantidad números cuyo dígito de la unidad sea impar
n) Leer N números enteros. Al finalizar el ingreso de los mismos mostrar el mensaje
“INGRESADO” si el número 25 estaba entre ellos.
o) Leer una serie de números enteros cuyo final viene dado por el ingreso del número 0. Se pide
mostrar la cantidad de números impares y el porcentaje de los números pares de la serie.
p) Leer N pares de números enteros, mostrar el mayor de cada par, o el mensaje “IGUALES”, en
el caso de que lo sean.
q) Leer N pares de datos correspondientes a los empleados de distintas sucursales de un banco
nacional: código de empleado y código de sucursal, mostrar:
Los códigos de empleados de la sucursal de la ciudad de Salta.
La cantidad de empleados de Tucumán.
El mayor código de empleado
Ingreso 2020 35
Introducción a la Informática
Código Descripción
sucursal
1 Salta
2 Sgo. del Estero
3 Tucumán
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.
El promedio de los costos por unidad de los artículos que no supere los 5 pesos
El mayor código de articulo
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.
Ejercicios Adicionales
a) 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”.
b) Leer 60 números, mostrar aquellos que sean múltiplos de 7.
c) Mostrar los 50 primeros números naturales pares.
d) Leer ternas de números que representan los datos de 100 empleados: documento, edad y sexo (1:
varón, 2: mujer). Determinar e imprimir:
Cantidad total de varones.
La mayor edad de las empleadas.
Documentos de los empleados menores de 30 años.
Promedio de edades.
e) Se leen tres números, A, B, C, de cuatro cifras cada uno. Se debe generar un cuarto número D a partir
de las dos primeras cifras de A, las dos segundas cifras de B, y las cuatro cifras del medio de C, como
lo muestra el ejemplo
Ejemplo: Entrada: A = 5599, B = 6677, C = 4338 Salida: D = 557733
Bibliografía Consultada
De Giusti A., “Algoritmos, datos y programas. Con aplicaciones en Pascal, Delphi y Visual Da
Vinci”, Prentice Hall, Argentina. 2001.
Ingreso 2020 36