UBA Facultad de Filosofía y Letras Departamento de ... fileUBA Facultad de Filosofía y Letras...

22
UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación INFORMÁTICA 1° cuatrimestre, 2004 ________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana 1 TRATAMIENTO INFORMÁTICO DE LOS PROBLEMAS A través de esta guía se analizarán las diferentes estrategias de resolución de problemas empleando métodos algorítmicos y funcionales. También se compararán ambas estrategias detectando diferencias y similitudes Bibliografía: Comprende a la totalidad de los materiales trabajados hasta este momento Primera parte: Entorno de trabajo del WinLogo 1) Analice el entorno de trabajo que provee el lenguaje de programación WinLogo. Detecte la ventana de edición, la ventana de ejecución, barra de sentencias o comandos, tipos de interfaces que provee. ¿Cómo puede detectar que es un lenguaje interprete y que no compila? ¿Con qué extensión graba los archivos? ¿Los archivos que crea son de datos o de programas? Winlogo, ¿es un lenguaje intérprete o un lenguaje compilador? ¿Qué conceptos emplea para detectar esta característica del lenguaje? Winlogo es un lenguaje de alto nivel. Justifiquen esta afirmación. Las instrucciones de Logo tienen una sintaxis precisa. ¿Qué ocurriría si, por ejemplo, invocaran la orden AV o GD sin el valor de la cantidad de pasos o grados? ¿Qué pasaría si la escribieran sin espacio, p.ej. AV30? Segunda parte : Soluciones algorítmicas 1) a) Empleando las primitivas gráficas de WinLogo construya soluciones algorítmicas que, al ejecutarlas, dibujen en pantalla las siguientes figuras: (a) (b) (c) (d) (e) (f) b) Valide la solución con la computadora. ¿Qué acciones sobre la computadora debe realizar para validar los procedimientos?. Describa la secuencia de acciones. 2) ¿Qué problema resuelve cada uno de los siguientes algoritmos codificados en WinLogo? ¿Constituyen soluciones generales de algún problema? Justifique las respuestas suministrando la mayor cantidad de elementos conceptuales.

Transcript of UBA Facultad de Filosofía y Letras Departamento de ... fileUBA Facultad de Filosofía y Letras...

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

1

TRATAMIENTO INFORMÁTICO DE LOS PROBLEMAS

A través de esta guía se analizarán las diferentes estrategias de resolución de problemas empleando métodos algorítmicos y funcionales. También se compararán ambas estrategias detectando diferencias y similitudes

Bibliografía:

Comprende a la totalidad de los materiales trabajados hasta este momento

Primera parte: Entorno de trabajo del WinLogo

1) Analice el entorno de trabajo que provee el lenguaje de programación WinLogo. Detecte la

ventana de edición, la ventana de ejecución, barra de sentencias o comandos, tipos de interfaces que provee. ¿Cómo puede detectar que es un lenguaje interprete y que no compila? ¿Con qué extensión graba los archivos? ¿Los archivos que crea son de datos o de programas? Winlogo, ¿es un lenguaje intérprete o un lenguaje compilador? ¿Qué conceptos

emplea para detectar esta característica del lenguaje? Winlogo es un lenguaje de alto nivel. Justifiquen esta afirmación.

Las instrucciones de Logo tienen una sintaxis precisa. ¿Qué ocurriría si, por ejemplo,

invocaran la orden AV o GD sin el valor de la cantidad de pasos o grados? ¿Qué pasaría si la escribieran sin espacio, p.ej. AV30?

Segunda parte: Soluciones algorítmicas

1) a) Empleando las primitivas gráficas de WinLogo construya soluciones algorítmicas que, al

ejecutarlas, dibujen en pantalla las siguientes figuras:

(a) (b) (c) (d) (e) (f)

b) Valide la solución con la computadora. ¿Qué acciones sobre la computadora debe

realizar para validar los procedimientos?. Describa la secuencia de acciones.

2) ¿Qué problema resuelve cada uno de los siguientes algoritmos codificados en WinLogo?

¿Constituyen soluciones generales de algún problema? Justifique las respuestas suministrando la mayor cantidad de elementos conceptuales.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

2

Primer procedimiento Segundo procedimiento Tercer procedimiento

PARA PROCA AV 40 GD 90 AV 10 GD 90 AV 30 GI 90 AV 10 GD 90 AV 10 GD 90 AV 20 GD 90 FIN

PARA PROCB SL GD 90 AV 10 GI 90 BL FIN

PARA PROCC AV 20 GD 90 AV 5 GD 90 AV 15 GI 90 AV 5 GD 90 AV 5 GD 90 AV 10 GD 90 FIN

Plantee, para cada uno de estos procedimientos, un posible problema para el cual sean

soluciones. Proponga alguna generalización a los problemas que construyó y modifique el procedimiento de forma tal que se constituya en una solución?

1) ¿Dibujan asteriscos los siguientes programas?.

PARA ASTE :L :C REPITE :C [AV :L RE :L GD 360 / :C] FIN

a) ¿Cómo hacen para validar o refutar la respuesta a la cual arribó?

b) ¿Qué representa :C y qué representa :L?

c) ¿Cómo invocaría el procedimiento para obtener cada una de las siguientes figuras?

