Está en la página 1de 48

a.

Introducción

Definición Problema es la brecha que existe entre lo que es y lo que debería ser, como una desviación o
desajuste al camino deseado para llegar a un fin.

Lo que debe

Desviación en cuanto
a la expectativa Lo que es

Definición Solución, es decir, la decisión que debe tomarse, es el reestablecimiento del camino esperado
para llegar a ese fin predeterminado.

Definición Fases para resolver un problema:


1. Análisis
Visión global del problema, es decir, una descripción muy general de éste.
2. Definición
Descripción de manera precisa y se delimitan los alcances que tendría la solución (forma
específica).
3. Definición de entradas / salidas
Definir los elementos que serán transformados durante el proceso de solución (entradas),
así como el producto final que se desea obtener (salidas).
4. Procesos de solución
Los pasos para solucionar el problema de forma precisa.
5. Comprobación
Comprobación del proceso para ver que cumpla con la solución del problema.

Ejem. A01 Mediante la utilización de las fases para solucionar problemas obtener la solución para dar un
paso.
1. Análisis. Dar un paso.
2. Definición. Dar un paso en piso plano hacia adelante.
3. Definición de entradas / salidas.
Entradas Salidas
Individuo Individuo un paso adelante
Piso plano
4. Procesos de solución.
- Apoyar el cuerpo sobre el pie izquierdo.
- Levantar el pie derecho.
- Avanzar el pie derecho.
- Bajar el pie derecho.
- Apoyar el cuerpo sobre el pie derecho.
- Levantar el pie izquierdo.

1
- Avanzar el pie izquierdo.
- Bajar el pie izquierdo.
- Fin.
5. Comprobación. Verificar que un individuo avanza un paso adelante en piso plano.

Ejem. A02 Mediante la utilización de las fases para solucionar problemas obtener la solución para caminar
utilizando el ejemplo anterior.
1. Análisis. Caminar.
2. Definición. Caminar en piso plano hacia adelante.
3. Definición de entradas / salidas.
Entradas Salidas
Individuo Individuo caminando
Piso plano
4. Procesos de solución.
- Repetir:
Dar un paso
Hasta alcanzar la pared
- Fin.
5. Comprobación. Verificar que un individuo camina en un piso plano.

Ejem. A03 Mediante la utilización de las fases para solucionar problemas obtener la solución para pintar la
pared de una recámara.
1. Análisis. Pintar una pared.
2. Definición. Pintar la pared de una recámara.
3. Definición de entradas / salidas.
Entradas Salidas
Brocha ancha Pared de la recámara pintada
½ litro de pintura vinílica lista para aplicarse
Pared
Escalera
Periódico
Franela
Cinta adhesiva
4. Procesos de solución.
- Proteger el piso que se encuentra debajo de la pared que se va a pintar con el
periódico y la cinta adhesiva.
- Limpiar la pared con la franela, sino alcanzo, utilizar la escalera.
- Aplicar la pintura con la brocha, de arriba hacia abajo y de izquierda a derecha hasta
terminar la pared (2 veces), sino alcanzo, utilizar la escalera.
- Dejar secar la pintura por 6 horas.
- Retirar del piso el papel periódico y la cinta adhesiva.
- Fin.
5. Comprobación. Verificar cómo quedó la pintura aplicada en la pared.

Ejem. A04 Mediante la utilización de las fases para solucionar problemas obtener la solución para una
conversación telefónica con mi amigo José.
1. Análisis. Entablar una conversación telefónica.

2
2. Definición. Entablar una conversación telefónica con mi amigo José.
3. Definición de entradas / salidas.
Entradas Salidas
Teléfonos residencial Conversación telefónica con José
Tarjeta telefónica
Número telefónico de José
Monedas
Teléfono público
4. Procesos de solución.
- Si no estoy en casa o no hay línea en casa entonces:
* Busco teléfono público.
* Si es de tarjetas entonces, utilizo tarjeta sino, utilizo monedas.
- Marco correctamente el número telefónico de José.
- En caso de que:
* No contesten, intento más tarde conversar telefónicamente con mi amigo
José.
* Contesten y no esté José, dejo recado. Si no me llama, intento conversar
telefónicamente con mi amigo José.
* Contesten y no sea José, pido hablar con él. Converso con José.
* Conteste José, converso con José.
- Fin.
5. Comprobación. Haber realizado conversación telefónica con José.

Ejem. A05 Mediante la utilización de las fases para solucionar problemas obtener la solución para sumar 3
números.
1. Análisis. Obtener una suma.
2. Definición. Obtener la suma de 3 números.
3. Definición de entradas / salidas.
Entradas Salidas
3 números Suma de los tres números
4. Procesos de solución.
- Obtener el primer número y registrarlo.
- Obtener segundo número y registrarlo.
- Obtener tercer número y registrarlo.
- Realizar la suma de los tres números.
- Escribir el resultado de la suma.
- Fin.
5. Comprobación.
- Dame el primer número: 2
- Dame el segundo número: 4.
- Dame el tercer número: 1.
- suma = 2 + 4 + 1
- suma = 7.

Ejer. A01 Mediante la utilización de las fases para solucionar problemas obtener la solución para bañarse en
un día de escuela.

3
Ejer. A02 Mediante la utilización de las fases para solucionar problemas obtener la solución para cambiar el
foco de la cocina.

Ejer. A03 Mediante la utilización de las fases para solucionar problemas obtener la solución para cocinar
huevos a la mexicana.

4
Ejer. A04 Mediante la utilización de las fases para solucionar problemas obtener la solución para obtener el
área de un rectángulo.

Ejer. A05 Mediante la utilización de las fases para solucionar problemas obtener la solución para cambiar
una llanta.

5
Ejer. A06 Mediante la utilización de las fases para solucionar problemas obtener la solución para elaborar un
pay de manzana.

