0% encontró este documento útil (0 votos)
53 vistas36 páginas

Cartilla Informatica 2020

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 36

Universidad Nacional de Santiago del Estero

Facultad de Ciencias Exactas y Tecnologías

INGRESO

INTRODUCCIÓN A LA
INFORMÁTICA

LIC. EN SISTEMAS DE INFORMACIÓN (LSI)

PROFESORADO EN INFORMÁTICA (PI)

PROGRAMADOR UNIVERSITARIO EN
INFORMATICA (PUI)

AÑO 2020
Introducción a la Informática

1. PROBLEMAS DE COMPUTACION

1.1 Objetivo
La resolución de problemas utilizando como herramienta una computadora requiere contar con la
capacidad de expresión suficiente como para indicar a la máquina lo que debe llevar a cabo.
Se comenzara resolviendo situaciones del mundo real tratando de utilizar determinados elementos
que caracterizan a una secuencia de ordenes que una computadora puede comprender.
El tema central de este curso es la definición del concepto de algoritmo y los elementos que lo
componen.
1.2 Introducción
La Informática es la ciencia que estudia el análisis y resolución de problemas utilizando
computadoras.
La palabra ciencia se relaciona con una metodología fundamentada y racional para el estudio y
resolución de los problemas.
Si se busca en el diccionario una definición de la palabra problema podrá hallarse alguna de las
siguientes:
 Cuestión o proposición dudosa, que se trata de aclarar o resolver.
 Enunciado encaminado a averiguar el modo de obtener un resultado cuando se conocen
ciertos datos.
La resolución de problemas mediante una computadora consiste en dar una adecuada formulación de
pasos precisos a seguir.

1.3. Resolución de Problemas


Si se piensa en la forma en que una persona indica a otra como resolver un problema, se vería que
habitualmente se utiliza un lenguaje común y corriente para realizar la explicación, quizá entremezclado
con algunas palabras técnicas. Esto es un riesgo muy grande. Los que tienen cierta experiencia al
respecto saben que es difícil transmitir el mensaje y por desgracia, con mucha frecuencia se
malinterpretan las instrucciones y por lo tanto se “ejecuta incorrectamente" la solución, obteniéndose
errores.
Cuando de una computadora se trata, no pueden utilizarse indicaciones ambiguas. Ante cada orden
resulta fundamental tener una única interpretación de lo que hay que realizar. Una máquina no posee la
capacidad de decisión del ser humano para resolver situaciones no previstas.
Si al dar una orden a la computadora se produce una situación no contemplada, será necesario
abortar esa tarea y recomenzar todo el procedimiento nuevamente.
Además, para poder indicar a la computadora las ordenes que debe realizar es necesario previamente
entender exactamente lo que se quiere hacer. Es fundamental conocer con qué información se cuenta y
qué tipo de transformación se quiere hacer sobre ella.
Una vez que se comprende un problema, se debe decidir que tipo de problema es. Dos tipos de
problemas comunes son:

Ingreso 2020 2
Introducción a la Informática

 Los problemas que buscan respuestas: si un ejercicio implica el cálculo del número de palabras
que hay en un libro o la bisección de una línea utilizando regla y compás, se trata de un trabajo en
que se debe encontrar algo que se desconoce. La forma en que esto se haga no es de particular
importancia siempre y cuando se obtenga la respuesta correcta (aunque es deseable que sea por
un medio fácil).
 Los problemas que buscan pruebas: cuando se pide que se pruebe que hay 720 formas de
colocar seis libros en una fila, se está dando la respuesta. La tarea es distinta a la de encontrar una
respuesta porque ya se sabe lo que se desea. Todo lo que se tiene que hacer es determinar la
relación entre los datos y la respuesta.

Es importante observar que en un problema en que se buscan respuestas se tiene que elaborar una
solución, mientras que cuando se pide que se pruebe sólo es necesario demostrar que existe (o no existe)
una solución, sin crearla. Los problemas de computación no pueden ser problemas en que se busquen
pruebas porque el propósito del trabajo de las computadoras es encontrar respuestas que no se conocen de
antemano. Pero tampoco se les puede considerar como problemas en que se busquen respuestas porque
es la computadora misma la que determina la respuesta, no la persona que trabaja con ella.
Los problemas de computación pertenecen a una tercera clase: los problemas que buscan
métodos, aquí se busca un método mediante el cual se pueda derivar una respuesta.
El proceso de resolver problemas mediante computadoras se describe en la figura 1. Se trata de
encontrar un método por medio del cual se pueda resolver un problema. Una vez que se haga esto, la
computadora se hace cargo del mismo y suministra las respuestas a la pregunta.

Figura 1.

Esta es una simplificación porque una vez que se tiene un método es necesario expresar este método
en una forma en que la computadora pueda operarlo (un programa).

Ingreso 2020 3
Introducción a la Informática

Una forma de expresar un método de resolución de problemas es el siguiente:


Etapa 1: Identificar el problema, dando respuesta a Que resultado se debe obtener, Que datos están
disponibles, y Que condiciones o restricciones se deben tener en cuenta para la resolución.
Etapa 2: Definir y representar el modo de resolver el problema.
Etapa 3: Explorar las posibles estrategias para solucionar el problema y seleccionar la más conveniente.
Etapa 4: Probar la estrategia de solución seleccionada, evaluando los efectos y comprobar si resuelve el
problema.
Etapa 5: Implementar la solución.

Como se dijo anteriormente, el proceso de resolver problemas mediante computadores, 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.
El proceso así presentado, está muy simplificado, ya que una vez obtenido el método ( o resuelto
como hacerlo) es necesario expresarlo en una forma que pueda ser operado/ejecutado por el computador.
Por tanto el profesional informático deberá realizar tres trabajos: Creación del algoritmo; Codificación del
algoritmo creado y Operación del algoritmo en el computador.
En este momento surgen nuevos conceptos: ALGORITMOS, CODIFICACIÓN y OPERACIÓN. Estos
tres conceptos ordenados en secuencia constituyen precisamente el Método para resolver problemas
mediante computadoras. A continuación se explican cada unos de ellos.
1. Creación del algoritmo: significa crear un método de resolución de un problema determinado. Como
resultado de este paso se obtiene un Algoritmo (Es el único Paso que veremos en este curso)
2. 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 el computador. Como resultado de este
paso se obtiene un programa.
3. Operación del algoritmo en el computador, implica la ejecución del programa en el computador para
obtener el resultado o solución del problema.

ALGORITMO PROGRAMA RESULTADO


Creación Codificación Operación

Ingreso 2020 4
Introducción a la Informática

2. ALGORITMOS
2.1. Introducción

La etapa vital de la solución de un problema con una computadora es el diseño del algoritmo y de la
estructura fundamental de datos. Un algoritmo es un procedimiento expresado precisamente para obtener la
solución del problema, la que se presenta de manera subsecuente a una computadora en el lenguaje de
programación seleccionado. Los algoritmos se presentan de una manera conveniente para un lector
humano, mientras que los programas sirven a las necesidades de las computadoras.
Es importante recordar mientras diseñamos un algoritmo que una computadora sólo sigue las
instrucciones y no puede actuar si no se le ha ordenado de manera explícita. Por lo tanto, el solucionador de
problemas debe prever cualquier aspecto del problema en el propio algoritmo.
La palabra algoritmo deriva del nombre de un matemático árabe del siglo IX, llamado Alkhuwarizmi,
quien estaba interesado en resolver ciertos problemas de aritmética y describió varios métodos para
resolverlos. Estos métodos fueron presentados como una lista de instrucciones específicas (como una
receta de cocina) y su nombre se utiliza para referirse a dichos métodos.

2.2. Definición
Un algoritmo es, en forma intuitiva, una receta, un conjunto de instrucciones o de especificaciones
sobre un proceso para hacer algo. Ese “algo” generalmente es la solución de un problema de algún tipo.
Formalmente un algoritmo se puede definir de la siguiente forma:

