Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIDAD 1
1 Informática y otros conceptos básicos. ............................................................................................... 1
1.1 Definición de Informática ................................................................................................................ 1
Unidad 2
Unidad 3
Unidad 4
Unidad 5
5.8 Acciones o instrucciones que permiten guardar un valor en una variable ................................... 27
Unidad 6
Unidad 7
Unidad 8
8 Operadores ........................................................................................................................................ 52
8.1 Definición ...................................................................................................................................... 52
Unidad 9
Unidad 10
Unidad 11
Unidad 12
Unidad 13
Unidad 14
Bibliografía 90
Es una de las disciplinas más nuevas, surgida formalmente en la segunda mitad del siglo XX.
La Informática interviene hoy en día en prácticamente en todos los demás campos del saber de un
modo o de otro. Vivimos en una sociedad en donde la obtención y el uso de información es de vital
importancia.
Los sistemas informáticos permiten administrar la información de una manera veloz y eficiente.
A pesar de que, generalmente, los términos de datos e información se usan para describir lo mismo,
para la Informática estos términos significan diferentes cosas.
Dato e información son conceptos diferentes, entre ellos se produce un proceso de transformación,
de modo que, es necesario añadirle algo al dato para que llegue a ser información.
El dato es un símbolo que describe hechos o entidades. Es la entrada sin procesar a partir
de la cual se produce la información. Puede definirse como un hecho en bruto, simple y
discreto, un símbolo que no ha sido interpretado.
Es la mínima unidad de significado, elemento primario de información que por sí solo es irrelevante
y que no dice nada sobre el “por qué” de las cosas y no es orientativo para la acción.
Por ejemplo, un número de teléfono, una fecha o un nombre son datos, y por sí mismos no tienen
ningún valor informativo, pero cuando los relacionamos entre sí generamos información.
La palabra 'Computadora' procede del inglés computer y a su vez del latín computare que significa
calcular.
La computadora es una máquina capaz de aceptar datos de entrada, realizar con ellos operaciones
lógicas y aritméticas con gran velocidad y precisión, y proporcionar los resultados (información) a
través de algún medio de salida.
Podemos definir a la computadora como una máquina digital y sincrónica, con capacidad de
cálculo numérico y lógico, controlada por un programa almacenado y con posibilidad de
comunicación con el mundo exterior.
• Además, se afirma que es sincrónica, es decir que realiza las operaciones coordinada por un
reloj central que envía señales de sincronismo a todos los elementos que componen la
computadora. Esto significa que todas las operaciones internas se realizan en instantes de
tiempo predefinidos y coordinados con el reloj.
• Internamente posee una capacidad de cálculo numérico y lógico. Normalmente las operaciones
que pueden realizarse en ella son muy simples, por ejemplo, suma, disyunción, conjunción o
comparación.
• El hecho de que sea controlada por un programa es quizás el punto más importante que
diferencia a una computadora de una calculadora. Significa que internamente se tienen órdenes
o instrucciones almacenadas, que la computadora podrá obtener, interpretar y ejecutar.
La computadora es una máquina que cambia información de una forma a otra: recibe datos
(entrada), los transforma y proporciona información (salida). Esta información puede presentarse
de muchas formas, lo que convierte a la computadora en una máquina sumamente versátil, que es
capaz desde liquidar impuestos hasta guiar el recorrido de una nave espacial. En cada caso las
entradas y salidas son totalmente distintas, y en esto radica lo sorprendente de poder usar una
computadora para ambas actividades.
Para que la información sea entendida por la computadora debe de estar debidamente codificada.
La codificación se realiza en BITs (Binary digiT), en 0 y 1.
• Entrada de datos.
Su presencia y popularización en nuestro tiempo no sólo cambió para siempre el modo de procesar
la información en el mundo, sino también muchas áreas de la vida cotidiana.
La información...
es un conjunto de interrelaciones sin un significado y por lo tanto con una limitada utilidad
para tomar decisiones.
Para que la información sea entendida por la computadora debe de estar debidamente codificada.
Verdadero
Falso
2 Resolución de problemas
2.1 Introducción
La Informática es una ciencia y, como tal, se relaciona con una metodología fundamentada y
racional para el estudio y resolución de los problemas.
Si buscamos en el diccionario una definición de la palabra problema podremos hallar alguna de las
siguientes definiciones:
Normalmente, nos comunicamos con otras personas y, frente a la necesidad de resolver algún
problema que se presenta, usamos lenguaje común y corriente para describir una explicación con
indicaciones de cómo resolver dicho problema. Por ejemplo, cuando un amigo nos expresa que
necesita comprar algo y no sabe dónde y nos pide ayuda, podemos explicarle qué recorrido hacer
y cómo llegar al lugar donde encontrará lo que desea. Sin embargo, nuestras indicaciones podrían
ser malinterpretadas y nuestro amigo no lograr su objetivo debido a que “ejecutó incorrectamente”
la solución que le dimos.
Cuando se trata de darle indicaciones a una computadora para resolver un problema, no pueden
utilizarse indicaciones ambiguas ya que una máquina no posee la capacidad de decisión de un ser
humano para resolver situaciones imprevistas. Es fundamental que cada orden o indicación posea
una única interpretación de lo que hay que realizar.
Para poder indicar a una computadora las órdenes que debe realizar para resolver un
problema, es necesario que previamente entendamos exactamente lo que se quiere hacer.
Debemos conocer con qué datos se cuenta y qué tipo de transformación o procesamiento
aplicaremos sobre ellos.
Una vez que entendimos lo que se desea realizar y comprendimos el problema, debemos identificar
de qué tipo de problema se trata.
• 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 el 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 el cual 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 los 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 los que se busquen respuestas porque
es la computadora misma la que determina la respuesta, no la persona que trabaja con ella.
Podemos concluir, entonces, que los problemas de computación pertenecen a una tercera clase:
• Los problemas que buscan métodos: se busca un método mediante el cual se pueda derivar
una respuesta.
En la siguiente gráfica se muestra una representación simplificada de este proceso. Más adelante
observaremos que, una vez que se tiene un método, es necesario expresar este método en una
forma en que la computadora pueda operarlo: mediante un programa.
Etapa 1: Identificar el problema, dando respuesta a Qué resultado se debe obtener, Qué datos
están disponibles, y Qué condiciones o restricciones se deben tener en cuenta para la
resolución.
Etapa 3: Explorar las posibles estrategias para solucionar el problema y seleccionar la más
conveniente.
2.5 Actividades
1) Identifica los conceptos relacionados con el método para resolver problemas mediante
computadoras:
Implementar la resolución.
3 Algoritmos. Propiedades.
3.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.
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.
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.
Propiedad Ejemplo
Generalidad: para que un algoritmo sea útil y Indique la forma de marcar un número de
eficiente es necesario que pueda ser aplicado teléfono.
a una diversidad de casos del problema que
Incorrecto: si la solución del algoritmo sirve
contempla. Si el algoritmo se define de un
para marcar solamente el número 4220234,
modo general, considerando toda una clase
solo tendrá valor para ese número.
de problemas específicos, entonces cumple
Correcto: si la solución es un método para
con la propiedad de generalidad. Dicha
marcar cualquier número, entonces es útil.
generalidad debe tener un límite.
Por ejemplo, cuando debemos preparar un plato de comida necesitamos seguir pasos muy precisos,
en un orden determinado, y sin repetirlos indefinidamente. Cuando estudiamos y practicamos
matemáticas aplicamos algoritmos para resolver las operaciones, por ejemplo, para resolver una
multiplicación, calcular un producto, etc. Para obtener el máximo común divisor entre dos números
enteros positivos aprendimos el algoritmo de Euclides en la escuela primaria. Estos son algunos
ejemplos de cómo el uso de algoritmos es común en nuestra vida, muchas veces sin formalizarlos
ni percibir que lo estamos haciendo.
Ejemplo 1:
Escriba un algoritmo que permita preparar una tortilla de papas de tres huevos.
Si la persona que resuelve 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 2: Freír.
Esto podría resolver el problema, pero si la persona que lo ejecuta no sabe cocinar, se debe detallar,
cada uno de los pasos mencionados, pues estos no son lo bastante simples para un principiante.
• Paso 1.5: Verter las papas en un recipiente y echar una pizca de sal.
Nótese que, si la tortilla la va a preparar un niño, algunas tareas, por ejemplo, batir huevos, pueden
necesitar una mejor especificación.
En este ejemplo se puede observar que la lista de pasos elementales que componen nuestro
algoritmo depende de quién sea el encargado de ejecutarlo.
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.
Ejemplo 2:
Escriba un algoritmo que describa la manera en que una persona se levanta todas las mañanas
para ir al trabajo.
• Paso 3: Ducharse.
• Paso 4: Vestirse.
• Paso 5: Desayunar.
La solución del problema se expresó en seis pasos, descartando aspectos que se suponen o se
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 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.
Ejemplo 3:
Para resolver este problema se necesita conocer el radio del círculo, éste será el dato o entrada del
algoritmo. El algoritmo deberá encargarse de calcular el área y la longitud de la circunferencia, y
generar como resultado o salida el valor del área y el perímetro del círculo. Los pasos necesarios
en el algoritmo serían los siguientes:
Tengamos en cuenta que el algoritmo expresado en forma coloquial no puede ser entendido
por la computadora.
3.5 Actividades
Inicio
Paso 5. Girar el foco quemado en sentido contrario al de las agujas del reloj
Paso 8. Enroscar en el sentido de las agujas del reloj hasta que quede apretado
Fin
Inicio
Fin
Verdadero
Falso
Los pasos, órdenes o acciones básicas que puede realizar el marciano son: mover a izquierda,
mover a derecha, mover hacia abajo, mover hacia arriba, comer manzana.
Indicar la secuencia lógica o el orden de realización para cada una. Se recomienda comenzar
revisando la lista de la tabla. Cada vez que se seleccione un orden para una acción, revisar los
anteriores para asegurar que el orden sea el correcto.
Terminación de la escenografía
Venta de boletos
La clase o el conjunto de datos y las condiciones para las cuales un algoritmo trabaja
correctamente se llama dominio del algoritmo.
La definición clara del dominio del problema será de utilidad para verificar si el algoritmo trabaja
correctamente para todos los casos dentro de ese dominio.
En el dominio del algoritmo buscaremos incluir todas las situaciones similares y evitaremos
considerar casos poco probables. Esto constituirá una delimitación del dominio sobre el cual
aplicaremos nuestro algoritmo.
• 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:
o 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:
o Etapas incorrectas
• El algoritmo es eficiente.
Siempre debemos verificar que la solución propuesta en nuestro algoritmo es válida para
todos los casos que se encuentran dentro del dominio.
3) ¿Cuál es el orden lógico que debemos seguir para fritar un huevo? Indicar el orden de los pasos
del algoritmo vinculando cada paso con su orden en la secuencia.
Orden
Acción
lógico
Cuando el aceite este caliente romper la cascara del huevo y colocar en la sartén.
Inicio
Fin
5) Supongamos que debemos crear un algoritmo para ingresar a un restaurante y cenar. Para
poder resolver el problema necesitamos primeramente establecer las condiciones iniciales a
partir de las cuales debemos realizar la tarea. Las condiciones iniciales son las siguientes:
Inicio.
Ingresar al restaurante.
Pedir el menú.
Analizar el menú.
Hacer el pedido.
Esperar
Recibir el pedido
Consumir
Pedir la cuenta
Pagar la cuenta
Retirarse
Fin.
Marcar a continuación todas las frases correctas respecto del algoritmo propuesto.
El dominio del algoritmo está formado por todos los restaurantes de comida rápida.
Las condiciones iniciales son suficientes para definir un algoritmo general que puede
aplicarse a todos los casos del dominio del algoritmo.
El dominio del algoritmo es cualquier restaurante con atención a la mesa y con el comensal
ubicado al frente de la puerta al inicio del algoritmo.
5.1 Introducción
Los programas son el resultado de traducir para la computadora el algoritmo que resuelve un
determinado problema que nos hayamos planteado. Los datos son la materia prima sobre la que
trabaja nuestro algoritmo y luego nuestro programa.
Para que nuestro algoritmo, y más adelante nuestro programa, maneje, manipule y almacene los
datos que opera, es necesario contar con un mecanismo que lo permita. Esta situación se resuelve
mediante el uso de variables y constantes.
5.2 Constante
Una constante es un valor que permanece sin cambios ni alteraciones durante todo el
desarrollo del algoritmo o durante la ejecución del programa.
Las constantes pueden referirse a diferentes valores, según lo requiera el problema que se resuelve,
por ejemplo, una constante puede ser el horario de entrada al trabajo de un grupo de empleados (8
horas), o puede ser el nombre de un negocio (SuperMarket), o puede ser el estado de un semáforo
(activo o verdadero).
Ejemplos de constantes:
5.3 Variable
Una variable representa o contiene un valor que puede ser cambiado durante el desarrollo
del algoritmo o la ejecución del programa.
• Su tipo determina el conjunto de todos los valores posibles que puede contener.
Una variable es un contenedor, debe ser definida, declarada o descripta antes de poder ser utilizada.
En la declaración de la variable se indica su identificador o nombre, el tipo de valores que
almacenará, y en ocasiones también se indica su valor inicial.
5.4 Identificador
• Está formado por una secuencia de letras, dígitos y caracteres que pueden estar unidos por
un guion bajo o símbolo de subrayado ( _ ).
• Debe comenzar con una letra, mayúscula o minúscula, y no puede comenzar con un número.
Cant1 1Cant
Las variables son lugares de la memoria de la computadora, podríamos decir que son como
celdas o contenedores que sirven para guardar valores o datos que utilizaremos para
resolver un problema.
En un algoritmo podemos definir todas las variables que sean necesarias para contener los datos
que servirán de entrada para el funcionamiento del algoritmo.
Sobre estos datos, contenidos en las variables, operará el algoritmo produciendo los cambios y
modificaciones adecuadas a las operaciones incluidas entre las tareas del algoritmo.
Cada variable podrá ser identificada mediante su identificador, en la gráfica podemos observar a
las variables llamadas EDAD, Suma, NUM_1, NUM1, Resul, e Importe.
Cada una de ellas almacenará el valor que le sea asignado. Dicho valor podrá luego ser modificado,
alterando el contenido de la variable, generalmente como resultado de un ingreso de valor o
asignación.
Ejemplo Descripción
• Su identificador es Altura.
• Su valor es 1.67.
• Acción de ingreso de datos: Se trata, por ejemplo, de información que deberá ser ingresada
al programa por un usuario, se obtiene generalmente como resultado de una acción
denominada lectura (se leen datos desde el exterior al algoritmo).
Los datos poseen suma importancia cuando podemos utilizarlos como expresiones generales para
describir las características que poseen las entidades sobre las que opera un algoritmo,
principalmente cuando pueden ser representados de manera que pueden ser manipulados por una
computadora.
El tipo de dato es el conjunto de propiedades que caracterizan a los valores que puede almacenar
un dato y que determina…
Un tipo de datos está determinado por un conjunto de valores ordenados y por las
operaciones permitidas sobre esos valores.
Tipo numérico
• Entero: Subconjunto finito de los números enteros, cuyo rango o tamaño dependerá del lenguaje
en el que posteriormente se codifique el algoritmo y de la computadora utilizada. Los números
enteros son un conjunto de números que incluye a los números naturales distintos de cero (1,
2, 3, ...), los negativos de los nros. naturales (..., −3, −2, −1).
• Real: Subconjunto de los números reales limitado no sólo en cuanto al tamaño, sino también en
cuanto a la precisión. Son números que contienen una parte fraccionaria y, por lo tanto, incluyen
el punto decimal, pueden esta precedidos del signo + o --.
• Carácter (Char): Conjunto finito y ordenado de los caracteres que la computadora reconoce. Su
valor lo comprenden todos los caracteres alfabéticos, mayúsculas y minúsculas (A – Z),
numéricos (0 – 9) y símbolos especiales (#,@,%,&).
• Cadena de caracteres o alfanumérico (String): Los datos (objetos) de este tipo contendrán una
serie finita de caracteres, que podrán ser directamente traídos o enviados a/desde consola. Su
Tipo lógico
• Lógico o booleano: Conjunto formado por los valores Verdad (V) y Falso (F). Se utiliza para
representar las opciones (si/no) a determinadas condiciones. Ejemplo: true, false,
verdadero, falso
• Darío se encarga en su trabajo de tomar los datos de las personas interesadas en realizar un
curso.
• María es una de las personas interesadas, y se acerca a realizar la inscripción, proporciona sus
datos a Darío, y él los almacena en la computadora.
• El jefe de Darío necesita información respecto al curso, quiere saber cuántos son los inscriptos.
• Ya que los datos fueron ingresados por Darío a la computadora, el programa puede proporcionar
la información solicitada por su jefe.
• María indica a Darío su DNI (tipo numérico, entero), su nombre y apellido (tipo texto, cadena), y
su edad (tipo numérico, entero).
Podremos indicar variables de tipo caracter, cadena, real, entero o lógico. Observa en el gráfico que
sólo bastará con indicar "Como " y el tipo de dato a continuación del nombre de la variable o
identificador.
No olvides guardar tus algoritmos en una carpeta que destines para eso. ¡Practica mucho!
5.11 Actividades
Debe comenzar con una letra, mayúscula o minúscula, y no puede comenzar con un
número.
Puede estar formado por una secuencia de letras, dígitos y caracteres que pueden estar
unidos por un guion bajo o símbolo de subrayado ( _ ).
Falso
Un tipo de datos está determinado por un conjunto de valores ordenados y por las operaciones
permitidas sobre esos valores.
Verdadero
Falso
62.5
Verdadero
's'
Un número entero, como por ejemplo 25, puede ser asignado a una variable de tipo real.
Verdadero
Falso
A-B
Bono56
area Radio
suma_total
¿Area
k,i
Radio
4N
8) En la siguiente tabla se presenta un conjunto de datos. Cada uno de ellos posee un tipo
determinado. Identifica el tipo de cada dato completando en la celda contigua según
corresponda con: Cadena de caracteres, Real, Carácter, Lógico, o Entero.
Dato Tipo
“Chaqueta”
2005
'A'
-4.25
"SUCRE"
3.147114
0.50
“Colombia”
10000000.00
'%'
-39.78
"MIL5008"
'@'
“Florencia”
'2'
225.00
1038
9) Se necesita una variable para indicar si el día de hoy es feriado o no. La variable tiene el nombre
feriado, ¿de qué tipo sería apropiado declararla?
Cadena
Real
Lógico
10) Si deseamos almacenar el valor 3.1416 en una variable, ¿de qué tipo debe ser declarada la
variable?
Real
Caracter
Entero
Valor A
NUM1
Dir@
1NUM
Resul_de_la_suma
MULTIx
Aux 1
MIN’
12) Considerar las siguientes frases de declaración de variables en pseudocódigo e identificar los
posibles valores que pueden asignarse a cada una de las variables según su tipo:
6 Instrucción de asignación
• Regla 1. A la izquierda del símbolo de asignación sólo puede indicarse el nombre de una única
variable.
• Regla 2. El valor que se asigna a la variable debe tener el mismo tipo de la variable.
Ejemplos en pseudocódigo
SUELDO <-12000;
En la memoria de la computadora, las variables son como las cajas de un almacén, cada una de
ellas puede contener elementos que son de importancia (datos o valores).
La instrucción de
asignación es la que un
empleado del almacén
realiza cuando ubica un
producto dentro de una caja
del almacén. Si la caja
(variable) previamente
contenía otro producto
(dato o valor), es eliminado
del contenedor.
Para estudiar la instrucción de asignación es conveniente que revisemos algunos ejemplos que
muestren diferentes casos en los que la instrucción puede utilizarse para cambiar los datos o valores
de variables.
Ejemplo Descripción
Así como cuando debemos expresarnos por escrito tenemos que seguir una sintaxis, una forma de
expresar y organizar las palabras, de igual manera en el ámbito de la Informática y la Programación
se siguen reglas de expresión en las diferentes maneras de, por ejemplo, expresar un algoritmo.
El valor de asignación podrá estar dado por una constante, una variable, o una operación entre
variables y/o constantes.
En un diagrama de flujo cada tipo de instrucción tiene su propia manera de ser graficada.
Dentro del rectángulo se coloca la variable que recibe el dato, la flecha de asignación y luego el
valor del dato que se desea asignar.
La instrucción de asignación...
• Regla 1. A la derecha del símbolo de asignación pueden indicarse los nombres de varias
variables.
Verdadero
Falso
Una variable puede ser asignada con diferentes valores sin que ninguno se pierda.
Para intercambiar valores entre dos variables, es preciso seguir ciertos pasos para evitar
que el valor de alguna de las variables se pierda.
Verdadero
8) Deseamos definir una variable de tipo Caracter y asignarle un valor. Marcar el pseudocódigo
correcto:
13) Considerar la siguiente porción de pseudocódigo y marcar cada línea según sea correcta o
incorrecta.
x <- '1';
w <- 411;
x <- "&";
w <- 957.33;
15) Se desea realizar la operación de suma de los valores 53, 98 y 201 que se almacenan en las
variables var1, var2 y var3, respectivamente. El resultado de la suma debe almacenarse en la
variable suma.
16) Se necesita intercambiar el valor entre dos variables. La variable Contenido almacena 68 y la
variable saldo_gral almacena 50. Realizar el intercambio de valores entre ellas.
17) Considerar el pseudocódigo que se muestra en el gráfico. Observar cada línea de código,
analizar sus detalles y significado para luego responder la siguiente pregunta:
Indefinido.
15
7 Instrucciones de Entrada/Salida
7.1 Introducción
En lecciones anteriores hemos tratado conceptos básicos para la construcción de algoritmos. Por
ejemplo, para llevar adelante la resolución de problemas mediante el uso de computadoras es
preciso en la Etapa 1 identificar el problema, reconocer que resultado se requiere obtener, que datos
se necesitan para alcanzar ese resultado y las condiciones o restricciones que deben cumplirse
para poder resolver el problema.
Por lo tanto, para resolver un problema en computadora no basta simplemente en saber qué
resultados buscamos, sino que debemos identificar qué datos son necesarios para
procesarlos y resolver el problema.
En esta lección aprenderemos sobre las instrucciones de Entrada/Salida. Estas instrucciones nos
permitirán obtener los datos necesarios para resolver el problema y mostrar al usuario los
resultados.
La instrucción de entrada permite ingresar datos a una variable. Leer e ingresar son
sinónimos.
Una instrucción de entrada permite recoger los datos desde una entrada estándar, generalmente el
teclado.
El usuario escribe los valores de los datos usando, por ejemplo, el teclado. Los datos son tomados
por la computadora y, siguiendo la instrucción de entrada, son almacenados en la variable indicada.
• Pseudocódigo.
• Diagrama de Flujo.
Podemos representar una instrucción de entrada en un diagrama de flujo, para esto utilizaremos el
símbolo de paralelogramo.
Mediante una instrucción de salida es posible mostrarle al usuario los resultados de los cálculos y
operaciones realizadas por la computadora en un programa.
• Pseudocódigo.
Mediante esta instrucción podemos emitir el contenido de cualquier variable. También podemos
usarla para mostrar simplemente un mensaje, sin ninguna variable.
En el ejemplo puede observarse que la instrucción emite una cadena de caracteres y el contenido
de la variable NUM. La instrucción, entonces, está mostrando una constante de tipo cadena y una
variable de tipo entero.
• Diagrama de Flujo.
Las instrucciones de entrada son el medio por el cual el programa puede obtener los datos para
resolver el problema del que se encarga. Sin las instrucciones de entrada nuestro programa sólo
podría trabajar sobre los datos que se hayan definido en el programa, por ejemplo, mediante
instrucciones en las que se asignan constantes como valores iniciales a las variables que usa el
programa.
El usuario pretende utilizar el programa y ejecutarlo con la intención de obtener resultados. Las
instrucciones de salida le permiten al usuario obtener esos resultados. Cuando escribimos un
programa normalmente las instrucciones de
salida se utilizan para mostrar mensajes
orientativos para el usuario y finalmente los
valores resultantes del procesamiento.
• Línea 10: se trata de una instrucción que permite borrar de la pantalla todo lo que se haya
mostrado previamente. Se utiliza para generar una salida de mensajes para el usuario más
organizada y clara.
• Líneas 12 y 13: Nótese que las instrucciones de salida pueden mostrar combinaciones de
cadenas de caracteres y variables, siempre separadas por una coma. En la línea 12, por
ejemplo, se indica la cadena de caracteres "Hola ", luego se coloca una coma de separación y
a continuación el nombre o identificador de la variable cuyo valor se desea mostrar.
7.7 Actividades
1) Considerar la siguiente porción de pseudocódigo y marcar cada línea según sea correcta o
incorrecta:
Leer calculo;
Mostrar miVariable;
Leer A;
Leer B;
Este código es incorrecto ya que no se pueden indicar en una instrucción de salida dos
identificadores o nombres de variable en forma contigua. Indicar si esto es verdadero o falso:
Verdadero
Falso
Escribir “El segundo número ingresado es”, Num2; Escribir “El primer número ingresado es:”, Num1;
Verdadero
Falso
Para resolver un problema se requiere contar con una variable que almacene el valor de PI (3.1416),
por lo tanto, es necesario leer de la entrada ese valor.
Verdadero
Falso
5) Para leer y luego mostrar el valor de una variable se plantea el siguiente pseudocódigo:
Leer NUM;
Este código es incorrecto ya que en el identificador o nombre de una variable se diferencian las
mayúsculas de las minúsculas. Por lo tanto, la variable num no es la variable NUM. Indicar si esto
es verdadero o falso:
Verdadero
Falso
Observar cada línea de código, analizar sus detalles y significado para luego responder la siguiente
pregunta:
Algoritmo Entrada_Salida
FinAlgoritmo
Leer nombre;
Leer altura;
Leer edad;
Se requiere leer dos valores enteros, intercambiar sus valores y mostrarlos en la salida.
8 Operadores
8.1 Definición
Un operador, es un elemento que indica el tipo de operación que se le va a aplicar a uno o más
datos.
Un operador es un símbolo que representa una operación específica que puede aplicarse
sobre un cierto número de variables y/o constantes.
En esta lección abordaremos conceptos referidos a los operadores. Muchos de los conceptos que
trataremos son estudiados en Matemáticas y la Informática se relaciona estrechamente con ella.
Todas las acciones de una computadora se basan en cómputos o cálculos.
El tipo de un operador determina el tipo de operandos con los que puede trabajar y el tipo de
operaciones que puede realizar.
Un operador aritmético toma valores numéricos (constantes o variables) como sus operandos y
devuelve un solo valor numérico. Los operadores aritméticos estándar son suma (+), resta (-),
multiplicación (*) y división (/).
En programación una expresión aritmética es una fórmula aritmética que permite calcular un
valor.
En una expresión aritmética los operandos que intervienen son numéricos, el resultado es un
número y los operadores son aritméticos.
El valor de la expresión aritmética se obtiene al tomar los valores de los operandos y aplicarles el
operador. Los operandos pueden ser constantes, variables u otras expresiones del mismo tipo.
¿Cómo podemos efectuar el cálculo de una expresión aritmética mediante el uso de un programa
en pseudocódigo? Observemos el gráfico, y
analicemos las líneas de código:
• Por último, se utiliza una instrucción de salida para emitir el resultado del cálculo realizado.
Es el orden en que los operadores deben ejecutarse dentro de una expresión para que sea
calculada en forma correcta. Los operadores se agrupan por su prioridad
Verdadero
Falso
Si se efectúa una operación entre dos variables, una de tipo entero y la otra de tipo real, el resultado
siempre es un valor entero.
Verdadero
Falso
Para esto es preciso definir las variables con los siguientes nombres y asignarles los valores:
base <- 22
cantidad <- 15
Desarrollar el pseudocódigo del algoritmo necesario utilizando PSeInt, prestar atención a los tipos
de dato que se asignan a cada variable.
4) Se solicita realizar los siguientes cálculos y al finalizar sumar los resultados obtenidos:
Desarrollar el pseudocódigo del algoritmo necesario utilizando PSeInt, ¿dónde se guardarán los
resultados de cada cálculo?
9.1 Definición
En un algoritmo las estructuras de control permiten romper el orden simple de ejecución en las
instrucciones de un programa.
En esta lección trataremos sobre las estructuras de control y especialmente sobre la estructura de
control secuencial.
Mediante las instrucciones un programa indica a la computadora las acciones a ejecutar. Una
estructura de control organiza conjuntos de esas instrucciones para establecer el flujo de
ejecución de un programa.
2. Toda acción de cada algoritmo es accesible, es decir, existe al menos un camino que va
desde el inicio hasta el fin del mismo, que se puede seguir y pasa a través de dicha acción.
Observemos que estas condiciones coinciden con las propiedades que hemos estudiado respecto
a los algoritmos.
Como vimos previamente, al ser un algoritmo una secuencia de pasos ordenados, debe seguir una
trayectoria para su ejecución desde el primer paso hasta el último. Esta trayectoria se denomina
flujo de control e 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. 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.
Leer a;
Donde “El resultado es:” es una cadena de caracteres que compone el mensaje para el usuario y x
es una variable que contiene un valor que se desea mostrar.
Leer a;
c <- a + b;
Escribir c;
No es equivalente a indicar:
Leer a;
c <- a + b;
Escribir c;
Leer b;
9.6 Actividades
Verdadero
Falso
2) Considerar el laberinto planteado en el gráfico en donde un robot debe llegar hasta donde se
encuentra una naranja. Construir un algoritmo para resolver el problema del robot.
• Comer la fruta.
Diseñar un algoritmo para obtener el resultado de multiplicar un número de dos dígitos por otro
número de un dígito.
10 El Método Heurístico
10.1 Definición
Para la informática, la heurística consiste en encontrar o construir algoritmos con buenos tiempos
de ejecución y buenas soluciones, usualmente las óptimas. Un método heurístico, normalmente,
está formado por un conjunto de principios, reglas y estrategias.
Un método heurístico es un método que establece las pautas necesarias para obtener la
resolución de un problema mediante el uso de computadoras.
El método heurístico está compuesto por cuatro pasos bien diferenciados, ellos son:
• Análisis.
• Diagrama de flujo.
• Verificación.
Desde el principio se debe adoptar una actitud receptiva. Todas las propuestas deben considerarse
tentativamente sin importar que tan obvias o imposibles parezcan. De esta manera se creará una
conciencia y será posible identificar nuevas soluciones.
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.
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.
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?
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.
Se debe tratar de introducir una notación adecuada para los datos y resultados, mediante la cual se
puedan expresar las condiciones en forma más clara y concisa.
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.
Se lleva adelante después de responder a las preguntas ¿Entiendo el problema? ¿Sé cómo
resolverlo?
“Entiendo el problema” entonces procedo a desarrollar un algoritmo, pero a menudo la solución está
equivocada. Por lo tanto, 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.
10.6 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:
• Seleccionar conjuntos de datos de prueba que permitan que se utilicen todas las trayectorias
en el diagrama de flujo.
• Además del problema de seleccionar los datos adecuados, en la tabulación hay dos causas por
las cuales se pueden cometer errores.
o Primero, nunca debe suponerse que un nombre de variable tiene un valor particular
asociada a él, y
o segundo, cada valor en la tabla debe corresponder a la acción de una sola caja del
diagrama.
• 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.
¿Qué condiciones relacionan los datos de entrada con los resultados deseados?
3) Aplicar la creatividad y desarrollar un esquema descriptivo del método heurístico. Indicar las
características de cada etapa para que sea aún más representativo. Este gráfico ayudará para
recordar los detalles del método heurístico.
4) Resolver los enunciados aplicando las cuatro etapas del Método Heurístico: Definición del
problema, Análisis, Diagrama de Flujo y Verificación.
4.a) José se dirige al supermercado a realizar una compra de comestibles. Al llegar se encuentra
con un letrero que indica:
José desea conocer cuanto deberá pagar por su compra. Realizar el cálculo e imprimir el monto
a pagar de la compra que José realice.
Leer 4 variables, cada una representa la cantidad de dinero que tiene que cobrar cada uno de
los obreros.
11 Operadores Relacionales
11.1 Introducción
Un operador es un símbolo que representa una operación específica que puede aplicarse
sobre un cierto número de variables y/o constantes.
En esta lección trataremos sobre los operadores relacionales o de relación. Estos operadores nos
serán de utilidad cuando en un algoritmo sea preciso realizar comparaciones o establecer relaciones
entre los valores de variables y constantes.
En una lección previa hemos clasificado a los tipos de operadores en: aritméticos, relacionales y
lógicos. Cada uno de estos tipos de operadores opera sobre diferentes tipos de operandos.
Como vimos previamente los operadores aritméticos operan sobre operandos aritméticos
conformando expresiones aritméticas cuyos resultados siempre son valores numéricos.
Los operadores de relación o relacionales se utilizan para comparar dos valores. El resultado
de la evaluación puede ser un valor lógico Verdadero o Falso según corresponda a la
evaluación realizada entre los dos valores contrastados.
• (890 - x) < 35
Podemos observar que se aplica el primer nivel jerárquico a la expresión entre paréntesis, se
evalúa y luego se aplica el operador relacional.
• 890 - x < 35
En este caso la operación se lleva a cabo de igual manera a si existiera paréntesis en la primera
expresión, esto debido a que entre operadores aritméticos y relacionales se evalúa
primeramente a los aritméticos.
• sumaEntera ≥ totalParcial
• num55 = vari99 * 25
11.4 Actividades
Verdadero
Falso
Si en una contrastación donde se utilizan operadores relacionales uno de los operadores es una
expresión aritmética, es necesario evaluar la contrastación para luego poder evaluar la expresión
aritmética.
Verdadero
Falso
Se pide:
o Evaluar la expresión.
o Mostrar el resultado.
Desarrollar el pseudocódigo del algoritmo necesario utilizando PSeInt, prestar atención a los tipos
de dato que se asigna a cada variable.
12 Estructura de Selección
12.1 Introducción
Las estructuras de control son las que indican en que orden se ejecutarán las acciones en
un programa. Permiten especificar la coordinación y regulación del algoritmo, porque
determinan la dirección que debe seguir el flujo de información en el mismo.
Al crear algoritmos para resolver con computadora los problemas que se nos plantean, nos es
preciso simular la manera en que tomamos decisiones en nuestra vida diaria. La estructura de
control secuencial, por ejemplo, nos permite reflejar como una acción se realiza a continuación de
otra.
En esta lección trataremos sobre la estructura de selección. Con ella abordaremos nuevos
problemas para ser resueltos en los que es necesario elegir entre diferentes vías de acción.
En diagrama de flujo esta estructura es representada por una construcción consistente de:
• el flujo con dos direcciones que surgen desde dos vértices del rombo, y
Si [expresión] Entonces
FinSi
Normalmente se utiliza sangría para organizar las instrucciones que se ejecutan por el resultado
verdadero, resaltando de este modo tanto el inicio como el final de la estructura.
SiNo
FinSi
Problema 1
Ingresar la cantidad de artículos a comprar, imprimir "Ir a caja rápida" en el caso en que la cantidad
de artículos sea menor o igual a 10.
Problema 2
Ingresar tres números y calcular el promedio. Si el promedio es mayor a 20, imprimirlo. En el caso
contrario, imprimir los números ingresados.
2) Resolver los enunciados aplicando las cuatro etapas del Método Heurístico: Definición del
problema, Análisis, Diagrama de Flujo y Verificación.
2.a) Leer la duración de una llamada telefónica en minutos, mostrar su costo teniendo en cuenta
que:
2.b) En un kiosco de golosinas, la bolsa grande de papas fritas tiene un costo de $120.00.
Pero si el cliente se lleva más de tres bolsas, recibe un descuento de $10 por cada bolsa.
Elabore un algoritmo para calcular lo que un cliente debe pagar al comprar x bolsas grandes
de papas fritas en la tienda.
Se supone que una persona mayor de edad tiene por lo menos 18 años.
El pseudocódigo que se
muestra en el gráfico
corresponde a la resolución
del problema.
• Construir el diagrama
de flujo que refleja al
pseudocódigo de la
solución propuesta.
4) Resolver los enunciados aplicando las cuatro etapas del Método Heurístico: Definición del
problema, Análisis, Diagrama de Flujo y Verificación.
4.c) Leer un número. Encontrar su valor absoluto. Luego mostrar el número y su valor absoluto.
4.d) Se leen tres números enteros. Mostrar aquellos que posean 3 dígitos.
4.f) Leer un número de tres dígitos. Imprimir cada uno de los dígitos que componen el número
indicando la posición que ocupan en él.
4-1
5-2
8-3
13 Operadores Lógicos
13.1 Introducción
Un operador es un símbolo que representa una operación específica que puede aplicarse
sobre un cierto número de variables y/o constantes.
La evaluación de las expresiones lógicas en las que se aplican los operadores lógicos se rigen por
las tablas de verdad de la lógica de Boole, por lo que es necesario conocerlas para poder aplicarlas.
A continuación, observaremos cada una de las tablas de verdad correspondiente a cada operador
lógico.
• Operador AND o Y.
Siempre que alguno de los operandos sea falso, el resultado será falso.
El orden en el que deben ejecutarse los operadores lógicos es el siguiente: (1) NOT, (2) AND,
(3) OR.
NO (V Y F)
NO (F)
Observemos cómo el uso de paréntesis permite cambiar el orden de jerarquía según se requiera en
la tarea de resolver un problema determinado.
13.5 Actividades
1) Resolver los enunciados aplicando las cuatro etapas del Método Heurístico: Definición del
problema, Análisis, Diagrama de Flujo y Verificación.
1.a) Leer un número entero. Si el número es positivo, imprimir "positivo". Si el número es negativo,
imprimir "negativo". Si el número no es positivo ni negativo, entonces imprimir "nulo".
1.d) Leer un número que representa la nota de la materia Informática. Se desea indicar la condición
a la que corresponde la nota ingresada, teniendo en cuenta la tabla que se detalla a continuación.
Condición Nota
Desaprobado 0 a 39
Aprobado 40 a 74
Promocionado 75 a 100
14.1 Introducción
En lecciones previas hemos tratado sobre la estructura de control secuencial y sobre la estructura
de selección, ambas permiten establecer el flujo de control en un algoritmo o programa. En esta
lección trataremos sobre las estructuras de control de iteración.
Las acciones repetitivas en muchas ocasiones son indispensables para resolver algún problema en
particular.
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.
• Mientras.
• Repetir-hasta.
Algunos problemas que podemos resolver con estas estructuras son por ejemplo los siguientes:
• Imprimir todos los números pares menores a 10. En este caso iteraremos sobre cada uno de los
números de un dígito comenzando con una variable con valor igual 1 hasta llegar hasta 9. Para
cada valor aplicaremos la verificación por número par. La iteración concluirá cuando el valor de
la variable iguale a 10.
• Mostrar 5 veces el mensaje "Hola mundo!". Para este caso el bucle o ciclo estará integrado por
la tarea de mostrar el mensaje y contar las veces que se muestra el mensaje. El ciclo concluirá
cuando la variable que usemos para contar sea igual a 6, suponiendo que le dimos el valor inicial
igual a 1.
3. La estructura termina.
[secuencia_de_acciones]
FinMientras
Por la salida de la evaluación falsa de la expresión relacional y/o lógica, la estructura finaliza.
Esta estructura de control repetitivo se caracteriza porque ejecuta un conjunto de instrucciones sin
realizar previamente la evaluación de la expresión relacional y/o lógica. Las acciones se repiten
HASTA QUE se cumple una condición expresada en la expresión relacional y/o lógica.
3. La estructura termina.
Repetir
[secuencia_de_acciones]
Por la salida de falso, el flujo de control retorna al inicio del bloque de acciones que se repiten,
definiéndose de este modo el bucle o ciclo de sentencias.
En el caso de la estructura Mientras, la verificación de ejecución del ciclo se lleva a cabo en primera
instancia, mientras que en el caso de la estructura Repetir-Hasta, la verificación de ejecución es la
última tarea de la estructura. Esta característica define además el número de ejecuciones.
1. Inicio
2. CV = 1
4. Leer NUM
6. FinMientras
7.
8. Fin
Se pide:
• Pasar a PSeInt.
• Verificar.
1. Inicio
3. CV = 1
4. Repetir
5. Leer NUM
7. CV = CV + 1
9. Fin
Se pide:
• Pasar a PSeInt.
• Verificar.
3) Resolver los enunciados aplicando las cuatro etapas del Método Heurístico: Definición del
problema, Análisis, Diagrama de Flujo y Verificación.
3.a) Ingresar el apellido, nombre y la edad de 20 personas. Informar por cada persona su
apellido, nombre y si es o no mayor de edad. Se supone que una persona mayor de edad tiene
por lo menos 18 años.
3.c) Ingresar 10 números. Se desea conocer el promedio de los números pares ingresados
-15
-35
46
5.a) Se leen 10 números y se precisa realizar el cálculo del promedio de los números que sean
múltiplos de 3 pero no múltiplos de 5. Mostrar el resultado del cálculo realizado.
5.b) Ingresar N números de dos dígitos. Imprimir, para cada número ingresado, el dígito
correspondiente a la unidad.
CV <- 1;
Leer NUM;
CV <- CV +1;
Fin Mientras
Seleccionar:
CV <- 0;
Leer NUM;
CV <- CV +1;
Fin Mientras
SUM <- 0;
CV <- 1;
Leer NUM;
Fin Mientras
Escribir SUM;
Seleccionar:
9) Resolver los enunciados aplicando las cuatro etapas del Método Heurístico: Definición del
problema, Análisis, Diagrama de Flujo y Verificación.
Para leer la fecha de nacimiento se aplica el siguiente formato: MMAA, donde MM indica el
número del mes y AA indica los dos últimos dígitos del año.
• El promedio de las edades de los alumnos. Para realizar este cálculo utilizar sólo el año
de nacimiento.
Se pide mostrar…
Para responder a las solicitudes tener en cuenta la siguiente tabla con información:
1 Salta
3 Tucumán
9.c) Leer 100 números de legajo de los alumnos de una asignatura de la carrera de Informática.
• los tres (3) primeros dígitos corresponden al número de orden de inscripción del alumno,
Se pide:
• Imprimir los números de legajo de los alumnos que ingresaron en el año 2015.
De Giusti A. (2001). Algoritmos, datos y programas. Con aplicaciones en Pascal, Delphi y Visual Da
Vinci. Prentice Hall, Argentina.