Ejer. A07 Mediante la utilización de las fases para solucionar problemas obtener la solución para realizar la
conversión de grados Centígrados a Fahrenheit.

6
b. Algoritmos

Definición Para encontrar la solución a un problema real, necesitaremos encontrar un método de resolución
del problema, es lo que llamamos algoritmo, y después decomponerlo en acciones elementales
que el computador sea capaz de entender.
Un algoritmo se define como el conjunto ordenado de pasos a seguir para resolver un problema
concreto, sin ambigüedad alguna en un tiempo finito.
Lo que estuvimos haciendo en los ejemplos y ejercicios anteriores, fue desarrollar algoritmos.
El algoritmo es independiente del lenguaje de programación y de la computadora que se utilice.

Definición Características de los algoritmos.


1. Precisión
El algoritmo deber ser concreto, utilizando solo el número preciso de pasos para
llegar a una solución clara y sin ambigüedad.
2. Repetitividad
El algoritmo debe repetirse todas las veces que sea necesario, dando siempre
idénticos resultados para las mismas condiciones.
3. Finitud
Siguiendo los pasos del algoritmo, debemos llegar a la solución en un tiempo
finito y razonable.
4. Validez
Que el algoritmo construido haga lo que se pretende que haga y devuelva los
resultados esperados.
5. Eficiencia
Se trata de ver si el algoritmo es capaz de dar la solución en un tiempo razonable.
6. Entradas y salidas claramente definidas
Las entradas se transformarán para obtener las salidas por ello un algoritmo debe
mostrar con claridad cuales serán los resultados (salidas) y cuales los datos
iniciales (entradas).
7. Generalidad
Debe servir para varios problemas similares.
La descripción de un algoritmo debe seguir cinco pasos: inicio, entrada o lectura de datos,
proceso de los datos, salida o impresión de resultados y fin.

Definición En la mayoría de los casos, a la hora de realizar una aplicación informática, no se conoce el
lenguaje o lenguajes de programación a utilizar. Además, siempre es conveniente analizar los
programas a un nivel por encima de los detalles propios de un cierto lenguaje de programación.
Las herramientas más comunes para la descripción de algoritmos son:
• Diagramas de flujo.
• Pseudocódigo.
Un diagrama de flujo representa la esquematización gráfica de un algoritmo. En realidad,
muestra gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema. Su
correcta construcción es sumamente importante porque, a partir del mismo se escribe un
programa en algún lenguaje de programación. Si el diagrama de flujo está completo y correcto, el
paso del mismo a un lenguaje de programación es relativamente simple y directo.
El pseudocódigo es un conjunto pequeño y completo de sentencias mediante las cuales
podemos expresar todas las acciones a llevar a cabo para resolver un problema. Es más compacto

7
que el diagrama de flujo y es más fácil de transcribir a cualquier lenguaje de programación.

Definición Símbolos utilizados en los diagramas de flujo:

Representación Explicación

Se utiliza para marcar el inicio y el fin del


diagrama de flujo.

Se utiliza para introducir los datos de


entrada.

Representa un proceso. En su interior se


expresan asignaciones, operaciones
aritméticas, cambios de valor, etc.

Representa una decisión. En su interior se


No almacena una condición, y dependiendo del
resultado de la evaluación de la misma se
sigue por uno de los caminos alternativos.

Si

Representa una decisión múltiple. En su


interior se almacena un selector, y
dependiendo del valor de dicho selector se
sigue por uno de los caminos alternativos.

c
a b ... n otra

Representa la impresión de un resultado


(en papel, pantalla o algún otro dispositivo de
salida).

Expresan la dirección del flujo del


programa.

Expresa conexión dentro de una misma


Id página.

Expresa conexión entre páginas


Id
diferentes.

8
Regla Reglas para la construcción de diagramas de flujo:
1. Todo diagrama debe tener un inicio y un fin:

Inicio

Fin

2. Las líneas utilizadas para indicar la dirección del flujo del diagrama deben ser rectas,
ya sean verticales u horizontales:

No deben ser inclinadas: Tampoco deben cruzarse:

3. Todas las líneas utilizadas para indicar la dirección del flujo del diagrama deben estar
conectadas.

. . . . . . .
. . . . . . .
. . . . . . .

4. El diagrama de flujo debe ser construido de arriba a abajo y de izquierda a derecha.


5. La notación utilizada en el diagrama de flujo debe ser independiente del lenguaje de
programación.
6. Es conveniente cuando realizamos una tarea compleja poner comentarios que
expresen o ayuden a entender lo que hicimos.
7. Si el diagrama de flujo requiriera más de una hoja para su construcción debemos
utilizar los conectores adecuados y numerar las páginas convenientemente.
8. No pueden llegar más de una flecha a un símbolo.

9
Definición Los tipos de datos son las características comunes que posee un conjunto de datos. En una
computadora es un esquema de codificación que permite representar los datos. Los tipos de datos
básicamente se reducen a 2 tipos:
1. Simples. Ocupan sólo una casilla de memoria. Ejemplos: Enteros, reales, caracteres,
booleanos.
Enteros son números positivos o negativos que no tienen decimales. Los reales
pueden ser positivos o negativos pero con decimales. Tipo carácter contiene un solo
carácter. Booleanos o lógicos son datos que pueden tomar únicamente dos valores:
falso o verdadero.
2. Estructurados o compuestos. Con un nombre se hace referencia a un grupo de
casillas de memoria, es decir, un dato estructurado tiene varios componentes que,
pueden ser a su vez simples o estructurados. Ejemplos: Arreglos, cadena de
caracteres, fecha, registros.

Definición Un identificador es el nombre que se le da a las casillas de memoria. Un identificador se forma