2) a) Construya procedimientos generales para dibujar:

i) Cuadrados

ii) Rectángulos

iii) Paralelogramos

iv) Rombos

b) ¿Es posible diseñar un procedimiento general que dibuje cualquiera de las figuras anteriores? ¿Es posible dibujar una recta con algunos de estos procedimientos? Si es

posible muestre cómo lo invocaría; si no lo es justifiquen porqué. ¿Es posible dibujar un cuadrilátero cualquiera con el procedimiento general? ¿Por qué?

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

3

c) ¿Qué elementos provee el lenguaje de programación que está empleando para construir procedimientos generales? ¿Qué relación encuentra entre la estrategia de generalización que provee el lenguaje de programación con el hardware de la computadora?

d) Emplee los procedimientos construidos para editar otros que dibujen en pantalla las siguientes figuras:

3) Considere los procedimientos del ejercicio 2 ¿qué ocurre si edita y ejecuta el siguiente

procedimiento?

PARA DIBU REPITE 4 [PROCA GD 90 ] FIN

Analizando el procedimiento DIBU desde la sintaxis del lenguaje de programación Logo ¿Qué significa que el lenguaje sea un lenguaje extensible?

Mirado el procedimiento desde la técnica de construcción del algoritmo, ¿qué significa modularizar en un procedimiento?

Aprovechando la extensibilidad del lenguaje y la técnica de modular procedimientos, construya guardas empleando diferentes procedimientos del ejercicio 2.

4) Analice el siguiente procedimiento

PARA VER :N :A :B :C :D

repite :N [av :A gd :B av :C gd :D]

FIN

a) ¿Qué tipo de figuras produce? Ejemplifique tres invocaciones distintas con el resultado correspondiente.

b) Cómo modificaría el procedimiento VER para que se convierta en un procedimiento que dibuja sólo:

b.1) rectángulos

b.2) cuadrados

b.3) rombos

5) Pruebe los procedimientos EDIF1, EDIF2 y EDIF3. Fueron construidos usando el único

procedimiento, EDIF.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

4

a) Utilicen EDIF1, EDIF2 y EDIF3 para reproducir cada una de las siguientes escenas. ¿Podrían simplificar la resolución del caso 3 creando un procedimiento que agrupe a otros?

i)

ii)

b) ¿De qué manera se utiliza la noción de generalidad en la “construcción de edificios”?

Ejemplifique.

c) ¿En dónde se aprovecha la noción de modularidad? Ejemplifique.

Tercera parte: Entorno de trabajo de la planilla de cálculo

1) Acceda a Excel y analice la información que suministra su entorno de trabajo:

a) ¿Cuáles son las filas y las columnas? ¿Qué es la intersección de una fila y una columna? ¿Cómo se identifican las filas y las columnas?; por lo tanto ¿cómo se identifican las celdas?

b) ¿Cómo hace para activar y desactivar celdas? ¿Cómo reconocen cuál es la celda activa? ¿Cuántos estados posibles tiene cada celda?

c) Active la celda B5, CC12 y A1. ¿Hay diferencias entre moverse por filas o por columnas para activar las celdas? ¿Y moverse con mouse?

d) ¿Se pueden activar varias celdas a la vez?

e) ¿Cuántas filas ven en la pantalla y cuántas tiene la planilla? ¿Cuántas columnas ven en la pantalla y cuántas tiene la planilla?

f) Al acceder a un nuevo libro, ¿cuántas etiquetas de hojas se ven en pantalla? ¿Pueden agregarse más hojas? ¿Y, eliminar alguna hoja? ¿Cómo? ¿Cómo se identifica cada hoja? ¿Puede una persona cambiar el nombre? ¿Cómo?

g) ¿Con qué extensión se graban los archivos?

h) Recupere el archivo PRIMERO.XLS, para analizar diferentes formas de desplazamiento por la planilla

iii)

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

5

i) Active una celda cualquiera y presionen CTRL y HOME o INICIO, simultáneamente. ¿Qué ocurre? Repitan esta acción para diferentes celdas activas.

j) Presione simultáneamente la tecla CTRL y la tecla END y cursor a derecha ¿qué ocurre?

k) Presione la tecla CTRL y las diferentes teclas de dirección ¿qué ocurre en cada caso?

l) Active la celda A1 y presionen Av. Pág ¿qué ocurre?

m) Active la celda C23 y presionen Re. Pág ¿qué ocurre?

2) Recupere el archivo ALUMNOS1.XLS:

a) ¿Qué celdas contienen datos de tipo texto?

b) ¿Qué celdas contienen datos numéricos?

c) ¿Qué celdas contienen valores de entrada?

d) ¿Qué celdas contienen valores de salida?

e) ¿A qué problema puede tener como solución esta planilla? ¿Cuáles variables son dependientes y cuáles independientes? ¿Qué relación hay entre las variables y las celdas? ¿Cuáles celdas contienen valores de las variables y cuáles rótulos o nombres de las variables? Expliquen todos los posibles sentidos en que una celda puede ser utilizada.

f) ¿A qué estructura de datos corresponde su organización?

g) Modifique los valores de las celdas del rango B2:C4 con los datos de dos cursos

i) ¿Qué efectos observan en las celdas B5 y C5? ¿Por qué?

