Está en la página 1de 44

TECNICATURA UNIVERSITARIA EN

PROGRAMACIÓN

PROGRAMACIÓN

Nivelación

Guía Práctica

V.1.0
Índice

MÓDULO 1: INTRODUCCIÓN A LA PROGRAMACIÓN 4


Algoritmos.................................................................................................................. 4
Problema modelo A.1.1 ............................................................................................. 4
Problema modelo A.1.2 ............................................................................................. 4
Problema 1.1 ............................................................................................................. 5
Problema 1.2 ............................................................................................................. 5
Problema 1.3 ............................................................................................................. 5
Problema 1.4 ............................................................................................................. 5
Diagrama de flujo ...................................................................................................... 6
Problema modelo A.2.1 ............................................................................................. 6
Problema 1.5 ............................................................................................................. 7
Problema 1.6 ............................................................................................................. 7
Problema 1.7 ............................................................................................................. 7
Problema 1.8 ............................................................................................................. 7

MÓDULO 2. FUNDAMENTOS DE PROGRAMACIÓN 8


Variables.................................................................................................................... 8
Problema 2.1 ........................................................................................................... 10
Problema 2.2 ........................................................................................................... 10
Problema 2.3 ........................................................................................................... 10
Expresiones ............................................................................................................. 11

MÓDULO 3: PROGRAMACIÓN ESTRUCTURADA 13


Estructura Secuencial .............................................................................................. 13
Problema 2.4 ........................................................................................................... 15
Problema 2.5 ........................................................................................................... 15
Problema 2.6 ........................................................................................................... 15
Problema 2.7 ........................................................................................................... 15
Problema 2.8 ........................................................................................................... 16
Problema 2.9 ........................................................................................................... 16

Programación Material Guía Práctica Pág. 1


Problema 2.10 ......................................................................................................... 16
Problema 2.11 ......................................................................................................... 16
Problema 2.12 ......................................................................................................... 17
Problema 2.13 ......................................................................................................... 17
Problema 2.14 ......................................................................................................... 17

ESTRUCTURAS CONDICIONALES 18
Estructuras condicionales simples o dobles ............................................................ 18
Problema 3.1 ........................................................................................................... 20
Problema 3.2 ........................................................................................................... 21
Problema 3.3 ........................................................................................................... 21
Problema 3.4 ........................................................................................................... 21
Problema 3.5 ........................................................................................................... 22
Problema 3.6 ........................................................................................................... 22
Problema 3.7 ........................................................................................................... 23
Problema 3.8 ........................................................................................................... 23
Problema 3.9 ........................................................................................................... 23
Problema 3.10 ......................................................................................................... 23
Problema 3.11 ......................................................................................................... 23
Problema 3.12 ......................................................................................................... 24
Problema 3.13 ......................................................................................................... 24
Problema 3.14 ......................................................................................................... 24
Problema 3.15 ......................................................................................................... 24
Estructura condicional múltiple ................................................................................ 25
Problema 3.16 ......................................................................................................... 26
Problema 3.17 ......................................................................................................... 26
Problema 3.18 ......................................................................................................... 27
Problema 3.19 ......................................................................................................... 27
Problema 3.20 ......................................................................................................... 27
Problema 3.21 ......................................................................................................... 28

ESTRUCTURAS REPETITIVAS 29

Programación Material Guía Práctica Pág. 2


Estructura Mientras (while) ...................................................................................... 29
Problema 4.1 ........................................................................................................... 30
Problema 4.2 ........................................................................................................... 30
Problema 4.3 ........................................................................................................... 31
Problema 4.4 ........................................................................................................... 31
Problema 4.5 ........................................................................................................... 31
Problema 4.6 ........................................................................................................... 32
Problema 4.7 ........................................................................................................... 33
Problema 4.8 ........................................................................................................... 33
Problema 4.9 ........................................................................................................... 34
Estructura Repetir o Hacer Mientras (do while) ....................................................... 35
Problema 4.10 ......................................................................................................... 36
Problema 4.11 ......................................................................................................... 36
Problema 4.12 ......................................................................................................... 36
Problema 4.13 ......................................................................................................... 36
Problema 4.14 ......................................................................................................... 37
Estructura Desde / Para (for) ................................................................................... 38
Problema 4.15 ......................................................................................................... 39
Problema 4.16 ......................................................................................................... 39
Problema 4.17 ......................................................................................................... 39
Problema 4.18 ......................................................................................................... 40
Problema 4.19 ......................................................................................................... 40
Problema 4.20 ......................................................................................................... 40
Problema 4.21 ......................................................................................................... 41
Problema 4.22 ......................................................................................................... 41

Casos de estudio 42
Problema 4.23 ......................................................................................................... 42
Problema 4.24 ......................................................................................................... 43

Programación Material Guía Práctica Pág. 3


MÓDULO 1: INTRODUCCIÓN A LA PROGRAMACIÓN
Algoritmos
Problema modelo A.1.1

Identificar el algoritmo necesario para lavar ropa.

Solución problema modelo A.1.1


En primer lugar, se debe identificar la entrada y salida esperada del algoritmo:

• Entrada: Ropa sucia

• Salida: Ropa limpia

Luego se detallan los pasos que se deben seguir:

• Proceso:
1. Clasificar la ropa por colores

2. Clasificar tipos de tela.


3. Seleccionar la ropa para lavar.

4. Llenar la lavadora con la ropa.


5. Agregar detergente.

6. Seleccionar el ciclo de lavado adecuado.


7. Iniciar la lavadora.

8. Esperar que termine la lavadora.


9. Sacar la ropa de la lavadora.

10. Cuélgala para secar.


11. Descolgar la ropa.

Problema modelo A.1.2


Identificar el algoritmo necesario para cepillarse los dientes.

Solución problema modelo A.1.2


En primer lugar, se debe identificar la entrada y salida esperada del algoritmo:

• Entrada: Dientes sucios

• Salida: Dientes limpios

Programación Material Guía Práctica Pág. 4


Luego se detallan los pasos que se deben seguir:

• Proceso:
1. Preparar el cepillo de dientes con pasta de dientes

2. Cepillarse los dientes por lo menos por 2 minutos


3. Enjuagarse con agua la boca.

4. Enjuagarse con agua el cepillo.


5. Guardar el cepillo de dientes.