de acuerdo a ciertas reglas:
• El primer carácter que forma un identificador debe ser una letra.
• De preferencia, las primeras tres indican el tipo de dato.
• Se pueden utilizar letras, dígitos o el guión bajo (“_”).
• Utilizar nombres indicativos, no tan largos ni tan cortos.
• No utilizar caracteres signos de acentuación.
Ejemplos: fec_hoy, ent_resultado, cad_nombre, bol_encontre, etc.

Definición Las constantes son datos que no cambian durante la ejecución de un programa. Para nombrar
las constantes se utilizan los identificadores.
Ejemplos: fec_hoy, cad_minombre, bol_encendido, etc.

Definición Las variables son objetos que pueden cambiar su valor durante la ejecución de un programa.
Para nombrar las variables se utilizan los identificadores.
Ejemplos: fec_contratacion, ent_resultado, cad_nombre, bol_encontre, etc.

Definición Los operadores aritméticos nos permiten realizar operaciones aritméticas entre operandos que
pueden ser números, constantes o variables. El valor resultante es un número.

Operador Aritmético Operación Ejemplo Resultado

** Potencia 4 ** 3 64

* Multiplicación 8.25 * 7 57.75

/ División 15 / 4 3.75

+ Suma 125.78 + 62.50 188.28

- Resta 65.30 – 32.33 32.97

mod Módulo (residuo) 15 mod 2 1

10
div División entera 17 div 3 5
(cociente)

Al evaluar expresiones que contienen operadores aritméticos se debe respetar la jerarquía en el


orden de la aplicación. Si tenemos en una expresión más de un operador, debemos aplicar
primero el operador de mayor jerarquía, resolver esa operación, y así sucesivamente.

Operador Jerarquía Operación

** mayor Potencia

*, / , mod, div Multiplicación, división, módulo, división entera

+, - menor

Las reglas para resolver una expresión aritmética son:


1. Si una expresión contiene subexpresiones entre paréntesis, éstas se evalúan primero;
respetando la jerarquía de los operadores aritméticos en esta subexpresión. Si las
subexpresiones se encuentran anidadas por paréntesis, primero se evalúan las
subexpresiones que se encuentran en el último nivel de anidamiento.
2. Los operadores aritméticos se aplican teniendo en cuenta la jerarquía y de izquierda a
derecha.

Ejem. B01 7 + 5 - 6
12 - 6
6

Ejem. B02 15 / 2 * ( 7 + ( 68 - 15 * 33 + ( 45 ** 2 / 16 ) / 3 ) / 15 ) + 19
2025
126.5625
( 42.1875 )
495
( - 384.8125 )
( - 25.65416667 )
( - 18.65416667 )
7.5
- 139.90625
- 120.90625

Ejer. B01 9 + 7 * 8 – 36 / 5

Ejer. B02 7 * 5 ** 3 / 4 div 3

11
Ejer. B03 7 * 8 * (160 mod 3 ** 3) div 5 * 13 – 28

Definición Las expresiones lógicas o booleanas, están conformadas por números, constantes o variables
y operadores lógicos o relacionales. El valor resultante es falso o verdadero. Normalmente se
utilizan en condiciones (dependiendo del resultado de la evaluación se toma algún camino
alternativo) y en ciclos (dependiendo del resultado de la evaluación se continúa con el ciclo o se
interrumpe).
Los operadores relacionales son operadores que permiten comparar dos operandos. Los
operandos pueden ser números, alfanuméricos, constantes o variables. El resultado de una
expresión con operadores relacionales es verdadero o falso.

Operador Operación Ejemplo Resultado

= Igual que “hola” = “lola" FALSO

<>, ¡= Diferente a “a” <> “b” VERDADERO

< Menor que 7 < 15 VERDADERO

> Mayor que 22 > 11 VERDADERO

<= Menor o igual que 15 <= 22 FALSO

>0 Mayor o igual que 35 >= 20 VERDADERO

Nota Cuando se utilizan los operadores de relación con operandos lógicos, falso es menor que
verdadero.

Ejem. B03 A = 5
B = 16
( A ** 2 ) > ( B * 2 )
( 5 ** 2 ) > ( 16 * 2 )
( 25 ) > ( 32 )
FALSO

12
Ejem. B04 X = 6
B = 7.8
( X * 5 + B ** 3 / 4 ) <= ( X ** 3 div B )
( 6 * 5 + 7.8 ** 3 / 4 ) <= ( 6 ** 3 div 7.8 )
474.552 216
118.638 ( 27 )
30
( 148.638 ) <= ( 27 )
FALSO

Ejer. B05 ((1,580 mod 6 * 2 ** 7) > (7 + 8 * 3 ** 4)) > ((15 * 2) = (60 * 2 / 4))

Definición Los operadores lógicos son operadores que permiten formular condiciones complejas a partir
de condiciones simples.

Operador lógico Jerarquía Expresión lógica Significado

mayor NO P
NO No P No es cierto que P
Es FALSO que P

P^Q
Y PyQ P sin embargo Q

PoQ
O PoQ P o Q o ambas
menor
Mínimo P o Q

P Q ~P ~Q PoQ P^Q

VERDADERO VERDADERO FALSO FALSO VERDADERO VERDADERO

VERDADERO FALSO FALSO VERDADERO VERDADERO FALSO

FALSO VERDADERO VERDADERO FALSO VERDADERO FALSO

FALSO FALSO VERDADERO VERDADERO FALSO FALSO

13
Operadores Jerarquía

() mayor

**

*, /, div, mod

+, -

=, <>, <, >, <=, >=

NO

Y menor

Ejer. B06 NO (15 >= 7 ** 2) O (43 – 8 * 2 div 4 <> 3 * 2 div 2)

Ejer. B07 (15 >= 7 * 3 ** 2 Y 8 > 3 Y 15 > 6) O NO (7 * 3 < 5 + 12 * 2 div 3 ** 2)

