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