Problema 1.1
Identificar el algoritmo necesario para preparar un té, suponiendo que se poseen
todos los elementos necesarios (vajilla, agua fría, mecanismo para calentar, saquito de
té, etc.).

Problema 1.2
Identificar el algoritmo necesario para viajar en colectivo urbano en la ciudad de
Córdoba, dadas las siguientes suposiciones:

• Se posee la tarjeta para el pago del viaje.

• Se conoce la línea que necesitamos tomar

• Se conoce la ubicación de las paradas de origen y destino.

Problema 1.3
Identificar el algoritmo necesario para cortar pasto con un equipo con motor a
explosión. Suponer que se posee la máquina y el combustible. Contemplar todas las
situaciones posibles que lleven a una solución no satisfactoria (desperfectos, clima
adverso, etc.).

Problema 1.4
Identificar el algoritmo necesario para cocinar un pollo al horno, bajo las
siguientes suposiciones:

• Se posee todos los elementos necesarios

• El interesado sabe la receta

• Se dispone de tiempo suficiente

Programación Material Guía Práctica Pág. 5


Diagrama de flujo
Problema modelo A.2.1

Dibujar el diagrama de flujo correspondiente a la solución del problema modelo


1.1

Solución problema modelo 1.1

Imagen 1: Elaboración propia

Programación Material Guía Práctica Pág. 6


Solución problema modelo A.2.1

Imagen 2: Elaboración propia

Problema 1.5

Dibujar el diagrama de flujo correspondiente a la solución del problema 1.1

Problema 1.6
Dibujar el diagrama de flujo correspondiente a la solución del problema 1.2

Problema 1.7

Dibujar el diagrama de flujo correspondiente a la solución del problema 1.3

Problema 1.8
Dibujar el diagrama de flujo correspondiente a la solución del problema 1.4

Programación Material Guía Práctica Pág. 7


MÓDULO 2. FUNDAMENTOS DE PROGRAMACIÓN
Variables

Problema modelo B.1


Identificar el tipo de dato y el nombre que debería llevar una variable para
almacenar la siguiente información:

• Nombre de un cliente

• Edad de una persona

• Nombre de una marca

• Altura de una persona

• Si es cliente esta registrado

• Cantidad de productos en inventario

• Temperatura ambiente

Solución problema B.1


Recordemos para encarar estos ejercicios Definición de Variables, resulta
crucial identificar y asignar nombres significativos a todas las variables que se
emplearán en el proceso. Cada variable debe estar vinculada a un nombre
representativo y al tipo de dato correspondiente. Este enfoque claro desde el
principio garantiza una comprensión precisa de las operaciones futuras.

Dato Nombre Propuesto Tipo de Dato

Nombre de un cliente nombreCliente Texto

Edad de una persona edadPersona Numérico Entero

Nombre de una marca nombreMarca Texto

Altura de una persona alturaPersona Numérico Decimal

Si un cliente esta registrado clienteRegistrado Texto

Cantidad de productos en inventario cantidadInventario Boolean

Temperatura ambiente temperaturaAmbiente Numérico Decimal

Tabla 1: Elaboración propia.

Programación Material Guía Práctica Pág. 8


En la tabla, se detallan sugerencias para la definición de variables, incluyendo el
nombre propuesto y el tipo de dato recomendado. Aquí hay explicaciones detalladas
para dos de los registros:
1. Registro: Nombre de un cliente

• Sugerencia: Cadena de caracteres

• Nombre Propuesto: nombreCliente

• Tipo de Dato: Texto

• Explicación: Para almacenar el nombre de un cliente, se sugiere utilizar


el tipo de dato "Cadena de caracteres", ya que los nombres suelen
consistir en texto. El nombre propuesto "nombreCliente" es descriptivo y
sigue la convención de camelCase (más adelante lo explicaremos) para
mayor legibilidad. El tipo de dato "Texto" refleja la naturaleza de la
información que se almacenará.

2. Registro: Edad de una persona

• Sugerencia: Entero

• Nombre Propuesto: edadPersona

• Tipo de Dato: Numérico Entero

• Explicación: Para representar la edad de una persona, se recomienda


utilizar el tipo de dato "Entero", ya que la edad se expresa comúnmente
como un número entero. El nombre "edadPersona" es claro y conciso,
indicando la información que la variable representa. El tipo de dato
"Numérico Entero" refleja la naturaleza de los valores que se esperan para
esta variable.

A la hora de trabajar con variables debemos utilizar alguna convención de


escritura como, por ejemplo, CamelCase, Snake_case, Kebab-case, etc.

Estilo de Escritura Ejemplo Convención

Cada palabra comienza con mayúscula,


CamelCase nombreCliente
excepto la primera.

Cada palabra en minúsculas, separadas por


Snake_case nombre_cliente
guiones bajos.

Cada palabra en minúsculas, separadas por


Kebab-case nombre-cliente
guiones medios.

Tabla 2: Elaboración propia.

Programación Material Guía Práctica Pág. 9


Estas convenciones de escritura son utilizadas para mejorar la legibilidad y
consistencia en el código, facilitando la comprensión de los nombres de variables. La
elección entre ellas a menudo depende de las preferencias del desarrollador o de las
convenciones específicas de un lenguaje de programación o proyecto.

Problema 2.1
Identificar el tipo de datos correcto para representar los siguientes conceptos:

• Precio de un artículo • CUIL de una persona


• Apellido de una persona • ISBN de un libro
• Nombre del día de la semana • Nombre del mes actual
• Código de un artículo (en un negocio • Número del mes actual
de venta de dichos artículos)
• Puntaje en un campeonato de fútbol
• Fecha del día actual
• Puntaje en un campeonato de ajedrez
• Si el cliente está habilitado o no
• Promedio de puntos obtenidos en
• Cantidad de goles recibidos todos los partidos de un equipo de
básquet
• Número de teléfono
• Paridad de un número (par / impar)
• Número de documento

Problema 2.2
Elegir nombres adecuados para definir variables en las que se puedan almacenar
todos los datos del problema 2.1

Problema 2.3
Indicar para cada uno de los siguientes nombres de variables si es adecuado,
inadecuado o posiblemente adecuado según el contexto:

• Precio • Personas • Carrera


• Precios • X • Resultado_Buscado_No_Encontrado
• Dia • Pre • NombrePrecio
• Nombre • CoOpPrin • Prenom
• Apellido • Suma • CUIT
• NomApe • Sumar • c
• NombreApelliido • Sumatoria • bandera
• X1 • Surname • band1
• Id • existe