ii) ¿Cómo varían los gráficos?

h) ¿Qué ocurre si en cambio de números se ingresan letras? ¿Por qué?

3) Ingrese, en las celdas que prefiera, diferentes datos (algunos numéricos otros alfanuméricos de diferente cantidad de caracteres):

a) ¿En qué celdas ingresaron datos numéricos? ¿En cuáles alfanuméricos? ¿Cómo se representan internamente? ¿Dónde se almacenan estos datos? ¿Qué elementos del hardware y del software intervienen en ese proceso?

b) ¿Qué tipo de alineación asigna la planilla de cálculo a los datos de tipo numérico? ¿Y a los de tipo alfanumérico? ¿Puede variarse la alineación que proporciona automáticamente la planilla? ¿Cómo?

c) Para cada uno de los datos anteriormente ingresados pruebe tres formatos distintos.

d) ¿Qué ocurre si ingresan un texto cuya longitud excede el ancho de la columna?. Averigüen de cuántas formas distintas puede ajustarse un texto a una celda.

e) ¿Y si ingresa un número de muchas cifras? ¿Qué tipo de representaciones se pueden aplicar?

f) ¿Se puede modificar el ancho de la columna y el alto de una fila? Verifiquen sus conclusiones.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

6

g) ¿Qué relación se pueden establecer entre las variables según se emplean en lenguaje LOGO y las celdas de Excel?

h) Analizando lo resueltos hasta este momento con el lenguaje LOGO y lo visto hasta ahora de Excel, ¿qué tipos de datos manipulan ambos lenguajes? y ¿qué estructuras de datos es posible implementar con cada uno de ellos?

Cuarta parte: Soluciones funcionales

1) Existen distintos criterios para calcular el peso ideal de una persona. El BMI o Body Mass Index es un método para determinar el exceso comparativo de peso. Prácticamente el BMI le indica si su peso está en buenas relaciones con su altura, si es excesivamente bajo o tiene sobre peso. El BMI ideal para los hombres se sitúa en 21,7 y para las mujeres en 21,2. Hasta 25 el riesgo no es importante.

Recupere el archivo BMI.XLS y analicen el contenido de cada celda.

a) ¿Qué celdas contienen:

i) valores alfanuméricos? ii) los datos de entrada

iii) valores numéricos? iv) la salida (los resultados)

Modifique los valores de entrada para calcular tu respectivo BMI.

b) Proponga tres pares de valores que generen un BMI superior a 30 (valor límite para la

obesidad).

c) ¿Qué celdas contienen fórmulas?. Analizando las fórmulas, exprese en palabras cómo se

calcula el BMI de una persona.

d) Existen numerosas métodos para calcular el peso ideal de una persona, cada una

ligeramente diferente, y basadas en el sexo, la edad y en datos antropométricos (altura, perímetro del tórax, etc.). Completen la planilla con los datos y fórmulas necesarios para calcular el peso ideal de una mujer según cada uno de los siguientes métodos:

i) Método de Broca (el más antiguo): peso ideal = altura en cm. – 100.

ii) Método de Bornhardt: peso ideal = altura en cm. x perímetro torácico dividido por

240.

iii) Método de von Noorden: peso ideal (en gramos) = altura x 430.

iv) Método de Butturini: peso ideal (en kilogramos) = 0,75 x (altura – 150) + 50.

e) Elabore un método algorítmico o funcional que permita comparar los distintos métodos. Si este problema lo resuelve empleando una estrategia algorítmica, ¿cuál sería su

expresión? Puede emplear el tipo de representación del algoritmo que más les gusta o directamente construir un programa empleando el lenguaje de programación WinLogo.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

7

f) Los métodos expuestos en i), ii), iii) e iv), modelizan el peso ideal de una persona, ¿qué entienden por modelo? ¿Qué diferencias o similitudes hay ente modelo – algoritmo - función?

2) a) Analice cada secuencia de acciones, completen la tabla y justifiquen los resultados obtenidos considerando que inicia el trabajo empelando una planilla nueva:

Secuencia Nº 1 En Contenido Representación Tipo de dato E2 Hola E3 1,5 E4 =2E E5 =E2

Secuencia Nº2

En Contenido Representación Tipo de dato B2 2+5 B3 6 B4 =B2+B3 B5 B3 *B4

Secuencia Nº 3

En Contenido Representación Tipo de dato F2 14/07/01 F3 7 F4 =F2+F3

Secuencia Nº 4

En Contenido Representación Tipo de dato D2 1,5 D3 D2 D4 =D2 D4 =D4

b) Vuelque los datos en la planilla de cálculo y compare los resultados obtenidos con los

que anticiparon. En caso de encontrar diferencias, detecten y justifiquen el tipo de error. c) ¿Que tipo de expresión/representación/codificación emplea el software de la planilla de

cálculo para mostrar que el es numérico o alfanumérico? ¿Hay diferencias con respecto al tratamiento de los tipos de datos entre Excel y Logo? Si las hay, detéctenlas y

explíquenlas. Si no las hay, justifique sus deducciones. d) ¿De qué manera la planilla de cálculo reconoce que se ingresó una fórmula? e) ¿Qué diferencias encuentran entre Logo y Excel en los tipos de operaciones aritméticas

