Ejercicios de Todo
Ejercicios de Todo
Ejercicios de Todo
programación
14 agosto 2009
tags: ejercicios de programación, Programación
por maf
7 Votes
Ejercicio 1
Encontrar el valor que almacenará la variable VALOR después de la ejecución de las siguientes
sentencias:
VALOR 4*5
X=3
Y = 20
VALOR = (X^Y)-Y
VALOR = 5
X=3
VALOR = VALOR*X
Ejercicio 2
A = 10
B=5
A=B
B=A
Ejercicio 3
Escribir un algoritmo que pida el lado de un cuadrado y muestre el valor del área y del perímetro
Ejercicio 4
Ejercicio 5
Realizar un algoritmo que lea el radio de una circunferencia y escriba la longitud de la misma, y
el área (Pi*R)^2 del círculo inscrito.
Ejercicio 6
Calcular el promedio de tres números introducidos por teclado, sin utilizar sentencias repetitivas.
Ejercicio 7
Ejercicio 8
Suma de 2 números
Ejercicio 9
Ejercicio 10
Ejercicio 11
Ejercicio 12
Ejercicio 13
Ejercicio 14
Calcular el sueldo de los empleados de una empresa. Para ello se deberá pedir el nombre del
empleado, las horas normales trabajadas y las horas extras. Tener en cuenta que el valor de la
hora es de $4 y que las horas extras se pagan doble.
Ejercicio 15
Ejercicio 16
Dados el día y mes de dos fechas, donde la primera fecha es menor a la segunda y ambas
pertenecea al mismo año, calcular los días que median entre ambas. Suponiendo que todos los
meses tienen treinta días.
Ejercicio 17
Dado el importe bruto de una factura calcular el resultado de bonificarlo con un 4%; al monto
obtenido calcularle el IVA. Finalmente mostrar el importe bruto, el valor de la bonificación, el
importe bruto bonificado, el monto correspondiente el IVA y el importe neto resultante.
Ejercicio 18
Dadas 3 variables mostarlas en el mismo orden en que se ingresaron pero con sus contenidos
intercambiados por una rotación circular.
Ejercicio 19
Calcular cuanto dinero tiene un banco de moneda extranjera si dispone de N1 monedas de medio
peso, N2 cuarto de peso, N3 de 10 céntimos y N4 de 5 céntimos.
Ejercicios:
3. Dados dos números A y B encontrar el cociente entre A y B. Recordar que la división por cero
no esta definida, en ese caso debe aparecer una leyenda anunciando que la división n es posible.
4. DIA es una variable numérica que puede tomar 7 valores, ellos son 1, 2, 3, 4, 5, 6 o 7. Mostar
el nombre el nombre del día de la semana que corresponde al valor de la variable DIA.
5. Dadas las longitudes de los tres lados de un triángulo determinar si es equilátero o no.
6. Dadas las longitudes de los tres lados de un triángulo, determinar si este es equilátero,
isosceles o escaleno.
7. Se desea determinar si un boleto es capicúa o no. Para ello se debrán pedir las cifras del
número en cinco variables independientes.
8. Pidiendo el ingreso de dos valores que representan los colores primarios (1-rojo, 2-azul y 3-
amarillo), mostar el nombre de los colores que se ingresaron y que color secundario se forma con
ellos.
9. Dados dos números A y B sumarlos si al menos uno de ellos es negativo en caso contrario
multiplicarlos.
Por cada dato ingresado se deberá indicar si cumple el primero, el segundo o el tercer requisito.
2do: hombre con 1 año de experiencia con maestría que prefiera el sur o el oeste
3ro: con más de tres años de experiencia, mujer, doctorada que prefiera el este.
13. Dadas las cuatro notas bimestrales de un alumno indicar si se Exime o si debe rendir en
Diciembre o en Marzo.
14. Un negocio hace descuentos en las ventas de sus productos. Si la compra es inferior a $100 el
descuento es del 5%, si es mayor o igual a 100 y menor a 200 el descuento es del 10% sino será
del 15%. Dado el precio de la venta mostrar el descuento realizado en pesos y el precio final con
descuento.
15. Diseñar un algoritmo que determine el valor máximo y el valor mínimo de un conjunto de
tres valores, sin utilizar sentencias repetitivas.
16. Diseñar un algoritmo que determine el precio de un billete de ida y vuelta en ferrocarril,
dando la distancia a recorrer y el número de días en destino, sabiendo que si la estancia es
superior a 7 días y la distancia es superior a 800 km. el billete tiene una reducción del 30%. El
precio por kilómetro es de $8,5.
17. Se desea calcular el salario semanal neto de los empleados de una empresa cuyo trabajo se
paga por horas del siguiente modo:
• Si el número de horas trabajadas es inferior o igual a 35 se pagan a una tarifa fija que se debe
introducir por teclado. El número de horas trabajadas y el nombre del empleado también se
introducen por teclado.
• Las horas que excedan de las primeras 35, se pagarán como horas extras a un precio de una vez
y media la tarifa de las horas normales.
19. Pidiendo la hora de ingreso y la hora de salida mostar cuanto tiempo transcurrió. Las horas
deberán pedirse como HI, MI, SI (hora de ingreso, minuto de ingreso y segundo de ingreso) y
como HS, MS, SS (hora de salida, minuto de salida y segundo de salida).
CONTADORES
Ejs: A=A+1
Z=Z+2
CON=CON+10
Ejercicios:
Diagramación y codificación
1. Construya el algoritmo que muestre por pantalla los números del 1 al 5, uno debajo del otro.
5*1=5
5*2=10
5*9=45
2.1. Analizar que datos deben mostrarse en la sentencia PRINT.
2.2. Realizar un cuadro donde se indiquen los tipos de datos utilizados en el algoritmo.
3. Muestre por pantalla el cuadrado y el cubo de los números menores a 51 de la siguiente forma:
111
248
...
5. Construya el algoritmo que permita generar e imprimir los múltiplos de 6 menores que 100.
6. Construya el algoritmo que permita el ingreso de una serie de números y que determine
cuantos números positivos, cuantos números negativos y cuantos ceros hay. Como primer dato
pedir la cantidad de números que forman la lista.
7. Se desea imprimir los recibos de pago de los socios de un club de la siguiente forma:
NOMBRE:xxxxxxxxxxx
CATEGORIA:xxxxxxxx
IMPORTE:9999999999
Para ello se deberá pedir el ingreso del nombre y la edad de los socios. Para realizar los cálculos
tener en cuenta el siguiente cuadro:
<12 infantil 5
8. Pedir el ingreso de los datos de nacimientos de un hospital: día, mes, año y sexo(1-femenino
2-masculino). Mostra el total de varones, el total de mujeres, el total general, y el total de
nacimientos en el primer semestre.
9. Se deberá pedir el sexo (F-M) y el estado civil (S-C-V-D) de las personas que lleguen a un
espectáculo. Se deberán mostrar la cantidad y el porcentaje de hombres solteros, mujeres
solteras, hombres casados, mujeres casadas, etc.
12. Una empresa fabrica 2 productos A y B y desea saber cual de ellos es el más aceptado en el
mercado, para ello realiza una encuesta y por cada persona interrogada se obtiene un par de
valores: el primer valor del par indica la aceptación o no del producto A según sea 1 o 0; el
segundo valor corresponde al producto B. Por ejemplo los valores 1 y 0 significa que el
encuestado acepta el producto A pero no el B. Se pide:
o Total de encuestados
• El producto A
• El producto B
• El producto A pero no el B
• El producto b pero no el A
ACUMULADORES
Ejemplos:
A=A+VN
D=D+I
Ejercicios:
1. Dado un número N:
4. Una farmacia va anotando los importes de las ventas del día. Por cada importe se anota una
“D” si la venta se realizó con descuento por alguna mutual y una “N” si no se realizó descuento.
Se desea saber:
• número de legajo N
• edad E
• fecha de nacimiento F$
• estado civil EC
• sexo S
Realizado el ingreso deberá controlarse lo siguiente:
un error en cualquiera de estos dos datos implica no considerar el ingreso y volver a pedir los
datos.
De ser válidos deberán tratarse los datos de la forma que correspondan a fin de informar por fin
de proceso lo siguiente:
• edad promedio
Deberá verificarse con el operador el que halla o no mas datos para tratar.
1. Hacer un programa que calcule el promedio de una serie de números ingresados por teclado.
Como primer dato pedir cuantos números va a ingresar.
3. Realizar un programa que muestre por pantalla un reloj digital. Investigar la instrucción
LOCATE.
4. Simular un contador de vueltas de 3 dígitos de un grabador.
5. Hacer un programa tal que introducido un número entero nos calcule el factorial de dicho
número. Sabiendo que el factorial de un número N es:
N!=1*2*3…*N
6. Hacer un programa que nos de una tabla de los factoriales de los diez primeros números
naturales.
7. Hacer un programa que muestre las tablas de multiplicar del 1 al 9. Cada tabla debe tener su
título.
9. Se cuenta con los valores que indica el medidor de consumo de energía eléctrica del mes
anterior y del mes actual para 1000 usuarios. Además se tiene el precio por KWH. Calcular el
importe que deberá abonar cada usuario. Para cada usuario imprimir el precio del KWH , el valor
medido en ambos meses y el importe resultante.
10. Pedir sucesivamente 50 valores numéricos. A cada valor multiplicarlo por 3 y sumarle 5.
Mostarr el retorno de dicha expresión junto con el número que la origina. Al final mostrar el
valor acumulado.
11. Hacer un programa que que genere los primeros 30 múltiplos de un número entero
cualquiera.
12. Dados dos números naturales, el primero menor al segundo, generar y mostrar todos los
números comprendidos entre ellos en secuencia ascendente.
13. El inventor del ajedrez propuso cobrar por su invento un grano de trigo por el primer
cuadrado del tablero, dos, por el segundo, cuatro por el tercero y así sucesivamente, el doble del
anterior en cada caso hasta completar los 64. Determinar que cantidad de granos debería haber
cobrado.
15. Diseñar un algoritmo que escriba el cubo de los números naturales tales que el cubo tenga
como máximo cuatro cifras.
16. Diseñar un algoritmo que escriba el cubo de los números naturales tales que el cubo tenga
exactamente cuatro cifras.
17. Realizar un algoritmo que calcule la potencia de un número real elevado a un número natural,
sin utilizar ni funciones ni procedimientos.
18. Realizar un algoritmo que muestre los valores de todas las piezas del domino de forma
ordenada:
0-0
0-1 1-1
1. Realizar un algoritmo que muestre por pantalla la tabla de multiplicar del dos. Hacer tres
versiones utilizando en cada una de ellas cada una de las estructuras repetitivas (desde…hasta,
hacer…mientras/repetir…hasta, mientras…hacer).
2. Realizar un algoritmo que determine el valor del cociente y el resto de una división entre
números enteros (usando solamente la operación de resta).
5. Dado el nombre de una persona, ingresando carácter por carácter, determinar la cantidad de
caracteres que lo forman teniendo como pauta que luego del nombre se ingresa un punto.
6. Realizar un proceso que detalle la compra y alcule lo que un cliente debe abonar en un
negocio conociendo la cantidad comprada de cada artículo y su precio. Para indicar el fin de
datos se ingresa una cantidad nula.
7. Se tiene una lista de números formada de la siguiente manera: primero todos los positivos,
luego un valor nulo, a continuación todos los negativos y finalmente otro valor nulo. Calcular y
mostrar el promedio de los valores positivos y el promedio de los negativos.
8. Encontrar N números de 3 dígitos que sean iguales a la suma de los cubos de sus dígitos.
11. Pedir el ingreso de los siguientes datos: número de cliente, saldo y código (1-deudor 2-
acreedor). Se deberán calcular los saldos finales de la empresa. El programa debe terminar
cuando el número de cliente sea igual a 0.
12. Debe solicitarse al operador los datos correspondientes a las facturas emitidas por la empresa,
estos son: número de factura, número de vendedor (1, 2 o 3) e importe. El programa debe
finalizar cuando el número de factura sea igual a 0. por fin de programa se deberá indicar: total
de facturas emitidas por la empresa, total de facturas por cada vendedor, total vendido por cada
vendedor y porcentaje de venta de cada vendedor sobre el importe total vendido.
13. Pedir los datos de los alumnos, estos son: sexo, edad y altura. Por fin de programa se deberá
mostrar la cantidad de varones, la cantidad de mujeres, la altura promedio y la cantidad de
alumnos que tienen una altura mayor a 1.5 metros. El programa debe finalizar cuando la edad sea
igual a 0.
14. Ingresar como datos las temperaturas registradas durante todo el día a intervalo de media
hora comenzando desde la hora 0. determinar las horas en la cual se produjo la temperatura
mínima y la máxima.
FUNCIONES DE BIBLIOTECA
o las funciones trigonométricas se calculan en radianes. Esuna unidad de medida de los ángulos y
su equivalencia en grados es:
Ejercicios:
Diagramar y codificar:
5. Hacer un programa que calcule la raíz cuadrada de números ingresados por teclado y que
muestre cuantos cálculos se realizaron. (tener en cuenta en que línea se inicializa el contador, en
cual se usa el contador y en cual se muestra). Marcar la línes del INICIO, del PROCESO y las
del FIN.
LIM (1+1/X)^X=e
X->infinito
7. Determinar si un número ingresado N es par o impar, controlar que el numero ingresado sea
entero y positivo. Para lograr esto compárese el valor de N/2 con el valor truncado de N/2.
8. Hacer un programa que nos imprima una tabla logarítmica de los 50 primeros números
naturales.
11. Realizar un algoritmo que averigüe si un número es par o impar (utilizar la función mod para
calcular la parte entera de un número real).
12. Mostrar los números pares anteriores al valor 150 que son divisibles por 3.
13. Dado un número entero formado por los dígitos 0 y 1, diseñar un algoritmo que compruebe si
el número tiene la misma cantidad de 0 y 1.
14. Hacer un programa que genere números al azar entre 0 y 100. sumarlos y promediarlos de 10
en 10 e indicar de cada serie cuantos son pares,. El programa debe finalizar cuando el número
generado sea 70.
15. Hacer un programa que genere números de 3 en 3 y de estos números se deberán mostrar los
que sean pares y múltiplos de 3.
columna 10 15 20 25 30
1
2
10 C=0
40 C=C+1
50 X$=STRING$(C,”_”)
70 GOTO 30
21. Escribir un algoritmo que pida un carácter y un número N. Diseñar un procedimiento que
dibuje una línea formada por la repetición de ese carácter N veces. El algoritmo debe comprobar
que el número se encuentre dentro de los límites del ancho de la pantalla.
22. Pedir el ingreso del nombre y que aparezca en la pantalla en forma invertida.
23. Hacer un programa que pida el ingreso de un texto en minúscula y lo muestre en mayúscula.
Si el texto tiene dígitos reemplazarlos por 0 (ceros) y cualquier otro carácter especial deberá
reemplazarse por * (asterisco). Tener en cuenta los siguientes valores ASCII. Números: desde
0=48 a 9=57, Minúsculas: desde a=97 a z=122 y Mayúsculas: desde A=65 a Z=90.
b) DIA: 25
MES: 04
AÑO: 94
En los dos casos hacer los controles necesarios para evitar errores en la cantidad y el tipo de
caracteres ingresados, el día, el mes y el año.
25. Generar 5 números al azar y mostrarlos por pantalla. Investigar la función RND y la
instrucción RANDOMIZE. Probar el programa varias veces usando RANDOMIZE,
RANDOMIZE 6 y RANDOMIZE TIMER. Escribir las conclusiones comparar las tres
posibilidades.
26. Hacer un programa para que el ordenador genere un número del 0 al 9. Nosotros
introduciremos del 0 al 9 y cuando acertemos el número generado por el ordenador nos muestre
“ACERTADO” junto a la cantidad de números que hemos ingresado antes de acertar.
28. Hacer un programa que muestre la siguiente pirámide. Debe controlar la instrucción
LOCATE.
123
12345
1234567
123456789
12345678901
1234567890123
123456789012345
12345678901234567
1234567890123456789
232
34543
4567654
567898765
30. Generar 50 nos enteros al azar entre 0 y 100. Indicar cuantos son mayores a 50, cuantos
menores a 10 y sumar los que estan entre 10 y 20. Mostrar la suma total.
34. Pedir al operador que ingrese un texto y un número, para encriptar el texto en base al número
ingresado.
39. Pedir el ingreso de un texto y mostrarlo codificado con el valor ASCII de cada carácter.
40. Pedir el ingreso de un texto y mostrarlo encriptado reemplazando cada letra por la siguiente
del alfabeto.
41. Pedir el ingreso de dos textos e indicar si tienen la misma cantidad de vocales
43. Pedir el ingreso de un texto y encriptarlo restándole el ASCII de una letra ingresada como
clave.
FUNCIONES DE BIBLIOTECA
FUNCIONES NUMERICAS
ARITMETICAS
I/O Y MISCELLANEOUS
VARPTR(#f) Devuelve la dirección del block de control del archivo desde el archivo f.
FUNCIONES ALFANUMERICAS
GENERALES
I/O Y MISCELANEAS
HEX$(n) Devuelve una cadena que representa el valor hexadecimal del argumento numérico.
ESTRUCTURA CASE
Describir su funcionamiento.
Diseñar todos los programas con las pantallas con recuadro y los mensajes centrados.
Ejercicios:
Diagramación y codificación
1- Hacer un programa tal que introducidos dos números nos calcule si elegimos la opción 1 la
SUMA, si elegimos la opción 2 la RESTA, si la 3 la MULTIPLICACION y si la 4 la DIVISION.
I=(C*R*T)/(100*365)
ARREGLOS
VECTORES Y MATRICES
Un VECTOR es un conjunto de variables con el mismo nombre que se diferencian unas de otras
por un número de orden denominado subíndice, que nos indicará un dato en particular, de todo el
conjunto de datos que guarda el vector al cual nos referimos. Un ejemplo puede ser el vector
M$(12) que contendrá los meses del año; M$(1) contendrá el dato “ENERO”, M$(2) contendrá
“FEBRERO”, etc.
Una MATRIZ es semejante a un vector pero con dos subíndices. En ella se manejan filas y
columnas, el primer subíndice indica la fila y el segundo la columna. Una matriz AG$(20,3) nos
podría guardar el nombre, la dirección y el teléfono de nuestros 20 amigos.
Dimensionar vectores
1-Cargar un vector con los meses del año y mostrar el mes y el número que lo identifica:
a) Pidiendo los datos al operador
2-Hacer un programa que entrando la fecha del tipo 20/06/94 la muestre de la forma “20 de junio
de 1994″.
3-Cargar un vector de 50 elementos numéricos desde una sentencia DATA. Mostrar el vector.
Mostrar el elemento mayor y la fila donde se encuentra.
5-Cargar desde consola un vector de 10 elementos numéricos. Multiplicar este vector por una
constante K y originar el vector resultado. Mostrar los elementos cuyo contenido es negativo
indicando en que posición se encuentran. Mostrar el elemento mayor y menor del vector
resultado.
6-Cargar 2 vectores de 10 elementos cada uno desde una sentencia DATA. Multiplicar los
elementos de las filas impares para originar el vector resultado. Mostrar los tres vectores y la
suma de los elementos de cada vector. Buscar el elemento 675 en el vector resultado, si existe
mostrar en que fila se encuentra, en caso contrario mostrar un mensaje que indique que el
elemento no se encuentra.
ORDENACION DE VECTORES
10 DIM V(5)
20 DATA 7,3,2,24,5
30 FOR I=1 TO 5
40 READ V(I)
50 NEXT I
70 M=V(K)
100 NEXT I
110 V(P)=V(K)
120 V(K)=M
130 NEXT K
160 NEXT I
170 END
Se compara el primer elemento con el siguiente y se cambian estos elementos siempre que el
primero sea mayor al segundo. Con ello se consigue que el elemento mayor de todos ellos se
desplace progresivamente hasta la última posición y que no tome parte en las comparaciones
siguientes. El proceso termina cuando en un paso no se efectue ningún cambio.
10 DIM V(5)
20 DATA 7,3,2,24,5
30 FOR I=1 TO 5
40 READ V(I)
50 NEXT I
60 N=5
90 NEXT I
100 N=N-1
140 NEXT I
150 END
METODO DE LA BURBUJA
10 DIM V(5)
20 DATA 7,3,2,24,5
30 FOR I=1 TO 5
40 READ V(I)
50 NEXT I
60 N=5
80 FOR J=I+1 TO N
100 NEXT J
110 NEXT I
140 NEXT I
150 END
Dimensionar matrices
Cargar una matriz desde una sentencia DATA
7-Cargar desde consola una matriz A(20,10) por filas con elementos numéricos. Multiplicar esta
matriz por una constante K e imprimir los elementos cuyo contenido es negativo indicando la fila
y la columna donde se encuentran.
8-Cargar una matriz A(10,12) que contendrá el promedio de ventas mensuales durante 10 años
para una empresa X. Generar a partir de esta un vector B(10) que contendrá el promedio anual de
las ventas de la misma empresa.
9-De una matriz A(5,5) obtener un vector B(5) de la diagonal principal y uno V(5) de la diagonal
secundaria.
11-Dada una matriz de 5 elementos para la primera dimensión y 5 elementos para la segunda,
introducir valores desde una sentencia DATA para los 4 primeros elementos de las dos
dimensiones. Queremos dejar en la última columna la suma de cada fila, y en la ultima fila la
suma de todas las columnas, dejando en el elemento (5,5) la suma total.
12-Introducidos 10 nombres de alumnos junto a sus 10 notas, efectuar un listado ordenado por
orden alfabético del nombre. Introducir el nombre de un alumno y visualizar su nota.
ARCHIVOS DE DATOS
ARCHIVOS DE DATOS
Es una colección de registros de datos relacionados organizados de una manera específica. Cada
registro esta compuesto por campos que indican características de cada entidad. Un ejemplo
puede ser el archivo BIBLIOTECA donde cada registro sería un libro y los campos del registros
serian nombre, autor, editorial, argumento, tema, etc.
ARCHIVOS SECUENCIALES
CLOSE LOF
EOF OPEN
INPUT# PRINT#
LOC UNLOCK
LOCK WRITE#
Pasos para crear un archivo secuencial y lograr el acceso a los datos del archivo:
PRINT#1,A$
PRINT #1,E
3- Para lograr acceso a los datos del archivo, se debe cerrar el mismo y volver a abrirlo en el
modo entrada(I):
CLOSE#1
o
OPEN “NOMBRE DE ARCHIVO” FOR INPUT AS #1
INPUT#1,A$,E
Ejercicios:
Diagramación y codificación
número de libro N
nombre N$
autor A$
número de anaquel NA
fecha de edición F$
BIBLIOTECA
....
....
....
....
....
....
TOTAL DE LIBROS:999999
número de legajo N
nombre y apellido N$
centro de costos C$
valor de la hora V
cantidad de hijos CH
total de descuento
10- Incorporar al ejercicio anterior la grabación del archivo SUELDOS con los datos calculados
para cada empleado. El archivo se compone de los siguientes campos:
número de legajo N
nombre y apellido N$
centro de costos C$
total de descuentos TD
neto NETO
11- A partir del archivo SUELDOS se desea mostrar por pantalla cada uno de los registros
grabados. Por fin de archivo se deberá mostrar los totales generales para cada uno de los
importes; el total de empleados de la empresa y los datos correspondientes al empleado que tuvo
el sueldo mas alto.
zona ZO
número de contribuyente NC
nombre N$
valor edilicio VE
LISTADO DE VALORES
...
...
...
...
...
TOTAL CONTRIBUYENTES:
TOTAL IMPORTE:
Por otra parte se desea originar un archivo destino con los cálculos realizados para cada
contribuyente, este archivo se llamará CALCULOS y estará compuesto por el número de
contribuyente y el importe. Tener en cuenta que cada registro origen da lugar aun registro
destino.
13- A partir del archivo VENTAS compuesto por los siguientes campos:
fecha FECHA
nº de cliente CLIE
nº de artículo A
cantidad CANT
precio unitario PU
bonoficación BO
fecha FECHA
articulo A$
cantidad CANT
iva IVA
una matriz de 20 filas por 2 columnas con una DATA que contiene los nº de cliente y el nombre
de la siguiente forma: DATA 1,”FRANCO”,2,”SALVATIERRA”,…
y una matriz de 50 filas por 2 columnas con una DATA que contiene primero los 50 número de
artículos y a continuación las 50 descripciones para cada número de artículo
IBRU=CANT*PU
IBON=IBRU*BO/100
IVA=(IBRU-IBON)-16/100
NETO=IBRU-IBON+IVA
LISTADO DE VENTAS
....
....
....
....