Professional Documents
Culture Documents
Cartilla - Curso Ingreso Informatica - 2024
Cartilla - Curso Ingreso Informatica - 2024
2 Resolución de problemas......................................................................... 6
2.1 Introducción ......................................................................................................................... 6
2.2 Tipos de problemas ............................................................................................................. 7
2.3 Problemas de computación .................................................................................................. 7
2.4 Etapas de resolución de problemas con computadoras ....................................................... 8
2.5 Ejercicios ........................................................................................................................... 10
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página i
5.10 Introducción al pseudocódigo utilizando PSeInt ............................................................. 25
8 Operadores ........................................................................................... 36
8.1 Definición ........................................................................................................................... 36
8.2 Tipos de operadores .......................................................................................................... 36
8.3. Operadores Aritméticos ..................................................................................................... 37
8.4. Expresiones aritméticas ..................................................................................................... 37
8.5 Jerarquía de operadores aritméticos .................................................................................. 38
8.6 Ejercicios ........................................................................................................................... 39
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página ii
11.2. Operadores relacionales o de relación ....................................................................... 53
11.3. Jerarquía de operadores aritméticos y de relación ..................................................... 54
11.4. Ejercicios .................................................................................................................... 54
BIBLIOGRAFÍA ................................................................................................ 79
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página iii
UNIDAD 1
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 1
La necesidad de información ha crecido de forma considerable, y la computadora es un generador
rápido y masivo de información. La representación de la información es fundamental en ciencias de
la computación y en la Informática. El propósito principal de la mayoría de los programas de
computadoras es almacenar y recuperar información, además de realizar cálculos.
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.
El dato, 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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 2
1.4 La computadora
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 coordinadas 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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 3
• Además, está comunicada con el mundo exterior. Esto significa que podrá realizar operaciones
de ingreso o egreso de valores desde y hacia el mundo real, utilizando dispositivos periféricos;
por ejemplo, el teclado o el mouse para entrada de información, y pantalla como salida.
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.
• Procesamiento
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 4
1.6 Ejercicios
1.6.1. Identifique algunos ejemplos de cuáles deberían ser los Datos ingresados y la Información
obtenida para cada uno de los siguientes procesos:
Sueldo básico
Etc.
Control de Stock
…. ….
Facturación de un
…. producto ….
Datos Información
Porcentaje de asistencia
Promedio de notas
Área de un triangulo
1.6.3. Coloque en el siguiente esquema, cada una de las preguntas a platear debe platear de
acuerdo con el siguiente esquema:
¿Para qué?
¿Como?
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 5
UNIDAD 2
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 6
Es posible que se genere una situación no contemplada como consecuencia de la ejecución de una
orden por parte de la computadora, en ese caso será necesario abortar la tarea y recomenzar todo
el procedimiento nuevamente.
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página
7
El proceso de resolver problemas mediante computadoras implica encontrar un método por
medio del cual se pueda resolver un problema. Una vez que se identifica el método para
resolver el problema, la computadora aplica dicho método y suministra las respuestas a la
pregunta.
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página
8
El proceso de resolver problemas mediante computadoras consiste en encontrar un método por
medio del cual se pueda resolver un problema. Una vez encontrado (diseñado) el método, el
computador se encarga de ejecutarlo y suministrar la respuesta/ solución al problema planteado.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página
9
Codificación del algoritmo creado: una vez obtenido el algoritmo, debe ser escrito en un lenguaje
de programación, de manera que pueda ser interpretado por la computadora. Como resultado de
este paso se obtiene un programa.
2.5 Ejercicios
Identifique marcando con una cruz, cuál de los siguientes problemas pertenecen a la clase:
problemas que buscan métodos:
Determinar los motivos por los cuales se produce el abandono de las escuelas de
nivel secundario
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página
10
UNIDAD 3
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 11
Analicemos estos conceptos considerando ejemplos de cada uno:
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 12
En nuestra vida cotidiana utilizamos algoritmos con frecuencia para completar actividades y
resolver los problemas que se nos presentan.
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 1: Mezclar papas fritas, huevos y una pizca de sal en un recipiente.
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 13
Paso 1.3: Freír las papas.
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 14
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 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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 15
UNIDAD 4
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
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 16
o Secuencia incorrecta de etapas.
• 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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 17
Ejercicios
Problema: Un grupo de jóvenes quieren preparar una obra de teatro, para lo cual deben organizar
las tareas a realizar hasta poner en cartel la obra.
En la siguiente tabla se muestran todas las tareas que deben ser realizadas, deberá indicar el nro
de orden (secuencia lógica)
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 18
Problema: El marciano se encuentra en el desierto, con hambre y deseoso de comer manzanas.
Complete el cuadro indicando la secuencia lógica de los pasos que debe realizar el marciano para
comer todas las manzanas (estrategia de solución)
Comer manzana
Mover a la izquierda
Mover a la derecha
Mover arriba
Mover abajo
https://pilasbloques.program.ar/online/#/desafio/4
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 19
UNIDAD 5
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 20
5.3.1 El identificador es el nombre que le asignamos a la variable y que usaremos para
referirnosa ella.
5.3.2 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
5.5.1 Está formado por una secuencia de letras, dígitos y caracteres que
pueden estar unidos porun guion bajo o símbolo de subrayado ( _ ).
5.5.2 Debe comenzar con una letra, mayúscula o minúscula, y no puede comenzar
con un número.
Cant1 1Cant
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 21
Identificadores Válidos Identificadores No válidos
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
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 22
Ejemplo Descripción
• Su identificador es Altura.
• Su valor es 1.67.
5.8.1 Acción de ingreso de datos: Se trata, por ejemplo, de información que deberá ser
ingresadaal programa por un usuario, se obtiene generalmente como resultado de
una acción denominada lectura (se leen datos desde el exterior al algoritmo).
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 23
sean de utilidad deben haberse convertido en información, entregando un significado, un
conocimiento, un conjunto de ideas o de conclusiones, etc.
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
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 24
valor está representado por un conjunto de caracteres que se indican entre comillas. Ejemplos:
“Reporte Anual de Fallas Técnicas”, “1 de mayo, día del Trabajador”
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 comentarios comenzando la línea con dos barras seguidas. Todo lo que
indiquemos a continuación de las barras será un comentario y PSeInt lo indicará en un color
grisáceo.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 25
Para definir variables utilizaremos la
palabra reservada "Definir". A continuación
indicaremos el nombre o identificador de la
variable y luego expresaremos el tipo de la
variable.
No olvides guardar tus algoritmos en una carpeta que destines para eso. ¡Practica mucho!
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 26
UNIDAD 6
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
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 27
Definir PRECIO Como Real;
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
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 28
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 29
Podemos, entonces reconocer no sólo maneras de expresar la instrucción de asignación sino
también reglas para su sintaxis.
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 30
UNIDAD 7
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 31
7.3 Formas de expresar la instrucción de entrada
• 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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 32
Normalmente los datos son enviados a la salida estándar, la pantalla, pero existen otros dispositivos
que también pueden ser utilizados, por ejemplo, la impresora.
• 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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 33
haya proporcionado al programa, serán los resultados que el programa emitirá mediante
instrucciones de salida.
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 34
Las instrucciones de entrada proporcionan al programa los datos necesarios para llevar
adelante el procesamiento mientras que las instrucciones de salida permiten mostrar
mensajes y resultados que se entregan usuario. Todo programa en computadora requiere
una entrada para luego desarrollar y/o concluir su procesamiento generando una salida.
Paralelogramos: representan las instrucciones de entrada, y dentro de los símbolos se indican los
nombres de las variables que se leen en cada instrucción. En este ejemplo se leen las variables
nombre y edad, ubicamos entonces cada una de ellas en un paralelogramo.
Cuadrados con lado inferior ondeado: los utilizaremos para representar las instrucciones de salida,
dentro del símbolo se indican las cadenas de caracteres y los nombres de las variables que se
envían a la salida, siempre separadas por comas (,).
Elipses: marcamos el inicio y el final de todo diagrama de flujo con una elipse. El inicial se rotula
con la palabra "inicio", la elipse que marca el final del diagrama se rotula con la palabra "fin" o "final".
Mediante el diagrama de flujo podemos reconocer de una manera ágil y visualmente en qué
consisten las tareas de un algoritmo o programa. Para crearlos digitalmente podemos utilizar
Draw.io.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 35
UNIDAD 8
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 36
8.3. Operadores Aritméticos
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 37
• Si un operando es real y el otro entero, el operando de tipo entero se convertirá a real y luego
se aplicará la operación.
¿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
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 38
8.6 Ejercicios
Dadas las expresiones aritméticas propuestas, se pide identificar:
• las variables,
• las constantes,
• calcular el resultado.
A=1 A+B-C/3
B = -2 (A - B - C / 3 + 2) ↑2
C=3
A * B + (B - C) * 3 / (B - 3)
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 39
UNIDAD 9
9.1Definició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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 40
Teniendo en cuenta lo descripto respecto a las estructuras de control, es necesario destacar que un
algoritmo y su representación en diagrama de flujo deben cumplir con ciertas condiciones:
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 41
9.4. Estructura de control secuencial
La estructura de control secuencial indica una secuencia de acciones a ser ejecutadas de forma
consecutiva. Se compone de instrucciones que deben ser ejecutadas una tras otra sin
excepciones.
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 42
9.5. Formas de expresar la estructura de control secuencial
Leer a;
Leer b;
c <- a + b;
Escribir c;
No es equivalente a indicar:
Leer a;
c <- a + b;
Escribir c;
Leer b;
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 43
9.6. Ejercicios
Ejercicio 1.a
Enunciado: Leer dos números. Intercambiar sus valores. Mostrarlos antes y después del intercambio.
Ejercicio 1.b
Enunciado: Ingresar tres números. Sumar los números ingresados previamente. Mostrar el resultado
de la suma.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 44
Ejercicio 1.c
Enunciado: Ingresar un número. Identificar y mostrar:
o el número ingresado,
o el número siguiente al ingresado,
o el número anterior al ingresado.
Ejercicio 2.a
Caso de prueba 1
A=5 A B R Imprime
B = -8
Caso de prueba 2
A = -3 A B R Imprime
B = 10
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 45
Caso de prueba 3
A=0 A B R Imprime
B=1
A, B
R = B - A * (B + A) * 2 + 1
Ejercicio 2.b
Caso de prueba 1
X = 30 X Z R Imprime
X, Z
Z = 15
Caso de prueba 2
R= X + Z * 3 – (24/12)
X = -10 X Z R Imprime
Z = 71
R
Caso de prueba 3
X = 25 X Z R Imprime
Z = -35
Ejercicio 2.c
Caso de prueba 1
A, B
A = 455 A B R Imprime
B = -180
Caso de prueba 2
R= ((B+ 3 * (5 + 2) / 10))* A (-1)
A = 98 A B R Imprime
B = 45
R
Caso de prueba 3
A = -55 A B R Imprime
B = -67
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 46
UNIDAD 10
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 47
Durante el desarrollo de estas etapas es necesario realizar un seguimiento estricto de todo lo que
se realiza. Es preciso 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. 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?
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 48
• ¿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.
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 49
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.
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 50
10.7. Ejercicios
Ejercicio 1.a
Enunciado: En la pyme "FabriQ" tomaron 4 obreros para realizar diferentes funciones. Necesitan saber
cuánto dinero deben disponer para poder pagar sus sueldos. Leer 4 variables, cada una representa la
cantidad de plata que tienen que cobrar los obreros.
Ejercicio 1.b
Ejercicio 1.c
Ejercicio 1.d
José desea conocer cuanto deberá pagar por su compra. Realiza el cálculo e imprime el monto a pagar
de la compra
Ejercicio 1.e
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 51
Num1=3
Num2=5 Se muestra en pantalla (salida) el número generado que es igual
Num3=4 a 354.
Ejercicio 1.f
Enunciado: Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas.
Durante un mes el vendedor realizó tres ventas, ahora desea saber cuánto dinero obtendrá por
concepto de comisiones y el total que cobrará en el mes, tomando en cuenta su sueldo base y las
comisiones.
Ejercicio 1.g
Enunciado: A una clase asisten alumnos de ambos sexos. Se desea conocer el porcentaje de
hombres y de mujeres.
Ejercicio 1.h
Enunciado: Un empleado que trabaja en una fábrica de automóviles desea saber cuánto dinero
cobrará a fin de mes.
Para calcular sus haberes se debe tener en cuenta su sueldo base, la cantidad de horas extras que
realizó y la cantidad de días que no trabajó.
A tener en cuenta:
• El importe a cobrar por cada hora extra es $200.
• Por cada día no trabajado se le aplica un descuento de $1.000
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 52
UNIDAD 11
11.1. Introducción
Un operador es un símbolo que representa una operación específica que puede aplicarsesobre
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.
Un operador relacional o de relación permite identificar
la relación existente entre los valores de sus dos
operandos. Sus operandos pueden ser variables,
constantes, así como expresiones aritméticas.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 53
11.3. Jerarquía de operadores aritméticos y de relación
11.4. Ejercicios
A=1 C <> (A + (B - C) * 3)
B = -2 A + B - C / 3 <= C * 2
C=3
A * B + (B + C) = 3 / (B + 3)
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 54
UNIDAD 12
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
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 55
12.3. Estructura de selección simple
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 56
12.4. Estructura de selección compuesta
SiNo
FinSi
Se utiliza sangría para destacar los distintos componentes de la estructura, de este modo el
seguimiento de la representación del algoritmo es mucho más fácil de comprender en el momento
dela verificación del algoritmo.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 57
12.5. Ejercicios
1. Prueba y verificación de diagramas de flujo
Ejercicio 1.a
Completar:
▪ Resultado/s: …………………………………………………….…………
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 58
Ejercicio 1.b
Completar:
▪ Resultado/s: …………………………………………………………………………
Casos de prueba
Imprime
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 59
Ejercicio 1.c
Completar:
▪ Resultado/s:………………………………………………………………………
Casos de prueba
Imprime
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 60
2. Aplicación del Método Heurístico
Para resolver cada uno de los ejercicios siguientes es necesario:
• identificar el dominio del problema
• aplicar las cuatro etapas del Método Heurístico:
▪ Definición del problema.
▪ Análisis.
▪ Diagrama de Flujo.
▪ Verificación.
Ejercicio 2.a
Enunciado: Leer la duración de una llamada telefónica en minutos, mostrar su costo teniendo en
cuenta que: Toda llamada que dure 3 minutos o menos tiene un costo de $15. Cada minuto
adicional cuesta $7.
Ejercicio 2.b
Ejercicio 2.c
Enunciado: En un kiosco de golosinas, la bolsa grande de papas fritas tiene un costo de $120.00.
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 una cantidad x de bolsas grandes
de papas fritas en el kiosco.
Ejercicio 2.d
Enunciado: En un grupo de personas dos de ellas desean comparar sus edades. Leer dos edades
y mostrar la edad que sea mayor. Se asume que las edades leídas son distintas.
Ejercicio 2.e
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 61
Ejercicio 2.f
Enunciado: Dada la edad de una persona, informar si es o no mayor de edad. Se supone que
una persona mayor de edad tiene por lo menos 18 años.
Ejercicio 2.g
Ejercicio 2.h
Ejercicio 2.i
Enunciado: Se solicita que simule las operaciones a realizar en un cajero automático con un saldo
inicial de $1000, de acuerdo a la siguiente tabla:
Código Operación
1 Depósito
2 Extracción
Ejercicio 2.j
Ejercicio 2.k
Enunciado: Se leen tres números enteros. Mostrar aquellos que posean 3 dígitos.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 62
Ejercicio 2.l
Enunciado: Leer un número entero. Mostrarlo si posee dos dígitos y si además es un número
impar.
Ejercicio 2.m
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 63
UNIDAD 13
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 64
Los operadores lógicos o booleanos permiten combinar y evaluar expresiones lógicas.
Generan un resultado lógico con valores Verdadero o Falso.
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 65
• Operador OR u O.
El orden en el que deben ejecutarse los operadores lógicos es el siguiente: (1) NOT, (2) AND,
(3) OR.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 66
NO ((V O V) Y (F))
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. Ejercicios
Variables,
Tipo del
Valores Expresión Constantes, Resultado
resultado
Operadores Obtenido
R<= S / 3 and T
R=2, S=6
T= verdadero Not U and ( S < 1 ) or T
U= falso
T and ( R<= 2 )
T or U and ( R < S )
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 67
UNIDAD 14
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 68
En una estructura de control iterativa el conjunto de instrucciones que se repiten conforman un
denominado "bucle" o "ciclo". Dicho conjunto de instrucciones se caracteriza por estar constituido
por las acciones que es necesario reproducir una determinada cantidad de veces para solucionar
un problema.
• 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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 69
14.3. Estructura Mientras
3. La estructura termina.
[secuencia_de_acciones]
FinMientras
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 70
De este modo, en el diagrama de flujo es posible observar cómo la ejecución del bucle está
condicionada a que la evaluación de la expresión sea verdadera.
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 71
Por la salida de la evaluación verdadera de la
expresión relacional y/o lógica, la estructura
finaliza.
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.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 72
14.6. Ejercicios
Enunciado:
Leer 10 números.
Imprimir la
cantidad de
números positivos,
negativos y nulos
ingresados.
Ejercicio
1.a
Completar:
Dominio del problema: ……………………………………………………………..
▪ Dato/s de Entrada: ………………………………………………………………….
▪ Resultado/s: …………………………………………………………………………
Casos de prueba
Imprime
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 73
Ejercicio 1.b
.
Enunciado:
Leer 10 números.
Imprimir la cantidad
de números pares y
la suma de los
números impares
ingresados.
Completar:
Dominio del problema: ……………………………………………………………..
▪ Dato/s de Entrada: ………………………………………………………………….
▪ Resultado/s: …………………………………………………………………………
Casos de prueba
Imprime
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 74
Ejercicio 1.c
Enunciado:
Completar:
Dominio del problema: ……………………………………………………………..
▪ Dato/s de Entrada: ………………………………………………………………….
▪ Resultado/s: …………………………………………………………………………
Casos de prueba
Imprime
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 75
Ejercicio 2: aplicación del Método Heurístico
Para resolver cada uno de los ejercicios siguientes es necesario, inicialmente, identificar el dominio
del problema y luego aplicar las cuatro etapas del Método Heurístico.
▪ Definición del problema.
▪ Análisis.
▪ Diagrama de Flujo.
▪ Verificación.
Ejercicio 2.a
Enunciado: Ingresar el apellido, el nombre y la edad de 20 personas. Informar por cada persona
su apellido, nombre y el mensaje “mayor de edad”, en caso de que lo sea.
Se supone que una persona es mayor de edad si tiene por lo menos 18 años.
Ejercicio 2.b
Enunciado: Ingresar N números de dos dígitos. Imprimir, para cada número ingresado, el dígito
correspondiente a la unidad.
Ejercicio 2.c
Enunciado: Se leen N números y se precisa realizar el cálculo del promedio de los números que
sean múltiplos de 3 y no sean múltiplos de 5. Mostrar el resultado del cálculo realizado.
Ejercicio 2.d
Enunciado: Leer una serie de números enteros cuyo final viene indicado por el número cero,
mostrar aquellos que sean múltiplos de 7.
Ejercicio 2.e
Enunciado: Leer N números enteros, determinar y mostrar el mayor y el menor de los números
ingresados
Ejercicio 2.f
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 76
Condición Notas
Desaprobado 0 a 39
Aprobado 40 a 74
Promocionado 75 a 100
Ejercicio 2.g
Enunciado: Leer una sucesión de números enteros de 3 dígitos, cuyo final viene
indicado por un número negativo.
Se pide mostrar:
• El primer y el último dígito, solo si el dígito central es par.
Ejercicio 2.h
Enunciado: Leer 100 números de legajos de los alumnos de una asignatura de la carrera de
Informática.
El número de legajo consta de 5 dígitos con el siguiente formato:
• los tres (3) primeros dígitos corresponden al número de orden de inscripción del alumno, y
• los dos (2) últimos dígitos corresponden al año de ingreso.
Se pide:
1. Imprimir los números de legajo de los alumnos que ingresaron en el año 2015.
2. Calcular e imprimir el porcentaje de alumnos cuyo número de orden de inscripción es impar.
3. Calcular e imprimir la cantidad de alumnos que ingresaron en el año 2021.
Ejercicio 2.i
Enunciado: Leer una serie de números de tres dígitos, cuyo final viene dado por el ingreso
del número 999. Imprimir cada uno de los dígitos que componen un número indicando la
posición que ocupan en él.
Por ejemplo, si se lee 458, la salida correspondiente sería…4, 5, 8
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 77
Ejercicio 2.j
Ejercicio 2.k
Para responder a las solicitudes tener en cuenta la siguiente tabla con información:
Código
Descripción
Sucursal
1 Salta
3 Tucumán
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 78
BIBLIOGRAFÍA
De Giusti A. (2001). Algoritmos, datos y programas. Con aplicaciones en Pascal, Delphi y Visual Da
Vinci. Prentice Hall, Argentina.
Docente compilador: Ing. Analía Méndez Coordinadora: Ing. Carmen Silva Página 79