que procesan, sus sintaxis y las jerarquías con que se las pueden componer? Según

sus criterios ellas variarán entre los lenguajes de alto nivel? ¿Por qué?

3) Imagine una caja ... ¿Para qué sirve? ¿Qué contiene? ¿De qué color es?

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

8

Las palabras CONTINENTE, CONTENIDO y REPRESENTACION pueden asociarse a la caja, ¿qué relaciones pueden establecerse? ¿Qué sentido tiene decir “representación del continente” y “representación del contenido”?

a) Una celda de una planilla de cálculo también puede ser analizada desde los atributos expuestos para una caja ¿Cómo se relacionan esas palabras con el concepto “celda”?

Ejemplifiquen. Detecte las posibles analogías que se pueden establecer entre la descripción anterior y el concepto de variables en Logo y planilla de cálculo.

b) ¿Qué diferencias en la representación del continente encuentra entre Logo y planilla? ¿Es modificable en la planilla de cálculo la representación del contenido? Justifiquen sus respuestas.

c) Para analizar el contenido de una caja, generalmente hay que abrirla y mirar dentro de ella, ¿cómo se accede al contenido de una celda?

d) ¿Cómo se cambia el contenido de una caja? ¿y el de una celda?

e) ¿Cuáles son las limitaciones que surgen al comparar una celda con una caja?

4) Diseñe una estructura de datos y elabore un modelo que mejor se adecua para presupuestar el costo de una fiesta de aniversario en un salón de fiestas para una determinada cantidad de invitados considerando que la comida típica está constituida por una entrada, un plato fuerte, bebida alcohólica y gaseosa, postre y torta. Considere dentro del presupuesto el alquiler del salón, vajilla y otros servicios atendibles.

Suponiendo que las alternativas posibles para la fiesta son: Salón: Gran Córdoba, alquiler del salón $ 5000

Elite, alquiler del salón $ 2000

Menú, configuración y precios: Menú 1 Menú 2 Entrada (por persona) $ 5,00 $ 3,40

Plato principal (por persona) $ 12,00 $ 11,00

Postre (por persona) $ 4,50 $ 3,70

Torta (cada 30 invitados) $ 100,00 $ 110,00

Bebida alcohólica (cada 5 personas) $ 12,00 $ 10,50

Gaseosas (cada 2 personas) $ 3,00 $ 3,05

Vajillas: Casa La Suntuosa, alquiler por mesa de 8 invitados $ 40 Casa Bavaria, alquiler por mesa de 10 invitados, $ 42

a) ¿Qué estructura de datos seleccionó? ¿Por qué?

b) ¿Cuál será el presupuesto para 100 invitados con menú 1 en el salón Gran Córdoba sin considerar el alquiler de la vajilla?

c) Idem al punto a) para menú 2 en el salón Elite.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

9

d) ¿Cómo se puede emplear la planilla para obtener y comparar distintos presupuestos para una fiesta, cualquiera sea el número de invitados? No se olviden de incorporar el precio del alquiler de vajilla.

e) Suponiendo que se quiere hacer la fiesta en el salón más caro con el menú más caro pero gastando lo que corresponde al salón, alquiler de vajilla y menú más barato, ¿cómo

se resuelve el problema?

5) El archivo PRESIDENTES.XLS contiene información sobre presidentes argentinos.

a) ¿Qué tipo de estructura poseen los datos posee el archivo? ¿Qué variables han sido

utilizadas para describir a cada individuo?. Relacione estas preguntas con los conceptos: registro y campo.

b) ¿Qué estrategias puede implementar para responder los siguientes interrogantes

i. ¿Cuántos presidentes hubo desde Rivadavia hasta la actualidad?

ii. ¿Qué presidentes nacieron en la provincia de Córdoba?

iii. ¿Cuál es la provincia que más presidentes aportó a la Argentina?

iv. ¿Hubo más cantidad de presidentes justicialistas que radicales?

v. ¿Cuántos presidentes abogados tuvimos?

vi. ¿Cuántos de nuestros presidentes fueron depuestos? ¿Por qué?

vii. ¿Qué presidentes murieron durante su mandato?

viii. ¿Cuál fue el presidente más joven que tuvimos?

ix. ¿De los presidentes electos quiénes concluyeron su mandato?

x. ¿Cuáles son los ex presidentes que aún viven?

xi. ¿Qué presidentes pudieron concluir su mandato desde 1950 hasta la actualidad?

c) Proponga por lo menos tres interrogantes que puedan responderse consultando la

información que proporciona la base de datos.

d) ¿Es posible agregar datos a la base? ¿Se pueden agregar registros? ¿Y campos?

¿Cuáles?

e) Si se considera que los datos de este archivo tienen una estructura de tabla de doble entrada, ¿cómo se los debe interpretar, leer y acceder?. Describan todas las diferencias que surgirían de atender ambas organizaciones de datos.

6) Compare la planilla de cálculo con un procesador de textos, desde:

§ las estructuras de datos que permiten manipular

§ los tipos de datos que manipulan

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

10

§ las formas de acceso que proporcionan

§ las operaciones que posibilitan

7) Los siguientes son datos referidos a cinco facultades según los censos de 1958 y 1964 sobre la población inscripta en la UBA.