Un algoritmo puede definirse como una secuencia ordenada de pasos elementales, exenta de
ambigüedades, que lleva a la solución de un problema dado en un tiempo finito.

Para comprender la definición anterior se clarifica algunos conceptos.

Ejemplo: escriba un algoritmo que permita preparar una tortilla de papas de tres huevos.

Si la persona que resuelva el problema es un cocinero lo resuelve sin mayor nivel de detalle, pero si
no lo es, se deben describir los pasos necesarios para realizarlo:
Paso 1: Mezclar papas fritas, huevos y una pizca de sal en un recipiente.
Paso 2: Freir.

Esto podría resolver el problema, pero si la persona que lo ejecute no sabe cocinar, se debe detallar,
cada uno de los pasos mencionados, pues estos no son lo bastante simples para un principiante. De esta
manera el primer paso se puede descomponer en:

Ingreso 2020 5
Introducción a la Informática

Paso 1: Pelar las papas


Paso 2: Cortar las papas en cuadraditos
Paso 3: Freír las papas
Paso 4: Batir los huevos en un recipiente
Paso 5: Verter las papas en un recipiente y echar una pizca de sal

El tercer paso puede descomponerse en:


 Calentar el aceite en la sartén
 Verter las papas en la sartén
 Sacar las papas ya doradas en un recipiente

Nótese que si la tortilla la va a ejecutar un niño, alguna tareas, por ejemplo batir huevos, pueden
necesitar una mejor especificación.
Con este ejemplo se pretende mostrar que la lista de pasos elementales que compongan nuestro
algoritmo depende de quien sea el encargado de ejecutarlo. Si en particular, el problema va a ser resuelto
utilizando una computadora, el conjunto de pasos elementales conocidos es muy reducido, lo que implica un
alto grado de detalle para los algoritmos.

Se considera entonces como un paso elemental aquel que no puede volver a ser dividido en
otros más simples.

Otro aspecto importante de un algoritmo es su nivel de detalle, que no debe confundirse con el
concepto de paso elemental. En ocasiones, no se trata de descomponer una orden en acciones más simples
sino que se busca analizar cuáles son las órdenes relevantes para el problema. Para comprender lo
expuesto se lo analiza con un ejemplo:

Ejemplo: escriba un algoritmo que describa la manera en que Ud. se levanta todas las mañanas para
ir al trabajo.
Paso 1: Salir de la cama
Paso 2: Quitarse el pijama
Paso 3: Ducharse
Paso 4: Vestirse
Paso 5: Desayunar
Paso 6: Arrancar el auto para ir al trabajo

La solución del problema se expresó en seis pasos, descartando aspectos que se suponen o
sobreentienden, como “colocarse los zapatos al vestirse” o “abrir la puerta del auto” pues a nadie se le
ocurriría ir a trabajar descalzo. En cambio existen aspectos que no pueden obviarse o suponerse porque el

Ingreso 2020 6
Introducción a la Informática

algoritmo perdería lógica, por ejemplo el paso “vestirse”, no puede ser omitido. Puede discutirse si se
requiere un mayor nivel de detalle o no, pero no puede ser eliminado del algoritmo.
Un buen desarrollador de algoritmos deberá reconocer esos aspectos importantes y tratar de
simplificar al mínimo su especificación de manera de seguir resolviendo el problema con la menor cantidad
de órdenes posibles.
Además, en la definición de algoritmo se hace referencia a la ambigüedad y tiempo de respuesta,
debido a que todo algoritmo debe cumplir con ciertas propiedades para que se lo considere como tal y
proporcione el resultado deseado cuando un programa basado en él se presenta a una computadora.
Un algoritmo debe cumplir las siguientes propiedades:

Ausencia de Ambigüedad: si se trabaja dentro de cierto marco o contexto, la representación de cada


paso de un algoritmo debe tener una única interpretación.
Ejemplo: indique la forma de condimentar una salsa.
Incorrecto: ponerle algunas especies a la salsa.
Correcto: ponerle sal, pimienta y orégano a la salsa.

Generalidad: un algoritmo se puede realizar para varios problemas que se relacionan entre si, es
decir, se debe aplicar a un problema o clase de problemas específicos.
Ejemplo: indique la forma de marcar un número de teléfono.
Incorrecto: si la solución del algoritmo sirve para marcar solamente el número 4220234, solo tendrá
valor para ese número.
Correcto: si la solución es un método para marcar cualquier número, entonces es útil. Por supuesto,
debe haber alguna restricción a la generalidad de un algoritmo.

Tiempo de respuesta: la ejecución de un algoritmo debe finalizar después de que se haya llevado a
cabo una cantidad finita de pasos. De otra manera, no se puede exigir que la ejecución produzca una
solución.
Ejemplo: Llene la zanja con ese montón de arena
Algoritmo: tome una pala y empiece a echar arena en la zanja. Cuando se llene la zanja deténgase.
( se está seguro que en algún momento parará, aunque no se sabe cuanto tardará).

2.3. Dominio de un Algoritmo


La clase o el conjunto de datos y las condiciones para las cuales un algoritmo trabaja correctamente
se llama dominio. Cuando se trata de resolver cualquier problema es necesario definir el dominio del
algoritmo y después verificar que trabaja para todos los casos que se encuentran dentro de ese dominio.
Al decidir el dominio de un algoritmo es necesario incluir todas las situaciones similares, pero los
casos remotos o poco probables se pueden omitir.

Ingreso 2020 7
Introducción a la Informática

2.4. Errores en la Construcción de un Algoritmo

En la construcción de algoritmos se consideran dos tipos de errores:

 Errores de Dominio: se presentan cuando no se han especificado todas las situaciones que se
pueden presentar en la práctica o se ha descuidado la apreciación de su importancia. Las pruebas
más difíciles son aquellas que verifican que se ha seleccionado un dominio correcto para el
algoritmo. Cuando una situación no prevista se presenta, hay tres opciones:
 Ignorarla porque es improbable y quizás nunca ocurra.
 Restringir el dominio del algoritmo para excluirla.
 Corregir el algoritmo.

 Errores de Lógica: son aquellos errores que se detectan después de que se ha definido en forma
adecuada el dominio de un algoritmo, en la etapa de prueba o verificación. se deben
principalmente a las siguientes causas:
 Etapas incorrectas
 Secuencia incorrecta de etapas.

3. FORMAS DE EXPRESAR UN ALGORITMO

Un mismo algoritmo puede ser expresado de distintas formas.

 Lenguaje común. En el lenguaje normal que hablamos y escribimos; útil para comunicar un
algoritmo a otra persona o en una fase de análisis previo de un sistema computacional.

 Diagramas de flujo. Es un lenguaje gráfico; útil para visualizar en forma rápida la secuencia lógica
de pasos a seguir para un algoritmo y de gran ayuda para la traducción del mismo a un programa
de computación
 Pseudocódigo: Es una técnica para expresar en lenguaje natural la lógica de un programa, es
decir, su flujo de control. El seudocódigo no es un lenguaje de programación sino un modo de
plantear un proceso de forma que su traducción a un lenguaje de alto nivel sea sencillo para el
programador.
 Lenguajes de Programación: Es la forma obligada de expresión de un algoritmo para que pueda
ser leído, ejecutado y almacenado por el computador.

Ingreso 2020 8
Introducción a la Informática

3.1. Diagramas de Flujo


Un diagrama de flujo es la representación gráfica o visual de un algoritmo. Se usan en el
planeamiento, desarrollo y estructuración de un algoritmo. Mediante los diagramas de flujo el algoritmo se
puede comunicar y documentar (porque enseña y describe el proceso).
Formalmente, un diagrama de flujo es un diagrama formado por símbolos (cajas, bloques, figuras) y
flechas o líneas de flujo que conectan los símbolos entre si. Los símbolos denotan los pasos esenciales del
algoritmo y las flechas indican la secuencia. Se dibujan de tal manera que la dirección del flujo sea hacia
abajo o de izquierda a derecha.

