Download Practico Complementario

Document related concepts
no text concepts found
Transcript
Fund. de la Infor. - Introd. a la Comp. - Introd. a la Prog. (Ing. Elect. TUW y TUR, TUE,TUG, Prof,TUT)
1° Cuat 2016
Práctico Nº 6
Tema: Lenguaje de Diseño (Parte 2). Estructuración de Datos
Nota: Para cada ejercicio se pide: encontrar un algoritmo que lo resuelva (al menos dos versiones de
desagregación), posteriormente codificarlo en lenguaje de diseño y realizar la ejecución del mismo. Además, se
deben realizar todos los controles necesarios para el ingreso de datos en forma correcta. Por último, realizar el
diagrama de flujo de al menos dos ejercicios ya resueltos en lenguaje de diseño.
1. Escribir un algoritmo que calcule y almacene las 20 primeras potencias del número 5. Mostrar los
valores calculados y las posiciones en las que se encuentran.
a. Modificar el algoritmo para que el número sea negativo e ingresado por el usuario.
2. Escribir un algoritmo que permita ingresar 5 números enteros positivos en un arreglo, los
multiplique por 2 y los almacene en otro arreglo. Mostrar los valores de ambos arreglos.
3. Escribir un algoritmo que ingrese hasta 50 números enteros. Luego calcule y muestre,
independientemente, la suma de los elementos positivos y la de los negativos.
4. Realizar un programa que permita ingresar una cadena de caracteres. Luego genere la inversa de
dicha cadena de caracteres. La cadena original y la invertida deben almacenarse en arreglos
diferentes. Finalmente, el programa debe imprimir ambas cadenas.
5. Escribir un algoritmo que ingrese en un arreglo 40 caracteres. Luego el algoritmo deberá chequear
la posición en donde se encuentran las vocales mayúsculas. Para ello utilizar otro arreglo de tipo
lógico en el cual se almacene un valor VERDADERO en las posiciones donde se encuentra cada
vocal mayúscula y un FALSO donde no se encuentran. Mostrar tanto el arreglo ingresado como el
arreglo resultante.
6. Suponiendo que se necesita almacenar los datos de las últimas elecciones de autoridades de la
Facultad de Ciencias Físico Matemáticas y Naturales, en donde se hicieron presentes alumnos,
docentes y personal no docente de dicha facultad. En el padrón figuran los siguientes datos:
Nro_orden, Documento, Figura_académica (alumno, docente o no docente), Asistencia (presente o
ausente), Apellido y Nombre. Terminado el acto eleccionario se desea determinar y registrar qué
porcentaje de alumnos, docentes y no docentes votaron.
Se pide:
 Identificar qué datos son relevantes para almacenar y qué datos no lo son para resolver el
problema.
 Diseñar y dibujar en papel, 2 formas distintas de estructurar los datos relevantes.