FACULTAD CENSO 1958 CENSO 1964

Medicina 14.986 10.743

Derecho 10.840 12.260

Ingeniería 7.186 7.532

Agronomía 1.219 1.839

Filosofía y Letras 2.264 5.570

a) Complete con una fila de totales. ¿Qué sentido tiene?

b) Suponga que se quiere conocer para cada año, el porcentaje que representa cada facultad

sobre el total de la UBA. Bastaría con dividir la población de cada facultad por el total respectivo. ¿Qué ocurre si se copia la fórmula construida para Medicina a las demás facultades? ¿Por qué?

c) Verifique que el cálculo es correcto sumando todos los porcentajes (debe dar 100).

d) Represente los datos en gráficos pertinentes al tipo de relaciones que exponen

considerando que tanto quieren analizar los datos por año, como comparar las distribuciones entre ambos censos.

8) Se ha tomado un test a un grupo de 70 individuos. El test consta de 2 pruebas que se califican con un puntaje de 0 a 10. El puntaje final de cada individuo se calcula multiplicando por 3 el resultado de la primera prueba, por 7 el de la segunda y sumando los productos:

ej: Juan prueba 1: 5 prueba 2: 2 Puntaje:5*3+2*7=29

Los resultados parciales del test están grabados con el nombre TEST.XLS

a) Complete calculando los puntajes finales de cada individuo.

b) Calcule el promedio de puntaje para la primera prueba (utilizar la función apropiada y aplicarla a la región rectangular que contiene los datos a promediar). ¿Sirve esta fórmula para las demás columnas? Complete los promedios de la segunda prueba y el promedio

general.

c) Ordene los datos de mayor a menor por el resultado final. (ver DATOS ORDENAR; utilice

la ayuda para conocer los detalles de su utilización).

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

11

d) ¿Qué representa cada registro? ¿Cuál es el campo que lo identifica? ¿Qué campos están en función de otros?

e) El centro asistencial donde se realiza las pruebas debe presentar las siguientes informes:

  Lista de todos los chicos evaluados con bajo rendimiento en la prueba1 (menor de 5

puntos).

  Lista de todos los chicos con igual puntaje inicial en ambas pruebas y cómo incide la

ponderación de sus puntajes en el valor final del test.

  Lista de todos los chicos que poseen 50 entre ambas pruebas.

  Lista de chicos con dificultades en la prueba 1 pero muy buena respuesta en la prueba

2. Consideren que es baja respuesta si sus puntajes se encuentra abajo del promedio y es muy buena respuesta si su puntaje está arriba del promedio.

g) Detectar la cantidad de ejercicios que ambas pruebas deben tener para que con diferente ponderación incidan de la misma forma en el puntaje final.

La función condicional en Excel posee la siguiente sintaxis:

SI (condición; acción si la condición se cumple; acción si la condición no se cumple)

La condición siempre es una proposición lógica cuyo valor de verdad puede ser

“verdadera” o “falsa”. En cualquier lenguaje de programación las proposiciones lógicas se definen o declaran como tipo de datos o como comparaciones Por ejemplo, la comparación A1<1 es una proposición lógica que puede ser verdadera o falsa según lo que contiene la variable A1.

Un ejemplo de condicional en Excel es: SI(A1<0;"Negativo";"Positivo") y la asignación del valor alfanumérico se realizará en la celda activa donde se definió la función.

Las condiciones pueden ser más complejas, componiéndolas usando funciones lógicas (Y, O, NO). La sintaxis de Excel con respecto a proposiciones compuestas es la de

anteponer la función y no como en nuestro lenguaje que la intercalamos dentro de la oración.

Por ejemplo.: SI (Y(A1>10; A2< 20);”Estamos en el intervalo (10, 20)”; “Nos salimos

del intervalo”) se lee “Si A1 es mayor que 10 y A2 es menor que 20 entonces estamos en el intervalo (10,20) sino nos salimos del intervalo.

9) a) Completen la planilla del ejercicio 5- de forma tal que dado el peso de una persona indique si es o no obesa. Una persona se considera obesa si su peso supera el 10% de su peso ideal. Seleccionen uno de los métodos como base para determinar su situación corporal.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

12

b) ¿Cómo varían los intervalos de pesos ideales según el tipo de método empleado? Construyan un método para graficar la variación de los intervalos de peso dentro de los cuales una persona está en el ideal. ¿Cómo influye la altura de la persona en el cálculo del intervalo?.

10) La planilla almacenada en el archivo PUNTAJE.XLS tiene una lista de resultados de parciales de un conjunto de alumnos de una escuela que emplea el siguiente criterio de promoción:

- Si alguna nota es menor que 4, libre.

- Si no quedó libre y el promedio es menor que 7, regular.

- Si no, promovido.

Completen la planilla para que calcule automáticamente la situación de cada alumno.

Quinta parte: Relación entre las soluciones algorítmicas y funcionales.

1. Alguno de los dos siguientes problemas propuestos es obligatorio de realizar.

a) Seleccionen uno de ellos y construyan una solución funcional y una solución algorítmica (eligiendo algún tipo de representación de algoritmos y en lenguaje LOGO).

b) Generalicen la solución modificando las condiciones de contorno de los problemas.

