Cartilla Informática
Cartilla Informática
Cartilla Informática
I NG RE S O
L I C . E N S I S T E M A S D E IN F O R M A C I N ( L S I )
PROFESORADO EN INFORMTICA (PI)
I NT R OD U C C I N A L A
I NF OR M T I C A
AO 2013
Introduccin a la Informtica
1. PROBLEMAS DE COMPUTACION
1.1 Objetivo
La resolucin de problemas utilizando como herramienta una computadora requiere contar con la
capacidad de expresin suficiente como para indicar a la mquina 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 definicin del concepto de algoritmo y los elementos que lo
componen.
1.2 Introduccin
La Informtica es la ciencia que estudia el anlisis y resolucin de problemas utilizando
computadoras.
La palabra ciencia se relaciona con una metodologa fundamentada y racional para el estudio y
resolucin de los problemas.
Si se busca en el diccionario una definicin de la palabra problema podr hallarse alguna de las
siguientes:
La resolucin de problemas mediante una computadora consiste en dar una adecuada formulacin
de pasos precisos a seguir.
1.3. Resolucin de Problemas
Si se piensa en la forma en que una persona indica a otra como resolver un problema, se vera que
habitualmente se utiliza un lenguaje comn y corriente para realizar la explicacin, quiz entremezclado
con algunas palabras tcnicas. Esto es un riesgo muy grande. Los que tienen cierta experiencia al
respecto saben que es difcil transmitir el mensaje y por desgracia, con mucha frecuencia se
malinterpretan las instrucciones y por lo tanto se ejecuta incorrectamente" la solucin, obtenindose
errores.
Cuando de una computadora se trata, no pueden utilizarse indicaciones ambiguas. Ante cada orden
resulta fundamental tener una nica interpretacin de lo que hay que realizar. Una mquina no posee la
capacidad de decisin del ser humano para resolver situaciones no previstas.
Si al dar una orden a la computadora se produce una situacin no contemplada, ser necesario
abortar esa tarea y recomenzar todo el procedimiento nuevamente.
Adems, 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
informacin se cuenta y qu tipo de transformacin se quiere hacer sobre ella.
Ingreso 2013
Introduccin a la Informtica
Una vez que se comprende un problema, se debe decidir que tipo de problema es. Dos tipos de
problemas comunes son:
Los problemas que buscan respuestas: si un ejercicio implica el clculo del nmero de palabras
que hay en un libro o la biseccin de una lnea utilizando regla y comps, 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 fcil).
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 relacin entre los datos y la respuesta.
Es importante observar que en un problema en que se buscan respuestas se tiene que elaborar una
solucin, mientras que cuando se pide que se pruebe slo es necesario demostrar que existe (o no existe)
una solucin, sin crearla. Los problemas de computacin no pueden ser problemas en que se busquen
pruebas porque el propsito 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 computacin pertenecen a una tercera clase: los problemas que buscan
mtodos, aqu se busca un mtodo 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 mtodo 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 simplificacin porque una vez que se tiene un mtodo es necesario expresar este
mtodo en una forma en que la computadora pueda operarlo (un programa).
Ingreso 2013
Introduccin a la Informtica
ALGORITMO
Creacin
Ingreso 2013
RESULTADO
PROGRAMA
Codificacin
Operacin
Introduccin a la Informtica
2. ALGORITMOS
2.1. Introduccin
La etapa vital de la solucin de un problema con una computadora es el diseo del algoritmo y de la
estructura fundamental de datos. Un algoritmo es un procedimiento expresado precisamente para obtener
la solucin del problema, la que se presenta de manera subsecuente a una computadora en el lenguaje de
programacin 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 diseamos un algoritmo que una computadora slo sigue las
instrucciones y no puede actuar si no se le ha ordenado de manera explcita. 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 matemtico rabe del siglo IX, llamado Alkhuwarizmi,
quien estaba interesado en resolver ciertos problemas de aritmtica y describi varios mtodos para
resolverlos. Estos mtodos fueron presentados como una lista de instrucciones especficas (como una
receta de cocina) y su nombre se utiliza para referirse a dichos mtodos.
2.2. Definicin
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 solucin de un problema de algn tipo.
Formalmente un algoritmo se puede definir de la siguiente forma:
Un algoritmo puede definirse como una secuencia ordenada de pasos elementales, exenta de
ambigedades, que lleva a la solucin de un problema dado en un tiempo finito.
Para comprender la definicin 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 podra 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 2013
Introduccin a la Informtica
Ntese que si la tortilla la va a ejecutar un nio, alguna tareas, por ejemplo batir huevos, pueden
necesitar una mejor especificacin.
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 ms 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 ms
simples sino que se busca analizar cules 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 maanas
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 solucin del problema se expres en seis pasos, descartando aspectos que se suponen o
sobreentienden, como colocarse los zapatos al vestirse o abrir la puerta del auto pues a nadie se le
Ingreso 2013
Introduccin a la Informtica
ocurrira ir a trabajar descalzo. En cambio existen aspectos que no pueden obviarse o suponerse porque el
algoritmo perdera lgica, 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 mnimo su especificacin de manera de seguir resolviendo el problema con la menor cantidad
de rdenes posibles.
Adems, en la definicin de algoritmo se hace referencia a la ambigedad 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 Ambigedad: si se trabaja dentro de cierto marco o contexto, la representacin de
cada paso de un algoritmo debe tener una nica interpretacin.
Ejemplo: indique la forma de condimentar una salsa.
Incorrecto: ponerle algunas especies a la salsa.
Correcto: ponerle sal, pimienta y organo 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 especficos.
Ejemplo: indique la forma de marcar un nmero de telfono.
Incorrecto: si la solucin del algoritmo sirve para marcar solamente el nmero 4220234, solo tendr
valor para ese nmero.
Correcto: si la solucin es un mtodo para marcar cualquier nmero, entonces es til. Por supuesto,
debe haber alguna restriccin a la generalidad de un algoritmo.
Tiempo de respuesta: la ejecucin de un algoritmo debe finalizar despus de que se haya llevado a
cabo una cantidad finita de pasos. De otra manera, no se puede exigir que la ejecucin produzca una
solucin.
Ejemplo: Llene la zanja con ese montn de arena
Algoritmo: tome una pala y empiece a echar arena en la zanja. Cuando se llene la zanja detngase.
( se est seguro que en algn 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 despus 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 2013
Introduccin a la Informtica
Ingreso 2013
Introduccin a la Informtica
SIGNIFICADO
Indica principio o fin de un algoritmo.
Ingreso 2013
Introduccin a la Informtica
Ingreso 2013
10
Introduccin a la Informtica
ACTIVIDAD N 1: ALGORITMOS
1- Dados los enunciados de los siguientes problemas y su correspondiente algoritmo de
solucin, 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 seal de taxi.
3. Al ver la seal, silbar y hacer ademanes para llamar su atencin.
4. Fin
b) Problema: Cambiar la rueda pinchada de un automvil teniendo un gato mecnico, una rueda
de reemplazo y una llave inglesa.
1. Aflojar los tornillos de la rueda pinchada con la llave inglesa
2. Ubicar el gato mecnico 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: Preparar una tortilla de papas de tres huevos.
1. Pelar las papas
2. Cortarlas en cuadraditos
3. Frer las papas
4. Batir los huevos en un recipiente
5. Verter las papas en un recip. y echar una pizca de sal
6. Frer la tortilla
7. Fin
d) Problema: Levantarse a las maanas 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
e) Problema: Cambiar un foco quemado de una lmpara en el techo, teniendo un foco nuevo
1. Buscar la escalera
2. Colocar la escalera debajo de la lmpara quemada
3. Elegir un foco nuevo similar al anterior
4. Subir por la escalera
5. Girar el foco quemado en sentido contrario al de las agujas del reloj
6. Ubicar el nuevo foco en el mismo lugar
7. Enroscar en el sentido de las agujas del reloj hasta que quede apretado
8. Bajar de la escalera
9. Fin
Ingreso 2013
11
Introduccin a la Informtica
1. Buscar la taza
2. Calentar la leche
3. Encender la hornalla
4. Endulzar
5. Agregar leche al caf
6. Hacer el caf
7. Fin
Problema: "Puesta en escena de una obra de
teatro"
Ingreso 2013
12
Introduccin a la Informtica
Accin 1
Accin 2
Accin 3
Ingreso 2013
13
Introduccin a la Informtica
4.2. Estructura de Seleccin
En un algoritmo representativo de un problema real es prcticamente imposible que las instrucciones
sean secuenciales puras. Es necesario tomar decisiones en funcin de los datos del problema.
A travs de la seleccin se incorpora, a la especificacin del algoritmo, la capacidad de decisin. De
esta forma ser posible seleccionar una de dos alternativas de accin posibles durante la ejecucin del
algoritmo.
La seleccin se expresa con el siguiente pseudocodigo:
Si (condicin)
entonces
accin o acciones a realizar si la condicin es verdadera (1)
sino
accin o acciones a realizar si la condicin es verdadera (2)
FinSi
donde condicin es una expresin que al ser evaluada puede tomar solamente uno de los dos
valores posibles: verdadero o falso.
En el caso que la condicin a evaluar resulte verdadera se ejecutarn las acciones (1) y no se
ejecutarn las acciones (2). Si la condicin a evaluar resulta falsa se ejecutarn las acciones (2) y no las
acciones (1).
A continuacin se presenta grficamente esta estructura.
falso
Evaluar
condicin
Acciones si la condicin
es falsa
verdadero
Acciones si la condicin
es verdadera
Puede ocurrir que no se tengan que representar acciones cuando la condicin es falsa. En este caso
se utilizar la siguiente notacin:
Si (condicin)
entonces
accin o acciones a realizar si la condicin es verdadera
FinSi
A continuacin se presenta grficamente esta estructura.
falso
Evaluar
condicin
verdadero
Acciones si la condicin
es verdadera
Ingreso 2013
14
Introduccin a la Informtica
Evaluar la
variable de
decisin
Ingreso 2013
Solucin 2
1. Ubicarse en el kiosco
2. Si (tiene caramelos de menta)
Entonces
3.
Comprar $2 de caramelos menta
4. Fin Si
5. Comprar $1 de otro tipo de caramelos
6. Fin
15
Introduccin a la Informtica
b) Hacer una llamada telefnica desde un telfono pblico a moneda. Considere que se cuenta
con la moneda y siempre se encuentra un telfono.
Solucin 1
1. Obtener una moneda
2. Encontrar un telfono
3. Si (el telfono tiene tono)
Entonces
4.
Marcar el nmero
5.
Hablar
Sino
6.
Buscar otro telfono
7. FinSi
8. Fin
Solucin 2
1. Obtener una moneda
2. Encontrar un telfono
3. Si (no tiene tono el telfono)
Entonces
4.
Buscar otro telfono
5. FinSi
6. Marcar el nmero
7. Hablar
8. Fin
1. Clavar el clavo
2. Si (no quedo firme el clavo)
Entonces
3.
Golpear una vez ms
Sino
4.
Colgar el cuadro
5. FinSi
6. Fin
Tomar el libro
Obtener el N de la pagina deseada y llamarla X
Abrir el libro en la pagina 1
Si ( el N de pagina es igual a X)
Entonces
5.
Vaya al paso 8
Sino
6.
Pasar una hoja si es necesario
7. FinSi
8. Fin
Ingreso 2013
16
Introduccin a la Informtica
4.3. Estructura de Iteracin
Una extensin natural de una estructura secuencial consiste en repetir N veces un bloque de
acciones. El fin de la repeticin depender de un valor predefinido o del cumplimiento de una determinada
condicin.
Existen dos formas de expresar esta estructura la Repeticin y la Iteracin en este curso solo
utilizaremos la iteracin.
Iteracin
Puede ocurrir que se desee ejecutar un conjunto de acciones de un algoritmo desconociendo el
nmero exacto de veces que se ejecutan. Para estos casos
falso
Evaluar
condicin
verdadero
Ingreso 2013
17
Introduccin a la Informtica
Repetir
Accin o acciones a realizar en caso de que la condicin sea falsa
Hasta (condicin)
A continuacin se presenta grficamente esta estructura.
falso
Evaluar
condicin
verdadero
Solucin 2
1 Clavar el clavo
2 Mientras (no quede firme el clavo)
3.
Golpear el clavo una vez ms
4. Fin Mientras
5 Colgar el cuadro
6 Fin
b) Se necesita hornear una pizza en un horno defectuoso. El horno se apaga cada cierto tiempo y
debe ser encendido nuevamente. Como condicin sabemos que tenemos una cantidad ilimitada de
fsforos y dispone de la prepizza y todos los elementos necesarios
Solucin 1
1 Encender el horno
2 Poner la pizza en el horno
3 Si (el horno se apag)
Entonces
4
Encender nuevamente el horno
5. FinSi
6 Si (no est lista la pizza)
Entonces
7
Esperar 1 minuto
8. FinSi
9 Apagar el horno
10 Sacar la pizza
11 Fin
Ingreso 2013
Solucin 2
1 Encender el horno
2 Poner la pizza en el horno
3 Mientras (no este lista la pizza)
4
Esperar 1 minuto
5
Si (el horno se apag)
Entonces
6
Encender nuevamente el horno
7.
FinSi
8. FinMientras
9 Apagar el horno
10 Sacar la pizza
11 Fin
18
Introduccin a la Informtica
c) El Sr. Lombardi ha recibido su pago en un nico cheque. Para cobrarlo deber presentarse en
el banco con su DNI, y este le pagar siempre y cuando la cuenta tenga fondos.
Solucin 1:
1 Entrar al banco.
2 Colocarse en la caja correspondiente
3 Mientras (no le llega el turno)
4
Esperar 1 minuto
5.FinMientras
6 Si (tiene el cheque)
Entonces
7
Si (tiene el DNI)
Entonces
8
Cobrar
9.
FinSi
Sino
10
Maldecir
11 FinSi
12 Salir del banco
13 Fin
Solucin 2:
1 Entrar al banco.
2 Colocarse en la caja correspondiente
3 Repetir
4
Esperar 1 minuto
5 Hasta ( que le llegue su turno)
6 Si (tiene el cheque)
Entonces
7
Si (tiene el DNI)
Entonces
8
Presentar el cheque al
cajero
9
Si ( tiene fondos en la
cuenta)
Entonces
10
Cobrar
Sino
11
Maldecir
12
FinSi
13
FinSi
14 FinSi
15 Salir del banco
16 Fin
Solucin 2:
1 Encender la radio.
2 Repetir
3
Sintonizar una estacin de radio
4 Hasta (esta transmitiendo R & P)
5 Escuchar el programa
6 Apagar la radio.
7 Fin
Solucin 3:
1 Encender la radio.
2 Mientras (no estn transmitiendo R & P)
3
Sintonizar una estacin de radio
4 FinMientras
5 Escuchar el programa.
6 Apagar la radio.
7 Fin
Ingreso 2013
19
Introduccin a la Informtica
e) Con el fin de mejorar el arbolado de la Av. Belgrano, la municipalidad desea plantar 300 ligustros
con una distancia de 1 metro entre ellos, . Para realizar dicha tarea resulta necesario descargar el
ligustro, cavar un pozo y plantarlo.
Solucin 1
1 Detener el Camin
2 Repetir
3
Descargar el ligustro
4
Cavar un pozo
5
Plantar el Ligustro
6
Contar que se ha plantado un ligustro ms
7 Hasta (Se han plantado 300 ligustros)
8 Encender el Camin
9 Fin
Solucin 2:
1 Detener el Camin
2 Mientras (no se hayan plantado los 300 ligustros)
3
Cavar un pozo
4
Descargar el ligustro
5
Plantar el Ligustro
6
Avanza un metro
7 FinMientras
8 Encender el Camin
9 Fin
Solucin 3:
1 Detener el Camin
2 Mientras (no se hayan plantado los 300 ligustros)
3
Cavar un pozo
4
Descargar el ligustro
5
Plantar el Ligustro
6
Avanzar un metro
7
Contar que se ha plantado un ligustro ms
8 FinMientras
9 Encender el Camin
10 Fin
2- Escriba los algoritmos de solucin para los siguientes problemas, teniendo en cuenta el uso de
las estructuras de control correspondientes.
a) Una pileta debe ser vaciada utilizando un balde. Considerando que no conoce cuntos baldes
necesitar sacar para vaciar la pileta.
b) Trasladar 70 cajas de 30 kilos cada una, desde la sala A a la Sala B. Considere que slo llevar una
caja a la vez porque el contenido es muy frgil. Para realizar el trabajo debe ponerse un traje
especial y quitrselo luego de haber realizado el trabajo.
c) Ud. desea ordenar una bolsa con 54 fotografas viejas de manera que todas queden al derecho; esto
es, con la imagen hacia Ud. y cabeza arriba.
d) Usted desea comprar la revista Crucigramas que cada mes tiene reservada en el puesto de revistas
que se encuentra en la esquina de su casa, al otro lado de la calle. Verifique que no pasen autos
antes de cruzar.
Ingreso 2013
20
Introduccin a la Informtica
5. MANEJO DE DATOS
5.1. Datos Simples
Los programas que implementan los algoritmos necesitan alguna manera de representar los objetos
del mundo real. Para ello los algoritmos operan sobre datos y estructuras de datos de distinta naturaleza,
tales como nmeros, letras, smbolos, etc.
Por lo tanto un dato es la expresin general que describe los objetos con los cuales opera una
computadora. Los tipos de datos estn ligados a un conjunto de operaciones que permiten su creacin y
manipulacin.
Los tipos de datos se caracterizan por:
Su representacin
Numrico
Lgico
Carcter
Ingreso 2013
21
Introduccin a la Informtica
En general, para cada computadora existe el entero maxint, tal que todo nmero entero n puede ser
representado si
-maxint <= n <= maxint
donde maxint identifica al nmero entero ms grande que se puede representar con la cantidad de
dgitos binarios disponibles.
Reales
El tipo de dato real es una clase de dato numrico que permite representar nmeros decimales. Los
valores fraccionarios forman una serie ordenada, desde un valor mnimo negativo, hasta un valor mximo
determinado por la norma IEEE 754, de 1985, pero los valores no estn 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 representacin finita de los nmeros
reales; dicha representacin tiene una precisin fija, es decir, un nmero fijo de dgitos significativos. Esta
condicin es la que establece una diferencia con la representacin matemtica de los nmeros reales. En
este caso se tienen infinitos nmeros diferentes, en tanto que la cantidad de representaciones del tipo de
dato real est limitada por el espacio en memoria disponible.
La representacin para nmeros reales se denomina coma flotante. Esta es una generalizacin de
la conocida notacin cientfica, que consiste en definir cada nmero como una mantisa (o fraccin
decimal), que da los dgitos contenidos en el nmero; y un exponente (o caracterstica), que determina el
lugar del punto decimal con respecto a estos dgitos.
Ejemplo:
Sea el nmero 89412950000000000. Su representacin cientfica en cualquier
16
calculadora es 8,941295 x 10 .
La mantisa del nmero real representado en la computadora en este caso es : 0,8941295
y el exponente 17. Ntese que, a diferencia de la representacin anterior, la coma se
ubica inmediatamente a la izquierda del primer dgito significativo y, por lo tanto, la
magnitud del exponente se incrementa en 1.
Si el nmero es 0, 0000000000356798, su representacin utilizando notacin cientfica
-11
es 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 2013
22
Introduccin a la Informtica
5.1.2. Tipo de Dato Carcter
Un tipo de dato carcter 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 estndar 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, nmero y smbolos especiales
disponibles en el teclado de la computadora y algunos otros elementos grficos. Cabe acotar que el cdigo
ASCII no fue nico, pero es el ms utilizado internacionalmente.
Son elementos carcter:
Letras minsculas: a, b, c, ..., y, z
Letras maysculas: A, B, C, ..., Y, Z.
Dgitos: 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 smbolo carcter 1. Un valor
del tipo de dato carcter es solo uno de los smbolos mencionados.
Operaciones sobre Datos Carcter
Los operadores relacionales descriptos en el tipo de dato numrico, pueden utilizarse tambin sobre
los valores del tipo de dato carcter. Esto es, dos valores de tipo carcter se pueden comparar por =, <>, >,
<, >=, >=; el resultado de cualquiera de ellos es un valor de tipo de dato lgico.
La comparacin de dos caracteres es posible dado que el cdigo ASCII define para cada smbolo
un valor en su escala. De esta manera, al comparar dos smbolos, para determinar el resultado se utiliza el
valor dado por el cdigo.
Dentro del cdigo ASCII los valores de los dgitos son menores que los valores de las letras
maysculas, y estos a su vez menores que los de las letras minsculas. Los valores dentro del cdigo para
los smbolos especiales, o bien son menores que los dgitos, o bien mayores que las letras minsculas.
Ejemplo:
(= )
(c< Z)
(c< z)
(X > 5)
( < H)
(4= 4)
Ingreso 2013
23
Introduccin a la Informtica
Potencia
Una Expresin Aritmtica es aquella que cuando se la evala siempre se obtiene un resultado numrico.
Ejemplos de expresiones aritmticas
2 * 5 + 7 = 17
3 * A / 4 + Cont 2
Suma = Suma + N
Ingreso 2013
24
Introduccin a la Informtica
Operadores Relacionales
<
Menor
>
Mayor
<=
Menor igual
>=
Mayor igual
Igual a
<>
Distinto a
Operadores Lgicos
Los operadores lgicos o bolanos bsicos son:
Negacin (Not)
Conjuncin (And)
Disyuncin (Or)
El resultado de estas operaciones es el correspondiente a las conocidas tablas de verdad.
Los operadores relacionales y lgicos mencionados anteriormente, que permiten comparar dos valores, dan
como resultado un valor lgico.
Ejemplo:
(8 < 4)
(2.5 * 4 = 10)
(8 > 3)
not (8 > 3)
(7 > 2.4), (9 = 3)
(7 > 2.4) and (9 = 3)
(7 > 2.4) or (9 = 3)
Para cada operador lgico se define un smbolo, los cuales se muestran en la tabla 2.1.
Operacin
Operador
Simbolizacin
Conjuncin
Y / AND
Disyuncin
O / OR
Negacin
NO / NOT
Ingreso 2013
25
Introduccin a la Informtica
La tabla de verdad de una proposicin es, como su nombre lo indica, una tabla donde se muestran
todas las combinaciones posibles de los valores de verdad de dicha proposicin.
Conjuncin
Dadas dos proposiciones cualquiera p y q, la proposicin molecular p q representa la conjuncin
de p y q.
La conjuncin de dos proposiciones es cierta nicamente en el caso en que ambas proposiciones lo
sean.
pq
pq
Disyuncin
Negacin
Dada una proposicin p, su negacin p, permitir obtener el valor de verdad opuesto.
El valor de verdad de la negacin de una proposicin verdadera es falso y el valor de verdad de la
negacin de una proposicin falsa es verdadero.
Ingreso 2013
26
Introduccin a la Informtica
Prioridad
NOT
*, /, AND
+, -, OR
<, >, <=, >=, =, <>,
Ingreso 2013
27
Introduccin a la Informtica
Asignacin
A=1, B=5,
C=0
A=1, B= -2,
C=3
Expresin
Variables Ctes,
Operadores
Resultado
B - A * (B + C) * 2 + 1
..............
A + C * 3 - 2 / 12
..............
((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+B-C/3
..............
Tipo del
resultado
C > (A + ( B - C ) * 3)
N1=3, N2=6
R=2, S=6
T= verdadero
U= falso
Ingreso 2013
(A - B - C / 3+2) (-2)
..............
..............
(1+(2/2)*N2) < 4 * N1
..............
..............
..............
S 2 <= R + S
..............
..............
..............
R<= S / 3 and T
..............
..............
T and ( R<= 2 )
..............
T or U and ( R < S )
..............
..............
28
Introduccin a la Informtica
Smbolo
Funcin
a)
b)
c)
d)
4 ENTRADA/LECTURA:
Se utiliza para la
introduccin de datos desde un perifrico a la
memoria del computador y para la salida de
resultados desde la memoria del computador a un
perifrico.
e)
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.
Diagrama de flujo
Identificadores
A
B
Valor Esperado
a)
-17
b)
14
c)
-1
0.55
d)
-1
e)
-2
-4
f)
227.5
g)
Verdadero
h)
Falso
Ingreso 2013
Valor Obtenido
29
Introduccin a la Informtica
a)
b)
c)
A, B
A, B
R = B - A * (B + A) * 2 + 1
A, B
R= A + B * 3 (24/12)
R= ((B+ 3 * (5 + 2) / 10))* A (-1)
R
R
d)
e)
A, B
f)
A, B
R= (A + 10 / 5 * A (B - 2))
g)
A, B
R= (B+ 3) * (5 + A / 10)
R= A * ((B 2)* 3) + 5 / 2
h)
A, B
A, B
R= (2 * A + 3)
R= (2 + 3) * A
T = 6 + (B 1)
T = 2 + ( 3 * B)
No
Falso
Ingreso 2013
R<> T
Si
No
R<T
Si
R > 25
Verdadero
Falso
Verdadero
30
Introduccin a la Informtica
3. Dados los siguientes problemas y su correspondiente algoritmo de solucin, se pide:
a) Determinar datos de entrada, resultados y dominio del problema.
b) Expresar mediante diagramas de flujo los algoritmos propuestos.
c) Verificar la solucin propuesta.
a) Leer un nmero, determinar y mostrar 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
b) Leer la base y la altura de un tringulo, calcular y mostrar la superficie del mismo
1. Inicio
2. Leer BASE
3. Leer ALTURA
4. SUP = (BASE * ALTURA) / 2
5. Mostrar SUP
6. Fin
c) Leer dos nmeros intercambiar sus valores y mostrar sus valores antes y despus 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
d) Leer tres nmeros y calcular y mostrar el resultado de la siguiente operacin algebraica: A * B + 32/ 8 + 7* C.
1. Inicio
2. Leer A, B y C
3. AUX = A * B
4. D = 32 / 8
5. P = C * 7
6. RESULT = AUX + D + P
7. Mostrar RESULT
8. Fin
e) Leer un nmero entero, determinar si el mismo es Par o Impar.
1. Inicio
2. Leer NUM
3. PAR = Int (NUM/2) * 2
4. Si ( PAR = NUM)
Entonces
5.
Mostrar El nmero es Par
Sino
6
Mostrar El nmero es Impar
7. FinSi
8. Fin
Ingreso 2013
31
Introduccin a la Informtica
f) Leer dos nmeros enteros, mostrar aquellos que sean de tres dgitos.
1. Inicio
2. Leer X
3. Leer Y
4. Si (X > 99) y (X <= 999)
5.
Entonces
6.
Mostrar X
7. FinSi
8. Si (Y > 99) y (Y <= 999)
9.
Entonces
10.
Mostrar Y
11. FinSi
12. Fin
4. Dados los siguientes problemas:
I. Realizar el algoritmo de solucin correspondiente, utilizando diagrama de flujo.
II. Determinar datos de entrada y salida
III. Verificar la solucin propuesta
a) Leer un nmero, encontrar el valor absoluto, mostrar el nmero y su valor absoluto.
b) Leer un nmero entero mostrar si es positivo, negativo o nulo.
c) Leer el radio de una circunferencia, calcular el rea y la longitud de la misma.
d) Leer una medida expresada en metros, calcular y mostrar su equivalente en decmetros, centmetros y milmetros.
e) Leer 3 nmeros, calcular y mostrar el promedio de los mismos.
f) Leer las edades de 2 nios en edad escolar, mostrar la edad del mayor de ellos. Se asume que las edades ledas son
distintas.
g) Leer tres nmeros enteros (distintos) que representan las edades de 3 nios en edad escolar, se pide:
Mostrar la edad del nio que tenga entre 8 y 12 aos inclusive.
Mostrar la menor edad
h) Leer la duracin de una llamada telefnica en minutos, mostrar su costo teniendo en cuenta que:
Toda llamada que dure 3 minutos o menos tiene un costo de $5.
Cada minuto adicional cuesta $3.
i) Leer un nmero de 3 cifras, se pide mostrar:
El primer y el ltimo dgito, solo si el digito central es par.
La suma del primer ms el ltimo dgito, si el digito central es impar.
El mensaje Capica si el nmero ingresado lo es.
j) Leer 3 nmeros de un dgito, se pide componer con ellos un nmero de 3 dgitos y mostrar el nmero obtenido.
Ejemplo: A= 4 B= 7 C= 9 Nmero obtenido NUM= 479
k) Leer un nmero entero, mostrarlo si es de dos dgitos e impar.
l) Leer dos nmeros determinar si uno es mltiplo del otro.
m) Leer el sueldo de un emplead, se pide mostrar el sueldo incrementado de acuerdo a la siguiente tabla
Sueldo
Porcentaje de incremento
0 a 1000
15 %
1001 a 2000
10%
2001 en adelante
5%
n) Leer dos nmeros, si el segundo ingresado es igual al doble del primero ms uno, mostrar los dos nmeros ingresados,
caso contrario mostrar el mensaje No cumplen la condicin.
Ingreso 2013
32
Introduccin a la Informtica
Ingreso 2013
33
Introduccin a la Informtica
d) Leer N nmeros 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
SUMP = SUMP +NUM
10.
Sino
Si (NUM < 0)
11.
Entonces
CNEG = CNEG + 1
12.
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 solucin propuesta con al menos 3 valores de prueba.
a)
P=0
C=1
SUM = 0
N
SI
C N
N
NUM
PROM = SUM / P
AUX = INT(NUM / 2 ) * 2
PROM
AUX = NUM
SI
AUX = INT(NUM / 5 ) * 5
AUX = NUM
SI
Ingreso 2013
C=C+1
34
Introduccin a la Informtica
b)
c)
d)
C=1
C30 = 0
C80 = 0
N
SI
C N
NO
C30,C80
NO
NO
A >80
A > 0 A<30
SI
SI
C30=C30 + 1
C80=C80 + 1
C=C+1
Ingreso 2013
35
Introduccin a la Informtica
3. Dados los siguientes problemas:
I. Realizar el algoritmo de solucin correspondiente, utilizando diagrama de flujo.
II. Determinar datos de entrada y salida
III. Verificar la solucin propuesta
a) Leer 20 nmeros, calcular e mostrar el promedio de los mismos.
b) Leer N nmeros, calcular e mostrar el promedio de los mismos.
c) Leer una serie de nmeros, cuyo final est dado por el ingreso del nmero 0 (cero), calcular e mostrar el promedio de
los mismos.
d) Leer 100 nmeros, mostrar aquellos que sean mayores a 74
e) Leer 60 nmeros, mostrar aquellos que sean mltiplos de 7.
f) Leer 100 nmeros mostrar aquellos que sean mltiplos de tres y no de cinco.
g) Mostrar los 50 primeros nmeros naturales pares.
h) Leer dos nmeros enteros N1 y N2, calcular y mostrar la suma de los nmeros comprendidos entre N1 y N2.
i) Leer 100 nmeros enteros, mostrar el mayor y el menor de los nmeros ingresados.
j) Leer un nmero NUM, mostrar todos los nmeros desde 1 a NUM, si este es positivo; caso contrario, mostrar el
mensaje INCORRECTO y el nmero ingresado.
k) Leer N nmeros, se pide imprimir el porcentaje de nmeros positivos
l) Leer N nmeros positivos, mostrar:
Suma de nmeros pares
Cantidad de nmeros impares.
Cantidad de nmeros pares de tres dgitos.
m) Leer una serie de nmeros de 3 dgitos cuyo final esta dado por el ingreso del nmero 999, mostrar:
Cantidad de nmeros capicas ingresados.
La suma de aquellos nmeros cuyo dgito de la unidad sea par
Cantidad nmeros cuyo dgito de la unidad sea impar
n) Leer N nmeros enteros. Al finalizar el ingreso de los mismos mostrar el mensaje INGRESADO si el nmero 25
estaba entre ellos.
o) Leer un nmero determinar si es Primo, si lo es mostrar el mensaje NUMERO PRIMO, caso contrario NO ES
PRIMO .
p) Leer 20 nmeros, mostrar al final del ingreso si un nmero X ledo se encontraba y en que posicin.
q) Leer una serie de nmeros enteros cuyo final viene dado por el ingreso del nmero 0. Se pide mostrar la cantidad de
nmeros impares y el porcentaje de la serie.
r) Leer una serie de valores cuyo final viene dado por un nmero negativo, mostrar aquellos nmeros que sean
mltiplos del valor anterior.
s) Leer N pares de nmeros enteros, mostrar el mayor de cada par, o el mensaje IGUALES, en el caso de que lo sean.
t) Leer N pares de datos correspondientes a los empleados de distintas sucursales de un banco nacional: cdigo de
empleado y cdigo de sucursal, mostrar:
Los cdigos de empleados de la sucursal de la ciudad de Salta.
La cantidad de empleados de Tucumn.
El mayor cdigo de empleado
Cdigo sucursal
Descripcin
1
2
3
Ingreso 2013
Salta
Sgo. del Estero
Tucumn
36
Introduccin a la Informtica
u) Leer N cuaternas de datos correspondientes a los artculos de un negocio: Cdigo del artculo, Cantidad de
unidades disponibles, Costo por unidad, Cdigo de marca, mostrar:
La cantidad de artculos que poseen cantidad de unidades disponibles menores que 100.
Los cdigos de los artculos cuyo cdigo de marca sea igual a 355 y la cantidad de unidades disponibles sea
mayor a 50.
Los cdigos de artculos cuyo costo por unidad no supere los 5 pesos
v) En el Hospital de Nios se lleva a cabo un control anual de las enfermedades infecciosas; para ello se tiene en cuenta
los siguientes datos de N nios: edad, sexo (varn/ mujer) y enfermedad (1-hepatitis, 2-sarampin, 3-otra enfermedad
infecciosa). Se pide calcular y mostrar:
La cantidad de varones afectados con hepatitis que tengan entre 8 y 12 aos. El porcentaje de mujeres afectados de sarampin.
La cantidad de nios menores de 4 aos que ingresaron al hospital con otras enfermedades infecciosas.
La menor y la mayor edad de las nias que tuvieron sarampin.w) Leer N ternas de datos correspondientes a los empleados de una empresa. Dni, sexo (1- Femenino y 2- Masculino)
y DT (das trabajados) y teniendo en cuenta que por cada da trabajado se abona $10, mostrar:
Cantidad de empleados mujeres que hayan trabajado menos de 20 das
Promedio del sueldo de los empleados varones.
Sueldo de cada empleado (varones y mujeres).
DNI del empleado (varones y mujeres) con menor cantidad de das trabajados.
x) Leer N pares de nmeros positivos, donde el primero es la base y el segundo el exponente, para cada par de nmero
mostrar la potencia. (sin utilizar el operador de potencia)
y) Leer N pares de nmeros, mostrar para cada par el resultado del producto (utilizando sumas sucesivas)
z) La AFIP realiza peridicamente controles a los ingresos anuales de sus N contribuyentes para cada uno de ellos se
ingresa el Cdigo de contribuyente y los correspondientes Ingresos mensuales. Calcular y mostrar
El mayor de Ingreso mensual de cada contribuyente
El Condigo de contribuyente que obtuvo el mayor ingreso anual.
Bibliografa 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 Programacin. Algoritmos, Estructuras de datos y
objetos, Tercera Edicin, Mc Graw Hill, Madrid.2003.
Maldonado, M. et al. Cartilla de la Asignatura Fundamentos de la Programacin. Universidad
Nacional de Santiago del Estero. 2006.
Ingreso 2013
37