3.2. Simbología Básica de los Diagramas de Flujo


Los símbolos que se describen a continuación, para la representación gráfica de los diagramas de
flujo, son de uso universal.
SÍMBOLO SIGNIFICADO

Indica principio o fin de un algoritmo.

Indica entrada de datos.

Indica la salida de la información.

Se usa generalmente para sentencias o enunciados de


asignación (acción de asignar) y para la realización de un
proceso matemático.

Permite evaluar una expresión relacional ó lógica que puede


tomar un valor verdadero o falso. En función de este resultado
el flujo del algoritmo seguirá una determinada dirección.

Se usa cuando el diagrama es largo y se requiere más de una


hoja de papel o para evitar líneas que se crucen.

Simbolizan módulos o segmentos lógicos

Indica la dirección del algoritmo en cada momento mediante


una flecha.

Ingreso 2020 9
Introducción a la Informática

3.3. Utilidad de los Diagramas de Flujo


El diagrama de flujo refleja los pasos sucesivos que el computador debe dar para llegar a la solución
de un problema. Las principales razones por las cuales es generalmente aconsejable el trazado de un
diagrama de flujo son las siguientes:

 Oportunidad de verificar la lógica de la solución.


 Sirve de guía al programador para la codificación del programa.
 Permite fácilmente modificar un programa.
 Es útil para la discusión grupal.
 Sirve para documentar el programa.

Ingreso 2020 10
Introducción a la Informática

ACTIVIDAD Nº 1: ALGORITMOS

1- Dados los enunciados de los siguientes problemas y su correspondiente algoritmo de


solución, decir si las soluciones propuestas cumplen con las propiedades que debe tener un
algoritmo; en el caso de no hacerlo indicar cuales son los errores.

a) Problema: Abordar un taxi


1. Situarse al borde de la acera de cara al lado apuesto de la calle.
2. Buscar la señal de taxi.
3. Al ver la señal, silbar y hacer ademanes para llamar su atención.
4. Fin

b) Problema: Cambiar la rueda pinchada de un automóvil teniendo un gato mecánico, una rueda
de reemplazo y una llave inglesa.
1. Aflojar los tornillos de la rueda pinchada con la llave inglesa
2. Ubicar el gato mecánico en su sitio
3. Levantar el gato hasta que la rueda pinchada pueda girar
4. Quitar los tornillos y la rueda pinchada.
5. Poner la rueda de repuesto y los tornillos.
6. Fin

c) Problema: Levantarse a las mañanas para ir al trabajo.


1. Apagar el despertador
2. Salir de la cama
3. Quitarse el pijama
4. Higienizarse
5. Vestirse
6. Si no hay tiempo, tomar el portafolio / la cartera e ir al paso 9
7. Desayunar
8. Buscar el portafolio o la cartera y e ir al paso 7
9. Salir de la casa
10. Fin

d) Problema: Cambiar un foco quemado de una lámpara en el techo, teniendo un foco nuevo
1. Buscar la escalera
2. Colocar la escalera debajo de la lámpara quemada
3. Elegir un foco nuevo similar al anterior
4. Subir por la escalera
5. Girar el foco quemado en sentido contrario al de las agujas del reloj
6. Ubicar el nuevo foco en el mismo lugar
7. Enroscar en el sentido de las agujas del reloj hasta que quede apretado
8. Bajar de la escalera
9. Fin

e) Problema: Obtener una determinada página de un libro.


1. Abrir el libro en la pagina 1.
2. Si la página que está examinando es la página 15 deténgase.
3. En caso contrario, observe la siguiente, pasando una hoja, si es necesario.
4. Repetir los pasos 2 y 3 tan a menudo como se requiera
5. Fin

Ingreso 2020 11
Introducción a la Informática

2- Escriba los algoritmos de solución para los siguientes problemas.


a) Preparar un té. Considere que si no dispone de un saquito de té debe preparar un mate cocido, y
que de seguro existe el saquito de mate cocido. Tenga en cuenta que la preparación de las dos
infusiones tienen muchos pasos en común.
b) Una persona desea ingresar a un recital a beneficio. Para obtener la entrada al mismo, deberá
presentarse en la ventanilla del club con un bolsón de pañales o bien con una caja de leche. En el
caso de que la persona no lleve los pañales o la leche, podrá comprar la entrada en la ventanilla
de dicho club.
c) Juan programó jugar al básquet con sus amigos el jueves de la semana que viene, en caso de no
poder hacerlo irá a visitar a su novia. El partido se realizará en la cancha del parque Aguirre si no
llueve, mientras que si está lloviendo a la hora programada, jugarán en el estadio techado del
colegio siempre y cuando no esté ocupado.
d) Una persona va por la ruta y se le pincha una rueda, para cambiar la misma deberá contar con
tres elementos (gato mecánico, rueda de auxilio y llave inglesa), los cuales no sabe si se
encuentran en el baúl del auto. Si no posee alguno de estos elementos necesarios llamará a la
grúa de auxilio.

Ingreso 2020 12
Introducción a la Informática

Entendido el concepto de algoritmo surge la pregunta: Cómo se pueden resolver los problemas para los que
no hay un método establecido o para los cuales no conocemos un algoritmo. Para ello proponemos el
siguiente método

4. MÉTODO HEURÍSTICO
1. Toma de Conciencia
Todos tenemos alguna capacidad para resolver los problemas en forma creativa, pero a menudo la
sobreestimación de esta capacidad es un gran obstáculo. A las personas que resuelven con éxito los
problemas les es difícil aceptar la necesidad de la heurística, ya que consideran que saben lo suficiente, sin
embargo, pocas de ellas tendrán un éxito completo y no habrá ninguna posibilidad de mejorar. Por otra
parte, los que se consideran ineptos para manejar problemas que no conocen bien tenderán a evitar las
situaciones difíciles y, por lo tanto, no podrán descubrir los progresos posibles. Entonces, como primer paso
para mejorar nuestras aptitudes, es necesario estar conscientes de ellas y saber controlar las habilidades.
Esto conduce al meollo de todos los métodos heurísticos:
- Debo estar consciente de lo que estoy haciendo.
Es necesario reconocer deliberadamente cada caso que se tome en la solución de un problema.
Desde el principio se debe adoptar una actitud receptiva. Todas las propuestas deben considerarse
tentativamente sin importar que tan obvias o imposibles parezcan. En esta forma se creará una conciencia y
nuevas soluciones pueden aparecer.
Para obtener algún beneficio de este método es necesario aceptar en forma tentativa todas las ideas que se
presenten. Es mejor rechazar una idea conscientemente que estar de acuerdo con ellas, sin haberla
analizado.
2. Definición
La definición de un problema implica la formulación de tres preguntas:
- Qué resultados se deben obtener?
Especifique con precisión qué resultados se requieren. Si los resultados van a tener un uso práctico los
datos originales se deben incluir en los resultados finales.
- Qué datos se nos proporcionan?
Defina todos los datos en forma precisa. Examine de nuevo las especificaciones de los mismos y encuentre
cuántos elementos de datos hay. Puede variar este número? Hay alguna restricción en el tipo de datos?
- Qué condiciones relacionan los datos a los resultados? Son satisfactorias estas condiciones (es decir,
aseguran que se obtendrán resultados correctos para todos los datos)?
Asegúrese de que no omite condiciones y de que comprende perfectamente los términos que se utilizan
para relacionar los datos y los resultados.
A menudo no se pueden establecer correctamente las condiciones hasta que se analiza más detalladamente
el problema. Sin embargo, es posible tener un conocimiento intuitivo de las condiciones y más adelante se
puede revisar la definición y adaptar la experiencia que se obtenga en el estudio de las soluciones posibles.
Tratar de introducir una notación adecuada para los datos y resultados, mediante la cual se pueden expresar
las condiciones en forma más clara y concisa.