Ejer. B08 No ( ( 7* 3 div 2 *4 ) > ( 15 / 2 * 6 >= 15 * 2 / 17 = 15 ) )

Nota No se puede realizar la comparación entre un valor lógico y un numérico, utilizando un operador
relacional.

14
c. Bloque de asignación

Definición Un bloque de asignación se utiliza para asignar valores o expresiones a una variable. La
asignación es una operación destructiva, es decir, que si la variable tenía asignado un valor
anteriormente, éste se destruye, conservando ahora el nuevo valor. El formato de la asignación es
el siguiente:
Variable = expresión o valor
Donde la expresión puede ser aritmética o lógica, o una constante o variable.

Ejem. C01 Supongamos que las variables ENT_I, ENT_ACUM y ENT_J son de tipo entero, REAL_REA y
REAL_SUM de tipo real, CAR_CAR de tipo carácter y BOOL_BAND de tipo booleano. Consideremos
también que tenemos que realizar las siguientes asignaciones:
1. ENT_I = 0
2. ENT_I = ENT_I + 1
3. ENT_ACUM = 0
4. ENT_J = 5 ** 2 div 3
5. CAR_CAR = ‘a’
6. ENT_ACUM = ENT_J div ENT_I
7. REAL_REA = ENT_ACUM / 3
8. BOOL_BAND = (8 > 5) y (15 < 2 ** 3)
9. REAL_SUM = ENT_ACUM * 5 / ENT_J ** 2
10. ENT_I = ENT_I * 3
11. REAL_REA = REAL_REA / 5
12. BOOL_BAND = BOOL_BAND o (ENT_I = ENT_J)
13. ENT_I = REAL_REA
14. CAR_CAR = ENT_J
En la siguiente tabla podemos observar los valores que van tomando los valores en memoria.

Número de ENT_I ENT_J ENT_ACUM REAL_REA REAL_SUM CAR_CAR BOOL_BAND


Asignación

1 0

2 1

3 0

4 8

5 ‘a’

6 8

7 2.66

8 FALSO

15
9 0.625

10 3

11 0.532

12 FALSO

13 Error

14 Error

d. Diagramas de flujo

Ejem. D01 Construya un diagrama de flujo tal, que dados los datos A, B, C y D que representan números
enteros, escriba los mismos en orden inverso.
Entrada: A, B, C y D.
Salida: A, B, C y D.
Donde: A, B, C y D son variables de tipo entero, que representan los datos que se
ingresan y son los mismos que se presentan a la salida.
INICIO

“Dame el valor de A:”, A


“Dame el valor de B:”, B
“Dame el valor de C:”, C
“Dame el valor de D:”, D

“El valor de D es:”, D


“El valor de C es:”, C
“El valor de B es:”, B
“El valor de A es:”, A

FIN

Ejem. D02 Construya un diagrama de flujo tal, que dados los datos enteros A y B, escriba el resultado de la
siguiente expresión:
( A + B) 2
3
Entrada: A y B.
Salida: RESULTADO.
Donde: A y B son variables de tipo entero, que expresan los datos que se ingresan.
RESULTADO es la variable donde se almacena el resultado de la expresión pedida
y se presentará a la salida.

16
INICIO

“Dame el valor de A:”, A


“Dame el valor de B:”, B

resultado = (A + B) ** 2 / 3

“El resultado es:”, resultado

FIN

Ejem. D03 Construya un diagrama de flujo tal, que dado el radio de un círculo de 4 cms., calcule el área del
mismo.
Entrada: RADIO = 4.
Salida: AREA.
Donde: RADIO es una variable de tipo entero que almacena el dato que se ingresa.
AREA la variable de tipo real que registrará el resultado y se mostrará en la salida.

INICIO

area = 3.1415 * 4 ** 2

“El resultado del área del círculo es:”, area

FIN

Ejer. D01 Dada la matrícula y 5 calificaciones de un alumno obtenidas a lo largo del semestre, construya un
diagrama de flujo que imprima la matricula y el promedio de sus calificaciones.

17
Ejer. D02 Escriba un diagrama de flujo que permita calcular e imprimir el cubo y el cuadrado de un número
entero positivo NUM.

Ejer. D03 Construya un diagrama de flujo tal, que dados como datos la base y la altura de un rectángulo,
calcule el perímetro y la superficie del mismo.

18
|

e. Seudocódigo

Definición Es un conjunto pequeño y completo de sentencias mediante las cuales podemos expresar todas
las acciones a llevar a cabo para realizar una tarea mediante un ordenador y consta de palabras y
secuencias.
Ventajas:
• Es más compacto que un diagrama de flujo.
• Es más fácil de escribir para iniciarse en la programación.
• Es más sencillo de transcribir a cualquier lenguaje de programación.

Definición Equivalencias entre el diagrama de flujo y el seudocódigo.

Diagrama de Flujo Seudocódigo

PROGRAMA nombre _ programa


Definición de Variables y Constantes entre
INICIO comentarios /* */
Nombre Variable Tipo Variable Descripción
COMIENZA

Leer
Lectura

19
Asignaciones, operaciones aritméticas, cambios de
Procesos
valor, etc.

SI condición(es) ENTONCES
Condi-
ción
Instrucciones
(es) Si
OTRO
Instrucciones
No
FIN SI /* condición(es) */

CASO variable o expresión SEA


Condi
ción
Valor 1: instrucciones
les
Valor 2: instrucciones
Valor 3: instrucciones
a b c ... n otra

Valor n: instrucciones
Otro caso: instrucciones
FIN CASO /* variable o expresión */

Escribir
Escritura

FIN /* Programa */
FIN