Problema 1: LA ASIGNACION DE BETO

El siguiente problema fue tomado del libro Matemática para Divertirse de Martin Gardner

Ediciones Granica p.40:

Beto quería que su padre le diera una asignación semanal de un dólar, pero su padre se negó a darle más de 50 cts. Después de discutirlo un rato, Beto (que era bastante rápido en aritmética),

dijo: "Quiero decirte algo, papá. Supongamos que lo hacemos de esta manera: hoy es 1 de Abril. Me das 1 centavo hoy . Mañana me das 2 centavos. Pasado, 4. Cada día me das el doble de centavos del día anterior." "¿Por cuánto tiempo?" preguntó el padre con cautela.

"Sólo por el mes de abril", dijo Beto; "después no te pediré más dinero por el resto de mi vida". "Muy bien", dijo el padre rápidamente.

Se desea conocer:

• El dinero que recibe Beto diariamente.

• La suma ahorrada en cualquier día del mes.

• ¿Cuánto ahorraría si el primer día en lugar de 1 centavo su padre le diera 2 centavos?

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

13

Problema 2 : Otra vez la rana!!

Una rana metida en un pozo sube, cada día, la mitad de lo que le falta (en ese momento) para

llegar a la superficie.

Se desea observar el proceso de escalado diario de la rana a partir de cualquier profundidad

inicial y responer con facilidad a preguntas como estas:

• Supongamos que al principio estuviera a 100m de profundidad. ¿A qué profundidad

estaría en la cuarta noche? ¿y en la décima?

• ¿Cuánto tarda en llegar a estar a 1m de la superficie?

• ¿Y si la profundidad inicial fuera de 50m?

2. a) Estructure los datos y modelice el problemas empleando la planilla de cálculo, de forma tal que la solución sea equivalente a la que se obtiene al ejecutar los siguientes procedimientos

LOGO:

PARA UNO :N :T HAZ "S 0 REPITE :N [ESCRIBE :T HAZ "T :T + 2] FIN PARA DOS :X :Q HAZ "J 1 REPITE :X [HAZ "Y :Q * :J ESCRIBE :Y HAZ "J :J + 1] FIN PARA TRES :H :X HAZ "S :X REPITE :H [ESCRIBE :S HAZ "S :X*2 HAZ "X :X+1] FIN

b) ¿Qué procedimientos emplearía y cómo los invocaría para obtener:

b.1) los 20 primeros números pares?

b.2) los 100 primeros números impares?

b.3) los 50 primeros múltiplos de 3?

Obtengan los valores las salidas anteriores usando las planilla generadas en el ítem a).

c) Modifique los procedimientos, elaborados con Logo y con la planilla de cálculo, para obtener

la suma de los números generados.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

14

3. Las soluciones de los ejercicios 9 y 10 apelan a una estructura cíclica. ¿Qué elementos de LOGO y de planilla de cálculo permiten trabajar esta estructura? Compárenlas desde:

§ la sintaxis que emplean los lenguajes,

§ las estrategias de trabajo que impone al que elabora la solución y el usuario que la

ejecuta,

§ las acciones que demanda el lenguaje si se desea modificar el ciclo tanto en las

operaciones o relaciones funcionales establecidas, los datos involucrados y la cantidad de veces que se cicla.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

15

ANEXO I – Manual sintético de WinLogo

Tipo de lenguaje: Alto nivel, imperativo, Interprete

Sintaxis general

Todas las órdenes de logo se invocan de la forma:

ORDEN argumento1 argumento2 ...

La cantidad de argumentos a emplear depende de cada orden y es fija para cada una de ellas.

Los argumentos se separan entre sí con espacios en blanco.

Tipos de argumentos

Las órdenes de Logo, como se dijo, pueden tener argumentos (por ejemplo, en la orden AVANZA, la cantidad de pasos que debe avanzar la tortuga). Los valores, en Logo, pueden ser de tres tipos:

Números: enteros o decimales, con o sin signo

Palabras: combinaciones de letras, números y signos especiales.

Listas: series ordenadas de otros valores que, a su vez, pueden ser palabras, números u otras listas.

¿Cómo se escriben los distintos tipos de argumentos?

En Logo un valor puede escribirse explícitamente o por medio de una expresión que, una vez calculada, produce el valor en cuestión (por ejemplo, 3+2).

Números:

Se usa la notación convencional salvo que se usa punto decimal en vez de coma.

12 -15 0.22 -14.33

Palabras:

Se las denota precediéndolas por comillas. P.ej. "CAMA

No se deben cerrar las comillas. LOGO reconoce que la palabra ha terminado cuando encuentra un espacio en blanco o un símbolo que funciona como separador (un operador como el +, -, *, paréntesis, etc.)

Listas:

Se las denota encerrando entre corchetes los elementos que componen la lista.

P.ej.

Lista de números [1 15.3 12 6]

Lista de palabras [CASA MESA SILLA]

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

16

(notar que en las listas de palabras no hay que usar comillas al principio de cada palabra)

Cómo lee las órdenes LOGO

El proceso que sigue LOGO para interpretar una línea de órdenes es el siguiente:

a- Lo primero de la línea debe ser el nombre de una orden (primitiva o nombre de un procedimiento).