Ingreso 2020 13
Introducción a la Informática

Es probable que al tratar de desarrollar una solución, se encuentren fallas en esta definición y las preguntas
se tengan que volver a establecer. Siempre se debe considerar que una definición preliminar es tentativa. No
debe cambiarse sin una razón positiva y hasta entonces es necesario apegarse estrictamente a ella.
3. Análisis del Problema
Después de responder a la pregunta ¿Entiendo el problema? Sé cómo resolverlo?
“Entiendo el problema” entonces procedo a desarrollar un algoritmo, pero a menudo está equivocada. Es
necesario comparar la resolución propuesta y los pasos mediante los cuales se obtuvo con la definición
original, para ver si hay discrepancias entre ellas. Por lo general las fallas se presentan por imponer
condiciones incorrectas, pero también se deben verificar los datos y los resultados esperados.
La habilidad para seleccionar un buen método depende principalmente de la experiencia previa, pero se
puede indicar una guía importante:
- Seleccione el procedimiento más sencillo y claro, el que tenga menos sutilezas.
En este paso nos respondemos a la pregunta ¿Cómo?
Comenzamos a diseñar el algoritmo correspondiente y expresamos las entradas y resultados que se quieren
obtener con los nombres de variables correspondientes.
La eficiencia de un algoritmo (su rapidez de ejecución) es de gran importancia y a menudo se utiliza como el
criterio básico para seleccionar un método. No obstante , es mejor buscar y desarrollar el algoritmo que sea
más eficiente desde el punto de vista del que lo resuelve, es decir, la solución que se pueda convertir en
algoritmo con el mejor esfuerzo. Con frecuencia esta solución también será muy rápida. Sea la más rápida o
no, siempre es más fácil retroceder y buscar mejores alternativas una vez que se ha obtenido una solución
satisfactoria.

4. Elaboración del Diagrama de Flujo


En este paso expresamos el algoritmo diseñado en el paso anterior, en un lenguaje natural o de
Pseudocódigo, a través de un Diagrama de Flujo.

5. Verificación
En este punto se debe verificar la solución propuesta. Una de las mejores técnicas consiste en tabular el
diagrama de flujo, teniendo cuidado de utilizar números distintos a los que se emplearon antes. Debe
procurar estar seguro de que se prueben todas las situaciones posibles. La tabulación puede ser un proceso
largo y tedioso, pero es el más sencillo para encontrar errores en la solución del problema.
Se recomienda lo siguiente:
- . Encontrar subproblemas y cruces ayuda en el proceso de resolución y en la
verificación.
- Seleccionar conjuntos de datos de prueba que permitan que se utilicen todas las
trayectorias en el diagrama de flujo.
- Es obvio que si una trayectoria en el diagrama de flujo no se ha verificado no se sabe
si funciona o no. La selección de conjuntos de datos de prueba es fácil en problemas sencillos: observe
todas las cajas de decisión (rombos) en el diagrama de flujo que hacen que se utilicen nuevas trayectorias (o
sea, las que no terminan con ciclos) y prepare un conjunto de datos para cada una de las alternativas que se
presenten.

Ingreso 2020 14
Introducción a la Informática

- Además del problema de seleccionar los datos adecuados, en la tabulación hay dos
causas por las cuales se pueden cometer errores. Primero, nunca debe suponerse que un nombre de
variable tiene un valor particular asociada a él, y segundo, cada valor en la tabla debe corresponder a la
acción de una sola caja del diagrama. Para reunir estos puntos:
- Cuando haga una tabulación se debe comportar como una computadora, no como un
ser humano; en otras palabras, debe carecer de iniciativa. Lo que es más importante, debe tabular lo que
diagrama hace y no lo que usted piensa o espera que haga.

5. ESTRUCTURAS DE CONTROL BÁSICAS

Al ser un algoritmo una secuencia de pasos ordenados, estos deben seguir una trayectoria para su
ejecución desde el primer paso hasta el último. Esta trayectoria se denomina flujo de control que indica el
orden en el cual deben ejecutarse los pasos elementales.
Para organizar el flujo de control de un algoritmo se utilizan estructuras de control, estas son
construcciones algorítmicas lineales, de selección e iteración. Las dos últimas alteran el flujo de control lineal
del algoritmo.
Las estructuras de control básicas para organizar el flujo de control en un algoritmo, son las
siguientes:
 Estructura secuencial
 Estructura de selección
 Estructura de iteración

5.1. Estructura Secuencial


La estructura de control más simple está representada por una sucesión de acciones que se ejecutan
de arriba hacia abajo sin bifurcaciones, es decir, una acción a continuación de otra.
Ejemplo: escriba un algoritmo que describa la forma en que una persona se levanta todas las
mañanas para ir al trabajo.

Paso 1: Salir de la cama


Paso 2: Quitarse el pijama
Paso 3: Ducharse
Paso 4: Vestirse
Paso 5: Desayunar
Paso 6: Arrancar el auto para ir al trabajo
A continuación se presenta gráficamente esta estructura.

Acción 1

Acción 2

Acción 3

Ingreso 2020 15
Introducción a la Informática

5.2. Estructura de Selección

En un algoritmo representativo de un problema real es prácticamente imposible que las instrucciones


sean secuenciales puras. Es necesario tomar decisiones en función de los datos del problema.
A través de la selección se incorpora, a la especificación del algoritmo, la capacidad de decisión. De
esta forma será posible seleccionar una de dos alternativas de acción posibles durante la ejecución del
algoritmo.
La selección se expresa con el siguiente pseudocodigo:
Si (condición)
entonces
acción o acciones a realizar si la condición es verdadera (1)
sino
acción o acciones a realizar si la condición es verdadera (2)
FinSi
donde condición es una expresión que al ser evaluada puede tomar solamente uno de los dos
valores posibles: verdadero o falso.
En el caso que la condición a evaluar resulte verdadera se ejecutarán las acciones (1) y no se
ejecutarán las acciones (2). Si la condición a evaluar resulta falsa se ejecutarán las acciones (2) y no las
acciones (1).
A continuación se presenta gráficamente esta estructura.

falso verdadero
Evaluar
condición

Acciones si la Acciones si la
condición es falsa condición es verdadera

Puede ocurrir que no se tengan que representar acciones cuando la condición es falsa. En este caso
se utilizará la siguiente notación:
Si (condición)
entonces
acción o acciones a realizar si la condición es verdadera
FinSi
A continuación se presenta gráficamente esta estructura.

falso verdadero
Evaluar
condición

Acciones si la
condición es verdadera

Ingreso 2020 16
Introducción a la Informática

Si al evaluar un decisión toma más de dos valores, se utilizará la siguiente notación:

Si (variable de decisión)
Valor 1: Acción 1
Valor 2: Acción 2
..........................
Valor N: Acción N
[Otro: Acción N+1]

A continuación se presenta gráficamente esta estructura.

Evaluar la
variable de
decisión
condición

Acciones cuando variable Acciones cuando variable Acciones cuando variable


de decisión = valor 1 de decisión = valor 2 de decisión = valor n

5.3. Estructura de Iteración

Una extensión natural de una estructura secuencial consiste en repetir N veces un bloque de
acciones. El fin de la repetición dependerá de un valor predefinido o del cumplimiento de una determinada
condición.
Existen dos formas de expresar esta estructura la Repetición y la Iteración en este curso solo
utilizaremos la iteración.