Ejem. E01 Construya un seudocódigo tal, que dados los datos A, B, C y D que representan números enteros,
escriba los mismos en orden inverso.
PROGRAMA invierte_números
/* Programa que invierte 4 números dados.
Variables Tipo Descripción
Ent_A Entero Almacena el primer dato
Ent_B Entero Almacena el segundo dato
Ent_C Entero Almacena el tercer dato
Ent_D Entero Almacena el cuarto dato */
COMIENZA
Leer (“Dame el primer dato:”, Ent_A)
Leer (“Dame el segundo dato:”, Ent_B)
Leer (“Dame el tercer dato:”, Ent_C)
Leer (“Dame el cuarto dato:”, Ent_D)

20
Escribir (Ent_D, Ent_C, Ent_B, Ent_A)
FIN /* Programa */

Ejem. E02 Construya un seudocódigo tal, que dados los datos enteros A y B, escriba el resultado de la
siguiente expresión:
( A + B) 2
3
PROGRAMA calcula_formula
/* Programa que efectúa el cálculo de la fórmula dada.
Variables Tipo Descripción
Ent_A Entero Almacena el valor de la variable A
Ent_B Entero Almacena el valor de la variable B
Rea_Res Real Almacena el resultado de la expresión */
COMIENZA
Ent_A  0
Ent_B  0
Rea_Res  0
Leer (“Dame el dato A:”, Ent_A)
Leer (“Dame el dato B:”, Ent_B)
Rea_Res  ((Ent_A + Ent_B) ** 2) / 3
Escribir (“El resultado es:”, Rea_Res)
FIN /*Programa */

Ejem. E03 Construya un seudocódigo tal, que dado el radio de un círculo de 4 cms., calcule el área del
mismo.
PROGRAMA calcula_area_círculo
/* Programa que calcula el área de un círculo con radio igual a 4.
Constantes Tipo Descripción
Rea_PI Real Almacena el valor de la constante PI
Ent_Radio Entero Almacena el valor del radio (4)
Variables Tipo Descripción
Rea_Area Real Almacena el área calculada */
COMIENZA
Rea_PI  3.1415
Ent_Radio  4
Rea_Area  0
Rea_Area  Rea_PI *Ent_Radio ** 2
Escribir (“El área del círculo es:”, Rea_Area)

21
FIN /* Programa */

Ejer. E01 Dada la matrícula y 5 calificaciones de un alumno obtenidas a lo largo del semestre, construya un
seudocódigo que imprima la matrícula y el promedio de sus calificaciones.

Ejer. E02 Escriba un seudocódigo que permita calcular e imprimir el cubo y el cuadrado de un número
entero positivo NUM.

22
Ejer. E03 Construya un seudocódigo tal, que dados como datos la base y la altura de un rectángulo, calcule
el perímetro y la superficie del mismo.

Ejer. E04 Escriba un diagrama de flujo y seudocódigo tal, que dados como datos 2 números reales, calcule
la suma, resta y multiplicación de dichos números.

23
Comprobación

24
Ejer. E05 Escriba un diagrama de flujo y seudocódigo tal, que dado el nombre de un dinosaurio, su peso y
su longitud, expresados estos dos últimos en toneladas y pies, respectivamente; escriba el
nombre del dinosaurio, su peso expresado en kilogramos y su longitud expresada en metros.
Comprobación

Ejer. E06 Construya un diagrama de flujo y seudocódigo tal, que dado el radio, la generatriz y la altura de
un cono, calcule e imprima el área de la base, el área lateral, el área total y su volumen.
CONSIDERACIONES

25
Area base =   r 2
Area lateral = area base  generatriz
Area total = area base + area lateral
1
Volumen =  area base  altura
3
Comprobación

26
f. Estructuras algorítmicas selectivas

Definición Las estructuras lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo de
problemas. Se utilizan cuando en el desarrollo de la solución de un problema se debe tomar una
decisión, para establecer un proceso o señalar un camino alternativo a seguir.
Esta toma de decisión se basa en la evaluación de una o más condiciones que nos señalan como
alternativa o consecuencia, la rama a seguir.
Hay situaciones en las que la toma de decisiones se realiza en cascada. Es decir se toma una
decisión, se marca la rama correspondiente a seguir, se vuelve a tomar otra decisión y así
sucesivamente. Por lo que para alcanzar la solución de este problema o subproblema se debe
aplicar prácticamente un árbol de decisión.

No
Condición(es)
SI <Condición(es)> ENTONCES
<Instrucción(es)> Si

FIN SI /* Condición(es) */ Instrucción(es)

SI <Condición(es)> ENTONCES
Si No
Condición(es)
<Instrucción(es)>
OTRO Instrucción(es) Instrucción(es)

<Instrucción(es)>
FIN SI /* Condición(es) */

27
CASO <variables | expresión> SEA
valor1: <Instrucción(es)>
valor2: <Instrucción(es)>
valor3: <Instrucción(es)>
.
.
.
valorN: <Instrucción(es)>
OTRO CASO:<Instrucción(es)>
FIN CASO /* variables | expresión */

Expresión

V1 V2 V3 . . . . VN Otro Caso

Instrucción(es) Instrucción(es) Instrucción(es) Instrucción(es) Instrucción(es)

Ejem. F01 Hacer el diagrama de flujo y seudocódigo tal que dado como dato la calificación de un alumno en
un examen, escriba “Aprobado” en caso de que esa calificación fuese mayor a 6.
Inicio Comprobación

“Dame la calificación del alumno:”, Rea_Calif

No
Rea_Calif > 6

Si

“El alumno está Aprobado”

Fin

PROGRAMA verifica_alumno_aprobado
/* Programa que verifica si la calificación del alumno es aprobatoria (>6).
Variables Tipo Descripción
Rea_Calif Real Almacena el dato de entrada (calificación) */
COMIENZA
Rea_Calif  0
Leer (“Dame la calificación del alumno: ”, Rea_Calif)

28
SI Rea_Calif > 6 ENTONCES
Escribir (“El alumno está aprobado.”)
FIN SI /* Rea_Calif > 6 */
FIN /* Programa */