Programación Material Guía Práctica Pág. 10


Expresiones

Problema Modelo B.2.1


Expresar de manera algebraica las siguientes situaciones:
a. Necesito sumar el precio de un producto A ($50) y un producto A ($30)

b. Necesito calcular el IVA (21%) a un producto C de precio $500


c. Calcular el costo total de comprar tres productos D ($25 cada uno).

Solución Problema Modelo B.2.1


a) Para abordar este tipo de situaciones en este caso vamos a ser más
detallados, optaremos por definir variables con nombres apropiados,
especificando el tipo de dato correspondiente y la operación algebraica
necesaria.

Variable Nombre Propuesto Tipo de Dato

Producto A producto_a Numérico Entero o Decimal

Producto B producto_b Numérico Entero o Decimal

Suma suma Numérico Entero o Decimal

Tabla 3: Elaboración propia.


Se observa que se ha empleado la notación de variable Snake_case para
mantener consistencia en los nombres.
Expresión algebraica

producto_a = 50
producto_b = 30
suma = producto_a + producto_b

b) Menos detalle en la resolución, definimos nombre y tipo de variables a utilizar:


• producto_c → número decimal
• iva → número decimal
• producto_iva → número decimal
Expresión algebraica

producto_c = 500
iva = 21
producto_iva = producto_c * iva / 100

Programación Material Guía Práctica Pág. 11


c) Menos detalle en la resolución, definimos nombre y tipo de variables a
utilizar:
• producto_d → número decimal
• cabtidad → número entero
• costo_total → número decimal
Expresión algebraica

producto_d = 25
cantidad = 4
costo_total = producto_d * cantidad

Problema Modelo B.2.2


Expresar de manera algebraica las siguientes situaciones:

a) Calcular el precio final de un producto de $350 y un descuento del 25%


b) Calcular el total de la siguiente compra:

I. 2 caramelos de $15
II. 5 chupetines de $50

III. 14 chicles de $25


c) Calcular si la compra anterior es mayor o igual a $200

Programación Material Guía Práctica Pág. 12


MÓDULO 3: PROGRAMACIÓN ESTRUCTURADA
Estructura Secuencial

Problema modelo C.1


Se requiere un programa en donde se ingrese la temperatura de un lugar y se
devuelva un mensaje diciendo “Buen día, la temperatura es: {temperatura ingresada}”.

• Identificar Entradas, Proceso y Salidas (E-P-S).

• Diseñar el algoritmo. Representar el algoritmo con un diagrama de flujo.

Solución problema modelo C.1


Para diseñar un diagrama de flujo y pseudocódigo que refleje el proceso de
análisis, es necesario entender la lógica detrás de la generación del mensaje en función
de la temperatura ingresada.
Entradas, Proceso y Salidas (E-P-S):

• Entrada: La temperatura ingresada por el usuario.

• Proceso: Se debe determinar un mensaje personalizado basado en la


temperatura ingresada.

• Salida: El mensaje personalizado generado según la temperatura.

Pseudocódigo Diagrama de Flujo

INICIO

1. ingresar temperatura
2. Armar Mensaje:

mensaje = saludo + temperatura


3. mostrar mensaje

FIN

Tabla 4: Elaboración propia.

Programación Material Guía Práctica Pág. 13


Problema modelo C.2
Se requiere un programa en donde se ingrese una temperatura en Celsius (C) y
que luego se muestre su equivalencia en Fahrenheit (F).
La fórmula para pasar de C a F es la siguiente: F = (C * 1,8) + 32

• Identificar Entradas, Proceso y Salidas (E-P-S).

• Diseñar el algoritmo. Representar el algoritmo con un diagrama de flujo.

Solución problema modelo C.2


Entradas, Proceso y Salidas (E-P-S):

• Entrada: Temperatura ingresada en grados Celsius (C).

• Proceso: Transformar la temperatura de grados Celsius a grados Fahrenheit


utilizando la fórmula F = ( C × 1,8 ) + 32.

• Salida: Mostrar la temperatura resultante en grados Fahrenheit (F).

Pseudocódigo Diagrama de Flujo

INICIO
1. ingresar temperatura
2. Armar Mensaje:

mensaje = saludo + temperatura


3. mostrar mensaje

FIN

Tabla 5: Elaboración propia.

Programación Material Guía Práctica Pág. 14


Problema 2.4
Se requiere un programa que ofrezca al usuario un saludo personalizado con su
nombre. Identificar Entradas, Proceso y Salidas (E-P-S). Diseñar el algoritmo.
Representar el algoritmo con un diagrama de flujo.

Problema 2.5

Se requiere calcular la suma de dos números.


Se pide generar la siguiente salida:

• El resultado de la suma de los dos números.

Para ello Ud. dispone de las siguientes entradas:

• Número 1 (n1): identifica el primer número.

• Número 2 (n2): identifica el segundo número.

Problema 2.6

Se requiere calcular el producto de dos números.


Se pide generar la siguiente salida:

• El resultado del producto de los dos números.


Para ello Ud. dispone de las siguientes entradas:

• Número 1 (n1): identifica el primer número,

• Número 2 (n2): identifica el segundo número.

Problema 2.7

Se necesita averiguar el perímetro de un cuadrado.


Se pide generar la siguiente salida:

• El resultado del perímetro del cuadrado.


Para ello Ud. dispone de la siguiente entrada:

• Lado (lado): identifica el lado, expresado en centímetros.

Programación Material Guía Práctica Pág. 15


Problema 2.8
Una persona necesita obtener información relacionada con el desempeño de su
automóvil.
Se pide generar las siguientes salidas:

• La cantidad de litros consumidos.

• El importe gastado en combustible.


Para ello Ud. dispone de las siguientes entradas:

• Kilómetros (km): representa los Km recorridos por el vehículo.

• Precio (pr): representa el precio de combustible por litro.

• Kilómetros por Litro (kmL): representa los km que el vehículo puede recorrer
con 1 (un) litro de combustible.

Problema 2.9

Desarrollar un algoritmo que declare dos variables enteras, le asigne valores


arbitrarios y luego muestre su suma, diferencia y producto.

Problema 2.10

Desarrollar un programa que le solicite al usuario su año de nacimiento. A