b- Salvo la orden SI (y algunas que no vemos en el curso), todas las órdenes tienen una cantidad fija de argumentos. Una vez reconocida la orden, Logo va buscando cada uno de sus argumentos. Para eso, va recorriendo el texto de la línea

Si hay operadores y/o paréntesis, se les da prioridad en el análisis interpretándolos así:

- Lo que empieza con " es una palabra

ej. "CASA

- Lo que está encerrado entre [ ] es una lista.

ej. [A B C D]

- Lo que empieza con un dígito, debiera ser un número.

ej. 123

- Una palabra precedida por : debe ser el contenido de una variable.

ej. :CANTIDAD

- Una palabra sin " ni : debe ser el nombre de una función que dé por resultado el valor buscado.

ej. RAIZ

Área de Texto:

En este área aparecen los mensajes que emite Win-Logo y las impresiones ordenadas.

Para limpiarla se debe utilizar Borratexto (BT)

Área de Gráficos:

En este área aparecen los dibujos construidos con procedimientos o las primitivas gráficas.

Para limpiarla se debe utilizar BorraPantalla (BP)

Área de Trabajo:

En este área se escriben las órdenes que se desean ejecutar.

• Modo directo: Se escribe la orden que se desea ejecutar y al dar ENTER, automáticamente se ejecuta.

• Procedimiento almacenado: Se define un procedimiento utilizando la sintaxis adecuada, se debe tener especial cuidado de dar ENTER después de escribir la palabra fin, ya que esa es la forma para que quede almacenado. Para ejecutarlo (invocarlo) se debe escribir el nombre y dar ENTER.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

17

Procedimientos:

• Ejecución: Un procedimiento puede ser ejecutado dentro de otro procedimiento con sólo escribir su nombre, manteniendo la estructura con la que fue definido, es decir si se definió con variables, al invocarlo se le deberán asignar los valores o variables.

• Modificación: Para modificar un procedimiento en la misma área de Trabajo, ubicar el cursor dentro del procedimiento a modificar, realizar el cambio que se desea. Para que dicho cambio sea tomado dar ENTER en la palabra fin.

También se puede acceder a una ventana de edición desde la opción Procedimientos/Variables del menú <Utilidades>. En esta ventana se trabaja como en cualquier editor, pero para que se tomen las modificaciones hay que señalar todo el procedimiento y luego acceder a la opción Interpretar del menú <Area>

ALGUNAS PRIMITIVAS DE WINLOGO

Primitiva Modo abreviado

Acción

BorraTexto BT Borra el texto de la ventana Textos

BorraPantalla BP Borra el contenido de la ventana Gráfica

Poncolortexto PonCT Le da color al texto que imprime

Poncolorlápiz Poncl Le da color a la pluma

Subelápiz SL Sin pluma

Bajalápiz BL Con pluma

OcultaTortuga OT oculta la tortuga

MuestraTortuga MT hace visible la tortuga

Avanza n Av n Adelante n pasos

Retrocede n Re n Atrás n pasos

Giraderecha n GD n Gira hacia la derecha n grados

Giraizquierda n GI n Gira hacia la izquierda n grados

Repite n [órdenes] Ejecuta órdenes n veces

Haz “b argumento Asigna a la variable b lo escrito como argumento

Ej: haz “b 10

la variable b tiene el valor 10

Ej. de acumulador

haz “b :b +1

Centro Posiciona la tortuga en el centro del área gráfica

Si condicion [ salida1] [salida2] Ejecuta salida1, en caso que la condición sea verdadera

Para nombre

---

fin

Define un procedimiento llamado nombre.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

18

ANEXO II – Manual sintético de Planilla de Cálculo La ventana de trabajo de la planilla de cálculo Excel presenta los siguientes elementos:

La función de cada elemento es:

• Barra de título: presenta el nombre del programa y del libro con el que se está trabajando.

• Barra de menú: muestra opciones para seleccionar entre distintos conjuntos de comandos.

• Barras de herramientas: están formadas por botones que permiten acceder a ciertos comandos en un menor número de pasos. En la figura precedente se visualizan la barra de herramientas Estándar y debajo la barra de herramientas Formato.

• Cuadro de nombres: muestra la dirección de la celda activa, es decir aquella donde está posicionado el cursor. En el caso de la figura anterior B2 es la celda activa.

• Barra de fórmulas: presenta el contenido de la celda activa.

• Encabezado de fila: presenta los números de las filas.

• Encabezado de columna: muestra los nombres de las columnas.

Enc

abez

ado

de c

olum

na

Barra de título Cuadro de nombres Barra de fórmulas

Barra de menú

Barras de herramientas

Etiqueta de hoja Barra de estado Barras de desplazamiento

horizontal y vertical

Enc

abez

ado

de fi

la

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

19

• Barras de desplazamiento horizontal y vertical: permiten ver partes de la hoja que no se visualizan momentáneamente en la pantalla.

• Etiqueta de hoja: en Excel, cada libro está formado por hojas, cada una de las cuales se identifica por las etiquetas que aparecen en la parte inferior de la ventana.

• Barra de estado: a la izquierda aparece una breve descripción del comando seleccionado o la operación que se está llevando a cabo y a la derecha muestra el estado de algunas teclas.