Ayuda: una forma es utilizando una única estructura y la otra utilizando más de una estructura. ¿De
qué tipo serían las estructuras en ambas soluciones? NO se pide hacer el programa.
7. Ejecutar el siguiente algoritmo escrito en Lenguaje de Diseño usando los 2 conjuntos de datos de
entrada indicados.
Práctico Nº 6
Página 1/3
Área de Servicios – Dpto. de Informática
Fund. de la Infor. - Introd. a la Comp. - Introd. a la Prog. (Ing. Elect. TUW y TUR, TUE,TUG, Prof,TUT)
1° Cuat 2016
ALGORITMO “Ejemplo1”
COMENZAR
I: entero
A: arreglo[1..5] de entero
PARA I DESDE 1 HASTA 5 CON PASO 1 HACER
ESCRIBIR “INGRESE UN NUMERO”
LEER A[I]
MIENTRAS A[I] < 0 HACER
ESCRIBIR “INGRESE NUEVAMENTE UN NUMERO”
LEER A[I]
FINMIENTRAS
FINPARA
PARA I DESDE 2 HASTA 5 CON PASO 1 HACER
Datos para la primera ejecución:
SI ( I // 2 ) = 0 ENTONCES
{ 4, 7 , 3, -7 , 8 , 2 }
A[I]  A[I-1] * 10
SINO
A[I]  I
Datos para la segunda ejecución:
Selecciónelos Ud.
FINSI
FINPARA
ESCRIBIR "EL CONTENIDO DEL ARREGLO ES: "
PARA I DESDE 5 HASTA 1 CON PASO -1 HACER
ESCRIBIR A[I] , "- "
FINPARA
FIN
8. Realizar un algoritmo que permita ingresar una cadena de caracteres. Luego muestre la cadena
ingresada y la cantidad de caracteres. Posteriormente, el usuario debe ingresar un caracter y si se
encuentra en la cadena ingresada, informar la ubicación de cada una de las apariciones de dicho
caracter.
9. Realizar un algoritmo que permita ingresar una secuencia de caracteres y luego muestre la cantidad
de veces que aparece cada una de las vocales (sin mostrar las que no aparecen).
Ejemplo: palabra ingresada: “informatica”
debería mostrar en pantalla:
a: 2
i: 2
o: 1
10. Realizar un algoritmo que permita ingresar dos números escritos en binario. Cada número tiene 8
bits y cada bit es almacenado en una posición distinta del arreglo. Luego el algoritmo deberá
realizar la suma de dichos números y finalmente mostrar el resultado.
Ejemplo:
Arreglo ingresado A = [1,0,0,1,1,1,0,1]
Arreglo ingresado B = [1,1,0,0,0,1,1,1]
Arreglo resultante R = [1,0,1,1,0,0,1,0,0]
Nota: en binario 0+0 = 0, 0+1 = 1, 1+0 = 1, 1+1 = 10, 1+1+1 = 11
Práctico Nº 6
Página 2/3
Área de Servicios – Dpto. de Informática
Fund. de la Infor. - Introd. a la Comp. - Introd. a la Prog. (Ing. Elect. TUW y TUR, TUE,TUG, Prof,TUT)
1° Cuat 2016
11. Escribir un algoritmo que permita ingresar hasta 50 números enteros positivos. Los números pares
serán almacenados a partir de la posición 1 y los números impares serán almacenados a partir de la
última posición del arreglo (no la ingresada por el usuario). Imprimir, luego, los números
ingresados, en primer lugar, se mostrarán los valores impares en el orden que fueron ingresados,
luego los pares de la misma forma y por último la cantidad de impares y pares.
Nota: no imprimir posiciones en las cuales no ingresó un número (basura).
12. Realizar un algoritmo que permita ingresar dos palabras de siete letras cada una. Luego indicar que
letra/s de la primera palabra se repite en la segunda. Caso contrario indicar que no existe ninguna
coincidencia
a. Usar dos arreglos
b. Usar un único arreglo
13. Escribir un programa que permita ingresar y almacenar convenientemente en un único arreglo, la
altura y el sexo de hasta 100 personas. Luego el programa deberá informar cuántas mujeres tienen
una altura entre 1,70 y 1,80 y el sexo de la/s persona/s de mayor altura.
Ejercicios Complementarios
1. Realizar un programa que permita ingresar hasta 30 números enteros ordenados en forma creciente
(el orden se hace a medida que se ingresan los números). Luego, dado un valor N, se desea saber si
el valor N se encuentra en el arreglo y en qué posición está. Caso contrario mostrar el cartel
respectivo.
2. Escribir un algoritmo que permita ingresar una palabra y que después de mostrarla por pantalla,
permita insertar un caracter en ella. El usuario deberá ingresar el caracter nuevo que desea insertar y
la posición donde se deberá ubicar. Luego de insertado, se deberá mostrar la palabra “corregida”.
3. Escribir un algoritmo que permita ingresar en un arreglo un número de HASTA 10 dígitos (cada
dígito del número será ingresado en forma individual y almacenado en una posición diferente) e
informar si es o no un número capicúa (un número es capicúa cuando se lee igual de derecha a
izquierda y viceversa).
4. Escribir un algoritmo que permita codificar en clave un número ingresado por el usuario. El número
ingresado contiene exactamente 4 dígitos y el algoritmo deberá representar cada dígito como una
secuencia de caracteres ‘*’. Además, cada secuencia de ‘*’ representando un dígito deberá estar
separado del siguiente dígito por un caracter ‘#’. Finalmente, el algoritmo deberá mostrar el arreglo
resultante.
Ejemplo: N° ingresado A = 4502
Arreglo resultante Clave = [ *,*,*,*,#,*,*,*,*,*,#,#,*,* ]
Práctico Nº 6
Página 3/3
Área de Servicios – Dpto. de Informática