continuación, calcular e imprimir la edad que tendrá el usuario al finalizar el corriente
año.

Problema 2.11
Un minimercado de nuestra ciudad necesita obtener información relacionada con
las ventas de 3 artículos de los productos que comercializa.

Se pide generar las siguientes salidas:

• El importe total en concepto de ventas de cada artículo.

• El importe total de los tres artículos considerados.


Para ello Ud. dispone de las siguientes entradas:

• Cantidad vendida del artículo 1.

• Precio de venta del artículo 1.

• Cantidad vendida del artículo 2.

Programación Material Guía Práctica Pág. 16


• Precio de venta del artículo 2.

• Cantidad vendida del artículo 3.

• Precio de venta del artículo 3.

Problema 2.12
El observatorio meteorológico necesita obtener información relacionada con la
variación de temperaturas en distintos momentos del día.
Se pide generar la siguiente salida:

• La temperatura promedio del día.


Para ello Ud. dispone de las siguientes entradas:

• Temperatura1: representa la temperatura tomada en hs de la mañana.

• Temperatura2: representa la temperatura tomada en hs de la tarde.

• Temperatura3: representa la temperatura tomada en hs de la noche.

Problema 2.13
Ingresar los votos obtenidos por dos candidatos en una elección e informar el
porcentaje obtenido por cada uno.

Problema 2.14
El dueño de un campo requiere alambrar todo su perímetro y necesita saber
cuántos metros de alambre debe comprar. Sabiendo que el terreno es rectangular y que
el dueño solicita un alambrado de 5 alambres paralelos, identificar E-P-S y diseñar el
algoritmo necesario.

Programación Material Guía Práctica Pág. 17


ESTRUCTURAS CONDICIONALES
Estructuras condicionales simples o dobles

Problema modelo D.1


Se requiere un programa en donde se ingresen dos números y luego muestre un
mensaje indicando si son o no iguales.

Solución problema modelo D.1


Entradas, Proceso y Salidas (E-P-S):

• Entrada: Dos números


• Proceso: Comparar los números para ver si son iguales
• Salida: Mensaje son iguales o son diferentes

Diagrama de Flujo

Imagen 3: Elaboración propia.

Programación Material Guía Práctica Pág. 18


Pseudocódigo

INICIO
1. Ingresar numero1; numero2
2. Si numero1 = numero2 entonces
a. Mostrar “Son iguales”
Si No
b. Mostrar “Son iguales”
Fin Si
FIN

Problema modelo D.2


Se requiere un programa del juego del dado par o impar. En primer lugar, se elige
la apuesta, es decir par o impar. Luego se tira el dado y se valida si ganó la apuesta o
no.

Solución problema modelo D.2


Entradas, Proceso y Salidas (E-P-S):

• Entrada: Apuesta y tirada de dados


• Proceso: Corroborar apuesta
• Salida: Mensaje de resultado de la apuesta

Pseudocódigo

INICIO
1. Ingresar apuesta
2. Tirar dado
3. Calcular si el dado es par o impar (resto de la división por 2 debe ser cero)
es_par = ( dado / 2 == 0 )
4. Si apuesta = es_par entonces
a. Mostrar “Apuesta ganada”
Si No
b. Mostrar “Apuesta perdida”
Fin Si
FIN

Programación Material Guía Práctica Pág. 19


Diagrama de Flujo

Imagen 4: Elaboración propia.

Problema 3.1

Se necesita conocer cuál es el valor mayor de entre dos números. Suponer que
estos números son distintos.
Se pide generar la siguiente salida:

• Cuál de los números es el mayor.


Para ello Ud. dispone de las siguientes entradas:

• Número1 (n1): representa el primer número a comparar.

• Número2 (n2): representa el segundo número a comparar.

Programación Material Guía Práctica Pág. 20


Problema 3.2
Se necesita determinar si un número es mayor a 100.

Se pide generar la siguiente salida:

• Si el número es mayor o no a 100.


Para ello Ud. dispone de la siguiente entrada:

• Número1 (n1): representa el número a comparar con 100.

Problema 3.3
Ud. deberá efectuar una serie de operaciones matemáticas simples.

Se pide generar las siguientes salidas:

• La suma de tres números.

• Si la suma de los números es mayor que 10, mostrar la raíz cuadrada de la


suma; de lo contrario leer dos números más y sumarlos junto a los dos
primeros y mostrar su suma.

• La diferencia entre los dos primeros números ingresados.

Para ello Ud. dispone de las siguientes entradas:

• Número1 (n1): representa el primer número a ingresar.

• Número2 (n2): representa el segundo número a ingresar.

• Número3 (n3): representa el tercer número a ingresar.

Problema 3.4

Un comercio necesita obtener información relacionada con el importe a pagar por


un determinado cliente.

Se pide generar la siguiente salida:

• El importe a pagar por el cliente. Si el cliente es categoría “A” y el monto a


pagar supera los 500 pesos recibirá un descuento del 5 %. Si el cliente es
categoría “B” y el importe a pagar oscila entre 80 y 250 pesos recibirá un
descuento del 2 %.
Para ello Ud. dispone de las siguientes entradas:

• Categoría (cat): representa la categoría del cliente, que puede asumir los
siguientes valores “A” o “B”.

• Importe (imp): representa el importe a pagar por el cliente.

Programación Material Guía Práctica Pág. 21


Problema 3.5
El área de recursos humanos de una empresa requiere obtener información
relacionada con el pago de jornal de un determinado operario. La política de trabajo en
la empresa es que los operarios de la misma trabajan en dos turnos uno diurno y el otro
nocturno.
Se pide generar la siguiente salida impresa:

• El importe del pago de jornal al operario. Si un operario trabaja en el turno


nocturno el pago es 300 pesos la hora, si lo hace en el turno diurno cobra
450 pesos la hora.

Para ello Ud. dispone de las siguientes entradas:

• Código de Turno (cod): representa el código de turno que trabaja ese


operario en ese día. Los valores que asume este dato de entrada es: “1”
representa Diurno y “2” representa Nocturno.

• Cantidad Horas (cant): representa la cantidad de horas trabajadas por el


operario en ese día.

Problema 3.6
El departamento Personal de la universidad requiere información para el cálculo
del salario de un docente.
Se pide generar la siguiente salida impresa:

• El sueldo neto del docente. Si el cargo es docente titular su sueldo básico es


de 50000 pesos; si es docente ayudante su sueldo básico es 35000 pesos.
Además, para el cálculo del sueldo neto se considera la antigüedad; si el
docente tiene una antigüedad de 10 o más tiene un incremento de 8%, si la
antigüedad es de mayor o igual a 7 pero menor a 10 años el incremento es
del 5%, si tiene 5 años o más pero menos que 7 tiene un incremento del 3 %
Los que tienen menos de 5 años no cobran incremento. (El incremento es
sobre el sueldo básico)
Para ello Ud. dispone de las siguientes entradas:

• Cargo Docente (cargo): representa el cargo que desempeña el docente en la


universidad. Los valores que asume son “1” si es docente titular y “2” si es
docente ayudante.

• Antigüedad (antig): representa la cantidad de años en relación con el cargo


que desempeña.

Programación Material Guía Práctica Pág. 22


Problema 3.7
Ud. deberá efectuar una serie de operaciones matemáticas simples, con tres
números enteros.
Se pide generar la siguiente salida impresa:

• Si el primer número ingresado es 1, deberá sumar el segundo y tercer


número; si es 2 deberá multiplicar el primer número y tercero y si el 3 dividir
el segundo por el tercero. En caso de que el primer número no asuma el valor
1, 2 o 3 mostrar un mensaje de error.
Para ello Ud. dispone de las siguientes entradas:

• Número1 (n1): representa el primer número a ingresar.

• Número2 (n2): representa el segundo número a ingresar.

• Número3 (n3): representa el tercer número a ingresar.

Problema 3.8
Ingresar dos números y mostrar el mayor. Considerar que funcione
correctamente si los números ingresados son iguales.

Problema 3.9
Ingresar tres números y mostrar el mayor. Considerar que funcione
correctamente si algunos o todos los números ingresados son iguales entre sí.

Problema 3.10
Ingresar cuatro temperaturas e informar:

• Promedio de las cuatro

• Temperaturas mayor y menor

• Valores de todas las temperaturas mayores que el promedio

Problema 3.11
Dadas las coordenadas de un punto en el plano informar el cuadrante en el que
se encuentra. Si alguna de las coordenadas es igual a 0 informar que no pertenece a
ningún cuadrante.

Programación Material Guía Práctica Pág. 23


Problema 3.12
Dadas las coordenadas de un punto en el plano informar el cuadrante en el que
se encuentra. Si alguna de las coordenadas es igual a 0 informar si el punto pertenece
al eje de las abscisas, al eje de las ordenadas o si el punto es el origen del sistema de
coordenadas.

Problema 3.13
En cierta facultad los alumnos cursan las materias y al finalizar cada una pueden
quedar en distintas condiciones de regularidad según las notas obtenidas en los
parciales. Considerando una materia que posea únicamente dos parciales y que cada
uno de los parciales se aprueban con una nota mayor o igual a 6, informar la condición
de regularidad según las siguientes reglas:

• Si ambos parciales posee nota de 8 o superior: Promocionado

• Si no está promocionado pero ambos parciales están aprobados: Regular

• Si uno (sólo uno) de los dos parciales está desaprobado: Recuperatorio

• Si ambos parciales están desaprobados: Libre

Problema 3.14
Agregar al problema anterior (3.13) el ingreso de la nota del recuperatorio, pero
sólo en los casos en que corresponda. Informar la condición final de regularidad
sabiendo que, si la calificación del recuperatorio es mayor o igual a 6, el alumno queda
Regular y en caso contrario queda Libre.

Problema 3.15
Indicar para un año ingresado por el usuario si es bisiesto o no. Un año es bisiesto
si es múltiplo de 4, pero no múltiplo de 100. Excepcionalmente los años múltiplos de
400 sí son bisiestos.

Programación Material Guía Práctica Pág. 24


Estructura condicional múltiple

Problema modelo D.4


En un complejo de cabañas se necesita un programa que calcule el precio de las
estadías de los turistas. El precio de la habitación depende de la estación del año de la
estadía y según ella se calcula el precio dado la cantidad de días a permanecer.
Los costos de una habitación simple por día son los siguientes según la estación:

• Verano: $100
• Otoño: $60
• Invierno: $50
• Primavera: $75
Solución problema modelo D.4
Entradas, Proceso y Salidas (E-P-S):

• Entrada: Estación del año y cantidad de días de la estadía.


• Proceso: Comparar precio de la estadía, teniendo en cuenta la estación y la
cantidad de dias.
• Salida: Precio total de la estadía.

Diagrama de Flujo

Imagen 5: Elaboración propia.

Programación Material Guía Práctica Pág. 25


Pseudocódigo

INICIO
1. Ingresar estación; cantidad_dias
2. Según estación hacer:
a. Verano: precio = 100
b. Otoño: precio = 60
c. Invierno: precio = 50
d. Primavera: precio = 75
Fin segun
3. calcular_estadia = cantidad_dias * estación
4. Mostrar calcular_estadia
FIN

Problema 3.16

En un comercio se venden tres modelos de frascos codificados como 1, 2 y 3.


Se pide generar la siguiente salida impresa:

• Emitir un listado con la descripción de cada frasco; como se muestra a


continuación:
1. Chico
2. Mediano
3. Grande

Para ello Ud. dispone de la siguiente entrada:

• Código de Frasco (cod): representa el código de frasco a ingresar. Los


valores que asume esta entrada de dato son 1, 2 o 3.

Problema 3.17
Diseñar un algoritmo que permita: generar la siguiente salida impresa:

• El nombre del día de la semana siguiendo un orden de correspondencia (1,


2, 3, …, 7) para (lunes, martes, miércoles, …, domingo) respectivamente.
Para ello Ud. dispone de la siguiente entrada:

• Número de día (día)

Programación Material Guía Práctica Pág. 26


Problema 3.18
Un comerciante que se dedica a la fabricación de sillas desea obtener
información relacionada con sus ventas.
Se pide generar la siguiente salida impresa:
• El importe a pagar según el tipo de silla solicitada.
Para ello Ud. dispone de las siguientes entradas:
• Tipos de Silla (tipo): dato tipo texto que representa el tipo de silla que podrá
ser: A, B, C.
• Precio de Silla (precio): representa el precio de la silla.
• Cantidad (cant): cantidad de sillas compradas por un cliente.
Es importante aclarar que, según el tipo de silla seleccionada por el cliente, este
recibe un descuento A: 3 %, B: 5 % y C: 7 %. El resto de los modelos de sillas se
cobra a precio normal.

