[Pauta] [Inf 140] Control Ii

3

Click here to load reader

Transcript of [Pauta] [Inf 140] Control Ii

Page 1: [Pauta] [Inf 140]   Control Ii

Pontificia Universidad Católica de Valparaíso

Facultad de Ingeniería

Escuela de Ingeniería Informática

PHM/DCP

23/06/2008

[PAUTA] Control II – Informática 1 (INF 140)

Nombre:

1.- Verdadero – Falso. (16 puntos)

Instrucciones: Indicar, en cada caso, si el enunciado presentado es Verdadero o Falso. Si la respuesta es Falso, es

requerido justificar claramente el por qué. La negación simple no es admisible como respuesta. Cada respuesta correcta

equivale a 4 puntos.

a) En un algoritmo no es recomendable emplear variables globales cuando se agregan Funciones dentro de él, pues

estas variables interfieren con el bloque de declaraciones locales de cada Función. Esta situación no se da cuando

se emplean Procedimientos.

Falso. Las variables globales de un algoritmo no interfieren o alteran en absoluto los valores de las variables declaradas en

los bloques de declaración local, pertenezcan estos últimos a una Función ó a un Procedimiento.

b) El sistema binario es un sistema de numeración en donde cada uno de los símbolos utilizados de denominan bit

(BInary digiT). En este sentido, 5 Kilobytes corresponden a 40.960 bits, 5120 bytes, ó también a 10.240 Nibbles.

Verdadero.

c) La principal ventaja de utilizar la forma de representación de números enteros llamada Módulo y Signo, es que

ofrece una única representación para el número 0(10).

Falso. Por el contrario, este método ofrece dos formas de representar el número 0(10). Sea n = 8 la cantidad de bits. El

número 0(10) se puede representar como:

0 0000000 -> +0 || 1 0000000 -> -0

d) La gran ventaja de utilizar la forma de representación de números enteros llamada Complemento a 2, es que en

ocasiones permite añadir un bit extra al número representado, por medio de los potenciales “acarreos”

existentes durante la obtención de número final.

Falso. No se observan “bits extras” durante la obtención de un número representado en Complemento a 2, pues de darse la

situación de existir acarreos sucesivos, el último acarreo se desprecia, conservándose la cantidad original de bits.

Profesores: Pamela Hermosilla Monckton Ayudantes: Daniel Gómez Cornejo

Daniel Cabrera Paniagua Enrique Urra Coloma

Page 2: [Pauta] [Inf 140]   Control Ii

Pontificia Universidad Católica de Valparaíso

Facultad de Ingeniería

Escuela de Ingeniería Informática

PHM/DCP

23/06/2008

2.- Desarrollo de algoritmos. (44 puntos)

Instrucciones Generales

� Indicar cualquier suposición que exista en el desarrollo de los problemas. Recordar que estos supuestos

no deben cambiar la orientación de ellos.

� Responder en forma ordenada y con letra legible. Los desarrollos que no cumplan con esta condición no

serán considerados en la corrección.

� El algoritmo deben implementarse en pseudolenguaje, y de forma completa.

� Además, se debe incluir la estrategia utilizada para enfrentar el desarrollo del problema (Análisis).

a) [26 Puntos] Dado un arreglo de largo N que contiene números enteros mayores que 0, se solicita desarrollar un algoritmo

que permita ordenarlo, de modo que cada valor en él quede agrupado repetidamente y en orden (de izquierda a derecha),

acorde a su cantidad de repeticiones. Ejemplo para un caso con N = 13:

5 3 5 5 8 5 3 4 8 4 6 8 4

6 3 3 4 4 4 8 8 8 5 5 5 5

Resp:

Algoritmo Ordenar

Var Entero: arreglo[1..n], orden[1..n], contador, num, i, j, k.

Inicio

contador <- 0

k <- 1

desde num <- 1 hasta n hacer

desde j <- 1 hasta n hacer

desde i <- 1 hasta n hacer

si (arreglo[j] = arreglo[i]) hacer

contador <- contador + 1

fin_si

fin_desde

si (contador = num) hacer

desde i <- 1 hasta num hacer

orden[k] <- arreglo[j]

k <- k + 1

fin_desde

fin_si

k <- 1

fin_desde

fin_desde

Fin

Page 3: [Pauta] [Inf 140]   Control Ii

Pontificia Universidad Católica de Valparaíso

Facultad de Ingeniería

Escuela de Ingeniería Informática

PHM/DCP

23/06/2008

b) [18 Puntos] Resolver los siguientes ejercicios.

b.1) (208(16) / 5(16))*(4(16) + 2(16)) [Resultado en base decimal]

(520/5)*(6)

104*6

= 624(10)

b.2) (11111111(2) / 21(8))*(1E(16) – 5(10)) [Resultado en base binaria]

(255(10) / 17(10)) * (19(16))

15(10) * 25(10)

375(10) = 101110111(2)

b.3) 10010010 (MS) + 01101101 (MS) [Resultado en base decimal]

Resp: -127(10)