Página 1 de 10
Fundamentos de Programación 2008 UNIDAD 4 Arreglos Prof. Gerardo Sas Respuestas a los ejercicios de la Guía Nº 4
Ejercicio 4.1 Escribir un algoritmo que permita leer una lista de N datos numéricos (N mayor o igual a 23) e informar solamente los elementos del mismo que ocupan las posiciones 7, 23 y N. Determinar e informar además, cuántos elementos son divisibles por 6.
Proceso Ejercicio41 Dimension V(100); C <- 0 Escribir "Ingrese la cantidad de Números: "; Leer N; Para i <- 1 Hasta N hacer Leer V ( i ); Si (Trunc(V ( i )/6) = V ( i ) / 6) entonces C <- C + 1 FinSi FinPara Escribir V (7), V(23), V (N); Escribir C,' elementos son divisibles por 6 '; FinProceso
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Página 2 de 10 Ejercicio 4.2 Leer las calificaciones y nombres de un grupo de alumnos que asistieron a una evaluación parcial de programación. Generar un vector con los nombres de los alumnos aprobados y otro con los nombres de los no aprobados aprobados [ Nota<7 ]. Se desea obtener como información de salida en el orden indicado: a. Un listado de los l os nombres de los alumnos aprobados. b. Las 2 mayores calificaciones y los nombres de los alumnos que las obtuvieron. c. Un listado con los nombres de los alumnos que no aprobaron la evaluación.
Proceso Ejercicio42 Dimension AP(100), NoAp(100); May2 <- 0; May1 <- 0; Nomb2 <- ' '; Cnap <- 0; Cap <- 0; Escribir "Ingrese la cantidad de Numeros: "; Leer N; Para i <- 1 hasta N hacer Escribir "Ingrese Nombre"; Leer Nombre; Escribir "Ingrese Nota"; Leer Nota; Si Nota > May1 entonces May2 <- May1; Nomb2 <- Nomb1; May1 <- Nota; Nomb1 <- Nombre; Sino Si Nota > May2 entonces May2 <- Nota; Nomb2 <- Nombre; FinSi
FinSi Si Nota >= 7 entonces Cap <- Cap+1; AP[Cap] <- Nombre; Sino Cnap <- Cnap+1; NoAP[Cnap] <- Nombre; FinSi FinPara //a) Listado de los alumnos aprobados Para x <- 1 hasta Cap hacer Escribir AP[x]; FinPara //b) Las dos mayores notas y sus nombres Escribir May1, May2; //c) Listado de los alumnos no aprobados Para x <- 1 hasta Cnap hacer Escribir NoAP[x]; FinPara FinProceso
Ejercicio 4.3 Leer las calificaciones y nombres de un grupo de alumnos que asistieron a una evaluación parcial de programación. Generar un arreglo con los nombres y otro con las notas de aquellos alumnos que obtuvieron calificación igual o superior a 8. Informar las listas obtenidas. Si ningún alumno obtuvo 8 o más emitir un mensaje correspondiente.
Proceso Ejercicio43 Dimension A(100), Not(100); Ap <- 0; Escribir "Ingrese la cantidad ca ntidad de Alumnos:"; Leer N;
Leer Nota; Si (Nota >= 8) entonces Ap <- Ap + 1; A[Ap] <-Nomb; Not[Ap] <-Nota;
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Página 3 de 10 Sino Para x <- 1 hasta Ap hacer Escribir A[x],' ',Not[x];
FinPara FinSi FinProceso.
Ejercicio 4.4 Codifique un algoritmo que ingrese como datos un vector A de 120 elementos y un valor numérico en la variable M. Insertar M en la posición 32 del arreglo. Informar el vector modificado.
Proceso Ejercicio44 Dimension A[121]; Para x <- 1 hasta 120 hacer Escribir 'Ingrese datos: '; Leer A[x]; FinPara Escribir "Ingrese M:"; Leer M; Para x <- 121 hasta 33 hacer A[x] <- A[x - 1]; FinPara A[32] <- M; Para x <- 1 hasta 121 hacer Escribir A[x]; FinPara FinProceso.
Ejercicio 4.5 Leer una arreglo lineal de 120 elementos. Informar separadamente: a. El menor de la lista b. Los elementos que ocupan las posiciones pares. c. Los elementos que sean múltiplos de 9. Si no hay, indicar tal situación.
Proceso Ejercicio45 Dimension A[121]; Menor <- 9999; Bandera <- 1; Para x <- 1 hasta 120 hacer Escribir "Ingrese Numero: "; Leer A[x]; Si A[x] < Menor entonces Menor <- A[x]; FinSi FinPara Escribir "El menor es: ", Menor; Para x <- 2 hasta 120 con paso 2 hacer
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Página 4 de 10 Escribir A[x]; Bandera <- 1; FinSi FinPara Si Bandera = 0 entonces Escribir "No hay multiplos de 9"; FinSi FinProceso.
Ejercicio 4.6 Leer N datos numéricos. Obtener la media M y la desviación standard DS de la lista. Las expresiones para el cálculo son las siguientes: M=
x1 + x 2 + x 3 + ........ + xn
DS =
N ( x1 − m ) 2 + ( x 2 − m ) 2 +........ + ( xn − m ) 2 N
Proceso Ejercicio46 Dimension A[100]; Sum <- 0; Escribir "Ingrese la cantidad de Datos:"; Leer N; Para x <- 1 hasta N hacer Escribir "Ingrese Dato:"; Leer A[x]; Sum <- Sum + A[x]; FinPara M <- Sum / N; Sum <- 0; Para x <- 1 hasta N hacer Sum <- Sum + (A[x] - M)^2; FinPara DS <- RC (Sum / N); Escribir "Media: ",M," D.S.:",DS; FinProceso. Ejercicio 4.7 Leer en un arreglo lineal una lista de 60 nombres. Eliminar del arreglo el nombre 'Juan López'. Si hubiera más de uno, eliminar solamente el que esté ubicado antes en la lista.
Proceso Ejercicio47 Dimension N[60]; Para x <- 1 hasta 60 hacer
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Página 5 de 10 Mientras (C <= 60) & (N[c] <> "Juan Lopez") hacer C <- C + 1; FinMientras Si (C > 60) entonces Escribir "Juan Lopez no se encuentra en la lista" Sino Para x <- C hasta 59 hacer N[x] <- N[ x + 1]; FinPara Escribir "Se ha Eliminado a Juan Lopez de la lista, ahora cuenta con 59 elementos" FinSi FinProceso. Ejercicio 4.8 Leer una matriz de 6x4 elementos. Informar el elemento ubicado en la fila 2 columna 4 con un mensaje alusivo. Obtener también los elementos de la 3er columna y fila 5. Proceso Ejercicio48 Dimension M[6,4]; Para f <- 1 hasta 6 hacer Para c <- 1 hasta 4 hacer Escribir "Leer dato:"; Leer M[ f, c]; FinPara FinPara Escribir 'Fila 2, Columna 4= ', M[2, 4]; Escribir 'Columna 3 '; Para f <- 1 hasta 6 hacer Escribir M[f, 3]; FinPara Escribir 'Fila 5 '; Para c <- 1 hasta 4 hacer Escribir M[5, c]; FinPara FinProceso. Ejercicio 4.9 Leer una matriz cuadrada de 10x10 elementos. Generar un vector con con los elementos que estén por encima de la diagonal principal. Informar el vector generado y los elementos de la fila 7 de la matriz.
Proceso Ejercicio49 Dimension M[10, 10], V[45]; Para f <- 1 hasta 10 hacer Para c <- 1 hasta 10 hacer Escribir "Leer dato: ";
FinPara conta <- 0; Para f <- 1 hasta 10 hacer Para c <- 1 hasta 10 hacer si c < f entonces
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Página 6 de 10 FinPara FinPara Para r <- 1 hasta conta hacer Escribir V[r]; FinPara
Para c <- 1 hasta 10 hacer Escribir M[ 7, c]; FinPara FinProceso.
Ejercicio 4.10 Una empresa distribuidora comercializa 10 artículos. artículos. Posee 4 sucursales sucursales y desea analizar el desempeño de las mismas. Para ello se ingresan los datos correspondientes a las cantidades vendidas de cada artículo por cada sucursal en cierto período. Primero las 10 cantidades de la sucursal 1, luego las 10 de la sucursal 2,... ,hasta la 4ta sucursal. Determine e informe: a. Las cantidades vendidas por la empresa de cada artículo. b. El total de unidades vendidas por la sucursal 3, sumando todos los artículos. c. La cantidad vendida por la sucursal 1 del artículo 6.
Proceso Ejercicio410 Dimension E[4, 10]; Para S <- 1 hasta 4 hacer Para A <- 1 hasta 10 hacer Escribir "Cantidad de articulos:"; Leer E[ S, A]; FinPara FinPara Para A <- 1 hasta 10 hacer Sum <- 0; Para S <- 1 hasta 4 hacer
Sum <- Sum + E[S, A]; FinPara Escribir Sum; FinPara Sum <- 0; Para A <- 1 hasta 10 1 0 hacer Sum <- Sum + E[3, A]; FinPara Escribir "Total Sucursal 3: ", Sum; Escribir "Sucursal 1, articulo 6: ", E[1,6]; FinProceso.
Ejercicio 4.11 Considere los mismos datos del problema anterior. ant erior. Además leer un vector con los precios de los 10 artículos que comercializa la empresa. Determine e informe: a) La recaudación de cada sucursal. b) La recaudación de la empresa. c) La sucursal que obtuvo mayor recaudación.
Proceso Ejercicio411 Dimension E[4, 10], V[10]; Total <- 0; Mayor <- 0; Suc << - 0; Para S <- 1 hasta 4 hacer Para A <- 1 hasta 10 hacer Escribir "Cantidad de articulos:"; Leer E[ S, A]; FinPara FinPara
FinPara Para S <- 1 hasta 4 hacer Sum <- 0; Para A <- 1 hasta 10 hacer Sum <- Sum + E[S, A] * V[S]; FinPara Escribir "Total recaudado por cada Sucursal: ", Sum; Total <- Total + Sum;
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Página 7 de 10 FinPara Escribir "Total "Total Recaudado por la empresa: ", Total;
Escribir "La Sucursal que mas recaudo fue: ", Suc, ' ',Mayor; FinProceso.
Ejercicio 4.12 Una empresa constructora tiene un equipo de 6 arquitectos que trabajan individualmente en diferentes proyectos. La empresa construye diferentes diferentes construcciones de 3 calidades: Tipo 1, Tipo 2, y Tipo 3. Se desea confeccionar una tabla con los m 2 construidos sobre la base de los proyectos de cada
arquitecto y por cada tipo de construcción en lo que va del año. Para ello se ingresan como datos: Nro. arquitecto, Tipo de construcción , Cantidad de m 2 , donde Nro. arquitecto es un valor entre 1 y 6; Tipo de construcción un número entre 1 y 3 y Cantidad de m2, la superficie involucrada en el proyecto. Estos datos finalizan con con Nro. de de arquitecto igual a 0. Estas ternas de datos datos llegan sin orden alguno. Y cada cada arquitecto ha realizado varios proyectos. Determine e informe: a) El total en m2 proyectado por cada arquitecto de cada tipo de construcción. b) El total en m2 proyectado por la empresa computando todos los tipos. Proceso Ejercicio412 Dimension M[6, 3]; Para Tipo <- 1 hasta 3 hacer Para Arq <- 1 hasta 6 hacer M[Arq, Tipo] <- 0; FinPara FinPara Total <- 0; Escribir "Ingrese Num de Arquitecto (1-6): "; Leer Arq; Mientras (Arq <> 0) hacer Escribir "Tipo de Obra (1-3): "; Leer Tipo; Escribir "Metros Cuadrados: "; Leer M2; M[Arq, Tipo] <- M[Arq, Tipo] + M2; Total <- Total + M2; Escribir "Ingrese Num de Arquitecto (1-6): ";
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Página 8 de 10 Leer 2 matrices A y B de 8x12 elementos cada una. Calcular e informar la matriz suma y la matriz promedio. Proceso Ejercicio413 Dimension A[8, 12], B[8, 12], C[8, 12], D[8, 12]; Para fila <- 1 hasta 8 hacer Para columna <- 1 hasta 12 hacer A[fila, columna]<- fila+columna; //Leer A[fila, columna] ; B[fila, columna]<- fila+columna; //Leer B[fila, columna] ; C[fila, columna] <- A[fila, columna] + B[fila, columna]; D[fila, columna] <- C[fila, columna] / 2; FinPara FinPara Para fila <- 1 hasta 8 hacer Para columna <- 1 hasta 12 hacer Escribir C[fila, columna] ; FinPara FinPara Para fila <- 1 hasta 8 hacer Para columna <- 1 hasta 12 hacer Escribir D[fila, columna] ; FinPara FinPara FinProceso. Ejercicio 4.14 En un curso de 30 alumnos se conocen los datos de 4 evaluaciones de cierta asignatura y los nombres de los estudiantes. Se desea determinar la lista con los alumnos regulares (Promedio>=50) y la lista con c on los promovidos (Promedio >=75). Los datos se ingresan por cada evaluación y sin orden alguno: Nro. Alumno , Nro. evaluación, Nota
Proceso Ejercicio413 Dimension Notas[30, 4], Nombres[30], Regulare s[30], Promovidos[30]; Para c <- 1 hasta 30 hacer Escribir "Ingrese el Nombre del Alumno:"; Alumno:"; Leer Nombres[ c ]; FinPara
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Página 9 de 10 FinPara Prom <- Prom/4; Si Prom >= 75 entonces P <- P + 1; Promovidos[P] <- Nombres[A]; Sino Si Prom >= 50 entonces R <- R + 1; Regulares[R] <- Nombres[A]; FinSi FinSi FinPara Para x <- 1 hasta R hacer Escribir "Regular: ", Regulares[x] ; FinPara Para x <- 1 hasta P hacer Escribir "Promovido: ", Promovidos[x]; FinPara FinProceso. CUESTIONARIO Mencione las ventajas y desventajas del empleo de arreglos. Ventaja variable con subíndice, desventaja reserva un lugar constante de memoria. 4.2 ¿Es posible combinar datos de distinto distinto tipo en una estructura de tipo arreglo ?. NO 4.3 ¿Cómo se organizan los datos de un arreglo en memoria ?. Ocupan posiciones contiguas de memoria. ¿Qué tipo de dato debe tener el índice de un arreglo en pseudocódigo? Tipo Ordinal ¿Es posible plantear una expresión como índice ?. Si 4.5 ¿Cuál es el objeto de dimensionar dimensionar el tamaño de una arreglo ?. Reservar el espacio en memoria ¿En un algoritmo se puede usar en un arreglo un tamaño [longitud] diferente del propuesto en la dimensión correspondiente ?. Explique.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Página 10 de 10
Fundamentos de Programación 2007 Prof. Gerardo Sas Email
[email protected] [email protected]