Ejem. F02 Hacer el diagrama de flujo y seudocódigo tal, que dado como dato la calificación de un alumno en
un examen escriba “Aprobado” en caso de que esa calificación fuese mayor a 6 o en caso
contrario “Reprobado”.
Inicio Comprobación

“Dame la calificación del alumno: ”, Rea_Calif

Si
No
Rea_calif > 6

“El alumno está Aprobado” “El alumno está Reprobado”

Fin

PROGRAMA verifica_alumno_aprobado_reprobado
/* Programa que verifica si la calificación del alumno es aprobatoria (>6) y escribe que esta
Aprobado, si es menor escribe Reprobado.
Variables Tipo Descripción
Rea_Calif Real Almacena el dato de entrada (calificación) */
COMIENZA
Rea_Calif  0
Leer ( “Dame la calificación del alumno: ”, Rea_Calif)
SI Rea_Calif > 6 ENTONCES
Escribir (“El alumno está Aprobado.”)
OTRO
Escribir (“El alumno está Reprobado.”)
FIN SI /* Rea_Calif > 6 */
FIN /* Programa */

Ejem. F03 Construye un diagrama de flujo y seudocódigo tal, que dados como datos dos variables de tipo
entero, obtenga el resultado de la siguiente función:

100 * V si num = 1
100 ** V si num = 2
Val
100 / V si num = 3
0 de otro modo

29
Inicio
Comprobación
“Dame V:”, Ent_V
“Dame el número:”, Ent_Num

Ent_Num

1 2 3 Otro

Rea_Res = 100 * Ent_V Rea_Res = 100 ** Ent_V Rea_Res = 100 / Ent_V Rea_Res = 0

“Val vale:”, Rea_Res

Fin

PROGRAMA funcion_valor
/* Programa que calcula el valor de una función en base a dos números enteros.
Variables Tipo Descripción
Ent_V Entero Almacena el primer valor de entrada
Ent_Num Entero Almacena el segundo valor de entrada
Rea_Res Real Almacena el resultado de la función */
COMIENZO
Ent_V ← 0
Ent_Num ← 0
Rea_Res ← 0
Leer (“Dame el valor de V:”, Ent_V)
Leer (“Dame el valor de num:”, Ent_Num)
CASO Ent_Num SEA
1: Rea_Res ← 100 * Ent_V
2: Rea_Res ← 100 ** Ent_V
3: Rea_Res ← 100 / Ent_V
OTRO CASO: Rea_Res ← 0
FIN CASO /* Ent_Num */
Escribir (“Val vale: ”, Rea_Res)
FIN /* Programa */

30
Ejer. F01 Dado como dato el sueldo de un trabajador, aplíquele un aumento del 15% si su sueldo es
inferior a $10,000. Imprima en éste caso, el nuevo sueldo del trabajador. Haga el diagrama de
flujo y seudocódigo correspondientes.

Comprobación

Ejer. F02 Construya un diagrama de flujo y seudocódigo tal, que dado como dato el sueldo de un
trabajador, le aplique un aumento del 15% si su sueldo es inferior a $10,000 y 12% en caso
contrario. Imprima el nuevo sueldo del trabajador.

31
Comprobación

Ejer. F03 Construya un diagrama de flujo y seudocódigo tal, que dados como datos la categoría y el sueldo
de un trabajador, calcule el aumento correspondiente teniendo en cuenta la siguiente tabla.
Imprima la categoría del trabajador y su nuevo sueldo.
CATEGORIA AUMENTO
1 15%
2 10%
3 8%

32
4 7%

Comprobación

33
Definición Se encuentran numerosos casos en el desarrollo de la solución de problemas en el que luego de
tomar una decisión y marcar el camino correspondiente a seguir, es necesario tomar otra
decisión. Se señala, luego de evaluar las condiciones, la rama correspondiente a seguir, y
nuevamente podemos tener que tomar otra decisión. El proceso puede repetirse numerosas
veces. En este caso se está aplicando estructuras selectivas en cascada o anidadas , para
resolver el problema.

Ejem. F04 Diagrama de Flujo: .


.
.

No
Condición1

Si

Si No
Condición2

Operación2_1 Operación2_2

.
.
.

Seudocódigo:
.
.
.
SI condición1 ENTONCES
SI condición2 ENTONCES
operación2_1
OTRO
operación2_2
FIN SI /* condición 2 */
FIN SI /* condición 1 */
.
.
.

34
Ejem. F05 Diagrama de Flujo:

.
.
.

Si No
Condición1

Si No No
Condición2 Condición3

Si

Operación2_1 Operación2_2
Operación3_1

.
.
.
Seudocódigo:
.
.
.
SI condición1 ENTONCES
SI condición2 ENTONCES
operación2_1
OTRO
operación2_2
FIN SI /* condición 2 */
OTRO
SI condición3 ENTONCES
operación3_1
FIN SI /* condición 3 */
FIN SI /* condición 1 */
.
.
.

Ejem. F06 Diagrama de Flujo:

35
.
.
.

Si No
Condición1

No
Selección Condición5

Si
Valor1 Valor2 Otro
No Si No

Operación2_1 Condición3 Condición4 Operación5_1

Si

Operación3_1 Operación4_1 Operación4_2

.
.
.

Seudocódigo:
.
.
.
SI condición1 ENTONCES
CASO selección SEA
valor1: operación2_1
valor2: SI condición3 ENTONCES
operación3_1
FIN SI /* condición3 */
OTRO CASO: SI condición4 ENTONCES
operación4_1
OTRO
operación4_2
FIN SI /* condición4 */
FIN CASO /* selección */

36
OTRO
SI condición5 ENTONCES
operación5_1
FIN SI /* condición5 */
FIN SI /* condición1 */
.
.
.