Iteración
Puede ocurrir que se desee ejecutar un conjunto de acciones de un algoritmo desconociendo el
número exacto de veces que se ejecutan. Para estos casos existen estructuras de control iterativas
condicionales, es decir, las acciones se ejecutan dependiendo de la evaluación de una condición.
Por lo tanto, dentro de una estructura iterativa, además de una serie de pasos elementales que se
repiten; es necesario contar con un mecanismo que lo detenga.
Podemos definir una estructura iterativa como la estructura de control que permite al algoritmo
ejecutar en forma repetitiva un conjunto de acciones utilizando una condición para indicar su finalización.
Estas estructuras se clasifican en pre-condicionales y pos-condicionales.
Las estructuras pre-condicionales evalúan la condición y, si es verdadera, se ejecuta el conjunto de
acciones; esto hace que dicho conjunto se puede ejecutar 0, 1 o más veces.
La notación para esta estructura es la siguiente:

Ingreso 2020 17
Introducción a la Informática

Mientras (condición)
Acción o acciones a realizar en caso de que la condición sea verdadera.
FinMientras
La condición es una expresión que sólo puede tener uno de dos valores posibles: verdadero o falso.
A continuación se presenta gráficamente esta estructura.

falso verdadero
Condición

Ejecutar las acciones


correspondientes

Las estructuras pos-condicionales, primero se ejecuta el conjunto de acciones, luego se evalúa la


condición y, si es falsa, se ejecuta nuevamente el bloque de acciones. A diferencia de la estructura anterior
iterativa anterior, el conjunto de acciones se debe ejecutar 1 o más veces. Nótese que, en este caso, el
bloque de acción se ejecuta antes de evaluar la condición, por lo tanto se lleva a cabo al menos una vez.
La notación a utilizar para esta estructura es la siguiente:
Repetir
Acción o acciones a realizar en caso de que la condición sea falsa
Hasta (condición)

A continuación se presenta gráficamente esta estructura.

Ejecuta las acciones


correspondientes

falso
Evaluar
condición

verdadero

Ingreso 2020 18
Introducción a la Informática

6 TIPO DE DATOS
6.1. Datos Simples
Los programas que implementan los algoritmos necesitan alguna manera de representar los objetos
del mundo real. Para ello los algoritmos operan sobre datos y estructuras de datos de distinta naturaleza,
tales como números, letras, símbolos, etc.
Por lo tanto un dato es la expresión general que describe los objetos con los cuales opera una
computadora. Los tipos de datos están ligados a un conjunto de operaciones que permiten su creación y
manipulación.
Los tipos de datos se caracterizan por:
 Un rango de valores posibles
 Un conjunto de operaciones realizables sobre ese tipo
 Su representación
Los tipos de datos simples son:
 Numérico
 Lógico
 Carácter

6.1.1. Tipo de Dato Numérico


El tipo de dato numérico es el conjunto de los valores numéricos que pueden representarse de dos
formas:

 Enteros
 Reales
Enteros
El tipo entero consiste de un subconjunto finito de los números enteros y su tamaño puede variar
según el valor que tenga:

...-3, -2, -1, 0, 1, 2, 3...

Dado que una computadora tiene memoria finita, la cantidad de valores enteros que se pueden
representar sobre ella son finitos, por esto se deduce que existe un número entero máximo y otro mínimo.
La cantidad de valores que se pueden representar depende de la cantidad de memoria (bits) que se
utilicen para representar un entero.

Ejemplo:

Hay sistemas de representación numérica que utilizan 16 dígitos binarios (bits) para
almacenar en memoria cada número entero, permitiendo un rango de valores enteros
entre –215 y +215. Otros sistemas utilizan 32 bits, por lo que el rango es entre –231 y
+231.

Ingreso 2020 19
Introducción a la Informática

En general, para cada computadora existe el entero maxint, tal que todo número entero n puede ser
representado si

-maxint <= n <= maxint

donde maxint identifica al número entero más grande que se puede representar con la cantidad de
dígitos binarios disponibles.

Reales
El tipo de dato real es una clase de dato numérico que permite representar números decimales. Los
valores fraccionarios forman una serie ordenada, desde un valor mínimo negativo, hasta un valor máximo
determinado por la norma IEEE 754, de 1985, pero los valores no están distribuidos de manera uniforma en
ese intervalo, como sucede con los enteros.
Se debe tener en cuenta que el tipo de dato real tiene una representación finita de los números
reales; dicha representación tiene una precisión fija, es decir, un número fijo de dígitos significativos. Esta
condición es la que establece una diferencia con la representación matemática de los números reales. En
este caso se tienen infinitos números diferentes, en tanto que la cantidad de representaciones del tipo de
dato real está limitada por el espacio en memoria disponible.
La representación para números reales se denomina coma flotante. Esta es una generalización de
la conocida notación científica, que consiste en definir cada número como una mantisa (o fracción decimal),
que da los dígitos contenidos en el número; y un exponente (o característica), que determina el lugar del
punto decimal con respecto a estos dígitos.

Ejemplo:
Sea el número 89412950000000000. Su representación científica en cualquier
16
calculadora es 8,941295 x 10 .
La mantisa del número real representado en la computadora en este caso es : 0,8941295
y el exponente 17. Nótese que, a diferencia de la representación anterior, la coma se
ubica inmediatamente a la izquierda del primer dígito significativo y, por lo tanto, la
magnitud del exponente se incrementa en 1.
Si el número es 0, 0000000000356798, su representación utilizando notación científica es
-11
3,56798 x 10 .
La mantisa es 0, 356798 y el exponente es –10.
Se observa que un exponente positivo lleva a desplazar la coma decimal tantos lugares
hacia la derecha como lo indica su magnitud, mientras un exponente negativo implica un
desplazamiento hacia la izquierda.

Ingreso 2020 20
Introducción a la Informática

6.1.2. Tipo de Dato “Carácter”


Un tipo de dato carácter proporciona objetos de la clase de datos que contiene solo un elemento como
su valor. Este conjunto de elementos está establecido y normalizado por un estándar llamado ASCII
(American Standard Code for Information Interchange), el cual establece cuales son los elementos y el orden
de precedencia entre los mismos. Los elementos son las letras, número y símbolos especiales disponibles
en el teclado de la computadora y algunos otros elementos gráficos. Cabe acotar que el código ASCII no fue
único, pero es el más utilizado internacionalmente.
Son elementos carácter:

 Letras minúsculas: ‘a’, ‘b’, ‘c’, ..., ‘y’, ‘z’


 Letras mayúsculas: ‘A’, ‘B’, ‘C’, ..., ‘Y’, ‘Z’.
 Dígitos: ‘0’, ‘1’, ‘2’, ‘3’, ..., ‘8’, ‘9’.
 Caracteres especiales tales como: ‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ...

Se debe tener en cuenta que no es lo mismo el valor entero 1 que el símbolo carácter ‘1’. Un valor del
tipo de dato carácter es solo uno de los símbolos mencionados.

Operaciones sobre Datos Carácter

Los operadores relacionales descriptos en el tipo de dato numérico, pueden utilizarse también sobre
los valores del tipo de dato carácter. Esto es, dos valores de tipo carácter se pueden comparar por =, <>, >,
<, >=, >=; el resultado de cualquiera de ellos es un valor de tipo de dato lógico.
La comparación de dos caracteres es posible dado que el código ASCII define para cada símbolo un
valor en su escala. De esta manera, al comparar dos símbolos, para determinar el resultado se utiliza el
valor dado por el código.
Dentro del código ASCII los valores de los dígitos son menores que los valores de las letras
mayúsculas, y estos a su vez menores que los de las letras minúsculas. Los valores dentro del código para
los símbolos especiales, o bien son menores que los dígitos, o bien mayores que las letras minúsculas.

Ejemplo:

(á´= Á´) da como resultado falso