Problema 3.19
Diseñar un algoritmo que según la opción ingresada permita generar las
siguientes salidas impresas:
• La superficie de un triángulo, si la opción ingresada es 1.
• La superficie de un rectángulo, si la opción ingresada es 2.
• La superficie de un cuadrado, si la opción ingresada es 3.
Para ello Ud. dispone de la siguiente entrada:
• Número de opción (opc): representa el número de opción ingresada puede
asumir los valores 1, 2 o 3.
• Base (b): medida de la base del triángulo o del rectángulo, o bien la medida
del lado en caso del cuadrado, según la opción seleccionada
• Altura (h): medida de la altura del triángulo o del rectángulo, según la opción
seleccionada.

Problema 3.20

Un administrativo necesita obtener información relacionada al sueldo de un


trabajador, considerando el sueldo neto y la asignación familiar.
Generar la siguiente salida impresa:
• Importe Total a pagar.
Para ello Ud. dispone de las siguientes entradas:
• Sueldo neto (Neto)
• Cantidad de hijos (can), que puede asumir que va de 0 en adelante.
• Adicionalmente se sabe que si no tiene hijos no cobra asignación, por un hijo
recibe $50, por 2 hijos recibe $75 y por más de 2 hijos $100.

Programación Material Guía Práctica Pág. 27


Problema 3.21
Indicar para un mes ingresado como un número entre 1 y 12 (1 para enero, 2
para febrero, etc.), la cantidad de días de dicho mes en años no bisiestos.

Programación Material Guía Práctica Pág. 28


ESTRUCTURAS REPETITIVAS
Estructura Mientras (while)

Problema modelo E.1


Se requiere un programa en donde se debe ingresar una contraseña valida. Las
condiciones que debe cumplir la contraseña son la siguiente:

• Debe tener por lo menos 6 caracteres

Solución problema modelo E.1


• Entrada: Contraseña

• Proceso: Validar condiciones de la contraseña

• Salida: Contraseña válida

Diagrama de Flujo

Imagen 6: Elaboración propia.

Programación Material Guía Práctica Pág. 29


Pseudocódigo

INICIAR

1. Texto: contraseña
2. contraseña = 0
3. Mientras tiene contraseña < 6 caracteres Hacer
a. Ingresar contraseña

Fin Mientras

4. Mostrar “Contraseña Valida”

FIN

Problema 4.1

Se necesita ingresar por teclado una serie de pares ordenados (X, Y).
Se pide generar la siguiente salida:

• Mostrar el cociente de cada par. (cociente=X/Y)


Para ello Ud. dispone de las siguientes entradas:

• X (parX): representa la primera coordenada del par a ingresar.

• Y (parY): representa la segunda coordenada del par a ingresar.

• Considerar que deberá ingresar pares ordenados hasta que el usuario


ingrese el par ordenado (0,0).

Problema 4.2

Ud. deberá procesar una serie de números enteros.


Se pide generar las siguientes salidas:

• Mostrar sólo los números comprendidos entre el 1 y el 15.

• Mostrar el promedio general de los números ingresados.

• Mostrar el porcentaje de números mayores a 10.


Para ello Ud. dispone de las siguientes entradas:

• Número (nro): representa el número a ingresar.

• Considerar que deberá ingresar números, hasta que el usuario ingrese un


número 0.

Programación Material Guía Práctica Pág. 30


Problema 4.3
Verificar la ejecución de la solución del problema 1.25 mediante pruebas de
escritorio para los siguientes casos de prueba (una prueba de escritorio para cada
caso):

a) 2, 5, 8, 1, 3, 20, 67, 10, 15, 9, 1, -1, -34, 12, 0


b) 0

c) 1, 1, 1, 1, 0
d) 100, 100, 100, 100, 0
e) 1,6,8,2,5,7,9,62,33,56,7,88,1,2,3,55,6,7,8,122,14,13,776,34,6,4,2,1,9,9,9,15
,10,0

Problema 4.4
Un comercio tiene contratado una serie vendedores, para la atención al público.

Se pide generar las siguientes salidas:

• Mostrar la cantidad de vendedores que tiene contratado el comercio.

• Mostrar el importe total recaudado por los vendedores.

• Mostrar cuántos vendedores recaudaron más de 800 pesos.


Para ello Ud. dispone de las siguientes entradas:

• Código de Vendedor (codVen): representa el código de identificación del


vendedor.

• Importe recaudado (imp): representa el monto en concepto de ventas del


vendedor.

• Ud. deberá ingresar vendedores hasta que se ingrese un código de vendedor


igual a cero.

Problema 4.5

En un instituto de enseñanza, se necesita conocer información académica de los


alumnos que concurren a dicho establecimiento.

Se pide generar las siguientes salidas:

• Mostrar cuántos alumnos no tienen promedio para aprobar el curso.


(Promedio menor que 4.)

Programación Material Guía Práctica Pág. 31


• Mostrar el porcentaje de alumnos que han obtenido un promedio de superior
o igual a 8.

• Mostrar la cantidad de alumnos del curso.

Para ello Ud. dispone de las siguientes entradas:

• Legajo (leg): representa el legajo que identifica al alumno.

• Promedio gral. (prom): representa el promedio de cuatro materias de un


alumno de un curso que se dicta en dicho establecimiento.

• Considerar la carga de alumnos hasta que el usuario ingrese un valor de


legajo igual a -1.

Problema 4.6

En la empresa “ZZ”, el gerente desea conocer información referente a la


antigüedad de los vendedores de su empresa.

Se pide generar las siguientes salidas:

• Mostrar la cantidad de vendedores que tienen una antigüedad entre 10 y 15


años.

• Para los vendedores que tienen su antigüedad entre 10 y 15 años


incrementar su sueldo básico en un 10 % y mostrar el nuevo sueldo

• Mostrar el monto total de sueldo pagado por la empresa.


Para ello Ud. dispone de las siguientes entradas:

• Código de vendedor (cod): representa el código que identifica al vendedor.

• Antigüedad. (ant): representa la cantidad de años que el vendedor tiene en


relación de dependencia con la empresa.