Ejer. F04 Dados los datos A, B y C, que representan números enteros diferentes, construya un diagrama de
flujo y seudocódigo para escribir estos números en orden descendente.

37
Ejer. F05 Construya un diagrama de flujo y seudocódigo tal, que dado el costo de un artículo vendido y la
cantidad de dinero entregada por el cliente, calcule e imprima el cambio que debe entregársele al
mismo.

Ejer. F06 Construya un diagrama de flujo y seudocódigo tal, que dadas la base y la altura de un triángulo,
calcule e imprima su superficie.

Ejer. F07 Construya un diagrama de flujo y seudocódigo que resuelva el problema que tienen en una
gasolinera. Los surtidores de la misma registran lo que “surten” en galones, pero el precio de la
gasolina está fijado en litros. El diagrama de flujo y seudocódigo debe calcular e imprimir lo que

38
hay que cobrarle al cliente.

Ejer. F08 En una casa de cambio necesitan construir un programa tal que dado como dato una cantidad
expresada en dólares, convierta esa cantidad a pesos. Construya el diagrama de flujo y
seudocódigo correspondiente.

Ejer. F09 Construya un diagrama de flujo y seudocódigo tal, que dado el radio y la altura de un cilindro,
calcule e imprima el área y su volumen.

Ejer. F10 Una persona compró una estancia en un país sudamericano. La extensión de la estancia está
especificada en acres. Construya un diagrama de flujo y seudocódigo, tal que dado como dato la
extensión del campo en “acres”, calcule e imprima la extensión del mismo en hectáreas.

Ejer. F11 En las olimpíadas de invierno el tiempo que realizan los participantes en la competencia de
velocidad en pista, se mide en minutos, segundos y centésimas. La distancia que recorren, por
otra parte, se expresa en metros.
Construya un diagrama de flujo y seudocódigo que calcule la velocidad de los participantes, en
kilómetros por hora, de las diferentes competencias.

Ejer. F12 Construya un diagrama de flujo y seudocódigo que calcule e imprima el número de segundos que
hay en un determinado número de días.

Ejer. F13 Construya un diagrama de flujo y seudocódigo tal, que dado el radio de una esfera, calcule e
imprima el área y su volumen.

Ejer. F14 Construya un diagrama de flujo y seudocódigo tal, que dados como datos la categoría y el sueldo
de un trabajador, calcule el aumento correspondiente teniendo en cuenta la siguiente tabla.
Imprima la categoría del trabajador y su nuevo sueldo.

CATEGORÍA AUMENTO

1 15%

2 10%

3 8%

4 7%

Ejer. F15 Haga el diagrama de flujo y seudocódigo para calcular las raíces reales, de ser posible, de una
ecuación de segundo grado.

Ejer. F16 Construya un diagrama de flujo y seudocódigo tal, que dado como dato el sueldo de un
trabajador, calcule su aumento según el siguiente criterio:
• sueldo < $10,000, aumento de 25%
• $10,000 <= sueldo <= $15,000, aumento de 21%
• sueldo > $15,000, aumento de 18%

39
Imprima el nuevo sueldo del trabajador.

Ejer. F17 Construya un diagrama de flujo y seudocódigo tal, que dado como dato un número entero,
determine e imprima si el mismo es positivo, negativo o nulo.

Ejer. F18 Dado un número entero A; haga un diagrama de flujo y seudocódigo para determinar si el mismo
es par, impar o nulo.

Ejer. F19 Construya un diagrama de flujo y seudocódigo que puedan determinar, dados dos números
enteros, si un número es divisor de otro.

Ejer. F20 Construya un diagrama de flujo tal, que dados como datos dos números enteros, determine cual
es el mayor.

Ejer. F21 Dados tres números reales A, B y C; identifique cuál es el mayor. Considere, a fin de simplificar el
problema, que los números son diferentes. Haga el diagrama de flujo y seudocódigo
correspondiente.

Ejer. F22 Retome el ejercicio anterior. Identifique cuál es el mayor, pero considere que los números pueden
tener los mismos valores. Haga el diagrama de flujo y seudocódigo correspondiente.

Ejer. F23 Haga un diagrama de flujo y seudocódigo que permitan calcular el valor de f(x), según la
expresión:
X2 si (x mod 4) = 0

X/6 si (x mod 4) = 1
f(x) =
X 1/2 si (x mod 4) = 2

X 3 +5 si (x mod 4) = 3

Ejer. F24 Construya un diagrama de flujo y seudocódigo, que permitan realizar operaciones aritméticas
elementales, según la clave ingresada.

CLAVE OPERACIÓN

+ SUMA

- RESTA

* MULTIPLICACIÓN

/ DIVISIÓN

Ejer. F25 Construya un diagrama de flujo y seudocódigo tal, que dados como datos el modelo de un
vehículo y su precio, determine el valor final que debe pagar el comprador. El concesionario está
haciendo descuentos teniendo en cuenta el modelo, con base en la siguiente tabla.

MODELO DESCUENTO

40
Cutlass 8%

Cavalier 5%

Chevy 6%

Century 9%

Ejer. F26 Escriba un diagrama de flujo y seudocódigo que permitan convertir de pulgadas a milímetros, de
yardas a metros y de millas a kilómetros.

Ejer. F27 Retome el ejer. F24, pero ahora suponga que el segundo operador puede tomar cualquier valor,
incluso 0. Construya un diagrama de flujo que considere este caso. Los datos y las operaciones
son las mismas del problema previamente resuelto.

g. Estructuras algorítmicas repetitivas

Definición El conjunto de instrucciones que se ejecuta repetidamente se llama ciclo.