(´c´< ´Z´) da como resultado falso
(´c´< ´z´) da como resultado verdadero
(´X´ > ´5´) da como resultado verdadero
(´ ´ < ´H´) da como resultado verdadero
observación: ´ ´ representa un espacio en blanco
(´4´= 4) no puede evaluarse pues los operandos son de tipos
distintos
(7 > 2.4) or (9 = 3) es una expresión que da un resultado verdadero

Ingreso 2020 21
Introducción a la Informática

6.1.3. Tipo de Dato “Alfanumérico”, “String” o “Cadena de Caracteres”

En la mayoría de los lenguajes de programación existe un tipo éstandar que es la cadena de


caracteres(string).
De acuerdo a definiciones previas, un carácter es una representación determinada de una letra,
número o símbolo que se guarda internamente de acuerdo a su representación determinada por el
código ASCII. Cuando se trabaja con el tipo de dato string, se tienen n caracteres tratados como
una única variable, donde n proviene de la definición del string.
Un tipo de dato String es una sucesión de caracteres que se almacenan en un área contigua
de memoria y que puede ser leído o escrito.

Ejemplos de asignación en variables string


c1 = ´pepe´
c2 = ´678@#$abc´
denominación = ´remera deportiva´
letra = ‘f’

6.1.4. Tipo de Dato “Lógico”

El tipo de dato lógico, también llamado booleano, en honor al matemático británico George Boole
(quien desarrolló el Álgebra lógica o de Boole), es un dato que puede tomar un valor entre un conjunto
formado por dos posibles:

 Verdadero (true)
 Falso (false)

Se utiliza en casos donde se representan dos alternativas a una condición. Por ejemplo, si se debe
determinar si un valor es primo; la respuesta será verdadera ( true) si el número es divisible solamente por si
mismo y la unidad; en caso contrario, si tiene algún otro divisor, la respuesta será falsa (false).

6.2. Constantes y Variables

Los algoritmos contienen ciertos valores que no deben cambiar durante la ejecución del mismo. Tales
valores se llaman Constantes. De igual forma existen otros valores que cambian durante la ejecución del
mismo, estas son las Variables.
Una constante es una partida de datos(objetos) que permanece sin cambios durante todo el
desarrollo del algoritmo o durante la ejecución del programa.
Una variable es un objeto o partida de datos cuyo valor puede cambiar durante el desarrollo del
algoritmo o ejecución del programa.

Ingreso 2020 22
Introducción a la Informática

6.3. Expresión: Definición

“Una expresión es un conjunto de variables y/o constantes unidas por operadores”.


Dependiendo del tipo de operadores con que se este trabajando y el resultado obtenido podremos
hablar de Expresiones Aritméticas o Expresiones Lógicas.

Operadores Aritméticos
+ Suma
- Resta
* Multiplicación
/ División
Potencia
Una Expresión Aritmética es aquella que cuando se la evalúa siempre se obtiene un resultado numérico.
Ejemplos de expresiones aritméticas

2 * 5 + 7 = 17
3 * A / 4 + Cont 2
Suma = Suma + N

Operadores Relacionales
< Menor
> Mayor
<= Menor igual
>= Mayor igual
= Igual a
<> Distinto a
Operadores Lógicos
Los operadores lógicos o boléanos básicos son:

 Negación (Not)
 Conjunción (And)
 Disyunción (Or)

El resultado de estas operaciones es el correspondiente a las conocidas tablas de verdad.


Los operadores relacionales y lógicos mencionados anteriormente, que permiten comparar dos valores, dan
como resultado un valor lógico.

Ejemplo:

(8 < 4) da como resultado falso


(2.5 * 4 = 10) da como resultado verdadero
(8 > 3) da como resultado verdadero
not (8 > 3) da como resultado falso
(7 > 2.4), (9 = 3) son expresiones verdaderas y falsa respectivamente
(7 > 2.4) and (9 = 3) una expresión que da un resultado falso
(7 > 2.4) or (9 = 3) es una expresión que da un resultado verdadero

Ingreso 2020 23
Introducción a la Informática

Para cada operador lógico se define un símbolo, los cuales se muestran en la tabla 2.1.

Operación Operador Simbolización

Conjunción Y / AND 
Disyunción O / OR 
Negación NO / NOT 
Tabla 2.1. Conectores Lógicos
Tablas de verdad
Para poder analizar cualquier proposición compuesta y decir qué valor de verdad tiene, es usual
hacerlo a través de lo que se conoce como tabla de verdad, la cual se define de la siguiente manera:

La tabla de verdad de una proposición es, como su nombre lo indica, una tabla donde se muestran
todas las combinaciones posibles de los valores de verdad de dicha proposición.

Conjunción
Dadas dos proposiciones cualquiera p y q, la proposición molecular p  q representa la conjunción
de p y q.
La conjunción de dos proposiciones es cierta únicamente en el caso en que ambas proposiciones lo
sean.

p q pq

V V V
V F F
F V F
F F F

Disyunción

p q pq

V V V
V F V
F V V
F F F

Negación
Dada una proposición P su negación  P permitirá obtener el valor de verdad opuesto.

Ingreso 2020 24
Introducción a la Informática

El valor de verdad de la negación de una proposición verdadera es falso y el valor de verdad de la


negación de una proposición falsa es verdadero.

p p

V F
F V

Ejemplos de Expresiones Lógicas


 (8 < 4) da como resultado falso
 (2.5 * 4= 10) da como resultado verdadero
 (8 > 3) da como resultado verdadero
 NOT (8 > 3) da como resultado falso
 (7 > 2.4) AND (9=3) es una expresión que da un resultado falso
 (7 > 2.4) OR (9=3) es una expresión que da un resultado verdadero

Orden de Evaluación en la expresiones


Operador Prioridad
NOT Más alta (se evalúa primero)
*, /, AND 
+, -, OR

<, >, <=, >=, =, <>,
Más baja ( se evalúa al último)
Si existen paréntesis, las expresiones de su interior se evalúan primero

Ingreso 2020 25
Introducción a la Informática

ACTIVIDAD Nº 2: TIPOS DE DATOS y EXPRESIONES

1.- Dados los siguientes valores, indicar a qué tipo de dato corresponden:

3 -----------------------------------------------------------
‘A’ ---------------------------------------------------------
-5 ----------------------------------------------------------
5.2 ---------------------------------------------------------
-2.6 --------------------------------------------------------
True -----------------------------------------------------
‘a’ ---------------------------------------------------------
“casa” -----------------------------------------------------
False ----------------------------------------------------
0.1545876 ------------------------------------------------
“2013” ----------------------------------------------------

2 - Dadas las siguientes expresiones algebraicas, indicar el resultado y el tipo de resultado que se
obtiene al realizar la evaluación de las mismas.

a) A=3

b) A = -2

c)

d) A=4

PI=3.14
e) Radio= 3.2

f) ‘c’ > ‘f’

g) “coche” = “Coche”

h) ‘x’ < ‘z’ and ‘x’ < ’y’

Ingreso 2020 26
Introducción a la Informática

3. Dadas las siguientes expresiones, identifique variables, constantes, tipos de operadores, calcule el
resultado e indique de que tipo es el mismo.

Variables Ctes, Tipo del


Asignación Expresión Resultado
Operadores resultado
B - A * (B + C) * 2 + 1 ..............

A + C * 3 - 2 / 12 ..............
A=1, B=5,
C=0
((C +3 * (5 + 2) / 10)* A)  (- 1) ..............

(A + 10 / 5 * A – (B  2) ) * (- 1) ..............

A* B + ( B - C ) * 3 / (B –3) .............

A = (A + ( B - C ) * 3) ..............
A=1, B= -2,
A+B-C/3 ..............
C=3
C > (A + ( B - C ) * 3)

(A - B - C / 3+2)  (-2) ..............

(2+3*N1) <> 6 + (N2-1) ..............

(1+(2/2)*N2) < 4 * N1 ..............