• Sueldo Básico (sueldo): representa el sueldo básico que percibe el


empleado.

• Considerar la carga de vendedores hasta que el usuario ingrese un código


de vendedor igual a 0.

Programación Material Guía Práctica Pág. 32


Problema 4.7
Verificar la ejecución del programa resuelto en para el ejercicio anterior con los
siguientes datos de prueba:

Código Antigüedad Sueldo

11 15 100000

21 6 100000

13 10 100000

24 1 120000

85 10 120000

6 17 85000

27 3 34000

18 6 258290

19 12 75000

Tabla 6: Elaboración propia.


Problema 4.8

Un comercio necesita conocer información relacionada con los costos y stock de


sus artículos.

Se pide generar las siguientes salidas:

• Mostrar el valor total de stock que posee dicho comercio.

• Mostrar la valuación total de dichos productos.

• Mostrar el porcentaje de productos que tienen un stock inferior a 20.


Para ello Ud. dispone de las siguientes entradas:

• Código artículo (cod): representa el código que identifica al artículo.

• Costo artículo (costo): representa el costo de adquisición de dicho artículo.

• Stock disponible (stock): representa la cantidad de unidades del artículo en


el depósito.

• El alumno deberá establecer la condición para fin de proceso.

Programación Material Guía Práctica Pág. 33


Problema 4.9
Una biblioteca necesita obtener información actualizada relacionada con los
ejemplares que dispone.
Se pide generar las siguientes salidas:

• Mostrar la cantidad de ejemplares cuya categoría es informática.

• Mostrar el porcentaje de ejemplares cuya categoría sean revistas científicas.

• Mostrar por impresora el total de ejemplares que hay en la biblioteca.


Para ello Ud. dispone de las siguientes entradas:

• Código de la revista (cod): representa el código que identifica la revista.

• Categoría de la revista (cat): representa la categoría de la revista. Puede


asumir los siguientes valores: 1 representa “Informática”, 2 “Ciencias
Naturales”, 3 “Revistas Científicas” y 4 “Otras categorías”.

• Cantidad (cant): representa la cantidad de ejemplares que existe de esa


revista en la biblioteca.

• Considerar la carga de datos hasta que el usuario ingrese un código igual a


0.

Programación Material Guía Práctica Pág. 34


Estructura Repetir o Hacer Mientras (do while)

Problema modelo E.2


Diseña un programa que ayude a las personas a alcanzar sus metas de ahorro
mensual. El programa debe solicitar al usuario que ingrese su aporte semanal al ahorro
mensual hasta que haya alcanzado o superado la meta establecida. Al final, imprime un
mensaje felicitando al usuario por alcanzar la meta de ahorro.

Solución problema modelo E.2

Pseudocódigo

Imagen 7: Elaboración propia.

Programación Material Guía Práctica Pág. 35


Pseudocódigo

INICIAR
1. Numero Decimal: meta_ahorro; ahorro_semanal; ahorro_mensual;
2. meta_ahorro = 0; ahorro_semanal = 0; ahorro_mensual = 0
3. ingresar meta_ahorro
4. Repetir
a. Ingresar ahorro_semanal
b. Calcular Ahorro Mensual
ahorro_mensual = ahorro_mensual + ahorro_semanal
Mientras ahorro_mensual < meta_ahorro
5. Mostrar “Felicitaciones ahorro_mensual”
FIN

Problema 4.10
Ingresar números hasta que se ingrese un 0. Cada vez que se ingrese un número
par, mostrar un mensaje adecuado.

Problema 4.11
Ingresar una nota la cual puede valer entre 1 y 10 inclusive. Si se ingresa un
número inválido solicitar que se ingrese nuevamente la nota hasta que ingrese un valor
válido.

Problema 4.12

Ingresar números positivos (fin con 0) e informar el mayor.

Problema 4.13
Se ha realizado un censo provincial y se desea procesar la información obtenida
en dicho censo.
Se pide generar las siguientes salidas impresas:

• Cantidad de personas censadas.

• Cantidad de hombres y mujeres.

Programación Material Guía Práctica Pág. 36


• Porcentaje de varones cuya edad varíe entre 16 y 65 años, respecto al total
de varones.
Validar que la edad ingresada oscile entre 1 y 105 años.

Para ello Ud. dispone de las siguientes entradas:

• Número Documento

• Edad

• Sexo: representa el sexo de la persona censada. Los valores que puede


asumir son: 1 que representa “Femenino” y 2 “Masculino”.
Considerar que la carga de personas censadas finalizará cuando se ingrese un
número de documento igual a cero.

Problema 4.14
Una cooperativa láctea necesita emitir un reporte relacionado con la producción
anual. Se pide generar las siguientes salidas impresas:
La producción total por tambo.

El tambo más productivo y el mes.


El promedio de producción de los tambos en el mes de febrero.

El resultado de la validación cuando se ingrese el mes sea un valor comprendido


entre 1 y 12.

Para ello Ud. dispone de las siguientes entradas:


Número de Tambo

Mes: representa el mes de producción para el tambo.


Cantidad: representa la producción de leche expresada en litros.

Ingresar datos de tambos hasta que se ingrese número de tambo igual a 0.

Programación Material Guía Práctica Pág. 37


Estructura Desde / Para (for)

Problema modelo E.3


Diseña un programa que permita la carga de 3 notas de un alumno, luego debe
mostrarse el promedio de ellas.

Solución problema modelo E.3

Diagrama de Flujo

Imagen 8: Elaboración propia.

Programación Material Guía Práctica Pág. 38


Pseudocódigo

INICIO
1. Número decimal: suma_notas; nota; promedio
Número Entero: indice
2. suma_notas = 0; nota = 0; promedio = 0;
3. Desde inicialización: indice = 0
condición: indice < 3
incremento: indice = indice + 1 hacer
a. Ingresar nota
b. Acumular la Nota:
suma_notas = sumatoria_notas + nota
4. Fin desde
5. Calcular Promedio:
promedio = sumatoria_notas / 3
6. Mostrar mensaje: “Su promedio es: promedio”
FIN

Problema 4.15

Mostrar todos los números naturales entre dos extremos indicados por el usuario

Problema 4.16
Calcular mediante un ciclo la sumatoria de todos los números naturales entre 1
y 500.

Problema 4.17
Solicitar al usuario el ingreso de N números enteros (siendo N la cantidad
previamente ingresada por el usuario). Informar:

