Unidad 1 - Alumnos

E.P.E.T. 20
TÉCNICO PROGRAMADOR
DOCENTES
Graciela Duck
María Elisa Ramirez
Enrique Gustavo Ortega
Unidad 1 – Resolución de Problemas
Una computadora es un autómata, que ejecuta un proceso de acuerdo a reglas rígidas. Dicho
proceso es especificado por un programa.
Un programa es una secuencia de instrucciones y dado que, una computadora posee un repertorio
muy limitado de instrucciones elementales, que es capaz de entender y obedecer, es que un programa
debe estar formado por dichas instrucciones elementales.
La actividad de generar estas secuencias de instrucciones elementales se denomina
programación.
La programación es una disciplina con muchas aplicaciones y la verdadera dificultad radica en la
resolución del problema y no en la construcción del programa en si.
Primero estudiaremos la resolución de problemas, para adquirir entrenamiento para diseñar
modelos de resolución de problemas en forma metodológica y luego iremos agregando herramientas
para acercarnos a un buen estilo de programación y luego se irá plasmando todo lo estudiado en
programas utilizando un lenguaje de programación.
PROBLEMA
Un problema es una discrepancia entre un estado inicial y un estado final. Por ejemplo: como
hacer para llegar a la casa de un amigo.
El primer paso en la búsqueda de la solución, es encontrar una representación adecuada para el
problema que descarte la información que no sirve y rescate la que es importante
A este proceso se le llama abstracción
Una abstracción se realiza en varias etapas:
1. Transformar el enunciado original en algo tan simple como sea posible
2. Identificar los elementos relevantes y las relaciones entre ellos
3. Nombrar los elementos con alguna notación adecuada
4. Definir las operaciones que deben realizarse
TIPOS DE NOTACIÓN PARA REPRESENTAR PROBLEMAS
DESCRIPCIÓN VERBAL
Hay problemas que solo se pueden resolver en una forma verbal, redactando una nueva versión
del problema original, eliminando redundancias, datos irrelevantes y puntualizando el resto en frases
cortas y claras. Por ejemplo el siguiente problema:
“Juan miente siempre los días Martes, Jueves y Sábados y es completamente veraz los demás
días. Un día se mantiene el siguiente diálogo:
Pedro: ¿ Qué día es hoy?
Juan: Sábado, responde
Pedro: ¿Qué día será mañana?
Juan: Miércoles, responde
La incógnita es: ¿Qué día de la semana es?
El razonamiento es verbal podemos ir pensando en cada día de la semana para analizar cual puede ser:
Lunes: No puede ser porque los lunes dice la verdad, entonces cuando le preguntan que día será mañana
tendría que responder martes y no miércoles
Martes: No, porque cuando le preguntan qué día será mañana y dice miércoles y sería verdad
y
los martes miente
Miércoles: No puede ser porque mañana sería jueves y los miércoles dice la verdad
Viernes: no, porque los viernes dice la verdad y las dos respuestas son mentiras
Sábado: No, porque miente y la primer respuesta es una verdad
Domingo: No, porque dice la verdad y las dos respuestas son mentiras
POR LO TANTO ES JUEVES, YA QUE MIENTE Y LAS DOS RESPUESTAS SON MENTIRAS
DIAGRAMA
Existen muchos problemas en los que para resolverlos se puede utilizar algún tipo de gráfico o
esquema. Por ejemplo:
Blanca, Rosa y Violeta son tres amigas que se encuentran para estudiar, y descubren que
casualmente están vestidas con los colores de sus nombres, aunque ninguna lleva el color que
corresponde a su nombre, ni colores repetidos. Si el vestido de Violeta no es blanco, ¿Cuál es el color
del vestido de cada una ?.
Para visualizar lo que dice este problema es conveniente utilizar un cuadro de doble entrada de
la siguiente manera:
ROPA BLANCA
ROPA ROSA
ROPA VIOLETA
BLANCA
X
O
X
ROSA
X
X
O
VIOLETA
O
X
X
Las cruces indican las intersecciones falsas y los círculos las que resultan verdaderas
MATEMÁTICA
Se trata de representar el problema utilizando una representación matemática que puede ser:
ecuaciones, geometría, teoremas, etc.
Una característica interesante como forma de representar problemas, es su rigidez y formalidad.
Esto asegura que, si se obtiene una representación adecuada y se respetan las reglas, es posible llegar
a una solución acertada.
Una gran variedad de problemas que surgen en la práctica se pueden resolver usando ecuaciones.
No hay una regla básica para resolverlos frente a la gran variedad de problemas que se pueden plantear.
Sin embargo se recomiendan algunas sugerencias:
Pasos recomendados para resolver problemas de ecuaciones
1.- Lea el problema detenidamente si hace falta varias veces, hasta que sea capaz de decir que se quiere
conseguir y de que información o datos dispone.
2.- Represente una de las cantidades desconocidas en términos de una variable, x suele ser la más
usada. Si hay otra cantidad desconocida intente escribirla en términos de su variable (probablemente
necesite algún dato del problema).
3.- Un dibujo o esquema siempre ayuda a aclarar situaciones.
4.- Plantear una ecuación. Para ello busque las expresiones verbales que deben ser iguales. Escriba estas
expresiones en término de su variable. Esto es, pase la expresión verbal a la algebraica.
5.- Resuelva la ecuación. Puntualice o remarque la respuesta.
6.- Responda en palabras cada pregunta del problema.
El paso probablemente que presente más dificultad es el cuarto. Puede descomponer este paso en los
siguientes:
4.1 Busque las dos expresiones verbales que deben ser iguales.
4.2 Describa cada una de las partes de sus expresiones verbales en términos de su variable.
4.3 Escriba ahora la ecuación como una igualdad de dos expresiones algebraicas en su variable
Veamos algunos ejemplos:
1.- Si dos números son tales que uno es el cuádruplo del otro y su suma es 125. ¿Cuáles son esos
números?
VARIABLES DEL PROBLEMA:
X : primer número
Y: segundo número
EXPRESIONES QUE DEBEN SER IGUALES
Y = 4X
Ahora debemos expresar que la suma de los dos números es igual a 125
X + Y = 125
ESCRIBIR LAS EXPRESIONES EN TÉRMINOS DE LA VARIABLE
Entonces las ecuaciones planteadas serian:
Y=4x
X+Y=125
RESOLVER LA ECUACION
Para resolver las ecuaciones se debe reemplazar y despejar
En la segunda ecuación se reemplaza el valor de la variable Y por su equivalente en función de
la variable X, es decir, Y se reemplaza por 4X y quedaría como:
X+4X = 125
De esta ecuación se deduce que: 5X =125
Despejando:
X=
Por lo tanto
X=5
Y=4.X y reemplazando el valor de X
Y = 4x5= 20
RESPUESTA:
X=25
Y=20
2.-Si al doble de un número le restas 13, obtienes 91. ¿ Cuál es el número?
VARIABLE DEL PROBLEMA:
X: número del problema
EXPRESIONES QUE DEBEN SER IGUALES
El doble de un número menos trece=91
ESCRIBIR LAS EXPRESIONES EN TÉRMINOS DE LA VARIABLE
Representa el doble del número
que indica el enunciado
2X-13=91
RESOLVER LA ECUACION
Para resolver las ecuaciones se debe reemplazar y despejar
2X-13=91
2X=91 + 13
2X = 104
X= 104
2
RESULTADO
X=52
3.- La base de un rectángulo es doble que la altura, y el perímetro mide 78cm. Calcular las
dimensiones del rectángulo.
VARIABLES DEL PROBLEMA:
B: base del rectángulo
H: altura del rectángulo
EXPRESIONES QUE DEBEN SER IGUALES
La base de un rectángulo = doble de la altura
El perímetro=78
ESCRIBIR LAS EXPRESIONES EN TÉRMINOS DE LA VARIABLE
B= 2.H
Representa el doble de la altura
2B + 2H= 78
RESOLVER LA ECUACION
Para resolver las ecuaciones se debe reemplazar y despejar. En la primera ecuación se reemplaza
B si igualdad 2.H, de esta manera la ecuación queda toda expresada en función de H y se puede despejar
Entonces en: 2B + 2H = 78
2(2H) + 2H= 78
4H + 2H = 78
6H = 78
H = 78/6
H=13
Reemplazando en la primera ecuación B=2H = 2*13=26
RESULTADO
La altura es 13 y la base es 26
4.-Por un videojuego, una revista y un helado, Andrés ha pagado $14,30. El videojuego es cinco veces
más caro que la revista, y ésta cuesta el doble que el helado. ¿Cuál era el precio de cada artículo?
VARIABLES DEL PROBLEMA:
V: video Juego
R: revista
H: helado
EXPRESIONES QUE DEBEN SER IGUALES
Un videojuego , una revista y un helado = 14,30
videojuego = es cinco veces más caro que la revista,
la revista = doble que el helado
ESCRIBIR LAS EXPRESIONES EN TÉRMINOS DE LA VARIABLE
V+R+H= 14,30
V=5.R
R=2H
RESOLVER LA ECUACION
Para resolver las ecuaciones se debe reemplazar y despejar
En la primera ecuación se deben reemplazar las variables en función de alguna de alguna de las
otras, por ejemplo como:
V=5R
H=R/ 2
Entonces en la primera ecuación se reemplaza de la siguiente manera:
5R + R + R =14,30
2
6R + R =14,30
2
13 R = 14,30
2
13 R = (14,30)* 2
R= 28,60
13
R = 2,20
Con este valor de R reemplazamos en las demás ecuaciones para obtener los valores de las otras
variables:
V= 5.R , entonces V= 5* 2,20 = 11
H = R/2 , entonces H = 2,20 / 2 = 1,1
RESULTADO: el videojuego cuesta $11, la revista cuesta $2,20 y el helado cuesta $1,1
5.- José suma las notas obtenidas en la última prueba de matemática, historia y geografía obteniendo
25. La nota de historia es 2 unidades menor quela de matemática y 1 unidad mayor que la de geografía.
¿Cuál es la nota de cada evaluación?
VARIABLES DEL PROBLEMA:
M: nota de matemática
H: nota de historia
G: nota de geografía
EXPRESIONES QUE DEBEN SER IGUALES
La suma obtenida en las evaluaciones de matematica, historia y geografía = 25
La nota de historia=2 unidades menos que la de nota matemática,
La nota de historia = 1 unidad mayor que la nota de geografía
ESCRIBIR LAS EXPRESIONES EN TÉRMINOS DE LA VARIABLE
M+H+G= 25
H=M - 2
H=G+1
RESOLVER LA ECUACION
Para resolver las ecuaciones se debe reemplazar y despejar. En la primera ecuación se deben
reemplazar las variables en función de alguna de alguna de las otras, por ejemplo en este caso conviene
expresar la primera ecuación en función de G y luego despejar, entonces:
Como H = G + 1
De la segunda ecuación: H= M-2
Despejando: M =H+2
Reemplazando por el valor de H obtenido en primer lugar:
M= (G+1) +2
Entonces M= G+3
Reemplazando en la primera ecuación:
(G + 3) + (G +1) + G= 25
3 G + 4 =25
3G = 25 – 4
3G = 21
G = 21
3
G=7
Reemplazando:
M= G + 3 = 7 + 3 = 10
H=G+1=8
Resultado: 10 en matemática, 8 en historia y 7 en geografía
6.- Roberto tiene el triple de edad que su hija Nuria. Calcula la edad de cada uno sabiendo que dentro
de 12 años la edad del padre será solamente el doble que la de la hija.
VARIABLES DEL PROBLEMA:
ER= edad de Roberto
EN = edad de Nuria
EXPRESIONES QUE DEBEN SER IGUALES
La edad de Roberto = triple de edad de su hija
Sumando doce años a la edad de Roberto= doble de la edad de Nuria
ESCRIBIR LAS EXPRESIONES EN TÉRMINOS DE LA VARIABLE
ER=3.EN
ER + 12= 2(EN+ 12)
RESOLVER LA ECUACION
Para resolver las ecuaciones se debe reemplazar y despejar
En la segunda ecuación se deben reemplazar la equivalencia de ER con respecto a EN entonces:
3EN + 12 = 2EN + 24
3EN + 12 -2EN= 24
EN= 24 – 12
EN = 12
Reemplazando
ER= 3* 12 = 36
Resultado : la edad de Nuria es 12 y la del padre es 36
Práctico1: Resolución de Problemas
1
2
3
4
5
6
7
8
9
10
11.- La suma de las edades de A y B es de 284 años, y B tiene el doble de años menos que A. Hallar
ambas edades.
12.- La suma de tres números enteros consecutivos es 388. Hallar los números.
x= un numero entero, x+1 = numero mas uno
x+2 = numero mas dos
13.- La edad de Pedro es el triplo de la de Juan y ambas edades suman 40 años. Hallar ambas edades.
14.- En un hotel de dos pisos hay 48 habitaciones. Si las habitaciones del segundo piso son la mitad de
las del primero, ¿Cuántas habitaciones hay en cada piso?
15.- Repartir 500 lápices entre A, B y C de modo que la parte de B sea el doble menos 5 que la de A y
la de C el triplo de la de A.
16.- Se ha comprado un traje, un bastón y un sombrero por $259. El traje costo 8 veces más que el
sombrero y el bastón $30 menos que el traje. Hallar los precios respectivos.
17.- La edad de Enrique es la mitad de la de Pedro; la de Juan el triplo de la de Enrique; y la de Eugenio
el doble de la de Juan. Si las cuatro edades suman 132 años, ¿Qué edad tiene cada uno
18.- Las edades de un padre y su hijo suman 60 años. Si la edad del Padre se disminuyera en 15 años se
tendría el doble de la edad del hijo. Hallar ambas edades.
19.- Un perro y su collar han costado $54, y el perro costo ocho veces lo que el collar. ¿Cuánto costó el
perro y cuanto costo el collar?
20.- En una clase hay 60 alumnos entre varones y señoritas. El número de señoritas excede en 15 al
duplo de los varones. ¿Cuántos varones hay en la clase y cuantas señoritas?
21.- ¿Cuál es el área de un rectángulo sabiendo que su perímetro mide 16 cm y que su base es el triple
de su altura ?. Rta: Base 6cm, Altura 2cm
22.- Busca un número cuyo doble más tres unidades sea igual a su triple menos cinco unidades. Rta: El
número es 8.
23.- Narciso ha comprado en las rebajas dos pantalones y tres camisetas por 161 $. ¿Cuál era el precio
de cada artículo, sabiendo que un pantalón costaba el doble que una camiseta ?. Rta: Una camiseta
cuesta 23 $ y un pantalón 46 $
24.- Rosa tiene 25 años menos que su padre, Juan, y 26 años más que su hijo Alberto. Entre los tres
suman 98 años. ¿Cuál es la edad de cada uno? Rta: Rosa tiene 33 años, Juan 58 años y Alberto 7 años.
25.-Juan y Pedro son mellizos. Julián tiene 3 años más que ellos y las edades de los tres sumadas es 42.
¿Qué edad tiene Julián ?. Rta: 16 años.
26.- Tenemos que repartir $280 entre tres hermanos. El mayor se lleva el triple que el segundo, y el
segundo se lleva el doble que el tercero. ¿ Cuánto se lleva cada hermano?. Rta: el primero se lleva
$186,66, el segundo $62,22 , el tercero $ 31,11
27.-Angélica compra tres pantalones, dos blusas y un sombrero por 135. Beatriz adquiere un pantalón,
tres blusas y un sombrero por 100. Por su parte, Carolina compra dos pantalones, tres blusas y dos
sombreros por 155. Si se supone que los artículos de un mismo tipo cuestan lo mismo, determinar el
precio de cada una de las prendas. Rta: pantalón $25, blusa $15 y sombrero $30
28.- El CONICET recibió una donación de $1.360.000 para realizar investigaciones sobre métodos de
prevención de posibles ataques bacteriológicos. El dinero se dividió entre 100 científicos de 3 grupos
de investigación: A, B, C. Cada científico del grupo A recibió $20.000; cada científico del B $8.000 y
cada uno del C recibió $10.000. El grupo de investigación B recibió 1/5 de los fondos del grupo A.
¿Cuántos científicos pertenecen a cada Grupo ?. Rta: Al grupo A pertenecen 40 científicos, 20
pertenecen al B y 40 al C.
29.-Cierta persona compró un impermeable, un sombrero y unas pantuflas y pagó por todo 200 pesos.
El impermeable le costó 90 pesos más que el sombrero; el sombrero y el impermeable juntos costaron
160 pesos más que las pantuflas. ¿Cuál era el precio de cada prenda ?. Rta: Sombrero $135, pantalón
$20, impermeable $45
30.-En una reunión hay doble número de mujeres que de hombres y triple número de niños que de
hombres y mujeres juntos. ¿Cuántos hombres, mujeres y niños hay si la reunión la componen 96
personas? Rta: Cantidad de hombres 8 , cantidad de mujeres 16 y la cantidad de niños es 72
Unidad 1’ – Lógica Proposicional
Un propósito a lograr en el área de matemática, es que los alumnos aprendan a razonar
matemáticamente. Tal propósito no se lograría, si es que no pasa del mundo de las opiniones empíricas
al mundo del pensamiento formal. Pero, un pensamiento sistemático, auténtico y coherente no puede
surgir sin la base de un método crítico correcto. En este sentido, el conocimiento de la lógica (ciencia
que se ocupa del estudio de los métodos y principios para distinguir el buen razonamiento del malo), se
hace indispensable.
El término “lógica” tiene varios significados. Nosotros nos referiremos a la lógica como disciplina
filosófica que se ocupa de los razonamientos: Con el lenguaje podemos hacer muchas cosas: rogarle a
alguien que nos preste dinero, preguntar dónde está una calle o describir nuestra casa a un amigo. En
cada uno de estos casos el lenguaje cumple una función distinta, y aún tiene más. De todas ellas, la
función representativa es una de las principales, y nos permite enunciar y
afirmar cosas sobre el mundo y, así, describirlo. Pero con el lenguaje no sólo
hacemos afirmaciones sobre lo que vemos (“hoy hace un día magnífico”, “el
césped está mojado”…), sino que también a veces relacionamos esas
afirmaciones para poder así extraer nuevos conocimientos (“hoy hace un día
magnífico y el césped está mojado; por lo tanto, tal vez alguien lo haya
regado”). Este proceso que nos permite obtener conocimientos nuevos a
partir de otros se llama RAZONAR.
Razonamos cuando, por ejemplo, ordenamos nuestros pensamientos,
los conectamos entre sí y extraemos conclusiones que tal vez sirvan para
tomar decisiones. Todos razonamos cuando conectamos ideas y llegamos a
conclusiones. Pero no todos ni siempre razonamos bien.
LA LÓGICA ES LA CIENCIA QUE ESTUDIA LOS MÉTODOS Y PRINCIPIOS QUE PERMITEN DISTINGUIR
LOS RAZONAMIENTOS CORRECTOS DE LOS INCORRECTOS, ES DECIR, QUÉ RAZONAMIENTOS SON
VÁLIDOS Y CUÁLES NO.
Pero no se interesa por el proceso que se da en nuestras mentes cuando razonamos (eso es objeto de la
Psicología), sino que se ocupa de los razonamientos ya formados y expresados de forma escrita u oral.
No se trata de que los lógicos razonen bien y el resto no, pero estudiar lógica ayuda a detectar las
formas erróneas de razonar y evita caer en trampas y falacias.
RAZONAMIENTO, INFERENCIA o ARGUMENTACIÓN
Es un conjunto de afirmaciones en el que se produce el paso de uno o más enunciados que
tomamos como punto de partida (LASPREMISAS), a una afirmación que se sigue o se concluye de aquellas
(LACONCLUSIÓN). Hay que tener muy en cuenta que no todo conjunto de afirmaciones es un
razonamiento. Para que lo haya es necesario que una de ellas, llamada conclusión, se derive de las
otras, llamadas premisas, que a su vez son las que aportan pruebas o razones para llegar a esa
conclusión.
EJEMPLO:
Ivan Lend, el jugador de tenis, es checoslovaco.
Todos los checoslovacos son europeos.
Así que Ivan Lend es europeo.
Ninguna afirmación es, en sí misma, premisa ni conclusión, que no son más que términos
relativos. No existen premisas sin conclusión ni viceversa. Y a la vez, las premisas pueden ser
conclusiones en otro contexto, igual que las conclusiones pueden ser premisas.
EJEMPLO:
Ivan Lend es europeo
(conclusión del anterior, ahora premisa)
Ningún europeo es americano. Ivan Lend no es americano.
En un razonamiento reconocemos cuál es la conclusión porque ésta suele venir precedida por
NEXOS o EXPRESIONES DERIVATIVAS tales como: por lo tanto, luego, por ende, en consecuencia, así que,
se sigue que, de ahí que, por eso, se deduce que, podemos concluir que….
Son nexos indicadores de las premisas: porque, pues, dado que, puesto que, ya que, ….
También hay que tener presente que en un razonamiento tal vez no haya ningún nexo; en estos
casos atenderemos especialmente al contexto. Todos los razonamientos pueden esquematizarse, se
presenten como se nos presenten, de la siguiente forma: EJEMPLO:
Juan Carlos ha aumentado su cotización en el mercado futbolístico puesto que ha sido el goleador
del último torneo y todos los goleadores ven aumentada su cotización en el mercado futbolístico.
FORMA ESQUEMÁTICA
P1: Juan Carlos ha sido el goleador del último torneo.
P2: Todos los goleadores ven aumentada su cotización en el mercado futbolístico.
C: Juan Carlos ha aumentado su cotización en el mercado futbolístico.
Cuando la conclusión se deduce correctamente del conjunto de premisas se dice que la inferencia
es válida, en caso contrario la inferencia no es válida. Sabemos que la conclusión se deriva
correctamente de sus premisas porque hay un conjunto de leyes lógicas que garantizan dicha
corrección. Justamente la lógica estudia el modo de usar estas leyes, con las cuales podemos saber si
una inferencia es válida o no. De ahí que, la lógica es una ciencia que estudia los métodos y las leyes
que determinan la validez de la inferencia.
LA LÓGICA FORMAL
Es la que se ocupa de la validez de los razonamientos centrándose en su aspecto formal,
determinando cuándo una inferencia está bien construida, es decir, cuándo la estructura del
razonamiento nos permite inferir la necesidad de la conclusión. Los lógicos clásicos enseñaban que
además de ciencia, es un arte: coincide con otras ciencias como la psicología y la matemática en que
investiga las leyes del pensamiento; y con otras artes, como la gramática, en que aplica
estratégicamente reglas. Éstas serían útiles para el ejercicio de la discusión y el razonamiento en
campos tan diversos como la ciencia, el derecho, la política, la propaganda o la vida cotidiana. Pero
además y sobre todo, se puede decir de la lógica formal que ES UN LENGUAJE.
El lenguaje es un fenómeno social basado en la capacidad que poseen algunas especies animales
de comunicarse mediante símbolos u otros signos interpretados (los símbolos son un tipo de signos que
mantienen con su significado una relación puramente arbitraria). Dicha capacidad está especialmente
desarrollada en el hombre, que lo utiliza incluso para referirse a él mismo(metalenguaje). Ahora bien,
existen varios tipos de lenguaje:
LENGUAJE NATURAL
Se entiende por Lenguaje Natural al lenguaje (=conjunto de símbolos) utilizado por una sociedad
para comunicarse. Hay que precisar que el lenguaje que usamos para comunicarnos y referirnos a la
realidad no es ‘natural’ en sentido estricto, sino que lo aprendemos en sociedad, a diferencia de lo
que ocurre con los demás animales cuyo lenguaje es natural o innato, es decir, lo desarrollan
naturalmente aunque no estén en contacto con individuos de su misma especie. Al lenguaje que
aprendemos en sociedad y que usamos para comunicarnos y referirnos a las cosas que nos rodean, lo
llamamos Lenguaje Cotidiano o Lenguaje Ordinario o Lenguaje Natural
ELEMENTOS DEL LENGUAJE NATURAL: SÍMBOLOS Y REGLAS
El Lenguaje Natural humano consta de un conjunto finito de símbolos (palabras y signos
lingüísticos, que forman el Vocabulario) y un número finito también de reglas (constituyen la Sintaxis),
las cuales determinan cómo combinar correctamente los símbolos del vocabulario, es decir, establecen
cómo formar correctamente oraciones en ese lenguaje.
¿QUÉ ES UNA ORACIÓN?
Es una expresión lingüística sintácticamente correcta (=está bien construida de acuerdo con
las reglas) y que posee sentido completo. Llamamos «expresión lingüística» a cualquier combinación de
símbolos de un lenguaje. Ejemplos: “El cuarzo es un mineral”, “¿Qué hora es?”, “Cierra la puerta”,…
Por el contrario, expresiones como “Vivir con cuando”, “Lloviendo noche estaba aquella”, etc.
no son oraciones porque o bien no tienen sentido completo o son sintácticamente defectuosas.
¿QUÉ ES UNA ORACIÓN ENUNCIATIVA O ENUNCIADO?
Es una expresión lingüística que tiene sentido completo y que puede ser verdadera o falsa. De
los anteriores ejemplos de oraciones, sólo el primero (“El cuarzo es un mineral”) es un enunciado, pues
dice algo que puede ser verdadero o falso, mientras que los otros dos ejemplos (“¿Qué hora es?”,
“¡Cierra la puerta!”) no lo son porque no cabe preguntarse si es verdadero o falso lo que ‘dicen o
expresan’.
INSUFICIENCIAS DEL LENGUAJE NATURAL
Dada la multivocidad (=riqueza significativa) que lo caracteriza, el Lenguaje Natural resulta
insuficiente para las exigencias de exactitud de la ciencia o para la formulación precisa de
razonamientos complejos (aunque esa riqueza expresiva lo convierta en el Salustiano mejor aliado del
poeta, el novelista o el orador). Las insuficiencias del Lenguaje Natural con respecto a la precisión de
sus expresiones son consecuencia de:
a) Ambigüedades semánticas: en el Lenguaje Natural hay muchas palabras y expresiones cuyo
significado no es preciso, sino ambiguo; rebosa de términos polisémicos (es decir, palabras
que tienen más de un significado). Ejemplo: “Pedro alquiló una casa” (no sabemos si la casa
que Pedro alquila es de su propiedad y se la alquila a otra persona, o si Pedro la alquiló para
habitarla él),“Llevaba el gato en el coche”, “Te sigo”,…
b) Deficiencias sintácticas: las reglas sintácticas que determinan cómo combinar
correctamente las palabras del lenguaje natural carecen de criterios rigurosos que permitan
evitar oraciones sin sentido. Ejemplos: “Los martillos cerrados paladean locamente”, “Allí
donde los libros bordean las ásperas playas se alza el fondo de planicie más elevado”,
LENGUAJE ARTIFICIAL
Tratando de superar las citadas limitaciones del Lenguaje Natural, para proporcionarle a las
ciencias un lenguaje exacto y riguroso, se han ido construyendo los Lenguajes Artificiales, esto es,
lenguajes bien definidos que poseen una estructura operativa más eficaz.
En líneas generales puede decirse que todas las ciencias, en especial las ciencias de la
naturaleza, emplean Lenguajes Artificiales y que ésta ha sido una de las condiciones para su progreso.
Por ejemplo, los símbolos de la Química, la Física, la Biología, pero también los de la Economía, la
Lingüística, etc., constituyen tipos de lenguaje artificial.
ELEMENTOS QUE INTEGRAN UN LENGUAJE ARTIFICIAL
Básicamente consta de los mismos elementos que cualquier lenguaje natural (un conjunto se
signos y una serie de reglas sintácticas), pero se le exige además:
a) Que los signos estén bien definidos, para que no quepan ambigüedades;
b) Que el conjunto de las reglas para la formación de expresiones, impida la construcción de
expresiones carentes de sentido y permita saber, en cualquier momento, si una determinada
combinación de signos es una expresión bien formada del Lenguaje;
c) Y que posea, además, un conjunto de reglas operativas o de transformación de expresiones,
que permita deducir a partir de unas expresiones correctas del Lenguaje otras que también lo sean,
para de ese modo construir rigurosas y complejas cadenas deductivas.
La Lógica y las Matemáticas son ejemplos de Lenguajes Artificiales.
LENGUAJE FORMAL
Se denomina Lenguaje Formal a un Lenguaje Artificial cuyos signos son formales (es decir,
carecen de significado) y cuyas reglas sintácticas permiten operar con dichos signos como en un cálculo.
La Lógica y las Matemáticas son Lenguajes Artificiales y, además, Formales.
¿Qué significa que los signos de un Lenguaje Formal carecen de significado?
Pues que tales signos no se refieren en absoluto a la realidad. Así, por ejemplo, el signo
matemático ‘2’ no se refiere a dos cosas concretas, como dos manzanas o dos peras; y lo mismo le
ocurre a los signos lógicos ‘p’, ‘q’, ‘r’, que no se refieren a ninguna proposición determinada.
¿Qué significa que las reglas de un Lenguaje Formal poseen la eficacia de un cálculo?
- Que mediante tales reglas siempre podremos saber si una expresión (es decir, un conjunto de
signos) está bien formada en ese lenguaje.
- Y que mediante la aplicación de dichas reglas podremos transformar expresiones bien formadas
en dicho lenguaje en otras expresiones que también lo estén, y que por algún motivo nos interesen.
LA LÓGICA PROPOSICIONAL O LÓGICA DE ENUNCIADOS
Como ya se mencionó, hay oraciones que tienen una función informativa, que se caracterizan
por afirmar o negar algo.
Ej:
“Hubo dos guerras mundiales.”
“Cinco es un número impar”
A este tipo de expresiones lingüísticas se las denomina proposiciones o enunciados, y se
caracterizan porque ellas tienen el sentido de decir que son verdad o falsas.
La lógica proposicional trata sobre la verdad o la falsedad de las proposiciones y de cómo la
verdad se transmite de unas proposiciones(premisas) a otras (conclusión).Una proposición es la unidad
mínima de significado susceptible de ser verdadera o falsa.
Una palabra aislada, por sí misma, no nos dice nada. La palabra ‘perro’ tiene una referencia,
pero no nos da ninguna información si no es en el contexto de una proposición como ‘El perro está
ladrando’. Por ello Una palabra, A menos que constituya una proposición, no es verdadera o falsa. Sólo
tienen valor de verdad las proposiciones.
LOS SIGNOS DE LA LÓGICA PROPOSICIONAL
a) Variables proposicionales: para simbolizar las proposiciones simples se utilizan las letras :p,
q, r, s, t, u, a, b, c…. Estas letras se denominan variables proposicionales porque se utilizan para
representar a cualquier proposición del Lenguaje Natural. Por ejemplo: la proposición simple “Los gatos
son mamíferos” la simbolizamos con una “p”. Y la proposición compleja “Los gatos son mamíferos y les
gusta cazar ratones” la simbolizamos como ‘p y q’.
Admitimos que cualquier proposición simple es o bien verdadera o bien falsa, pero no ambas
cosas a la vez.
Éste es el Principio de Bivalencia: las proposiciones simples sólo pueden tener dos valores de
verdad: o son verdaderas o son falsas.
b) Símbolos auxiliares: en lógica se utilizan paréntesis, corchetes y llaves para agrupar
ordenadamente las proposiciones. { } , [ ] , ( )
c) Conectivas lógicas: se denominan conectivas a aquellos signos lógicos que sirven para unir a las
proposiciones simples entre sí. Las conectivas que manejaremos son las siguientes:
El conjuntivo: es la conjunción "y". Su símbolo es "^".
El disyuntivo: es la conjunción "o". El símbolo del inclusivo es "v"’.
El condicional: es la conjunción compuesta "si... entonces". Su símbolo es "→".
El bicondicional: es la conjunción compuesta "si y sólo si". Su símbolo es "↔".
Negación conjunta: son las partículas "no…". Su símbolo es "∼".
CLASES DE PROPOSICIONES O ENUNCIADOS
Si se analiza gramaticalmente una frase o expresión del lenguaje cotidiano, veremos que estas
pueden clasificarse como simples o compuesta
Una proposición es simple si no puede descomponerse en partes que a su vez sean
proposiciones. También se la denomina proposición atómica. Ejemplos: “Los gatos son mamíferos”,
“Pedro viene con Luis”.
Una proposición es compuesta si está compuesta por proposiciones simples unidas por
CONECTIVOS LOGICOS. También puede ser llamada molecular. Ejemplos: “Los gatos son mamíferos,
pero a mí me gustan más los pájaros exóticos”, “Si Pedro viene con Luis y trae comida, nos iremos todos
al campo”
La operación consistente en sustituir las expresiones del lenguaje natural Por símbolos lógicos se
llama formalización. A la proposición debidamente Formalizada la llamaremos fórmula. Según lo dicho,
la formalización de la Proposición atómica
“Los gatos son mamíferos “será, simplemente, la fórmula p
Los conectivos lógicos nos dicen cómo afecta el valor de verdad de las proposiciones atómicas al
valor de verdad de las proposiciones compuestas. Ya hemos visto que en el lenguaje natural, la
conjunción y funciona como un conectivo lógico.
Por ejemplo, cuando decimos:
El helecho es una planta y los gatos son herbívoros se formalizará como:
El helecho es una planta: p
Los gatos son herbívoros: q
La fórmula queda expresada como: p Λ q
Estamos conectando la proposición atómica las EL HELECHO ES UNA PLANTA con la proposición
atómica ‘LOS GATOS SON MAMÍFEROS’ mediante la conectiva lógica ‘y’. La ‘y’ nos está diciendo que la
proposición molecular El helecho es una planta y los gatos son mamíferos sólo es verdadera si las dos
proposiciones atómicas que la componen son ambas verdaderas, y será falsa en caso de que, al menos
una de ellas, sea falsa. Como sabemos que los gatos no son herbívoros, podemos concluir que la
proposición El helecho es una planta y los gatos son mamíferos es falsa.
Por su parte, a cada conectiva lógica le corresponde un símbolo y una tabla de verdad que le
corresponde
CONECTIVOS LÓGICOS
NEGACIÓN (∼)
∼ …se lee “no”
∼ p …se lee “ no p”
∼ q …se lee “no q”
Las expresiones siguientes:
“Podemos ir de excursión a la barda”: p
“No podremos ir de excursión a la barda”: ∼p
“Tengo un auto gris”: q
“No tengo un auto gris”, ∼q.
El negador es aquel conectivo que al aplicarse a una proposición cualquiera, sea simple o
compleja, la convierte en falsa si es verdadera y en verdadera si es falsa. Las condiciones de verdad
de la negación se pueden representar en una tabla del siguiente modo:
p
~p
V
F
F
V
CONJUNCION (∧)
∧ …se lee “y”
p ∧ q …se lee “p y q”
La conjunción es aquella conectiva que sólo es verdadera si las dos proposiciones que une
son ambas verdaderas, y que es falsa en los demás casos.
Las expresiones siguientes son ejemplos de conjunción de proposiciones:
"Comí y bebí". La formalizaremos como:
Comí: p
pΛq
Bebí: q
“Hoy estamos alegres y nos iremos a bailar”
Hoy estamos alegres: r
rΛs
Hoy nos iremos a bailar: s
“El sol se nubló, pero seguimos caminando”,
El sol se nubló: p
pΛt
Nosotros seguimos caminando: t
“A pesar de que va mal vestido, me da gusto verlo “
Él va mal vestido: p
pΛq
A mí me da gusto verlo: q
Tabla de verdad de la conjunción:
p
q
p∧q
V
V
V
V
F
F
F
F
V
F
F
F
DISYUNCIÓN ( ∨ )
∨ …se lee “o”
p ∨ q …se lee “p o q”
El disyuntor es aquella conectiva que sólo es falsa si las dos proposiciones que une son ambas
falsas, y verdadera en los demás casos.
Las expresiones siguientes son ejemplos de DISYUNCIÓN de proposiciones:
"Como o bebo" p v q
La formalizaremos como:
Yo como : p
pvq
Yo bebo : q
O bien voy al cine, o bien voy al teatro
Voy al cine :r
rvs
Voy al teatro : s
La tabla de verdad de la diyunción es:
p q
pvq
V
V
V
V
F
V
F
V
V
F
F
F
CONDICIONAL ( → ):
→ …se lee “Si…, entonces…”
p → q…se lee “Si p, entonces q” (‘p’ es el antecedente, y ‘q’ es el consecuente)
Las expresiones siguientes son ejemplos de proposiciones condicionales
Si asiste a clase entonces se aprueba
Se asiste a clase : p
p→q
Se aprueba: q
“Si vienes mañana, iremos a casa de Luis”
Vienes mañana: r
r→s
Iremos a casa de luis: s
El condicional es aquella conectiva que sólo es falsa cuando, siendo el antecedente
verdadero, el consecuente sea falso, y verdadera en los demás casos. La tabla de verdad es:
P
q
p→q
V
V
V
V
F
F
F
V
V
F
F
V
Llamamos ‘antecedente’ del condicional a la proposición que se halla a su izquierda, y
‘consecuente’ a la que está a su derecha.
La tabla de verdad del condicional siempre causa cierta inquietud y, de hecho, ha sido objeto
de crítica por parte de muchos lógicos.
Lo primero que observamos en la tabla del condicional es que sólo es falso en un caso: cuando
el antecedente es verdadero y el consecuencia falso. En efecto, supongamos que a principio de curso
un profesor dice a sus alumnos: Si venís a clase entonces aprobaras
Ahora supongamos que, al final del curso, un determinado alumno, tras asistir religiosamente a
todas las clases, desaprueba .Diremos, en ese caso, que el profesor mintió al principio del curso pues la
proposición ‘si venís a clase entonces aprobaras’ es manifiestamente falsa, pues un alumno ha ido a
clase y no ha aprobado.
Lo que sorprende de la tabla de verdad del condicional no es esto, sino los casos que lo hacen
verdadero.
• En el primer caso (v→v) no parece haber problema, pues si el antecedente es verdadero y
también lo es el consecuente, no hay razón para negar el condicional: se ha cumplido la
condición y también se ha cumplido lo condicionado.
• El segundo caso merece algo más de atención (F→V). En efecto, como vemos en la tabla, si
el antecedente es falso pero el consecuente es verdadero, el condicional es verdadero. La
razón de esto es que el consecuente de un Condicional puede ser verdadero
independientemente del antecedente. Si es Verdad que si Pepito asiste a clases entonces
aprueba, eso no excluye que apruebe sin asistir a clases, pues aun en ese caso seguiría siendo
verdad que si hubiera asistido a clases, aprobaría.
• El tercer caso en el que el condicional es verdadero no carece tampoco de interés (F→F).
Si tanto el antecedente como el consecuente son falsos, el condicional es verdadero. Hay que
recordar que un condicional no está describiendo un hecho actualmente existente del mundo,
sino que establece una condición y dice que, en el caso de que se cumpliera, ocurriría tal o
cual cosa. Que el antecedente y el Consecuente sean falsos no excluye que si el antecedente
hubiera "sido" verdadero también lo hubiera sido el consecuente. Si yo no asisto a clase y no
apruebo, no por eso es falso que si asisto a clase, entonces apruebo.
BICONDICIONAL ( ↔ ):
↔ …se lee “Sólo si…”
p ↔ q …se lee “p sólo si q” o “Sólo si p, entonces q”
Las expresiones siguientes son ejemplos de proposiciones bicondicionales
Solo si llueve, me quedare en casa
llueve: p
p↔q
me quedare en casa: q
La democracia sólo existe si y sólo si hay elecciones
La democracia existe: r
r↔t
Hay eleciones : t
El bicondicional es aquella conectiva que sólo es verdadera si las dos proposiciones unidas
por ella tienen ambas el mismo valor de verdad, es decir, son ambas verdaderas o falsas a la vez.
La tabla de verdad del bicondicional es:
p q p↔ q
V V
V
V F
F
F V
F
F F
V
Reglas de prioridad
El uso del paréntesis puede facilitar la comprensión de las expresiones lógicas. Más aun, si no se usan
paréntesis las expresiones lógicas pueden llegar a ser ambiguas. Por ejemplo, ¬p v q puede ser
interpretada como “(~p) v q” o como ~ (p v q).
Para interpretar correctamente la expresión, se usan las reglas de prioridad o precedencia. Los
conectivos tienen diferentes prioridades, a continuación se enumeran de la mas alta prioridad a la mas
baja: ~,Λ, v,→, ↔
TABLAS DE VERDAD DE LAS OPERACIONES LOGICAS
Para averiguar los posibles valores de verdad de una proposición compuesta debemos armar una tabla
de verdad .Una tabla de verdad de una proposición compuesta , es una tabla que se arma con los posibles
valores de verdad de las proposiciones simples que componen una proposición compuesta, con la
finalidad de obtener el valor de verdad de la proposición dada
Las combinaciones posibles de los valores de verdad de 2 proposiciones (p, q), cada una de las cuales
puede ser verdadera o falsa, son cuatro: que las dos sean verdaderas, que una sea verdadera y la otra
falsa, que una sea falsa y la otra verdadera, y que las dos sean falsas.
Para un número ‘n’ de proposiciones las combinaciones de sus valores de verdad serán 2n
Ejemplo: Si analizamos la proposición t: p  ~ p realizando su tabla de verdad:
p ~p p~p
V
F
F
V
V
V
Como se utiliza una sola proposición hay solo dos valores de verdad posibles
Ejemplo: Construir la tabla de verdad de la proposición: [ ( p  q )  p ]  q
2n = 22 = 4 combinaciones posibles
p q pq [(pq)p]
V
V
F
F
V
F
V
F
V
F
V
V
V
F
F
F
[(pq)p]q
V
V
V
V
Ejemplo : construir la tabla de verdad de la siguiente proposición
Ejemplo : Construir la tabla de verdad de la proposicion [∼pΛ(q∨r)] ↔[(p ∨ r) Λ q]
2n = 23 = 8 combinaciones posibles
p q r
∼p q∨r
∼pΛ(q∨r)
pvr
(p ∨ r) Λ q
[∼pΛ(q∨r)] ↔[(p ∨ r) Λ q]
V
V
V
F
V
F
V
V
F
V
V
F
F
V
F
V
V
F
V
F
V
F
V
F
V
F
V
V
F
F
F
F
F
V
F
V
F
V
V
V
V
V
V
V
V
F
V
F
V
V
V
F
F
F
F
F
V
V
V
V
V
V
V
F
F
F
V
F
F
F
F
F
Ejemplo: Construir la tabla de verdad de la proposición [ ∼p (q  p) ] ∼ q
2n = 22 = 4 combinaciones posibles
p q ∼p ∼q
V
V
F
F
V
F
V
F
F
F
V
V
F
V
F
V
q p
[ ∼p (q  p) ]
V
F
F
F
V
V
F
F
[ ∼p (q  p) ] ∼ q
F
V
V
V
TAUTOLOGÍA, CONTRADICCIÓN y CONTINGENCIA
Al hacer la tabla de verdad de cualquier fórmula nos podemos encontrar con tres casos: que la tabla
de verdad de la fórmula sólo tenga VERDADEROS, que sólo tenga FALSOS, y que tenga VERDADEROS y
FALSOS.
TAUTOLOGÍA: Es una fórmula siempre válida, sean cuales sean los valores de verdad de las proposiciones
que la integran. Es decir, es una fórmula cuya tabla de verdad final sólo tiene VERDADEROS.
CONTRADICCIÓN: Es una fórmula no válida nunca, sean cuales sean los valores de verdad de las
proposiciones que la integran. Es decir, es una fórmula cuya tabla de verdad final sólo tiene FALSOS
CONTINGENCIA: Es una fórmula que puede ser válida o no, en función de los valores de verdad de las
proposiciones que la integran. Es decir, es una fórmula cuya tabla de verdad final tiene VERDADEROS y
FALSOS no importa en qué proporción.
DIAGRAMA DE VALORES DE CERTEZA (o de verdad)
Independientemente de la longitud y de lo complicada que sea una proposición molecular, se pueden
hallar sus valores de certeza si se conocen los valores de certeza de sus partes.Sea por ejemplo la fórmula ( p ∨ q ) ∧ r donde p y r son V y q es F , el diagrama tendrá la forma:
( p ∨ q) ∧ r
V
F
V
V
∧ V
V
Se comienza con las variables atómicas, luego el conectivo de menor alcance y se continúa hasta el
término de enlace final.Ejemplo 2: construir un diagrama para ( p ∧ q ⇒ p) ∨ ( r ∧ s) donde p y q son V y r y s son F
( p ∧ q ⇒ p) ∨ ( r ∧ s)
V
V
V
V
V
V
F
F
F
F
V
V
¿CÓMO FORMALIZAR EN LA LÓGICA PROPOSICIONAL CUALQUIER EXPRESIÓN DEL LENGUAJE
NATURAL?
Formalizar una expresión del lenguaje natural consiste en destacar la «forma» en que se
relacionan las proposiciones de esa expresión, prescindiendo del contenido o significado de éstas. Dicho
de otro modo: consiste en “traducir” al lenguaje artificial de la lógica las expresiones del lenguaje
natural.
Cada uno de los conectivos lógicos está asociado con una serie de frases del lenguaje natural que
son las siguientes
Ejemplos:
La comida no tenia rico gusto :
La proposición p sería: La comida tenía rico gusto, entonces la proposición anterior se
representa como: ∼ p
Mañana es sábado y nos iremos a la playa: p ∧ q
Mañana es sábado: p
Nos iremos a la playa: q
No es cierto que Fernando esté en Buenos Aires y Juan no esté en Neuquén: ∼ ( p ∧ ∼ q )
Fernando está en Bs As: p
Juan está en Neuquén : q
O lo juntas todo o no vas de excursión y no te regalo el vestido: p ∨ ( ∼q ∧ ∼ r )
Juntas todo: p
Vas de excursión : q
Te regalo el vestido : r
Si Pedro sabe hablar inglés, entonces no habla francés, aunque si no supiese hablar inglés, tampoco
hablaría francés: ( p → ∼ q ) ∧ ( ∼ p → ∼ q )
Pedro sabe hablar inglés :p
Pedro no habla francés: q
Si llegas después de las 10, te encontrarás con la puerta cerrada y no podrás cenar: p → ( q ∧ ∼ r)
Llegas después de las diez : p
Encontrarás la puerta cerrada : q
Podrás cenar : r
No es verdad que si Antonio estudia, entonces María no trabaje: ∼ ( p → ∼ q )
Antonio Estudia : p
María Trabaja : q
Sólo si tú no lo has matado, te dejaremos libre:
∼p↔q
Tú lo has matado : p
Te dejaremos libre: q
Si no crees que lo que te digo ni lo que te dice Juan, nunca sabrás lo que pasó: (∼ p ∧ ∼ q ) → ∼ r
Crees lo que te digo : p
Crees lo que dice Juan: q
Sabrás lo que paso: r
Es tarde pero no me di cuenta: p Λ ∼q
Es tarde :p
Me di cuenta: q
Unidad 1’ - PRÁCTICO 2: LOGICA PROPOSICIONAL
1.-De los siguientes enunciados, determina cuales son proposiciones:
b) Mi familia y yo viajaremos a la cordillera a fin de año
a) Es primavera.
c) ¿Juan es amigo de Pedro?
d) Dos es mayor que tres.
e) Algunos estudiantes estudian y aprueban. f) Hola, ¿Cómo están?
g) Si llueve y hace sol sale el arco iris.
h) La edad de Gonzalo es 16
i) ¡Cierra la puerta!
j) ¿Qué hora es?
k) El cielo es azul y los campos son verdes.
l) 7415 es un número par
m) 45 + 18
n) Eduardo es un número racional
2.-Escribe con las conectivas y símbolos de la lógica proposicional las siguientes proposiciones.
a) A pesar de que el coche no aceleró, hubo un accidente.
b) Tiene coche y, sin embargo, no sabe conducir.
c) Si no vienes ya, nos vamos a desayunar.
d) No iremos al teatro a menos que venga Juan
e) Juan canta sólo si está contento.
f) Si las exportaciones disminuyen entonces bajarán las utilidades
g) Los precios son altos si y sólo sí los costos aumentan
h) Si la producción aumenta entonces bajarán los precios
i) La lógica y la matemática son ciencias formales
j) Un número es par si y solo si es divisible por dos
k) Es buen estudiante siempre que obtenga 10 de promedio
l) Laura tomo tarde el autobús, pero llegó a tiempo
m) No hace calor
3.- Si p y r son proposiciones verdaderas y q es falsa, determine el valor de verdad de :
a) [ ( p ∧ ∼ q ) v ∼ r ] ⇒ q
b) [ (∼ r v q ) ∧ ( r v ∼ p) ] ⇔ ∼ r
c) [ (∼ p ⇒ q ) ⇒ ∼ r ] v [ ∼ q ⇒r ]
d) (pΛq) Λ r
e) [p Λ (q → ∼r)] → (∼p ∨ ∼r)
4.- ¿ Qué condiciones debe satisfacer p y q para que la siguiente proposición sea :
a) [ ( q ⇔ p ) ∧ ∼ q ] ⇒ ( p ∧ ∼ q ) Falsa
b) [ (∼ p ⇒ q ) ⇒∼ r ] v [ ∼ q ⇒ r ] Falsa
c) { ~p ∧ ( p v q ) } ∧ [ p ⇔ q ] Verdadera
5.- Si la proposición p es verdadera ( V ) y la proposición q es verdadera ( V ) . De las expresiones
siguientes cuál (es) es(son) correcta(s) :
a) p ⇒q = V
b) p ∧ q = F
c) p v q = F
d) ∼ p ∧ q = V
6.- Construir las tablas de verdad e indique cuales son tautologías, contradicciones o contingencias
a) [(p ∧ ∼q) ⇒ q ]⇔ (p ⇒ q)
b) (p ⇒ q) ⇔ [(∼p ⇒∼ q)]
c) [p ∧ (p ⇒ q) ] ⇒q
d) [(p ⇒ q) ∧ ~p] ⇒~q
e) ∼{[∼p ∧ (∼q v p)] ⇒ q}
f) [(a v b) ∧ (a v c)] ⇔ [a v (b ∧ c)]
g) [(p→q) Λ p] → q
h) [ (∼p v q ) → r ] ↔ [ (p ∧ ∼q) v r ]
i) [(p ⇒ q) ∧ (q ⇒ r)] ⇒ (p⇒r)
Unidad 2 – Algoritmos
El proceso de programación.
Elaborar un programa de computadora implica llevar a cabo, una serie de pasos secuenciales y
cronológicos que comienza con la detección y definición del problema y conducen a la implementación
del programa que lo soluciona. A continuación se describen los pasos a seguir.
1.- Definición del problema
Este proceso inicia cuando surge la necesidad de resolver algún problema mediante la
computadora. Para empezar, se debe de identificar el problema y comprender la utilidad de la solución
que se alcance. Es menester tener una visión general del problema estableciendo las condiciones
iniciales y, además, los límites del problema; es decir, donde empieza y donde termina. Por ejemplo,
si tenemos que calcular el sueldo de un empleado, la solución que se logre permitirá obtener la cantidad
que debe pagársele.El problema anterior consiste en un pago de sueldos, y parte de que cada empleado
tiene algunos atributos como su nombre, la antigüedad y el sueldo que percibe por cada hora trabajada.
2.- Análisis del problema
A continuación es necesario entender en detalle el problema en cuestión, para obtener una
radiografía del mismo en términos de los DATOS disponibles como materia prima, y definir el PROCESO
necesario para convertir los datos en la INFORMACIÓN requerida.
La primera etapa consiste en definir los resultados esperados; es decir, la información que deberá
producirse como salida. Respecto al problema de pago de salarios tenemos que se requiere la siguiente
salida:
Nombre del empleado:xxxxxxxxxxxxxx
Sueldo:99999999
La segunda etapa consiste en identificar los DATOS que se tienen como materia prima y que constituirán
la entrada del programa. En este ejemplo tenemos:
El nombre del empleado
El número de horas trabajadas
La cuota por hora
La tercera etapa tiene como finalidad determinar el PROCESO necesario para convertir los datos de
entrada en la información que se tendrá como salida. Volviendo al ejemplo, puesto que se
requieren dos datos de salida, determinemos el proceso de la siguiente manera:
a.- ¿Cómo se calcula el nombre del empleado?
No implica ningún cálculo, pues es un dato que se obtiene como entrada y que no se modifica
b.-¿Cómo se calcula el sueldo?
El sueldo es un dato que no existe como entrada, pero se obtiene o genera multiplicando las horas
trabajadas por la cuota horaria
En este momento ya se tiene una comprensión clara del problema, y podemos avanzar hacia el siguiente
paso
3.- Diseño del programa
Durante este paso se procede a diseñar la lógica para la solución del problema, haciendo dos
cosas:
a.-Elaborar el algoritmo Se diseña el algoritmo de la solución al problema; es decir, se estructura
la secuencia lógica y cronológica de los pasos que la computadora deberá seguir, utilizando alguna
técnica convencional como el pseudocódigo, los diagramas de flujo, los diagramas de llaves, etc.
Equiparando esta actividad con la construcción de una casa, equivale a diseñar el plano arquitectónico
de la misma
b. pruebas de escritorio o traza: Se simula el funcionamiento del algoritmo con datos propios
respecto del problema, y se comprueban a mano los resultados a fin de validar la correcta operación
del algoritmo. Si quedamos satisfechos con los resultados de la prueba habremos agotado este punto,
pero en caso contrario se deberá modificar el algoritmo y posteriormente volverlo a probar hasta que
éste correcto. Es posible que se deba retroceder a cualquier paso precedente.
En este momento se tiene ya diseñada la solución al problema, y estamos listos para pasar al
siguiente punto.
4.- Codificación del problema
En este paso se procede a codificar el programa en el lenguaje de programación que vayamos a
utilizar. Este proceso es sumamente sencillo ya que tenemos diseñado el programa, solo nos centramos
en convertir las acciones del algoritmo en instrucciones de computadora. El programa codificado debe
editarse, compilarse, probarse y depurarse, es decir, se ejecuta para verificar su buen funcionamiento
y se hacen las correcciones o los ajustes pertinentes hasta que esté correcto.
Para que un programa pueda ser entendido y ejecutado por la computadora, debe estar en
lenguaje máquina para ello se debe producir el proceso de compilación, este proceso consiste en lo
siguiente: una vez que tenemos codificado el programa en papel, debe ser introducido mediante el
procese de edición, para lo cual se utiliza un editor que nos permite crear un archivo en el cual
introducimos el programa, creándose el programa fuente con las instrucciones que nosotros elaboramos
en el lenguaje que estemos utilizando en este momento. El programa fuente es sometido al proceso de
compilación, que mediante un compilador se traduce instrucción por instrucción a código objeto,
creándose un archivo con el programa objeto el cual es entendible directamente por la máquina. Si en
el proceso se encuentra algún error, se suspende el proceso; el programador debe corregir el error en
el programa fuente y luego someterlo de nuevo al proceso de compilación.
Una vez que el proceso de compilación ha terminado con éxito, se tiene el programa objeto, el
cual puede ser ejecutado por la computadora que seguirá las instrucciones paso a paso llevando a cabo
las acciones que se indican emitiendo los resultados correspondientes, si estos no son satisfactorios o
existen errores, el proceso de programación debe ser repetido desde alguno de los pasos precedentes
5.- Implementación del programa
Una vez que el programa está correcto, se instala y se pone a funcionar. Debe ser supervisado
continuamente para detectar posibles cambios o ajustes que sean necesarios realizar
6.- Mantenimiento del programa
Un programa que está en operación, por un lado podría presentar errores, los cuales deben
corregirse; por otro lado podría requerir cambios o ajustes en sus datos, proceso o información; esto
implica que eventualmente necesitará mantenimiento para adecuarlo a los cambios de la empresa. Esto
nos sitúa en una dinámica infinita, ya que si surge la necesidad de darle mantenimiento tendremos que
regresar a algún paso precedente; al 4, al 3, al 2 o al punto 1 para definir de nuevo el problema.
ALGORITMO
En el proceso de programación hay un paso que es crucial a la hora de desarrollar un programa;
es el diseño del programa, en otras palabras, diseñar o elaborar el algoritmo de la solución.
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe Alkhôwarîzmi, nombre
de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y
ecuaciones en el siglo IX.
El algoritmo es una secuencia ordenada y cronológica de pasos que llevan a la solución de un
problema o a la ejecución de una tarea
Los pasos del algoritmo deben tener las siguientes características:
• Ser simples, claros, precisos, exactos
• Tener un orden lógico
• Tener un principio y un fin
Un algoritmo debe producir un resultado en un tiempo finito. Los métodos que utilizan
algoritmos se denominan métodos algorítmicos, en oposición a los métodos que implican algún juicio o
interpretación que se denominan métodos heurísticos.
Los métodos algorítmicos se pueden
implementar en computadoras; sin embargo, los procesos heurísticos no han sido convertidos fácilmente
en las computadoras. En los últimos años las técnicas de inteligencia artificial han hecho posible la
implementación del proceso heurística en computadoras.
Ejemplos de algoritmos son: instrucciones para andar en una bicicleta, hacer una receta de
cocina, las instrucciones para armar o utilizar un juguete, obtener el mayor de 5 números dado. Los
algoritmos se pueden expresar en Pseudocódigo, diagramas de flujo o diagramas de llaves.
Por ejemplo:
Elaborar un algoritmo para que guie a una persona a cambiar una lamparita quemada
Los pasos de un algoritmo para cambiar una lamparita podrían ser:
1.-Quitar el foco fundido
2.-Colocar el foco nuevo
3.-Fin
Es probable que no todos pensemos exactamente los mismos pasos para cambiar la lamparita,
pero si conducen de manera efectiva a realizar la tarea entonces estará en lo correcto. Si bien es cierto
que son pocos pasos, si se entienden y se logra cambiar el foco, entonces estará correcto.
Ahora bien, supongamos que estamos tratando de entrenar a un robot para que haga la tarea;
en tal caso no funcionará el algoritmo, tendremos que ser más específicos y claros tomando en cuenta
las capacidades elementales del robot.
El algoritmo más detallado sería:
1. Colocar la escalera
2. Subir a la escalera
3. Quitar la lamparita quemada
4. Bajarse de la escalera
5. Obtener la lamparita de repuesto
6. Subir a la escalera
7. Colocar la lamparita de repuesto
8. Bajar de la escalera
9. Guardar la escalera
10. Fin
Diseñar un algoritmo para volver desde el cine, en función del dinero que tengo:
1. Tengo bastante dinero? Si paso 2 No paso 5
2. Buscar un taxi
3. Lo encontré? Si paso 4 No paso 2
4. Tomar taxi e ir al paso 6
5. tengo dinero para el autobús? Si paso 6 No paso 7
6. tomar el autobús e ir al paso 8
7. Volver caminando
8. Fin
Ejemplo : Buscar el rey de copas en un mazo de naipes. Sólo puede mirar una carta por vez.
Algoritmo CARTAS
comienzo
1.tomar mazo de cartas
2. repetir
cambiar carta
hasta que encontrar rey de copas
fin
Ejemplo: Algoritmo para cambiar el neumático de un AUTOMOVIL
comienzo
1.situar gato en el lugar adecuado
2.repetir
accionar gato
hasta que (auto alcanza altura adecuada)
3.repetir
colocar herramienta sobre tuerca
3.2 repetir
girar herramienta en sentido anti horario
hasta que (tuerca floja)
hasta que (todas las tuercas sueltas
4.sacar rueda
5.colocar rueda nueva
6.repetir
colocar herramienta sobre tuerca
6.1 repetir
girar herramienta sentido horario
hasta que (tuerca ajustada)
hasta que (todas las tuercas ajustadas)
7.repetir
accionar gato
Hasta que (auto llegue al piso
Todas las actividades que llevamos a cabo los seres humanos son algoritmos que hemos aprendido
a seguir. Caminar y lavarse los dientes, por ejemplo, son secuencias lógicas de pasos. La civilización
está basada en el orden de las cosas y de acciones; estas se organizan conforme a secuencias lógicas, y
a esto se le llama programación.
Durante el desarrollo de algoritmos de computadora, es necesario idear los pasos que la máquina
deberá seguir para realizar alguna tarea,actividad o resolver algún problema de nuestra vida cotidiana.
Cuando se presenta el problema de realizar cierta tarea, debemos efectuar ciertas actividades
subyacentes tales como hacer preguntas, buscar objetos conocidos o dividir el problema en partes. A
menudo hacemos todo eso inconscientemente, pero al elaborar algoritmos para solucionar problemas
con la computadora debemos detallar esas actividades de manera explícita.
Si se nos solicita una tarea verbalmente, por lo general hacemos preguntas hasta que quede claro
lo que debemos hacer.
Algunas preguntas comunes en el contexto de la programación son:
¿Qué datos tenemos para trabajar ?,y ¿Cuál es su apariencia?
¿Cuántos datos hay?
¿Cómo sabemos que ya están procesados todos los datos?
¿Cuál debe ser el formato de la salida?
¿Cuántas veces debe repetirse el proceso?
¿Qué condiciones especiales de error pueden presentarse?
Ya sabemos lo que es un algoritmo y conocemos la manera de diseñar soluciones para problemas
de la vida cotidiana. Ahora aplicaremos estos conceptos a la elaboración de algoritmos para programar
computadoras, utilizando Diagramas de llaves o Pseudocódigo.
Estas dos son técnicas para diseñar algoritmos de programas que permiten definir las estructuras
de datos , las operaciones que se aplicaran a los datos y la lógica que tendrá el programa de computadora
para solucionar un determinado problema
DIAGRAMAS DE LLAVES
Los diagramas de Warnier/Orr o Diagramas de llaves (también conocidos como construcción
lógica de programas/construcción lógica de sistemas) fueron desarrollados inicialmente en Francia por
Jean Dominique Warnier y en los Estados Unidos por Kenneth Orr. Este método ayuda al diseño de
estructuras de programas identificando la salida y resultado del procedimiento, y entonces trabaja hacia
atrás para determinar los pasos y combinaciones de entrada necesarios para producirlos. Los sencillos
métodos gráficos usados en los diagramas de Warnier/Orr hacen evidentes los niveles en un sistema y
más claros los movimientos de los datos en dichos niveles.
Elementos básicos
Los diagramas de Warnier/Orr muestran los procesos y la secuencia en que se realizan. Cada
proceso se define de una manera jerárquica; es decir, consta de conjuntos de subprocesos que lo
definen, en cada nivel, el proceso se muestra en una llave que agrupa a sus componentes. Puesto que
un proceso puede tener muchos subprocesos distintos, un diagrama de Warnier/Orr usa un conjunto de
llaves para mostrar cada nivel del sistema.
Elementos de un diagrama de llaves
Principio del algoritmo: Comprende todas las instrucciones que deben realizarse por única vez y al
comienzo del algoritmo . Como inicializar variables.
Cuerpo del algoritmo: Está formado por las combinaciones de composiciones que sean necesarias para
resolver el nudo del problema, respetando el orden e interrelación establecidas.
Fin del algoritmo: Comprende todas las instrucciones que deben realizarse por única vez y al final del
algoritmo. Como mostrar resultados.
La simbología que vamos a utilizar es:
Llaves: Para composiciones o estructuras que respeten en esquema principio, cuerpo y final.
Corchetes: Para composiciones secuenciales.
Estructura a seguir en su realización:
Principio Algoritmo [ Proceso Principio
Nombre
Cuerpo
Del
Fin Algoritmo
[ Proceso Final
Algoritmo
ELEMENTOS BÁSICOS DE UN ALGORITMO
El ser humano realiza los razonamientos a partir de información adquirida que está almacenada
en su cerebro. También el ordenador tiene que almacenar en su interior toda la información necesaria
para realizar el proceso automático que le pedimos que ejecute.
La parte del ordenador que realiza esta función es la Memoria principal, interna o central. Es la
denominada memoria R.A.M. (memoria de acceso directo).
La memoria está constituida por multitud de posiciones de memoria (celdas de memoria)
numeradas de forma consecutiva, capaces de retener elementos de información que vamos a denominar
datos o valores.
También se almacenarán las acciones (instrucciones) que se estudiarán más adelante.
Los algoritmos ya sea realizados en pseudocódigo o con Diagramas de Llaves deben contener los
siguientes elementos básicos: las variables, las operaciones primitivas elementales y las estructuras de
control. A continuación explicaremos cada una de ellas.
VARIABLES
En el programa hay datos que van cambiando durante el desarrollo del mismo,para representar
y manejar estos datos se utilizan lo que se denomina VARIABLE. Las variables se encuentran en
direcciones de memoria y contienen valores, se identifican por un nombre y el tipo de dato que indica
los valores que puede contener
Todo dato que vaya a ser introducido a la computadora, y todo dato que vaya a ser generado o
calculado a partir de otros datos para obtener algún resultado, debe identificarse y manejarse en forma
de variable.
En resumen una variable tiene las siguientes características:
Nombre: es el identificador de la variable y que servirá para referenciarla
Como buena práctica de programación se aconseja que los nombre de las variables tengan una
relación con la información que van a almacenar, de modo que resultaría lógico usar la variable
llamada TotalFactura para representar el valor total de una factura de venta. También es aconsejable
que los nombres de variables formados por varias palabras, usen mayúsculas en la primera letra de cada
palabra para distinguirlas, tal como se ha hecho con la variable TotalFactura. Con esto haremos que la
escritura de nuestros programas resulten más fáciles de entender al momento de realizarle futuras
modificaciones.
El nombre de una variable o una constante puede tener una longitud máxima de 127 caracteres
y el primer carácter debe ser una letra, los caracteres siguientes pueden ser letras, dígitos o el carácter
de subrayado (_). No admiten espacios en blanco, ni caracteres especiales o acentuados
(%, $, &, @, !, á, ñ, Ñ, …). Tampoco se permiten usar nombres repetidos, ni usar palabras
reservadas del lenguaje (Begin, If, For, While, End, Until, …). Turbo Pascal no distingue entre
mayúsculas y minúsculas, así por ejemplo, las variables TotalFactura y totalfactura serian consideraras
como la misma variable.
Tipo de dato:
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal
como `b', un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores
que puede tomar una variable.
OPERACIONES PRIMITIVAS ELEMENTALES: ASIGNACIÓN, LECTURA Y ESCRITURA
ASIGNACION:
Ya hemos visto que una variable está relacionada con posiciones de memoria que van a contener
valores que cambiarán durante la ejecución del programa, por tanto es necesario tener a nuestra
disposición una acción que nos permita dar los valores adecuados a cada variable para obtener al final
del proceso los resultados correctos. La instrucción que permite asociar un valor a una variable se
denomina ASIGNACIÓN
Debemos tener en cuenta el tipo de variable para no cometer errores a la hora de la asignación,
es decir, nunca se permitirá asignar por ejemplo, a una variable numérica el valor “a” que ya sabemos
es de tipo carácter, o a una variable de tipo cadena el valor 124.56 que es de tipo numérico.
Recordaremos también que la asignación de un valor a una variable supone una escritura en
memoria y por tanto una operación destructiva del valor que tuviera la variable anteriormente. El
símbolo utilizado para indicar esta acción de asignación será “<------”, de forma que la operación se
señalará de la siguiente manera:
variable <------ valor o expresión.
A←VALOR Utilizando diagrama de llaves
X
E
Donde X es una variable de tipo T.
E: puede ser :
un valor de tipo T.
Una expresión, que arroja un resultado de tipo T.
Otra variable de tipo T, con un valor asignado con anterioridad.
Por ejemplo: Si X es un entero, las siguientes son asignaciones válidas.
X
5
X
( 8+6*3)
X
Y siendo Y otra variable entera con valor asignado anteriormente.
ENTRADA DE DATOS – INSTRUCCIÓN LEER
Las instrucciones de entrada permiten asociar un valor a una variable, pero el valor es tomado
del exterior por medio de un dispositivo de entrada: por ejemplo el teclado
Leer NV
Donde NV es el nombre de la variable.
Tras la operación de lectura, la variable NV contiene el valor dado por el usuario a través de un
dispositivo de entrada que generalmente es el teclado
El tipo de dato suministrado desde el exterior debe ser compatible con el tipo de la variable NV
ENTRADA DE DATOS –INSTRUCCIÓN ESCRIBIR
Las instrucciones de salida permiten mostrar los resultados obtenidos al exterior, sin ésta
instrucción las soluciones no podrían darse a conocer. Mediante la operación de salida se transfiere el
valor de una expresión a un dispositivo de salida generalmente el monitor
Sintaxis
ESCRIBIR(‘El resultado es ’,NV)
Se suele utilizar también para mostrar mensajes informativos al usuario que estarán delimitados por
comillas
ESCRIBIR(‘Hola)
Ejemplos:
Leer un número y mostrarlo:
Leer Numero
Escribir Numero
Lee nombre, apellido y DNI y saludar con Hola y el nombre de la persona.
Leer Nombre, Apellido, DNI
Escribir ‘Hola’, Nombre.
ESTRUCTURAS DE CONTROL
Las estructuras de control controlan el flujo de ejecución de un programa o función
Las instrucciones o sentencias se organizan en tres tipos de estructuras de control que sirven
para controlar el flujo de ejecución
1. Secuenciales: las instrucciones se ejecutan sucesivamente una debajo de la otra
2. Selectivas: permiten elegir entre dos alternativas dependiendo de la condición
3. Repetitivas: una serie de instrucciones que se repiten una y otra vez hasta que se cumple cierta
condición
Estructuras DE CONTROL secuenciales
Las instrucciones se siguen en una secuencia fija que normalmente viene dada por el número de
renglón. Es decir que las instrucciones se ejecutan de arriba hacia abajo.
Ejemplos de algoritmos con Estructuras de Control Secuenciales:
Ejemplos
1.-Algoritmo que suma dos valores cualesquiera.
ESTAS VARIABLES SON LOS
DATOS QUE SE NECESITAN
Inicio
PARA QUE EL ALGORITMO
Escribir ‘Ingresar el primer valor’
PUEDA CALCULAR LA SUMA
Leer numero1
DE DOS NÚMEROS
Escribir ‘Ingresar el segundo valor’
CUALQUIERA Y LOS INGRESA
Leer numero2
EL USUARIO POR TECLADO
Suma ← numero1+ numero2
Escribir Suma
Fin
PSEUDOCÓDIGO
El pseudocódigo es otro lenguaje artificial e informal útil para el desarrollo de algoritmos. No
es un lenguaje de programación verdadero y, por lo tanto, no puede ser compilado y ejecutado.
En pseudocódigo se describen los algoritmos utilizando una mezcla de lenguaje común, con
instrucciones de programación, palabras claves, etc. El objetivo es que el programador se centre en la
solución lógica del algoritmo y no en la implementación en un lenguaje de programación concreto (con
las posibles complicaciones en las reglas sintácticas), o en otras palabras, ayudan a "pensar" un
programa antes de escribirlo en un lenguaje de programación formal.
Características y partes del pseudocódigo
Las principales características de este lenguaje son:
1. Es una forma de representación sencilla de utilizar y de manipular.
2. Facilita el paso del programa al lenguaje de programación.
3. Es independiente del lenguaje de programación que se vaya a utilizar.
4. Es un método que facilita la programación y solución al algoritmo del programa.
Todo documento en pseudocódigo debe permitir la descripción de:
1. Instrucciones primitivas.
2. Instrucciones de proceso....
3. Instrucciones de control.
4. Instrucciones compuestas.
5. Instrucciones de descripción.
Estructura a seguir en su realización:
1. Cabecera.
1. Nombre del Programa.
2. Variables.
2. Cuerpo.
1. Inicio.
2. Instrucciones.
3. Fin.
Las operaciones primitivas Leer y Escribir son iguales , la operación de asignación se representa con el
signo = Ejemplo:
En pseudocódigo:
1-Inicio
2. Declaraciones
A,B,suma: entero
3.-Programa Principal
4.-Escribir ‘Ingresar el primer valor’
5.-Leer A
6.-Escribir ‘Ingresar el segundo valor’
7.-Leer B
8.-suma=A+B
9.-Escribir suma
10.- Final
2.-Escribir un algoritmo que calcule la superficie de un triángulo en función de la base y la altura
SUPERFICIE=(BASE x ALTURA)/ 2
ESTAS VARIABLES SON
Inicio
LOS DATOS QUE SE
Escribir ‘Ingresa el valor de la baser’
NECESITAN PARA QUE
Leer BASE
ELALGORITMO PUEDA
Escribir ‘Ingresar el valor de la altura’
CALCULAR LA FORMULA
Leer ALTURA
DE LA SUPERFICIE DE UN
SUPERFICIE←(BASE * ALTURA)/2
RECTANGULO Y LAS
Escribir SUPERFICIE
INGRESA EL USUARIO POR
Fin
TECLADO
EN SEUDOCODIGO
1-Inicio
2. Declaraciones
Superficie,base, altura:entero
3. Principal
4.-Leer base
5.-Leer altura
5.-Superficie = (base * altura)/2
6.-Escribir Superficie
7.- Final
3.- Diseñar un diagrama de llaves que permita leer un numero entero y calcule y muestre el cuadrado
del mismo
Inicio
Escribir ‘Ingresa el valor de la baser’
Leer numero
cuadrado←numero * numero
Escribir cuadrado
Fin
4.-Diseñar un diagrama de llaves que permita calcular el perímetro de un triángulo escaleno y lo muestre
Inicio
Escribir ‘Ingresa el valor del primer lado del triangulo’
Leer lado1
Escribir ‘Ingresar el valor del segundo lado del triangulo’
Leer lado2
Escribir ‘Ingresar el valor del tercer lado del triangulo’
Leer lado3
perimetro←lado1 + lado2 +lado3
Escribir ‘El valor del perímetro es ‘, perimetro
Fin
5.- diseñar un diagrama de llaves que permita ingresar la edad de una persona en años y meses y lo
convierta a meses
Inicio
Escribir ‘Ingresa la edad en años de una persona’
Leer anios
Escribir ‘Ingresar los meses’
Leer meses
Anio_en_meses←anios*12
Total_meses←anios_en_meses + meses
Escribir ‘La edad e
n meses es ‘, Total_meses
Fin
Unidad 2 - Práctico3: Algoritmos Secuenciales
1.- Diseñar algoritmos que permitan realizar las siguientes enunciados
a) Preparar pan con manteca con dulce de leche
b) Comer un caramelo masticable
c) Preparar una taza de té
d) Mandar un mensaje desde un celular
2.-a) Observa la siguiente secuencia de instrucciones y realiza la traza del mismo
1.
A=5
2.
B=7
3.
C=2
4.
A=A+B+C
5.
B=C/2
6.
A = A / B + A *C
7.
Escribir A
8.
Escribir B
9.
Escribir C
Ahora
a)
b)
c)
d)
responde a las siguientes cuestiones:
¿Qué valor contiene A después de la cuarta instrucción?
¿Qué valor contiene B después de la quinta instrucción?
¿Qué valor contiene A después de la sexta instrucción?
¿Qué valor imprime la última instrucción?
b.-Realizar la traza del siguiente código
Inicio
a
6
b
3
c
a-b
c
(c*20)/100
b
b –a
resultado
a+b*c
Fin
c.-Realizar la traza del siguiente código:
Inicio
S
0
A
1
B
2
C
3
D
4
S
A+B
S
S+C
S
S+D
Final
¿Podría eliminarse algún paso sin alterar el funcionamiento del algoritmo?
d) realizar la traza del siguiente algoritmo y determinar que realiza:
Inicio
A
3
B
20
C
A+B
B
B+A
A
B-C
Fin
e) realizar la traza del siguiente algoritmo y determinar que realiza:
Inicio
X
3
Y
7
X
X-Y
Y
X+Y
X
Y-X
Fin
f)
Si el valor de A es 4, el valor de B es 5 y el valor de C es 1 , indicar que valor darían las siguientes
expresiones:
A) B * A – B ^2 / 4 * C
B) (A * B)/ 3 ^2
C) ((( B + C)/ 2 * A + 10) *3 *B) – 6
g)
I.
II.
III.
IV.
V.
VI.
VII.
Obtener el valor de cada una de las siguientes expresiones aritméticas
7 div 2
7 mod 2
12 div 3
12 mod 3
15 mod 5
7 * 10 -50 MOD 3 * 4 + 9
( 7 * (10 – 5) MOD 3) * 4 + 9
Unidad 2 – Práctico 4: Algoritmos Secuenciales
DISEÑAR UN ALGORITMO SECUENCIAL Y LAS TRAZAS DE LOS SIGUIENTES EJERCICIOS:
1.- Diseñar un algoritmo que permita leer cuatro números, calcule el promedio de los cuatro y muestre
el resultado
2.- Realice un algoritmo donde pida al usuario dos números y muestre la suma, resta, multiplicación y
división de los dos.
3.- Escribir un algoritmo que calcule la longitud y el área de una circunferencia:
longitud de la circunferencia = 2 * PI * radio
área de la circunferencia = PI * radio2
4.- Elabore un algoritmo que calcule el área de un rectángulo.
5.- Elabore un algoritmo que calcule el área de un círculo
6.- Confeccione un algoritmo para calcular el volumen de un cilindro circular recto.
VC = πR2h
7.- Escribir un algoritmo que calcule el precio finalde un artículo tras aplicarle un 21% de IVA.
8.- Elabore un algoritmo que pide al usuario un número y de este muestre:
- El cuadrado.
- La raíz cuadrada.
- El sucesor.
- El antecesor.
9.- Escribir un algoritmo que calcule la velocidad de un proyectil que recorre E kilómetros en T
minutos. Expresar el resultado en metros /segundo.
Velocidad = espacio / tiempo
10.- Escribir un algoritmo que teniendo los datos necesarios calcule y muestre el valor de las siguientes
expresiones
a) (a+7 *c) / (b+2-a)+2 *b
b) (a + 5) * 3 / b – 1
11.- Diseñar un algoritmo que Lea un entero, duplicarlo y visualizar el resultado
12.- Diseñar un algoritmo para calcular el sueldo de un empleado ingresando las horas trabajadas y el
valor de la hora, con estos datos se calculará el sueldo básico, una vez calculado el sueldo básico se
debe calcular el descuento que se le realizará, el cual también se ingresará por teclado. Finalmente,
con estos datos, se calculará el sueldo neto.
Se debe mostrar el sueldo neto calculado para este empleado.
13.- Escribir un algoritmo que reciba dos variables enteras e intercambie sus valores. Se deben mostrar los
valores que tienen finalmente las variables
14.- Escribir un algoritmo que pida un número entero y saque por pantalla el cociente y el resto de la
división entera entre amos.
15.- Diseñar el algoritmo correspondiente a un programa que calcule y muestre , el porcentaje
descontado en una compra, introduciendo por teclado el precio de la tarifa y el precio pagado.
16.- Diseñar el algoritmo correspondiente a un programa que tras introducir una medida expresada
en centímetros la convierta en pulgadas (1 pulgada = 2,54 centímetros)
17.- En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual del
hospital se reparte conforme a la sig. tabla:
Área Porcentaje del presupuesto
Ginecología 40%
Traumatología 30%
Pediatría 30%
Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.
18.- El dueño de una tienda compra un artículo a un precio determinado. Obtener el precio en que lo
debe vender para obtener una ganancia del 30%.
19.- Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra los tiempos
obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta en una semana
cualquiera.
20.- Un alumno desea saber cual será su promedio general en las tres materias mas difíciles que cursa
y cual será el promedio que obtendrá en cada una de ellas. Estas materias se evalúan como se muestra
a continuación:
La calificación de Matemáticas se obtiene de la siguiente manera:
Examen 90%
Promedio de tareas 10%
En esta materia se pidió un total de tres tareas.
La calificación de Física se obtiene de la siguiente manera:
Examen 80%
Promedio de tareas 20%
En esta materia se pidió un total de dos tareas.
La calificación de Química se obtiene de la siguiente manera:
Examen 85%
Promedio de tareas 15%
En esta materia se pidió un promedio de tres tareas.
21.- Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas, el vendedor desea
saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el
total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.
22.-Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo
de estudiantes.
23- Realice un algoritmo para calcular el perímetro y área de un Rectángulo un Cuadrado
24- Realice un algoritmo para calcular el promedio de 5 Notas
25- Realice un algoritmo para calcular el descuento en $, de una compra de productos. Descuento del
20% sobre el valor de la compra.
26- Realice un algoritmo para convertir una determinada suma de dinero de Euros, en $ Argentinos
27- Realice un algoritmo para obtener el valor del IVA de dos productos, y luego obtener el monto en
$ de ambos productos.
28- Realizar un algoritmo para determinar el monto total a pagar en $ de 3 productos. Se deberá obtener
de cada producto el nombre, precio y cantidad de c/u de ellos. Por la compra se obtiene un descuento
del 5%
29- Realice un algoritmo para calcular el peso de una persona en Gramos, Libras y Toneladas
Gramos= kilos*1000
Libras = kilos*2,205
Tonelada = kilos/1000
30- Realice un algoritmo para calcular el nuevo salario de un obrero si obtuvo un incremento del 25%
sobre su salario anterior, y teniendo en cuenta la cantidad de horas extras trabajadas. Valor de la hora
extra $55
31- Realice un algoritmo para calcular la edad de una persona.
32 - Realice un algoritmo para calcular lo que debe pagar un cliente en un estacionamiento, sabiendo
que se paga $85 la hora. Se debe conocer el tiempo de estacionamiento en horas y minutos.
33- Elaborar un algoritmo que dados los grados Celsius los convierta a Fahrenheit, con la fórmula de
transformación: F=(C*1.8)+32, donde C son los grados Celsius y F los Fahrenheit.
34 – Elaborar un algoritmo que solicite el número de respuestas correctas, incorrectas, y en blanco,
correspondientes a los postulantes de un concurso, y muestre su puntaje final considerando, que por
cada respuesta correcta tendrá 4 puntos, respuestas incorrectas tendrá -1 y respuestas en blanco tendrá
0.
35- Elaborar un algoritmo que permita calcular el número de CDs necesarios para hacer una copia de
seguridad, de la información almacenada en un disco cuya capacidad se conoce. Considerar que el disco
duro está lleno de información, además expresado en gigabyte. Un CD tiene 700 Megabytes de capacidad
un Gigabyte es igual a 1,024 Megabyte.
36- Elaborar un algoritmo que solicite un número de 2 cifras y que muestre el número de unidades y
decenas que lo componen.
37- Elaborar un algoritmo que permita ingresar el número de partidos ganados, perdidos y empatados,
por algún equipo en el torneo apertura, se debe mostrar su puntaje total, teniendo en cuenta que por
cada partido ganado obtendrá 3 puntos, empatado 1 punto, y perdido 0 puntos.
38- Tres personas deciden invertir su dinero para formar una empresa. Cada una de ellas invierte una
cantidad distinta. Hacer un algoritmo que imprima el porcentaje que cada quien invierte con respecto
al total de la inversión
39- Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de los catetos.
40- Una pizzería vende pizzas de 3 tamaños (grande, mediana y chica) y dispone de hasta 10 ingredientes
extras para cada colocar en cada una, desea que se elabore un programa para calcular el costo de cada
pizza en base al tamaño y a la cantidad de ingredientes. La fórmula del costo para aplicar es la siguiente:
costo = costo fijo($) + ( costo base($) * tamaño) + ( cant. Ingred. * costo cada ingred. * tamaño ) El
precio de venta es = 1.5 * costo.
41- Confeccionar un programa que solicite el ingreso del valor del radio de un círculo y con dicho valor
calcule la superficie del círculo, la longitud de la circunferencia y el volumen de la esfera.
Volumen = 4/3 pi * radio al cubo
42- Confeccionar un programa que ingrese una medida en ‘pies’ y la exhiba convertida a yardas,
pulgadas, cms y mts. NOTA: 1 pie = 12 pulgadas; 1 yarda = 3 pies; 1 pulgada = 2,54 cms
43 - Realice un algoritmo que permita ingresar el precio de un producto y su precio por kilo, y calcule
su valor en pesos
44 – Realice un algoritmo para pasar grados Celsius a Fahrenheit. C= 5/9 * (F-32)
45 - Algoritmo para determinar el área y el volumen de un cilindro, así como la superficie de una de sus
tapas, sabiendo que todas las dimensiones.
Área del cilindro: 2 * PI * radio * altura
Volumen del cilindro: Pi * radio * altura
46- Realice un algoritmo para determinar el sueldo de un empleado que ha realizado 2 ventas. Por cada
venta realizada tiene un plus en $ del 2% del monto de la venta, que luego se sumara al sueldo básico
47- Realice un algoritmo para calcular el porcentaje de hombres y mujeres de un grupo de personas.
ESTRUCTURAS DE CONTROL DE SELECCIÓN O CONDICIONALES
La estructura condicional permite bifurcar el “flujo” del programa , es decir que se desarrollen
un conjunto de instrucciones dentro de un algoritmo , acorde al resultado de la evaluación de una
proposición que llamaremos la condición; disponemos de tres estructuras alternativas diferentes:
alternativa simple, alternativa doble y alternativa múltiple.
ESTRUCTURA DE CONTROL SELECTIVA SIMPLE
Están compuestas únicamente de una condición únicamente de una condición. La estructura SI –
ENTONCES evalúa la condición y en tal caso si la condición es verdadera, entonces ejecuta la acción SI
(o acciones si son varias). Si la condición es falsa, entonces no hace nada.
Utilizando Diagrama de Llaves se representaría de la siguiente manera:
[ Inicio
Si(condición) [ Sentencias 1
⊕
Si(condición) [ S/A
[ Fin
Donde:
Inicio, representa todas las acciones que se realizan una vez y al principio de la alternativa;
Sentencias 1 representa al bloque de instrucciones que deberá ejecutarse si resulta verdadera la
condición ,
Sentencia2 En el caso del condicional simple la SENTENCIA 2 seria siempre SIN ACCION (S/A) ya que
esto indicaría que no hay sentencias para ejecutar
CONDICIÓN
La condición puede ser cualquier expresión lógica que de cómo resultado verdadero o falso
Operadores relacionales:
Para armar las condiciones se utilizan los operadores relacionales que son:
>, <, =, >=, <=, <>
Operadores Lógicos
Para armar condiciones compuestas se utilizarán los operadores o conectivos AND o CONJUNCIÓN y OR
o DISYUNCIÒN, para determinar el valor de verdad de las expresiones se utilizarán las respectivas tablas
de verdad
Utilizando pseudocódigo:
SI <condición > ENTONCES
instrucción - 11
instrucción - 21
......
instrucción – N1
FIN SI
Utilizando Diagrama de Flujo
Ejemplo
Diseñar un algoritmo que permita calcular la raíz cuadrada de un número , si el número ingresado
es negativo se debe convertir en positivo antes de calcular la raíz cuadrada
Diagrama de Llaves
Escribir ‘Ingresar un numero’
Leer numero
Si(numero < 0) [ numero←numero * (-1)
⊕
Si(numero<0) [ S/A
Resultado_raiz←raiz(numero)
Escribir ‘El valor de la raíz es’,
Resultado_raiz
PSEUDOCODIGO
Inicio
Escribir 'Ingresar el valor de un numero'
Leer num
Si num < 0 Entonces
num<-num * (-1)
Fin Si
resultado_raiz<-raiz(num)
Escribir 'El valor de la raiz es', resultado_raiz
Fin
ESTRUCTURA DE CONTROL SELECTIVA DOBLE
La estructura selectiva doble es semejante a la simple, la diferencia radica en que la doble
permite especificar un conjunto de instrucciones a desarrollar en caso que el valor de la condición
sea verdadera y otro conjunto distinto de instrucciones en caso que el valor de la condición sea
falso
Utilizando Diagrama de Llaves se representaría de la siguiente manera:
[ Inicio
Si(condición) [ Sentencias 1
⊕
Si(condición) [ Sentencia2
[ Fin
Donde
Sentencias 1 representa al bloque de instrucciones que deberá ejecutarse si resulta verdadera la
condición ,
Sentencias 2 representa al bloque de instrucciones que será habilitado para la ejecución si la
condición resulta falsa,
PSEUDOCÓDIGO
SI <condición > ENTONCES
instrucción - 1
instrucción - 2
......
instrucción – N
SINO
instrucción - 3
FIN_SI
Diagrama de Flujo
Ejemplo
Diseñar un algoritmo que permite ingresar el monto dinero que debería pagar un cliente de una tienda
y calcular el descuento que se le hará sobre este monto considerando que por encima de $1000 se
realizará un descuento es del 30% y si el monto de compra es de $1000 o más el descuento que se le
hará será del 20%. Se debe calcular y mostrar cuanto debe pagar el cliente
DIAGRAMA DE LLAVES
Inicio
Escribir ‘Ingresar el monto comprado’
Leer monto
Si (monto >1000)
descuento← (monto * 30)/100
⊕
Si (monto >1000)
descuento← (monto * 20)/100
Monto_a _pagar← monto – descuento
Escribir ‘El total a pagar es’, monto_a_pagar
PSEUDOCODIGO
Inicio
Escribir 'Ingresar el monto comprado'
Leer monto
Si monto >1000 Entonces
descuento <-(monto* 30)/100
sino
descuento <-(monto* 20)/100
Fin Si
Monto_a _pagar← monto – descuento
Escribir ‘El total a pagar es’, monto_a_pagar
Fin
5.- Diseñar un algoritmo que permita leer dos números enteros e indique cual es el mayor de ambos
Inicio
Escribir ’Ingresar un número’
Leer numeroA
Escribir ’Ingresar otro número’
Leer numeroB
Si (numeroA >numeroB)
Escribir “el mayor es “,A
⊕
Si (numeroA >numeroB)
Fin
Escribir “el mayor es “,B
PSEUDOCODIGO
Inicio
Escribir ’Ingresar un número’
Leer numeroA
Escribir ’Ingresar otro número’
Leer numeroB
Si (numeroA >numeroB) entonces
Escribir “el mayor es “,A
sino
Escribir “el mayor es “,B
Fin Si
Fin
ESTRUCTURAS CONDICIONALES MULTIPLES
Hasta ahora las estructuras vistas (simples y doble) solo nos permiten tomar una o dos decisiones, aunque
la estructura múltiple ayuda a elegir varias, opciones no siempre es la adecuada para todas las
aplicaciones. La Estructura de decisión múltiples evaluara una expresión que podrá tomar n caminos y
solo se realizara una de las n acciones o lo que es igual, el flujo del algoritmo seguirá solo un
determinado camino ente los n posibles.
Diagrama de LLaves
SI cond1
⊕
SI
SENTENCIA1
Si (cond 2)
(cond1
SENTENCIA 2
⊕
Si (cond 2)
Si (cond 3)
SENTENCIA 3
⊕
Si (cond 3)
PSEUDOCODIGO
SI( condicion1 )
accion1
SINO
SI( condicion2 )
accion2
SINO
SI( condicion3 )
accion3
.
.
.SINO
acciondefecto
SENTENCIA 4
Ejemplo:
Diseñar un algoritmo que permita solucionar el siguiente problema:
En un club los socios pagan diferentes cuotas dependiendo de la categoría a la que pertenecen. Si son
de categoría 1 pagan una cuota de $100 ; si son de categoría 2 pagaran una cuota de $150 , si son de
categoría 3 pagaran una cuota de $200 y si son de categoría 4 pagaran $250. Se debe mostrar la cuota
que debe pagar el socio
DIAGRAMA DE LLAVES
Escribir ‘Ingresar la categoria
Leer categoria
SI categoría =1
Escribir ‘ la cuota es de $100’
⊕
Si categoría =2
SI categoría =1
⊕
Si categoría =2
Escribir ‘ la cuota es de $150’
Si (categoría =3)
Escribir ‘ la cuota es de $200’
⊕
Si (categoría =3)
Escribir ‘ la cuota es de $250’
PSEUDOCODIGO
Inicio
Escribir 'Ingresar la categoria'
Leer categoria
Si categoria=1 Entonces
Escribir ' la cuota es de $100'
Sino
Si categoria =2 Entonces
Escribir ' la cuota es de $150'
Sino
si categoria=3 Entonces
Escribir ' la cuota es de $200'
sino
Escribir ' la cuota es de $250'
FinSi
FinSi
Fin Si
Fin
Unidad 3 – Práctico4: Estructuras de control condicionales
1. Realizar la traza del siguiente código
Inicio
a←4
Si (a < 10)
a
a – 5;
⊕
Si (a < 10)
S/A
Si( a < 5)
⊕
Si( a < 5)
a
a - 1;
S/A
2. Diseñar un algoritmo que muestre si un número A, ingresado por teclado, es igual a un número
B, también ingresado por teclado, o no, caso contrario debe mostrar un cartel adecuado.
3. Diseñar un algoritmo que permita leer un número y si el mismo es par el número se lo
multiplicara *5, caso se lo multiplicará por 3. Se debe mostrar nuevo valor que tomó el número.
4. Diseñar un algoritmo para calcular el salario a pagar a un trabajador. Se debe ingresar su
nombre, cuántas horas ha trabajado, el valor que gana por hora y, en caso de que su sueldo
supere los quinientos mil pesos, se le debe hacer un descuento del 15%. Se debe mostrar el
salario que cobrará el trabajador.
5. Diseñar un algoritmo que muestre un mensaje que indique si un número A es múltiplo de otro
número B, ambos ingresados por teclado.
6. Diseñar un algoritmo para calcular imprimir el precio de un terreno del cual se tienen los
siguientes datos: largo, ancho y precio por metro cuadrado. Si el terreno tiene más de 400 metros
cuadrados se hace un descuento del 10%.
7. Dados tres números a, b, y c, si la diferencia (resta) entre a y b es mayor que c, calcular el
producto de a y b; de lo contrario, calcular el cociente entre a y b.
8. Diseñar un algoritmo que permita ingresar un número y calcule el cuadrado del mismo si este
número es : positivo, mayor que 10 y no es divisible por 2, y en caso contrario que calcule el
cubo del número ingresado.
9. Diseñar un algoritmo que permita leer dos valores cualesquiera por teclado y que evalúe si el
primer valor es menor que el segundo, si es así que los intercambie y los muestre, caso contrario
solamente mostrará los valores ingresados.
10. Diseñar un algoritmo que resuelva el siguiente problema: Una compañía de prestamos estableció
un programa para captar clientes, que consiste en lo siguiente: Si el monto por el que se efectúa
la fianza es menor que $50 000 la cuota a pagar será por el 3% del monto, y si el monto es mayor
que $50 000 la cuota a pagar será el 2% del monto. La empresa desea determinar cuál será la
cuota que debe pagar un cliente.
11. Diseñar un algoritmo que controle si un número A, leído por teclado, es múltiplo de 3 y es
impar, si se cumple esta condición se debe calcular el valor de la expresión 4.A +9 de lo contrario
se debe calcular el valor de la expresión A2 +9. Se debe mostrar el valor de la expresión calculada.
12. Diseñar un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres
camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son menos de tres
camisas un descuento del 10%
13. Realizar un algoritmo que lea un número que represente el día de la semana y diga que día es.
14. Diseñar un diagrama de llaves que lea el código de un artículo y su precio ; los artículos tienen
un descuento que es del 10% si el artículo tiene código A y del 20% si el código es B (solo hay dos
códigos)
15. Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su promedio de
tres calificaciones que deben ser leídas es mayor o igual a 70; reprueba en caso contrario.
16. Diseñar un algoritmo para calcular el valor de un libro. El precio se calcula multiplicando el
número de páginas por 100. Si la edición no es nacional o el libro fue editado este año se le
aplica un recargo del 10%.
17.
Si (a < 10)
⊕
Si( a < 10)
a
a – 5;
Si( a < 5)
⊕
Si( a < 5)
a
a - 1;
S/A
18. Diseñar un diagrama de llaves que permita leer la nota de un alumno como una letra ‘A’, ‘B’,
‘C’ o ‘D’. Indicar si el alumno aprueba, recupera o perdió la materia. Se conoce que un alumno
aprueba si tiene ‘A’ o ‘B’; recupera si tiene una ‘C’ y pierde la materia si tiene una ‘D’.
19. En una empresa, los salarios de los empleados se van a aumentar según su contrato actual, de
acuerdo a la siguiente tabla:
salario
aumento %
0 a $9000
20
$9001 a $15000
5
$15001 a $2000 10
más de $20000
0
Escribir el programa para que solicite el salario del empleado, calcule y visualice el nuevo salario.
20. Realizar un programa que pregunte al usuario el momento del día, que se indicará con una letra
de la siguiente manera:
m: mañana
t: tarde
n: noche
El sexo de la persona que opera el programa se indicará también con letras de la siguiente
manera: M: masculino - F: femenino
El programa dirá: buenos días, tardes o noches (según el momento) señor o señora según el sexo
21. La comisión sobre las ventas totales de un empleado es como sigue :
- Si ventas <$50, entonces la comisión será del 5% de las ventas
- Si $50 <= ventas <= $500, entonces la comisión será el 10% de las ventas.
- Si las ventas > $500, entonces la comisión será el 8% de las ventas.
Escriba un diagrama de llaves que lea las ventas y calcule y muestre su comisión.
22. Diseñar un algoritmo que permita leer 3 nombres de productos, sus precios y la cantidad que se
quiere comprar de ellos. Se deberá escribir, los importes de cada producto por separado, es
decir lo que se gastó por cada producto, y el importe total de los tres productos juntos.
23. Diseñar un algoritmo que permita leer 6 números, y obtenga la cantidad de números positivos,
negativos y ceros.
24. Diseñar un algoritmo que permita leer 6 vocales, y cuente la cantidad que hay de a, e, i, o, u.
25. Dado el sueldo básico de un empleado, calcular el monto final que debe abonársele sabiendo
que si el sueldo básico es de p pesos por mes debe agregarse un incremento calculado como un
porcentaje p según la siguiente tabla:
Sueldo
Incremento
0 < p < 500
10 %
500 ≤ p <1000
5%
Mas de 1000
3%
26. La compañía de teléfonos de esta ciudad ha pedido que le haga un programa para saber el valor
de una llamada, conocido el tiempo que duró, la hora en que se hizo y la región a la cual se
llamó. Las tarifas por minuto están dadas por la siguiente tabla:
Región destino
Valor día
Valor noche
Región norte
$ 0,80
$0, 65
Región sur
$ 0,70
$ 0,60
Región oriente
$1
$ 0,80
Región occidente
$ 0,60
$ 0,55
Región centro
$ 0,75
$0,68
27. ¿Cuál será el valor impreso o mostrado en pantalla para las variables N, B, A ?
Inicio
A = 20
N= A -2
B= (N+5) – (A*3)
Si A > 30 entonces
N=N+1
B= N * 2
Fin_si
Escribir N, B, A
Fin
28. ¿Cuál será el valor impreso o mostrado en pantalla para las variables N, Z, B ?
Inicio
N = 12
Z= N-10
N= N*5
B= (N+5) – (Z*4)
Z= B + N
Si N > 10 entonces
Si B < 20 entonces
B= N+1
Escribir B, Z
Sino
N=Z+B
Escribir N, Z
Fin_si
Fin_si
Fin
29. Diseñar un algoritmo que permita leer el importe de una compra, y si la compra es mayor igual
a $500, entonces se tendrá un descuento del 20%, sino el descuento será del 15%. Escribir el
importe del descuento, y el importe total a pagar.
30. Diseñar un algoritmo que permita leer 5 números, e informar cantidad de números pares e
impares.
31. Diseñar un algoritmo que permita leer 3 notas de una materia y el nombre de la materia, y
obtenga la suma de las notas, y el promedio. Si el promedio es mayor igual a 7, entonces escribir
“Aprobó la materia con el nombre de la materia”, sino deberá escribir “No Aprobó la materia
y el nombre de la materia”.
32. ¿Cuál será el valor impreso o mostrado en pantalla para las variables?
Inicio
T=1
R= T * (-2)
M= (T-6) + (R*8)
Si (T<=1) y (M > 15) entonces
M=T+1
R= R * 2 Sino
T=M+T Escribir M
Fin_si
Escribir, T, R
Fin
33. ¿Cuál será el valor impreso o mostrado en pantalla para las variables?
Inicio
N=3
Z= N+9
N= N*5
B= (Z+N) – (Z*4)
Z= N-B
Si N > 10 entonces
Si N < 20 entonces
N=N+Z
Escribir N
Sino
Z=Z*B
Escribir Z
Fin_si
Fin_si
Fin
Inicio
T = 20
R= T * (-2)
M= (T-6) + (R*8)
Si (T>=10) y (M >= 15) entonces
M = T -R
R= R * T
Sino
M=M*2
Escribir M,T,R
Fin_si
T= 6*M
R=T+M
Escribir, T, R
Fin
34. Un Shopping ha programado una serie de ofertas con la finalidad de brindar facilidades a
sus clientes y al a vez de incrementar sus ventas. Estas ofertas se basan específicamente
en un porcentaje de descuento sobre el total de compra el cual varia de acuerdo al monto
* Por un monto mayor o igual a $500 se hará un descuento del 30%
* Por un monto menor de $500 pero mayor o igual a 200 se hará un descuento del 20
* Por un monto menor de $200 pero mayor o igual a 100 se hará un descuento del 10%
Escribir el descuento realizado y el valor de la compra.
Determinar el nuevo sueldo de un empleado si se conoce de entrada el sueldo inicial y la
categoría. El nuevo sueldo se obtiene mediante una tabla de categorías que determina el
aumento. Mostrar la categoría, el sueldo final y el nuevo incremento.
Categoria
1
2
3
4
Incremento
15%
10%
8
7%
ESTRUCTURAS DE CONTROL DE REPETITIVAS
Cuando escribimos un algoritmo las instrucciones se irán ejecutando por orden pero en
determinadas ocasiones es necesario que esto no suceda así, necesitaremos que dependiendo de la
situación, una misma instrucción se ejecute varias veces, para esto se necesita una estructura de control
repetitiva.
A estas sentencias se les da el nombre de Bucles, en todos los lenguajes de programación se
utiliza este tipo de estructuras de control, en el lenguaje Pascal se utilizan las siguientes:
REPETIR MIENTRAS
REPETIR …..HASTA
PARA
CONTADORES Y ACUMULADORES
Asociadas a los bucles se encuentran a menudo algunas variables auxiliares. Como siempre se
utilizan de la misma manera, las llamamos con un nombre propio (contador, acumulador, etc.), pero
hay que dejar claro que no son más que variables comunes, aunque se usan de un modo especial.
Acumuladores
Las variables acumuladoras tienen la misión de almacenar resultados sucesivos, es decir, de
acumular resultados, de ahí su nombre.
Las variables acumuladores también debe ser inicializadas. Si llamamos “acum” a un acumulador,
escribiremos antes de iniciar el bucle algo como esto:
acum = 0
Por supuesto, el valor inicial puede cambiar, dependiendo de la naturaleza del problema. Más
tarde, en el cuerpo del bucle, la forma en la que nos la solemos encontrar es:
acum = acum + N
…siendo N otra variable. Si esta instrucción va seguida de otras:
acum = acum + M
acum = acum + P
… estaremos acumulando en la variable “acum” los valores de las variables M, N, P, etc, lo cual
resulta a veces muy útil para resolver ciertos problemas repetitivos.
En este algoritmo, cont es una variable contador típica de bucle. Se ha usado un bucle “para”,
que es lo más sencillo cuando conocemos previamente el número de repeticiones (10 en este caso). La
variable Nsuma es el acumulador, donde se van sumando los diferentes valores que toma N en cada
repetición. se usa para cada uno de los números introducidos por el teclado, y la variable
Observe como, al principio del algoritmo, se le asigna al acumulador el valor 0. Esta es una
precaución importante que se debe tomar siempre porque el valor que tenga una variable que no haya
sido usada antes es desconocido (no tiene por qué ser 0)
Variables Contadoras
Un contador es una variable (casi siempre de tipo entero) cuyo valor se incrementa o decrementa
en cada repetición de un bucle en una cantidad fija. Es habitual llamar a esta variable “cont” (de
contador) o “i” (de índice).
El contador suele usarse de este modo:
Primero se inicializa antes de que comience el bucle. Es decir, se le da un valor inicial. Por
ejemplo:
cont← 1
Segundo, se modifica dentro del cuerpo del bucle. Lo más habitual es que se incremente su valor
en una unidad. Por ejemplo:
cont ← cont + 1
Esto quiere decir que el valor de la variable “cont” se incrementa en una unidad y es asignado
de nuevo a la variable contador. Es decir, si cont valía 1 antes de esta instrucción, cont valdrá 2 después.
Otra forma típica del contador es:
cont = cont – 1
En este caso, la variable se decrementa en una unidad; si cont valía 1 antes de la instrucción,
tendremos que cont valdrá 0 después de su ejecución.
El incremento o decremento no tiene por qué ser de una unidad. La cantidad que haya que
incrementar o decrementar vendrá dada por la naturaleza del problema.
Tercero, se utiliza en la condición de salida del bucle. Normalmente, se compara con el valor
máximo (o mínimo) ,que debe alcanzar el contador para dejar de repetir las instrucciones del bucle.
El uso de contadores es casi obligado en bucles que deben ejecutarse un determinado número
de veces. Recuerde que siempre hay que asignar al contador un valor inicial para la primera ejecución
del bucle (cont ← 1 por ejemplo) e ir incrementándolo (o decrementándolo, según el algoritmo) en cada
repetición con una instrucción del tipo cont ← cont + 1 en el cuerpo del bucle. De lo contrario habremos
escrito un bucle infinito.
Por último, hay que prestar atención a la condición de salida, que debe estar asociada al valor
del contador en la última repetición del bucle. Mucho cuidado con el operador relacional (<, >, <=, >=,
etc) que usemos, porque el bucle se puede ejecutar más o menos veces de lo previsto
REPETIR MIENTRAS
Esta estructura de control indica que se ejecuten una o más sentencias mientras se cumpla una
determinada condición. La condición se forma utilizando los operadores relacionales cuya evaluación
tendrán como resultado un valor de verdad, es decir, VERDADERO o FALSO.
Esta sentencia comprueba la condición al comienzo del bucle La condición tiene que ser
verdadera para que se ejecuten las sentencias que están dentro del bucle y finalizará cuando la
condición sea falsa.
Dentro del bucle debe existir, por lo menos, una sentencia que modifique el valor de la variable
o expresión que forma parte de la condición, de lo contrario se puede producir una situación denominada
BUCLE INFINITO, ya que este nunca finalizaría.
Si la condición es falsa al comenzar el bucle, este no ejecutará nunca las sentencias que están
dentro del mismo.
Repetir mientras (condición = verdadera)
SENTENCIAS
Mientras (condición) Hacer
SENTENCIAS
FinMientras
EJEMPLOS
Ejemplo 1
Diagrama de LLaves
Diseñar el Diagrama de llaves de un programa que imprima números del 1 al 10
cont← 1
Repetir mientras (cont <=10)
Escribir cont
cont← cont + 1
En pseudocódigo
Inicio
cont=1
Mientras cont<=10 Hacer
Escribir cont
cont=cont+1
Fin Mientras
Fin
CONDICION QUE TIENE QUE SER VERDADERA
PARA QUE EL BUCLE SE EJECUTE
VARIABLE CONTADORA
Ejemplo 2
Diseñar el Diagrama de llaves de un programa que imprima números pares del 10 al 30
Diagrama de LLaves
cont← 10
Repetir mientras (cont <=30)
Escribir cont
cont← cont + 2
Pseudocódigo
Inicio
cont=10
Mientras cont<=30 Hacer
Escribir cont
cont=cont+2
Fin Mientras
Fin
Ejemplo 3
Diseñar el Diagrama de llaves de un programa que permita sumar los 10 primeros números naturales y
mostrar el resultado
Diagrama de LLaves
cont← 1
suma ← 0
Repetir mientras (cont <=10)
suma ← suma + cont
cont← cont + 1
Escribir suma
Pseudocódigo
Inicio
cont=1
Mientras cont<=10 Hacer
suma<-suma+ cont
cont=cont+1
Fin Mientras
Escribir suma
Fin
Ejemplo 4
Diseñar el Diagrama de llaves de un programa que permita leer 50 números enteros y los vaya mostrando
por pantalla
Diagrama de LLaves
cont← 1
Repetir mientras (cont <=10)
Escribir 'Ingresar un numero'
Leer numero
Escribir numero
cont← cont + 1
Pseudocódigo
Inicio
cont=1
Mientras cont<=10 Hacer
Escribir 'Ingresar un numero'
Leer numero
Escribir numero
cont=cont+1
Fin Mientras
Fin
Ejemplo 5
Diseñar el Diagrama de llaves de un programa que permita leer 50 números enteros, los sume y muestre su
resultado en pantalla
Diagrama de LLaves
cont← 1
suma ← 0
Repetir mientras (cont <=10)
Escribir 'Ingresar un numero'
Leer numero
suma ← suma + numero
cont← cont + 1
Escribir suma
Pseudocódigo
INICIO
cont<- 1
suma<-0
mientras cont<=10 hacer
Escribir 'ingresar un numero'
Leer numero
suma<-suma+numero
cont←cont+1
fin
REPETIR HASTA
La diferencia principal respecto al bucle “REPETIR MIENTRAS” es que el bucle ““REPETIR MIENTRAS””
lo primero que hace es la comparación de la condición, por tanto puede que el bucle “REPETIR
MIENTRAS” no se ejecute ninguna vez si la condición inicial es falsa, mientras que el bucle “REPETIR
HASTA” lo primero que hace es ejecutar la sentencia o sentencias, por tanto, el bucle “REPETIR HASTA”,
siempre se ejecuta una vez al menos.
El cuerpo del bucle se repite hasta que la condición sea verdadera
repetir
sentencias...
hasta ( condicion_de_fin )
EJEMPLOS
Ejemplo 1
Diseñar un diagrama de llaves que permita mostrar los 10 primeros números enteros positivos.
Diagrama de LLaves
Inicio
Numero← 1
repetir
Escribir Numero
Numero ← Numero+ 1
hasta (Numero=10)
fin
Pseudocódigo
Inicio
numero<-1
Repetir
Escribir numero
numero<-numero +1
Hasta Que numero=10
Fin
Ejemplo 2
Diseñar un diagrama de llaves que permita calcular la suma de los n primeros números enteros
positivos.
Diagrama de LLaves
Inicio
Escribir “Ingrese un Nro : "
leer(N)
Suma ← 0
K ←0
repetir
K←K+1
Suma ←Suma + K
hasta (K=N)
Escribir ‘Suma : ", Suma)
Fin
Pseudocódigo
Inicio
Escribir 'Íngrese un numero'
leer numero
suma <-0
k<-0
Repetir
k<-k + 1
suma<-suma +k
Hasta Que k=numero
Escribir 'La suma es ',suma
Fin
Ejemplo 3
Diseñar un diagrama de llaves que permita mostrar la tabla de multiplicar de un número N.
Diagrama de LLaves
inicio
Escribir"Ingrese un numeros : "
leer(numero)
k←1
repetir
multiplicación←k*numero
Escribir Numero," * ",k," = ", multiplicacion
k←k+1
hasta (k=10)
fin
Pseudocódigo
Inicio
Escribir 'Íngrese la tabla de que número calculará'
leer numero
k<-1
Repetir
multiplicacion<-k*numero
Escribir numero,'* ',k,'= ', multiplicacion
k<-k + 1
Hasta Que k>10
Fin
Ejemplo 4
Diseñar un diagrama de llaves que permita escribir en pantalla los números pares del 26 al 10
Diagrama de LLaves
inicio
k ← 26
repetir
Escribir "k = ", k
k←k-2
hasta (k<10)
fin
Pseudocódigo
Inicio
k<-26
Repetir
Escribir numero,'k= ', k
k<-k - 2
Hasta Que k<10
Fin
REPETIR PARA
El bucle “PARA” es una sentencia repetitiva cuya principal característica es que el
número de veces que se repite es constante Para ello, la declaración de dicha estructura es de la
siguiente forma:
PARA <variable de control> := <valor inicial> HASTA <valor final> HACER
<sentencias>;
La variable de control es la variable que se va a incrementar automáticamente durante la
ejecución del bucle para saber la condición en la que debe terminar el bucle.
El valor inicial es el valor con el que se inicia la variable de control y el valor final es con el que
se compara para saber la condición de terminación. Las sentencias son las ejecutadas en cada pasada
del bucle. Por tanto, un bucle “PARA” O “FOR“ es una estructura de Pascal que hace que se repita una
sentencia o número de sentencias un número determinado de veces.
Aunque a primera vista pueda resultar más atractivo FOR, existen limitaciones en su aplicación
ya que en el bucle FOR siempre se incrementa o decrementa (de uno en uno) los valores de la variable
de control de bucle y no de dos en dos o de tres en tres, o con valores fraccionarios.
El número de iteraciones de un bucle FOR siempre es fijo y se conoce de antemano:
Valor final - Valor inicial +1.
EJEMPLOS
Ejemplo 1
Diseñar un Diagrama de Llaves que imprima los mil primeros números en orden creciente.
Diagrama de LLaves
inicio
Para i=1 hasta 1000 hacer
Escribir “i = “, i
fin
Pseudocódigo
Inicio
Para i<-1 Hasta 100 Con Paso 1 Hacer
Escribir 'i=',i
Fin Para
FinProceso
Ejemplo 2
Diseñar un Diagrama de Llaves que imprima los cuadrados de los primeros 100 números naturales.
Diagrama de LLaves
inicio
Para i=1 hasta 1000 hacer
cuadrado ← i*i
Escribir “cuadrado = “, cuadrado
Fin
Pseudocódigo
Inicio
Para i<-1 Hasta 100 Con Paso 1 Hacer
cuadrado<-i*i
Escribir 'cuadrado=',cuadrado
Fin Para
Fin
Ejemplo 3
Diagrama de llaves que permita pedir 50 números naturales y determine e imprima cuantos son pares
y cuántos son impares
Diagrama de LLaves
cont_pares← 0
Cont_impares← 0
Para i=1 hasta 50 hacer
Leer numero
Si (numero MOD 2 =0)
⊕
cont_pares ← cont_pares +1
Si (numero MOD 2 =0)
cont_impares ← cont_impares +1
Escribir cont_pares, cont_impares
Pseudocódigo
Para i<-1 Hasta 50 Con Paso 1 Hacer
Escribir 'Ingresar un numero'
Leer numero
si numero mod 2 =0 Entonces
cont_pares<-cont_pares +1
Sino
cont_impares<-cont_impares +1
FinSi
FinPara
Escribir cont_pares, cont_impares
Fin
CUÁNDO UTILIZAR REPETIR …MIENTRAS/REPETIR…HASTA/PARA
• Utilizar la sentencia o estructura PARA cuando se conozca el número de iteraciones, y siempre
que la variable de control de bucle sea de tipo ordinal.
• Utilizar la estructura REPETIR …HASTA cuando el bucle se realice por lo menos una vez.
• En todos los demás casos utilizar la sentencia REPETIR…MIENTRAS.
Unidad 3 – Práctico 5: Estructuras de control repetitivas
Diseñar algoritmos para resolver los siguientes ejercicios y realizar la traza de los mismos
1. Muestre los números naturales del 1 al 20.
2. Muestre los números naturales del 20 al 1, en ese orden.
3. Muestre los números naturales entre los valores a y b inclusive que serán ingresados por el usuario
4. Sume la serie 3,6,9,12,...,99, mostrar el resultado obtenido
5. Calcule la suma de los enteros entre 1 y un número n ingresado por el usuario
6. Cuente los números pares naturales entre a y b inclusive.
7. Sume los números impares naturales entre a y b inclusive.
8. Sume los números pares naturales menores que n.
9. Muestre los múltiplos de cuatro existentes entre dos números ingresados por el usuario.
10. Muestre los números múltiplos de 5 de 0 a 100 utilizando , de ser posibles, los tres bucles: (diseñar
un ejercicio con cada bucle)
a) REPETIR. ..MIENTRAS
b) PARA
c) REPETIR… HASTA
DE NO SER POSIBLE REALIZARLO CON ALGUNO DE ELLOS JUSTIFICAR
11. Muestra los números del 320 al 160, contando de 20 en 20 utilizando, de ser posible, los bucles,
(diseñar un ejercicio con cada bucle)
a) REPETIR. ..MIENTRAS
b) PARA
c) REPETIR… HASTA
DE NO SER POSIBLE REALIZARLO CON ALGUNO DE ELLOS JUSTIFICAR
12. Leea 10 números y calcular y mostrar el cuadrado de cada número leído
13. Muestre los números pares menores o iguales a 20.
14. Muestre los números impares menores estrictamente que 19.
15. Muestre los números naturales múltiplos de 3 menores o iguales que un n ingresado.
16. Sume los números pares naturales menores que n y contabilice los impares
17. Promediar los valores ingresados por teclado, finalizar el ingreso con un 0., es decir, cuando
ingresa un valor 0 termina y muestra el promedio.
18. Escribir un programa que reciba una a una las notas del usuario,preguntando a cada paso si desea
ingresar más notas,e imprimiendo el promedio correspondiente
19. Suponiendo el siguiente bloque de código
a
b
c
3
2
a
Repetir mientras (b>0)
c
c+1
b
b -1
•
•
•
Realizar la traza del algoritmo anterior
Realizar una versión equivalente modificando el programa anterior para que utilice una
estructura REPETIR …HASTA en lugar de REPETIR MIENTRAS
Se podría utilizar un bucle PARA? JUSTIFICAR LA RESPUESTA
20. Dados los siguientes bloques de instrucciones, realizar una traza para determinar qué valor se
imprimirá por pantalla al finalizar la ejecución de los mismos.
1.-Suponiendo el siguiente bloque de código
a)
a
10
Para i=1 hasta 5 hacer
a
Escribir
a+1
a
b)
a
10
Para i=1 hasta -1 hacer
a
Escribir
a+1
a
21. En un programa, ¿puedo reemplazar un REPETIR MIENTRAS por un PARA? ¿En algún caso? ¿En
ningún caso? ¿En todos los casos? Muestre un ejemplo asociado a su explicación.
22. Muestre los números múltiplos de 5 de 0 a 100 utilizando , de ser posibles, los tres bucles:
(diseñar un ejercicio con cada bucle)
a) REPETIR. ..MIENTRAS
b) PARA
c) REPETIR… HASTA
DE NO SER POSIBLE REALIZARLO CON ALGUNO DE ELLOS JUSTIFICAR
22. Muestra los números del 320 al 160, contando de 20 en 20 utilizando, de ser posible, los bucles,
(diseñar un ejercicio con cada bucle)
a. REPETIR. ..MIENTRAS
b. PARA
c. REPETIR… HASTA
DE NO SER POSIBLE REALIZARLO CON ALGUNO DE ELLOS JUSTIFICAR
23. Realizar el algoritmo para obtener la suma de los números pares hasta 1000 inclusive
S = 2+4+6....+100
24. Diseñar un diagrama de llaves para calcular la suma siguiente:
100 + 98 + 96 + 94 + . . . + 0 en este orden
25. Hacer un diagrama de llaves para imprimirlos múltiplos de 4 a partir de 8 y calcular su suma
mientras el múltiplo de 4 sea menor que 350.
26. Ingresar la cantidad necesaria de valores hasta que su suma supere 245 , e imprima el resultado.
27. Escribir un diagrama de llaves para calcular el promedio de una lista de números positivos que
termina en un número negativo.
28. Calcular la productoria de los números naturales que existen entre m y n, siendo m y n datos de
entrada. Por ejemplo m=3, n=5 productoria=3*4*5=60
29. Hacer un diagrama de llaves que calcule la cantidad de divisores que tiene un numero n
30. Se ha realizado un torneo de football donde participaron niños de 7, 10 y 13 años. Se inscribieron
un total de 200 niños. Se pide crear un programa para saber de los 200 niños inscriptos cuántos
tienen 7 años, cuántos 10 años y cuántos 13 años
31. Diseñar un diagrama de llaves que permita leer 50 calificaciones de un grupo de alumnos, calcule
y escriba el porcentaje de reprobados. Se debe tomar en cuenta que la calificación mínima
aprobatoria es de 7.
32. Al cerrar un expendio de naranjas, 15 clientes que aun no han pagado recibirán un 15% de
descuento si compran más de 10 kilos. Diseñar un diagrama de llaves que permita mostrar cuanto
pagara cada cliente y cuanto percibirá la tienda por todas las compras.
33. Diseñar un diagrama de llaves que permita resolver el siguiente problema: Una empresa debe
realizar un muestreo con 50 personas para determinar el promedio de peso de los niños, jóvenes,
adultos y ancianos que existen en una zona habitacional. Se determinan las categorías con base
en la sig, tabla:
CATEGORIA EDAD
Niños 0 − 12
Jóvenes 13 − 29
Adultos 30 − 59
ancianos 60 en adelante
34. Diseñar un diagrama de llaves que permita encontrar el menor valor de un conjunto de n números
dados.
35. Diseñar un diagrama de llaves que permita encontrar el mayor valor de un conjunto de n números
dados.
36. En un supermercado un cajero captura los precios de los artículos que los clientes compran e
indica a cada cliente cual es el monto de lo que deben pagar. Al final del día le indica a su
supervisor cuanto fue lo que cobro en total a todos los clientes que pasaron por su caja. Diseñar
un diagrama de clases adecuado.
37. Una persona que va de compras a la tienda Enano, S.A., decide llevar un control sobre lo que va
comprando, para saber la cantidad de dinero que tendrá que pagar al llegar a la caja. La tienda
tiene una promoción del 20% de descuento sobre aquellos artículos cuya etiqueta sea roja.
Determinar la cantidad de dinero que esta persona deberá pagar por los productos que lleva.
38. Un fiscal desea determinar cuántas personas de cada una de las secciones que componen su zona
asisten el día de las votaciones. Las secciones son: norte, sur y centro. También desea determinar
cuál es la sección con mayor número de votantes.
39. Leer los 250,000 votos otorgados a los 3 candidatos a gobernador e imprimir el la cantidad de
votos de cada candidato, número del candidato ganador y su cantidad de votos recibidos.
40. Suponga que tiene usted una tienda y desea registrar las ventas en su computadora. Diseñe un
algoritmo que lea por cada cliente el monto total de su compra y al final del día que escriba la
cantidad total de ventas y el número de clientes atendidos.
41. Se tiene un conjunto de M tarjetas cada una contiene la información del censo para una persona:
1.− Número de censo,
2.− Sexo
3.− Edad
4.− Estado civil (a.− soltero, b. Casado, c. Viudo, d. Divorciado )
Diseñe el pseudocódigo que lea todos estos datos, e imprima el número de censo de todas las
jóvenes solteras que estén entre 16 y 21 años.
42. La Cía. Automovilística Mexicana, S.A. de C.V premia anualmente a sus mejores vendedores de
acuerdo a la siguiente tabla:
Si vendió Le corresponde de Comisión sobre ventas totales
1,000,000 <= v < 3,000,000 3%
3,000,000 <= v < 5,000,000 4%
5,000,000 <= v < 7,000,000 5%
7,000,000 <= v 6%
Diseñar el pseudocódigo que lea las ventas de N vendedores y que escriba la comisión anual que
le corresponda a cada vendedor. Suponer que nadie vende más de 10,000,000 al año.
43. Teniendo las notas de ingles, matemática y programación de n alumnos se requiere calcular:
• Promedio de notas por materia
• Promedio de notas por alumno
• Promedio General (de todas las materias para todos los alumnos).
44. Leer por cada alumno de INTRODUCCION A LA PROGRAMACION su número de control y su
calificación en cada una de las 5 unidades de la materia. Al final que escriba el numero de control
del alumno que obtuvo mayor promedio. Suponga que los alumnos tienen diferentes promedios.
45. Una compañía de seguros tiene contratados a n vendedores. Cada uno hace una cantidad X ventas
a la semana. Su política de pagos es que un vendedor recibe un sueldo base, y un 10% extra por
comisiones de sus ventas. El gerente de su compañía desea saber cuanto dinero obtendrá cada
vendedor por concepto de comisiones por las ventas realizadas, y cuanto tomando en cuenta su
sueldo base y sus comisiones.
46. Diseñar el pseudocódigo que permita resolver el siguiente problema: En un supermercado un
cajero va ingresando los precios de los N artículos que los clientes compran e indica a cada
cliente cual es el monto que deben pagar. Al final del día le indica a su supervisor cuanto fue lo
que cobro en total a TODOS los clientes que pasaron por su caja.
47. Realizar la suma de la siguiente serie:
48. Mostrar los términos de la serie:
1 1 1 1
1
+ + + + ....... +
2 4 6 8
2*n
1 1 1
1
; ; ;...........
3 6 9
m
49. Diseñar algoritmos que muestren las siguientes salidas:
11111
10 11 12 13 14
1111
11 12 13 14
111
12 13 14
11
13 14
1
14
12345
1234
123
12
1
0
1
2
3
4
0000
111
2 2
3
#####
#####
#####
#####
#####
50. Calcular el Factorial de un número. El factorial para todo entero positivo n, el factorial de n o n
factorial se define como el producto de todos los números enteros positivos desde 1 (es decir,
los números naturales) hasta n. Por ejemplo, 5! = 1 * 2 * 3 * 4 * 5 = 120.
51. Diseñar un algoritmo que resuelva la siguiente serie:
52. Diseñe un algoritmo que permita ingresar un valor numérico entero y calcular la suma de los
digitos que conforman el número. Ademas se debe visualizar el numero introducido y la suma de
sus digitos. Por ejemplo: Numero = 642 y Suma = 12.
53. Promedio Estudiante: Un estudiante necesita saber cuál será su promedio general en las cuatro
materias más fáciles que cursa y cuál será el promedio que obtendrá en cada una de ellas. Estas
materias se evalúan como se muestra a continuación.
a. Cálculo: Examen 90% - Promedio de trabajos 10%. Se pidieron tres (3) trabajos.
b. Programación: Examen 80%, promedio de trabajos 20%. Se pidieron dos (2) trabajos.
c. Introducción a la Ingeniería: Examen 85% - Promedio de trabajos 15%. Se pidieron 3 TP.
d. Fisica: Primer parcial 15% - Trabajo 5% - Segundo parcial 15% - Trabajo 5% - Tercer parcial
20% - Trabajo 10% - Examen final 20% - Trabajos 10%.
54. El siguiente programa solicita un número N para realizar a este la Multiplicación mientras sea
menor a 10.
55. El siguiente programa solicita un número N para realizar a este la Multiplicación mientras sea
menor que un número de FIN, y además se deberá leer un número de INICIO.
56. Adivina el número: Hacer un algoritmo que pida al usuario que adivine un número con 10
intentos como máximo. Debe generar un número al azar entre el 1 y el 1000. Tras cada intento
se le dirá si ha acertado (y en ese caso terminará la ejecución), si es mayor o si es menor el
número a adivinar.
57. Una empresa quiere hacer una compra de varias piezas de la misma clase a una fábrica
de refacciones. La empresa, dependiendo del monto total de la compra, decidirá que
hacer para pagar al fabricante.
a. Si el monto total de la compra excede de $50.000 la empresa tendrá la
capacidad de invertir de su propio dinero un 55% del monto de la compra, pedir
prestado al banco un 30% y el resto lo pagara solicitando un crédito al
fabricante.
b. Si el monto total de la compra no excede de $50.000 la empresa tendrá
capacidad de invertir de su propio dinero un 70% y el restante 30% lo pagara
solicitando crédito al fabricante.
c. El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le
pague a crédito.
58. Realizar un algoritmo que permita multiplicar todos los números pares, y sumar los
números impares de una cantidad N que será escrita por el usuario.
Prácticos Adicionales: Resolución de Problemas
RDP-01 – Secuencias gráficas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
RDP-02 – Distribuciones numéricas
1
2
3
4
5
6
7
8
9
10
11
12
RDP-03 – Sucesiones numéricas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
RDP-04 – Razonamiento Lógico
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
RDP-05 – Razones y proporciones
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17