N1=3, N2=6
2 - 6/2 * (N1 - N2) = 0 ..............

N2 >= N1+ (3 / N1) ..............

S  2 <= R + S ..............

(S+S)* (-1) >= (R+1)  (-1) ..............

T and (R <= S) or (not U) ..............


R=2, S=6 R<= S / 3 and T ..............
T= verdadero
Not U and ( S < 1 ) or T ..............
U= falso
T and ( R<= 2 ) ..............

T or U and ( R < S ) ..............

(R*2> S-3) or (R>S-1) and


..............
(S<5)

Ingreso 2020 27
Introducción a la Informática

4. Dados los siguientes problemas y su correspondiente algoritmo de solución, expresados en


Seudocódigo, se pide:
a) Determinar datos de entrada, resultados y dominio del problema.
b) Expresar mediante diagramas de flujo los algoritmos propuestos.
c) Verificar la solución propuesta.

a) Leer un número, determinar y mostrar, el número ingresado, el anterior y el siguiente


1. Inicio
2. Leer NUM
3. ANT = NUM - 1
4. SIG = NUM + 1
5. Mostrar NUM, ANT y SIG
6. Fin
c) Leer dos números intercambiar sus valores y mostrar sus valores antes y después del intercambio.
1. Inicio
2. Leer X
3. Leer Y
4. Mostrar “Valor X:” X
5. Mostrar “Valor Y:” Y
6. AUX = X
7. X = Y
8. Y = AUX
9. Mostrar “Valor X:” X
10. Mostrar “Valor Y:” Y
11. Fin
e) Leer un número entero, determinar si el mismo es Par o Impar.
1. Inicio
2. Leer NUM
3. P = Int (NUM/2) * 2
4. Si ( P = NUM)
Entonces
5. Mostrar “El número es Par”
Sino
6 Mostrar “El número es Impar”
7. FinSi
8. Fin

Ingreso 2020 28
Introducción a la Informática

ACTIVIDAD Nº 3: ALGORITMOS Y DIAGRAMAS DE FLUJO


1- Dados los siguientes problemas, aplicar el Método Heurístico para su resolución.
a) Leer la base y la altura de un triángulo, calcular y mostrar la superficie del mismo
b) Leer el radio de una circunferencia, calcular el área y la longitud de la misma.
c) Leer tres números, calcular y mostrar el resultado de la siguiente operación algebraica: A * B + 32/ 8
+ 7* C.
d) Leer una medida expresada en metros, calcular y mostrar su equivalente en decímetros,
centímetros y milímetros.
e) Leer 3 números, calcular y mostrar el promedio de los mismos.
f) Una persona desea invertir su capital en un banco y desea saber cuánto dinero ganará después de
seis meses si el banco paga a razón de 2% mensual.
g) Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas. Desea saber
cuánto dinero obtendrá en concepto de comisiones por las tres ventas que realizó en el mes y el
total que recibirá tomando en cuenta su sueldo base y comisiones.
h) Una tienda ofrece un descuento del 15% sobre el total de la compra. Calcular e imprimir el monto a
pagar de la compra.
i) Leer 4 variables, cada una representa la cantidad de plata que tienen que cobrar los obreros de una
fábrica. Calcular cuánto dinero debe disponer la empresa para poder pagar.
j) Se desea saber el porcentaje de hombres y de mujeres que hay en una clase determinada.

2. Verificar los siguientes algoritmos especificando los resultados obtenidos con los valores
indicados para cada variables en la tabla 1, luego comparar con el valor esperado de dicha tabla e
indicar si se ha obtenido el mismo resultado.

Identificadores Resultado Obtenido


Diagrama de flujo A B

a) 5 2

b) 3 4

c) 2 -1

d) -1 4

e) -2 -4

f) 3 5

g) 2 7

h) 4 5

Ingreso 2020 29
Introducción a la Informática

a) b) c)
A, B
A, B
A, B
R = B - A * (B + A) * 2 + 1
R= A + B * 3 – (24/12)
R= ((B+ 3 * (5 + 2) / 10))* A (-1)
R
R
R

d) e) f)

A, B A, B A, B

R= (A + 10 / 5 * A – (B - 2)) R= (B+ 3) * (5 + A / 10) R= A * ((B  2)* 3) + 5 / 2

R R R

ACTIVIDAD Nº 4: ALGORITMOS Y DIAGRAMAS DE FLUJO-ESTRUCTURA


SELECTIVA

1. Dados los siguientes problemas. Realizar el algoritmo de solución correspondiente, utilizando el


Método Heurístico.
a) Leer un número, encontrar el valor absoluto, mostrar el número y su valor absoluto.
b) Leer un número entero mostrar si es positivo, negativo o nulo.
c) Leer un número entero, determinar si el mismo es Par o Impar.
d) Leer dos números enteros, mostrar aquellos que sean de tres dígitos.
e) Leer las edades de 2 niños en edad escolar, mostrar la edad del mayor de ellos. Se asume que las
edades leídas son distintas.
f) Leer tres números enteros (distintos) que representan las edades de 3 niños en edad escolar, se pide:
g) Mostrar la edad del niño que tenga entre 8 y 12 años inclusive. Mostrar la menor edad
h) 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 $10.
Cada minuto adicional cuesta $5.

Ingreso 2020 30
Introducción a la Informática

i) Leer un número de 3 dígitos imprimir los dígitos que lo componen y en qué posición.
j) Leer un número de 3 cifras, se pide:
Controlar si el numero ingresados es de 3 dígitos, en cuyo caso se debe mostrar:
 El primer y el último dígito, solo si el digito central es par.
 La suma del primer más el último dígito, si el digito central es impar.
 El mensaje “Capicúa” si el número ingresado lo es.
Caso contrario mostrar el mensaje “numero incorrecto”
k) Leer 3 números de un dígito, se pide componer con ellos un número de 3 dígitos y mostrar el
número obtenido.
Ejemplo: A= 4 B= 7 C= 9 Número obtenido NUM= 479
l) Leer un número entero, mostrarlo si es de dos dígitos e impar.
m) Leer dos números determinar si uno es múltiplo del otro.
n) Leer el sueldo de un empleado, se pide mostrar el sueldo incrementado de acuerdo a la siguiente
tabla:

Sueldo Porcentaje de Incremento


0 a 1000 15 %
1001 a 2000 10%
2001 en adelante 5%

ACTIVIDAD Nº 5: ALGORITMOS Y DIAGRAMAS DE FLUJO-ESTRUCTURAS


ITERATIVAS
1. Dados los siguientes problemas y su correspondiente algoritmo de solución, se pide:
I. Determinar datos de entrada, resultados y dominio del problema.
II. Expresar mediante diagramas de flujo los algoritmos propuestos.
III. Verificar la solución propuesta.
a) Leer diez números enteros, se pide calcular y mostrar la suma de los mismos.
1. Inicio
2. SUM = 0.
3. C = 1
4. Mientras (C <= 10)
5. Leer NUM
6. SUM = SUM + NUM
7. C=C+1
8. FinMientras
9. Mostrar SUM
10. Fin

Ingreso 2020 31
Introducción a la Informática

b) Dadas cincuenta monedas, de 25 o 50 ctvos, o de 1 peso, calcular y mostrar cuantas monedas hay
de cada valor