Desplazamientos en la planilla: Para desplazarse por las celdas de la planilla se pueden emplear las flechas de movimiento del cursor o el mouse. Si se usa el mouse, para activar una celda se debe hacer clic en ella.

Introducción de un valor en una celda: Activar la celda y tipiar el dato correspondiente y luego oprimir Enter o una tecla de movimiento del cursor.

Borrado del contenido de una celda: Activar la celda en cuestión y oprimir la tecla Delete (o Suprimir).

Modificación del contenido de una celda: En primer lugar activar la celda a cambiar. Si lo que se quiere es reemplazar el contenido actual por otro, simplemente se rescribe en la misma y al terminar se oprime Enter. En cambio, si lo que se desea realizar es una modificación parcial de su contenido, se deberá cliquear en el lugar a cambiar pero en la barra de fórmulas, borrar y/o tipiar lo necesario y por último oprimir la tecla Enter.

Incorporación de una fórmula en una celda: Las fórmulas se ingresan como cualquier otro dato, pero precediéndolas por el signo “=”.

Los operadores aritméticos que se emplean en la definición de fórmulas son:

Adición Sustracción Multiplicación División Potenciación Porcentaje

+ - * / ^ %

Copia de una fórmula: Activar la celda que contiene la fórmula que se quiere copiar. Acceder al menú Edición y elegir la opción Copiar. Seleccionar el conjunto de celdas donde se copiará la fórmula. Elegir la opción Pegar del menú Edición.

Inserción de una columna o fila: Activar una celda contenida en la columna o fila inmediata posterior a la que se quiere agregar. Elegir la opción Columna o Fila, según corresponda, del menú Insertar.

Inserción de una función: Acceder al menú Insertar y elegir la opción ƒx Función.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

20

� Al abrirse la ventana “Pegar función”, seleccionar del cuadro “Categoría de función”, la categoría a la cual pertenece la función buscada. Luego en el cuadro “Nombre de la función” elegir la función requerida. Hacer clic en el botón Aceptar.

� Completar los argumentos que la función demande. Hacer clic en el botón Aceptar.

Nota: Las funciones operan con argumentos obligatorios (no pueden omitirse) y optativos.

Creación de un gráfico: Seleccionar las celdas con los datos a representar. Acceder al menú Insertar y luego elegir la opción Gráfico... A partir de este momento se deberán seguir los cuatro pasos que indica el Asistente para gráficos.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

21

� Determinar el tipo de gráfico y pulsar el botón <Siguiente>.

� Presenta una vista previa del gráfico y permite modificar el rango de datos a representar e indicar la disposición de los datos en la tabla (filas o columnas). Presionar <Siguiente>.

Gestión de la lista mediante el comando Formulario: Se debe activar una celda de la lista. Acceder al menú Datos y elegir la opción Formulario... Se presentará el siguiente cuadro, donde cada elemento cumple la función que se indica:

Nota: Muchas de las altas, bajas y modificaciones sobre la base de datos pueden realizarse sin el empleo del comando Formulario, directamente accediendo al registro (fila) de la lista y trabajando sobre las celdas que correspondan en la hoja de cálculo propiamente dicha.

Filtrado automático de datos: Activar una celda de la lista. Acceder al menú Datos, opción Filtro y luego seleccionar Autofiltro. Cliquear sobre el botón de flecha correspondiente al campo por el cual se quiere filtrar y elegir, en el listado que se despliega, la condición que se impondrá a los registros a filtrar.

Ingreso de un nuevo registro

Acceso a un registro

Especificación de condiciones de búsqueda de registros

Borrado de un registro

Indicación del nº de registro actual

� Indicar la ubicación que se le dará al gráfico: en una hoja nueva diferente de la que contiene los datos o bien como objeto incrustado en la misma hoja donde se hallan los datos. Oprimir el botón <Terminar>.

� Permite personalizar ciertos elementos del gráfico como títulos, leyendas, rótulos, etc. y agregar la tabla de datos correspondientes al gráfico. Pulsar <Siguiente>.

UBA Facultad de Filosofía y Letras Departamento de Ciencias de la Educación

INFORMÁTICA 1° cuatrimestre, 2004

________________________________________________________________________________________________ Soluciones algorítmicas y funcionales Caraballo, Silvina: Cicala, Rosa: Muraro: Susana

22

Visualización de la lista completa luego de haberla filtrado: Cliquear sobre el botón de flecha correspondiente al campo por el cual se filtró (dicho botón aparecerá en color azul) y luego seleccionar del listado la opción Todas.

Eliminación de filtro automático: Activar una celda de la lista. Acceder al menú Datos, luego a Filtro y luego seleccionar (desmarcar) la opción Autofiltro.

Ordenamiento de los datos: Activar una celda de la lista. Acceder al menú Datos y elegir Ordenar...

Permiten determinar múltiples niveles de ordenamiento al indicar por cual columna ordenar en primer lugar, cual tener en cuenta en segundo término y cual en tercero. Además se especifica el tipo de orden , p. ej.: “ascendente” corresponderá a ordenar números de menor a mayor o rótulos en forma alfabética de la A la Z.

Si la casilla de verificación “Sí” está marcada, no tomará para ordenar la fila correspondiente al rótulo de los campos.