Todo ciclo debe terminar de ejecutarse luego de un número finito de veces, por lo que es
necesario en cada iteración del mismo, evaluar las condiciones necesarias para decidir si debe
seguir ejecutándose o debe detenerse. En todo ciclo siempre debe existir una condición de fin de
ciclo.
En algunos algoritmos podemos establecer el número de veces que se repetirá el ciclo. Es decir, el
número de repeticiones no dependerá de las proposiciones dentro del ciclo. Llamaremos PARA a
la estructura algorítmica repetitiva que se ejecutará un número definido de veces.
Por otra parte, en algunos algoritmos no podemos establecer el número de veces que se va a
ejecutar el ciclo, sino que este número dependerá de las proposiciones dentro del mismo.
Llamaremos MIENTRAS y REPETIR a las estructuras algorítmicas repetitivas que se ejecutan
mientras la condición evaluada resulte verdadera.

.
Donde:
.
.
V es una variable de control
VInicial es el valor inicial
VFinal es el valor final
V = VInicial
Inc es el incremento

Si
V > VFinal

No

. . .

V = V + Inc

41
Ejem. G01 Construya un diagrama de flujo y seudocódigo tal que, dados como datos los sueldos de 10
trabajadores de una empresa obtenga el total de nómina de la misma.
• Sin ciclo: INICIO

“El sueldo del trabajador 1 es:”,sueldo1


“El sueldo del trabajador 2 es:”,sueldo2
“El sueldo del trabajador 3 es:”,sueldo3
“El sueldo del trabajador 4 es:”,sueldo4
“El sueldo del trabajador 5 es:”,sueldo5
“El sueldo del trabajador 6 es:”,sueldo6
“El sueldo del trabajador 7 es:”,sueldo7
“El sueldo del trabajador 8 es:”,sueldo8
“El sueldo del trabajador 9 es:”,sueldo9
“El sueldo del trabajador 10 es:”,sueldo10

nomina = sueldo1 + sueldo2 + sueldo3 + sueldo4 + sueldo5 +


sueldo6 + sueldo7 + sueldo8 + sueldo9 + sueldo10

“La nomina es:”, nomina

FIN

• Con ciclo:
INICIO

var_control = 1

Si No
var_control > 10

“La nómina es:”, nomina “Dame el sueldo:”, sueldo

nomina = nomina + sueldo


FIN

var_control = var_control + 1

PROGRAMA ciclo_MIENTRAS
/* Programa que pide el sueldo de 10 trabajadores de una empresa y calcula el total de la nómina
de la misma.
Variables Tipo Descripción
Ent_control Entero Contador del ciclo
Rea_sueldo Real Almacena el sueldo de los trabajadores
Rea_nomina Real Almacena el resultado del total de la nómina */
COMIENZA

42
Ent_control ← 1
Rea_sueldo ← 0
Rea_nomina ← 0
MIENTRAS Ent_control <= 10 HAZ
Leer (“Dame el sueldo:”, Rea_sueldo)
Rea_nomina ← Rea_nomina + Rea_sueldo
Ent_control ← Ent_control + 1
FIN MIENTRAS /* MIENTRAS Ent_control <= 10 */
Escribir (“La nómina es:”, Rea_nomina)
FIN /* Programa */

PROGRAMA ciclo_REPITE
/* Programa que pide el sueldo de 10 trabajadores de una empresa y calcula el total de la nómina
de la misma.
Variables Tipo Descripción
Ent_control Entero Contador del ciclo
Rea_sueldo Real Almacena el sueldo de los trabajadores
Rea_nomina Real Almacena el resultado del total de la nómina */
COMIENZA
Ent_control ← 0
Rea_sueldo ← 0
Rea_nomina ← 0
REPITE /* HASTA Ent_control = 10 */
Leer (“Dame el sueldo: ”, Rea_sueldo)
Rea_nomina ← Rea_nomina + Rea_sueldo
Ent_control ← Ent_control + 1
HASTA Ent_control = 10
Escribir (“La nómina es: ”, Rea_nomina)
FIN /* Programa */

PROGRAMA ciclo_PARA
/* Programa que pide el sueldo de 10 trabajadores de una empresa y calcula el total de la nómina
de la misma.
Variables Tipo Descripción
Ent_control Entero Contador del ciclo
Rea_sueldo Real Almacena el sueldo de los trabajadores
Rea_nomina Real Almacena el resultado del total de la nómina */
COMIENZA

43
Rea_sueldo ← 0
Rea_nomina ← 0
PARA Ent_control ← 1 HASTA 10
Leer (“Dame el sueldo: ”, Rea_sueldo)
Rea_nomina ← Rea_nomina + Rea_sueldo
SIGUIENTE Ent_control /* PARA var_control ← 1 HASTA 10 */
Escribir (“La nómina es: ”, Rea_nomina)
FIN /* Programa */

Ejer. G01 Escriba el seudocódigo que calcule y escriba la suma y el producto de los 5 primeros números
naturales.

Ejer. G02 Elaborar un seudocódigo que lea una secuencia de calificaciones y que termine la captura de
estos cuando se introduzca un –1 e informe si existieron ceros.

44
Ejer. G03 Haga un seudocódigo para obtener la tabla de multiplicar de un número entero k comenzando
desde 1.

Ejer. G04 Haga un seudocódigo que obtenga la suma e imprima los términos de la siguiente serie: 2, 5, 7,
10, 12, 15, 17, …, 1800.

45
Ejer. G05 Haga un seudocódigo que lea un número entero N y calcule el resultado de la siguiente serie:
1 1 1 1
1− + − + ... 
2 3 4 N

46
Ejer. G06 Haga el seudocódigo para calcular el aumento de sueldos para N empleados de una empresa,
bajo el siguiente criterio:
• Si el sueldo es menor a $10,000: Aumento 12%
• Si el sueldo está comprendido entre $10,000 y $25,000: Aumento del 10%
• Si el sueldo es mayor a $25,000: Aumento 8%
Imprima lo siguiente:
• El nuevo sueldo del trabajador
• El monto total de la nómina considerando el aumento

47
48

También podría gustarte