1. Inicio
2. Cant = 0
3. C25 = 0
4. C50 = 0
5. C1 = 0
6 Repetir
6. Leer Moneda
7. Si ( Moneda = 25)
Entonces
8. C25= C25 +1
Sino
9. Si ( Moneda = 50)
Entonces
10 . C50= C50 + 1
Sino
11. Si ( Moneda = 1)
Entonces
1. C1= C1 +1
2. FinSi
3. FinSi
4. FinSi
13. Cant = Cant + 1
14. Hasta (Cant = 50)
15. Mostrar C25, C50, C1
16. Fin
c) Leer cincuenta números enteros, se pide calcular y mostrar el promedio de los mismos.
1. Inicio
2. SUM = 0.
3. C = 0
4. Mientras (C < 50)
5. Leer NUM
6. SUM = SUM + NUM
7. C=C+1
8. FinMientras
9. PROM = SUM / C
10. Mostrar PROM
11. Fin
d) Leer N números enteros, calcular y mostrar la suma de los nros. positivos y la cantidad de los
nros. negativos y nulos.
1. Inicio
2. SUMP = 0.
3. CNEG = 0.
4. CNU = 0.
5. C = 1
6. Leer N
7. Mientras (C <= N)
8. Leer NUM
9. Si (NUM >0 )
Entonces
10. SUMP = SUMP +NUM
Sino
11. Si (NUM < 0)
Entonces
12. CNEG = CNEG + 1

Ingreso 2020 32
Introducción a la Informática

Sino
13. CNU = CNU + 1
14. FinSi
15. FinSi
16. C=C+1
17. FinMientras
18. Mostrar SUMP, CNEG, CNU
19. Fin

2. Dados los siguientes diagramas de flujo, se pide:


I. Indicar el problema que resuelve
II. Determinar datos de entrada y salida y estructuras de control utilizadas
III. Verificar la solución propuesta con al menos 3 valores de prueba.
a)

P=0
C=1
SUM = 0

C N SI

NO NUM

PROM = SUM / P M
AUX = INT(NUM / 2 ) * 2

PROM
NO SI
AUX = NUM

AUX = INT(NUM / 5 ) * 5

NO SI
AUX = NUM

SUM = SUM + NUM

P=P+1

C=C+1

Ingreso 2020 33
Introducción a la Informática

b)

CONT = 25

NO
CONT ≤ 83
R =INT(CONT/2)*2

NO SI
CONT = R

CONT

CONT = CONT + 1

c)

C=1
C30 = 0
C80 = 0

SI
C N

NO A
C30,C80
NO SI
A > 0  A<30

NO SI
A >80 C30=C30 + 1

C80=C80 + 1

C=C+1

Ingreso 2020 34
Introducción a la Informática

3. Dados los siguientes problemas. Realizar el algoritmo de solución correspondiente, utilizando el


Método Heurístico.
a) Leer 20 números, calcular e mostrar el promedio de los mismos.
b) Leer N números, calcular e mostrar el promedio de los mismos.
c) Leer una serie de números, cuyo final está dado por el ingreso del número 0 (cero), calcular e
mostrar el promedio de los mismos.
d) Leer 100 números, mostrar aquellos que sean mayores a 74
e) Leer 100 números mostrar aquellos que sean múltiplos de tres y no de cinco.
f) Leer dos números enteros N1 y N2, calcular y mostrar la suma de los números comprendidos
entre N1 y N2.
g) Leer 100 números enteros, mostrar el mayor y el menor de los números ingresados.
h) Leer un número NUM, mostrar todos los números desde 1 a NUM, si este es positivo; caso
contrario, mostrar el mensaje “INCORRECTO” y el número ingresado.
i) Leer N números, se pide imprimir el porcentaje de números positivos
j) Leer N números positivos, mostrar:
 Suma de números pares
 Cantidad de números impares.
 Cantidad de números pares de tres dígitos.
k) Leer una serie de números cuyo final está dado por un nro negativo, se pide imprimir:
a) Cantidad de números múltiplos de 5
b) Promedio de números pares

l) Leer una serie de números cuyo final está dado por el ingreso del número 999, se pide imprimir
la cantidad de números de 3 dígitos múltiplos de 6

m) Leer una serie de números de 3 dígitos cuyo final esta dado por el ingreso del número 999,
mostrar:
 Cantidad de números capicúas ingresados.
 La suma de aquellos números cuyo dígito de la unidad sea par
 Cantidad números cuyo dígito de la unidad sea impar
n) Leer N números enteros. Al finalizar el ingreso de los mismos mostrar el mensaje
“INGRESADO” si el número 25 estaba entre ellos.
o) Leer una serie de números enteros cuyo final viene dado por el ingreso del número 0. Se pide
mostrar la cantidad de números impares y el porcentaje de los números pares de la serie.
p) Leer N pares de números enteros, mostrar el mayor de cada par, o el mensaje “IGUALES”, en
el caso de que lo sean.
q) Leer N pares de datos correspondientes a los empleados de distintas sucursales de un banco
nacional: código de empleado y código de sucursal, mostrar:
 Los códigos de empleados de la sucursal de la ciudad de Salta.
 La cantidad de empleados de Tucumán.
 El mayor código de empleado

Ingreso 2020 35
Introducción a la Informática

Código Descripción
sucursal
1 Salta
2 Sgo. del Estero
3 Tucumán
u) Leer N cuaternas de datos correspondientes a los artículos de un negocio: Código del
artículo, Cantidad de unidades disponibles, Costo por unidad, Código de marca, mostrar:
 La cantidad de artículos que poseen cantidad de unidades disponibles menores que 100.
 Los códigos de los artículos cuyo código de marca sea igual a 355 y la cantidad de
unidades disponibles sea mayor a 50.
 El promedio de los costos por unidad de los artículos que no supere los 5 pesos
 El mayor código de articulo
v) En el Hospital de Niños se lleva a cabo un control anual de las enfermedades infecciosas; para
ello se tiene en cuenta los siguientes datos de N niños: edad, sexo (varón/ mujer) y enfermedad
(1-hepatitis, 2-sarampión, 3-otra enfermedad infecciosa). Se pide calcular y mostrar:
 La cantidad de varones afectados con hepatitis que tengan entre 8 y 12 años.-
 El porcentaje de mujeres afectados de sarampión.
 La cantidad de niños menores de 4 años que ingresaron al hospital con otras
enfermedades infecciosas.
 La menor y la mayor edad de las niñas que tuvieron sarampión.-
w) Leer N ternas de datos correspondientes a los empleados de una empresa. Dni, sexo 1-
Femenino y 2- Masculino y DT (días trabajados) y teniendo en cuenta que por cada día
trabajado se abona $10, mostrar:
 Cantidad de empleados mujeres que hayan trabajado menos de 20 días
 Promedio del sueldo de los empleados varones.
 Sueldo de cada empleado (varones y mujeres).
 DNI del empleado (varones y mujeres) con menor cantidad de días trabajados.

Ejercicios Adicionales
a) Leer dos números, si el segundo ingresado es igual al doble del primero más uno, mostrar los dos
números ingresados, caso contrario mostrar el mensaje “No cumplen la condición”.
b) Leer 60 números, mostrar aquellos que sean múltiplos de 7.
c) Mostrar los 50 primeros números naturales pares.
d) Leer ternas de números que representan los datos de 100 empleados: documento, edad y sexo (1:
varón, 2: mujer). Determinar e imprimir:
 Cantidad total de varones.
 La mayor edad de las empleadas.
 Documentos de los empleados menores de 30 años.
 Promedio de edades.
e) Se leen tres números, A, B, C, de cuatro cifras cada uno. Se debe generar un cuarto número D a partir
de las dos primeras cifras de A, las dos segundas cifras de B, y las cuatro cifras del medio de C, como
lo muestra el ejemplo
Ejemplo: Entrada: A = 5599, B = 6677, C = 4338 Salida: D = 557733

Bibliografía Consultada

 De Giusti A., “Algoritmos, datos y programas. Con aplicaciones en Pascal, Delphi y Visual Da
Vinci”, Prentice Hall, Argentina. 2001.

 Joyanes Aguilar L., “Fundamentos de Programación. Algoritmos, Estructuras de datos y objetos”,


Tercera Edición, Mc Graw Hill, Madrid.2003.

Ingreso 2020 36

También podría gustarte