Download Práctico 6

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)
2° Cuat 2016
Práctico Nº 6
Tema: Lenguaje de Diseño. Estructuración de Datos (2° Parte)
Nota: Para cada ejercicio se pide: encontrar un algoritmo que lo resuelva (al menos dos versiones de
desagregación); posteriormente escribir la versión final en lenguaje de diseño y realizar la ejecución del mismo.
Es importante realizar todos los controles necesarios para que se ingresen los datos en forma correcta. Por
último realizar el diagrama de flujo de al menos dos ejercicios ya resueltos en lenguaje de diseño.
1. Diseñar 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.
2. Diseñar un algoritmo que ingrese hasta 50 números enteros. Luego calcule y muestre, la suma de
los números positivos y la suma de los números negativos.
3. Diseñar un algoritmo que permita ingresar una cadena de caracteres. Luego genere la inversa de
dicha cadena de caracteres. La cadena original y la cadena invertida deben almacenarse en arreglos
diferentes. Finalmente, el programa debe mostrar ambas cadenas.
4. Diseñar un algoritmo que permita ingresar una cadena de caracteres. Luego debe mostrar la
cantidad de veces que aparece cada una de las vocales (sin mostrar las que no aparecen).
Ejemplo: cadena ingresada: “#biologia$$”
cantidad a: 1 cantidad i: 2
cantidad o: 2
5. Diseñar un algoritmo que ingrese 40 caracteres en un arreglo. Luego el algoritmo deberá chequear
la posición de las vocales mayúsculas. Para ello se debe 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 FALSO donde no se encuentran. Teniendo en cuenta el arreglo lógico, mostrar
únicamente las vocales mayúsculas.
6. Dadas las versiones 1 y 2 obtenidas del problema enunciado en el ejercicio N° 13 del práctico 3
(Resolución de problemas):
Se pide:
a. Analizar si sería posible, escribir la versión final del algoritmo usando Lenguaje de Diseño.
b. Modificar las versiones adaptándola para que queden almacenados los datos de las personas en
un arreglo.
c. Escribir la versión final usando Lenguaje de Diseño.
7. Diseñar 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).
8. 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)
2° 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
Datos para la segunda ejecución:
Selecciónelos Ud.
SINO
A[I]  I
FINSI
FINPARA
ESCRIBIR "EL CONTENIDO DEL ARREGLO ES: "
PARA I DESDE 5 HASTA 1 CON PASO -1 HACER
ESCRIBIR A[I] , "- "
FINPARA
FIN
9. Diseñar 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 debe realizar
la suma de dichos números y mostrar el resultado.
Arreglo ingresado A = [1,0,0,1,1,1,0,1]
Ejemplo:
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)
2° Cuat 2016
Ejercicios Complementarios
1. Diseñar 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
d. Usar dos arreglos
e. Usar un único arreglo
2. Diseñar un algoritmo que permita ingresar una palabra y que después de mostrarla por pantalla,
permita insertar un caracter en ella. El usuario debe ingresar el nuevo caracter que desea insertar y
la posición donde se debe ubicar. Una vez insertada, se debe mostrar la palabra “modificada”.
3. Diseñar 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 ‘*’ representado 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