• Sumatoria de todos los números

• Mayor de todos

• Menor de todos

Programación Material Guía Práctica Pág. 39


Problema 4.18
Solicitar al usuario el ingreso un número entero y mostrar la tabla de multiplicar
de dicho número. Por ejemplo, si el número ingresado es 6 debe mostrarse:
6x0=0

6x1=6

6 x 10 = 60

Problema 4.19

En una institución educativa requieren calcular los promedios de calificaciones


de un conjunto de estudiantes. Para ello se debe ingresar nombre y calificaciones de
todos los alumnos involucrados. La carga debe finalizar cuando se ingresa un nombre
vacío. Dado que cada estudiante puede haber rendido una cantidad diferente de
exámenes, por cada uno debe ingresarse la cantidad de exámenes rendidos y a
continuación las calificaciones de todos ellos.

El programa debe informar las siguientes salidas:

• Por cada estudiante su nombre y promedio.

• Promedio general de todas las calificaciones ingresadas

• Cantidad de estudiantes con promedio mayor a 8 pero considerando


únicamente aquellos que rindieron más de 10 exámenes.

Problema 4.20

Un banco necesita obtener cierta información sobre los movimientos de cuentas


de sus clientes.
Se pide generar las siguientes salidas impresas:

• El saldo actualizado de la cuenta de los clientes, considerando que se debe


restar un 3 %, siempre y cuando la misma no sea plazo fijo, en concepto de
gastos de mantenimiento.

• El nombre del cliente y el número de cuenta con saldo mayor a $ 90.000 en


caja de ahorro especial del banco.

• El promedio de los saldos de las cuentas corrientes.


Validar que cuando se ingrese el Tipo de cuenta, sólo asume los valores 1, 2, 3
y 4.

Programación Material Guía Práctica Pág. 40


Para ello Ud. dispone de las siguientes entradas:

• Nombre (nom): representa el nombre del cliente.

• Cuenta (cuen): representa el número de cuenta de ese cliente.

• Saldo (sal): representa el saldo actual de la cuenta.

• Tipo (tip): representa el tipo de cuenta que tiene el cliente. Los valores que
puede asumir son 1 representa “Cuenta Corriente”, 2 representa “Caja de
Ahorro Común”, 3 representa “Caja de Ahorro Especial” y 4 “Plazo Fijo”.

Se conoce que la entidad bancaria dispone de una cartera de 130 clientes.

Problema 4.21
Una estación de servicio que dispone de 10 surtidores y necesita gestionar
información relacionada con el consumo de combustible en la jornada.
Se pide generar la siguiente salida impresa:

• Total de litros consumidos en la jornada por tipo de combustible.

• El promedio en litros de combustible vendido en la jornada.

• Validar que el tipo de combustible ingresado sea 1,2 o 3.

Para ello Ud. dispone de las siguientes entradas:

• Número de Surtidor(nro)

• Cantidad (cant): representa la cantidad de litros de combustible vendido por


el surtidor.

• Tipo (tip): representa el tipo de surtidor. Los valores que puede asumir son:
1 “Nafta Común”, 2 “Especial” y 3 “Gas Oil”.

Problema 4.22

Una fábrica autopartista necesita obtener información relacionada con las piezas
que producen por día.

Se pide generar las siguientes salidas impresas:

• El promedio de tiempo que demandan los procesos industriales.

• La cantidad de piezas que demoran más de 15 minutos de proceso.

• Validar que cuando se ingrese el número de pieza sea un valor entre 1 y 40.
Para ello Ud. dispone de las siguientes entradas:

Programación Material Guía Práctica Pág. 41


• Número de Pieza: representa el número de pieza y los valores que puede
asumir están comprendidos entre 1 y 40.

• Nombre de la Pieza.

• Proceso: representa el número de proceso que se le aplica la pieza.

• Tiempo: representa el tiempo que demanda aplicar dicho proceso a la pieza


(expresado en minutos).
Considerar que la fábrica procesa 200 piezas por día.

Casos de estudio
Problema 4.23

Una estación de servicio que dispone de 10 surtidores y necesita gestionar


información relacionada con el consumo de combustible en la jornada.

Se pide generar las siguientes salidas impresas:

• Mostrar el total de litros consumidos en la jornada, por tipo de combustible.

• Mostrar el número de surtidor que menos combustible vendió.

• Mostrar el promedio en litros de combustible vendido en la jornada.

• Mostrar por pantalla la validación cuando se ingrese el tipo de combustible


ingresado sea 1, 2 o 3.
Para ello Ud. dispone de las siguientes entradas:

• Número de Surtidor (nros)

• Cantidad (cant): representa la cantidad de litro de combustible vendido por el


surtidor.

• Tipo (tipo): representa el tipo de combustible del surtidor. Los valores que
puede asumir son 1 representa “Nafta Común”, 2 representa “Especial” y 3
representa “Gas Oil”.
Hay que considerar que la carga de datos finalizará cuando se ingrese un número
de surtidor igual a cero.

Programación Material Guía Práctica Pág. 42


Problema 4.24
El responsable del Departamento Alumnos de nuestra facultad necesita
administrar información relacionada con los alumnos que acaban de obtener su título
en la carrera de ingeniería durante el presente año, que en total son 230.

Se pide generar las siguientes salidas impresas:

• Cantidad de egresados por Título de ingeniería obtenido.

• Nota Promedio general de todos los egresados en el año.

• Porcentaje de egresados que obtuvieron Título de Ingeniería Industrial.

• DNI del alumno egresado con mayor nota promedio.


Para ello Ud. dispone como entradas los siguientes datos de cada ingresante:

• Número de Documento Nacional de Identidad del alumno (DNI): que


identifica al alumno.

• Título de Ingeniería obtenido (título): 1.Industrial, 2.Mecánica, 3.Electrónico,


4.Sistemas de Información.

• Nota promedio obtenida (nota): en todas las materias cursadas de la carrera.

Atribución-NoComercial-SinDerivadas
Se permite descargar esta obra y compartirla, siempre y cuando no sea modificado y/o alterarse su
contenido, ni se comercializarse. Referenciarlo de la siguiente manera:
Universidad Tecnológica Nacional Regional Córdoba. Material para la Tecnicatura en Programación.
Argentina.

Programación Material Guía Práctica Pág. 43

También podría gustarte