Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Relación 1, Apuntes de Informática

Asignatura: Elementos de Programación, Profesor: , Carrera: I.T.I. Sistemas, Universidad: UMA

Tipo: Apuntes

Antes del 2010

Subido el 25/10/2007

josemanuelk6
josemanuelk6 🇪🇸

4.2

(56)

58 documentos

1 / 3

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Elementos de Programación Primera Relación de Problemas 1
UNIVERSIDAD DE MALAGA
DPTO. DE LENGUAJES Y C. DE LA COMPUTACION
E.T.S. DE INGENIERIA INFORMATICA
INGENIERIA INFORMATICA
ELEMENTOS DE PROGRAMACIÓN
(CURSO 2004-2005)
PRIMERA RELACIÓN DE PROBLEMAS
1.- Dada la siguiente gramática:
Símbolos no terminales: Los englobados entre <>
Símbolos terminales: El resto
Axioma inicial: <cabecera>
Reglas:
R1)<cabecera> ::= <def-tipos><decl-var>
R2)<defTipos> ::= TIPOS {<ident>=<tipo>;}
R3)<tipo> ::= <tipoEnum>|<tipoSubrango>|<tipoArray>
R4)<tipoEnum> ::= ‘(‘ <ident>{,<ident>}’)’
R5)<tipoSubrango> ::= ‘[‘ <cte> ‘..’ <cte> ‘]’
R6)<tipoArray> ::= ARRAY <ident> DE <tipo>
R7)<declVar> ::= VARIABLES {<ident>{,<ident>}:
(<enum>|<subrango>|<array>);}
R8)<enum> ::= <ident>
R9)<subrango> ::= <tipoSubrango>
R10)<array> ::= <ident>
R11)<ident> ::= <letra>{<letra>|<digito>}
R12)<letra> ::= a|.......|z
R13)<digitoNoNulo>::= 1|2|3|...|9
R14)<digito> ::= 0|<digito-no-nulo>
R15)<cte> ::= <digitoNoNulo>{<digito>}
Analice la siguiente frase y razone para cada una de las líneas numeradas si pertenece o no al
lenguaje generado por la gramática.
TIPOS
1) lista1 = ARRAY [1 .. 20] DE colores;
2) colores=(amarillo, azul, rojo, verde4);
3) indice=[1 .. 20];
4) lista2 = ARRAY indice DE colores;
5) lista3 = ARRAY indice DE indice;
6) lista4 = ARRAY colores DE [1 .. 20];
VARIABLES
7) z1: lista4;
8) x1: (amarillo, azul, rojo, verde4);
9) x2: colores;
10) y1: [1 .. 20];
11) y2: indice;
12) z2: ARRAY indice DE colores;
Si la respuesta es que pertenece se pide dar la secuencia de reglas (derivación izquierda); si la
respuesta es negativa explicar que regla falla. Ejemplo de solución:
1 F Errónea, pues la regla R6 exige que en la sección de TIPOS, tras la palabra
ARRAY venga un <ident> y el primer carácter que viene es ‘[‘, que no es una letra
7 V Correcta por aplicación de R7, R11, R12, R14, R13, R8, R11, R12, R14, R13
Elementos de Programación Primera Relación de Problemas 2
2.- Dada la siguiente gramática expresada en notación BNF
Axioma inicial = A
Símbolos terminales = a,b,c,d,e,g,m,n,s
Símbolos no terminales = A,B,E,F,P
Reglas sintácticas 1. A ::= a B c |
2. Bc
3. B ::= [b]dE
4. E ::= eE |
5. gE |
6. F |
7. {mP}
8. F ::= [sF]
9. P ::= n
Determine si las siguientes frases son correctas o no. Si son incorrectas indique el motivo, y si
son correctas indique la secuencia de reglas que hay que aplicar las reglas para obtenerlas a
partir del axioma inicial. 1. abdegeec
2. adeeggsmnc
3. abdeeggmnmnc
4. abdegegmmnnc
5. desssc
3.- Defina las gramáticas (mediante notación BNF y diagramas CONWAY) que generen los
siguientes lenguajes:
a) L = {banb / n impar y mayor que cero}
b) L = {anb2n / n >= 0}
c) El lenguaje que define expresiones algebraicas con paréntesis, corchetes y llaves. Se
eliminarán los números y símbolos de operación, y nos quedaremos sólo con paréntesis,
corchetes y llaves. Ciertas disposiciones serán válidas y ciertas no. Ejemplos:
Válidas ( )
( {[ ] ( ) } [ ])
{ }[ [ ] ]
Inválidas ) (
[ (
( { ) }
4.- Dadas la siguientes gramáticas expresada en notación BNF
1) Axioma inicial = A
Símbolos terminales = a,b,c,d,e
Símbolos no terminales = A,B,C,D,E
Reglas sintácticas: 1. A ::= a E d
2. E ::= { (BC) | D }
3. B ::= b {b | e}
4. C ::= c
5. D ::= d {d}
A.- Determine si las siguientes frases son correctas o no. Si son incorrectas indique
el motivo, y si son correctas indique como hay que aplicar las reglas para
obtenerlas a partir del axioma inicial.
1. a b e b b e d b c d d
2. a b c b c d d
B.- Obtenga la representación de la misma en notación Conway.
pf3

Vista previa parcial del texto

¡Descarga Relación 1 y más Apuntes en PDF de Informática solo en Docsity!

Elementos de Programación

Primera Relación de Problemas

UNIVERSIDAD DE MALAGA

DPTO. DE LENGUAJES Y C. DE LA COMPUTACION

E.T.S. DE INGENIERIA INFORMATICA

INGENIERIA INFORMATICA

ELEMENTOS DE PROGRAMACIÓN

(CURSO 2004-2005)

PRIMERA RELACIÓN DE PROBLEMAS

1.- Dada la siguiente gramática:

Símbolos no terminales: Los englobados entre <>Símbolos terminales: El restoAxioma inicial: Reglas:

R1)

::= <def-tipos><decl-var>

R2)

::= TIPOS {=;}

R3)

::= ||

R4)

::= ‘(‘ {,}’)’

R5) ::= ‘[‘ ‘..’ ‘]’R6)

::= ARRAY DE

R7)

::= VARIABLES {{,}:

(||);}

R8)

::=

R9)

::=

R10)

::=

R11)

::= {|}

R12)

::= a|.......|z

R13)::= 1|2|3|...|9R14)

::= 0|<digito-no-nulo>

R15)

::= {}

Analice la siguiente frase y razone para cada una de las líneas numeradas si pertenece o no allenguaje generado por la gramática.

TIPOS1)

lista1 = ARRAY [1 .. 20]

DE colores;

colores=(amarillo, azul, rojo, verde4);

indice=[1 .. 20];

lista2 = ARRAY indice DE colores;

lista3 = ARRAY indice DE indice;

lista4 = ARRAY colores DE [1 .. 20]; VARIABLES7)

z1: lista4;

x1: (amarillo, azul, rojo, verde4);

x2: colores;

  1. y1: [1 .. 20];11) y2: indice;12) z2: ARRAY indice DE colores; Si la respuesta es que pertenece se pide dar la secuencia de reglas (derivación izquierda); si larespuesta es negativa explicar que regla falla. Ejemplo de solución:^1

F^

Errónea, pues la regla R6 exige que en la sección de TIPOS, tras la palabraARRAY venga un y el primer carácter que viene es ‘[‘, que no es una letra

7

V^

Correcta por aplicación de R7, R11, R12, R14, R13, R8, R11, R12, R14, R

Elementos de Programación

Primera Relación de Problemas

2.- Dada la siguiente gramática expresada en notación BNF

Axioma inicial

=^

A

Símbolos terminales

= a,b,c,d,e,g,m,n,s

Símbolos no terminales

A,B,E,F,P

Reglas sintácticas

1.^

A ::=

a B c |

2.^

Bc

3.^

B ::=

[b]dE

4.^

E ::=

eE |

5.^

gE |

6.^

F^

7.^

{mP}

8.^

F ::=

[sF]

9.^

P ::=

n

Determine si las siguientes frases son correctas o no. Si son incorrectas indique el motivo, y sison correctas indique la secuencia de reglas que

hay que aplicar las reglas para obtenerlas a

partir del axioma inicial.

1.^

abdegeec

2.^

adeeggsmnc

3.^

abdeeggmnmnc

4.^

abdegegmmnnc

5.^

desssc

3.- Defina las gramáticas (mediante notación BNF y diagramas CONWAY) que generen los

siguientes lenguajes:

a)^

L = {ba

n b / n impar y mayor que cero}

b)^

L = {a

n2n b

/ n >= 0}

c)^

El lenguaje que define expresiones algebraicas con paréntesis, corchetes y llaves. Seeliminarán los números y símbolos de operación, y nos quedaremos sólo con paréntesis,corchetes y llaves. Ciertas disposiciones serán válidas y ciertas no. Ejemplos:

Válidas

( )( {[ ] ( ) } [ ]){ }[ [ ] ]

Inválidas

) ([ (( { ) }

4.- Dadas la siguientes gramáticas expresada en notación BNF

1)^

Axioma inicial

=^

A

Símbolos terminales

=^

a,b,c,d,e

Símbolos no terminales

A,B,C,D,E

Reglas sintácticas:

1.^

A ::= a E d

2.^

E ::= { (BC) | D }

3.^

B ::= b {b | e}

4.^

C ::= c

5.^

D ::= d {d}

A.- Determine si las siguientes frases son correctas o no. Si son incorrectas indique

el motivo, y si son correctas indique como hay que aplicar las reglas paraobtenerlas a partir del axioma inicial.

1.^

a b e b b e d b c d d

2.^

a b c b c d d

B.- Obtenga la representación de la misma en notación Conway.

Elementos de Programación

Primera Relación de Problemas

5.- ¿Cuántas veces se ejecutará la

Acción I

cont

0

MIENTRAS

(cont <

HACER

cont

cont

  • 1

SI

(cont

= 10)

ENTONCES

Acción I FINSI FINMIENTRAS

6.- ¿Cuál es el valor de la variable booleana

test

después de la ejecución de los siguientes bucles?

test

TRUE

test

N

MOD

2 =

0

PARA

contador

1

HASTA

N

HACER

PARA

contador

1

HASTA

N

HACER

test

¬

test

test

¬

test

FINPARA

FINPARA

7.- Demostrar que la estructura

SI

cond

ENTONCES s

SINO

s

FINSI

donde

cond

es una expresión de evaluación booleana y

s

y

s

representan secuencias de

acciones, se puede expresar mediante bucles

MIENTRAS

8.- Demostrar que una estructura

PARA

se puede expresar mediante una estructura

MIENTRAS

Demostrar

que

una

estructura

REPETIR

se

puede

expresar

mediante

una

estructura

MIENTRAS

Nota: Una vez resueltos los ejercicios 8, 9 y 10 tenemos demostrado el teorema de Bhom y

Jacopini, relativo a que sólo son necesarias dos estructuras de control: secuencia y bucleindefinido con control al principio. Este resultado tiene interés teórico: mínimo númerode estructuras necesarias en un lenguaje de programación. No obstante, en la practica seusan todas las que hemos estudiado en teoría, pues mejoran la claridad del código.

10.- Demostrar que si para una estructura

MIENTRAS

, sabemos al comenzar la ejecución una cota

superior del número de veces que se ejecuta el cuerpo, entonces esa estructura se puedesustituir por una estructura

PARA

11.- Diseña un algoritmo que lea de teclado las temperaturas de los 12 meses del año y calcule la

temperatura media anual. El algoritmo pedirá la información de cada mes con el siguienteformato:

Introduzca la temperatura para el mes de Enero:...

12.- Diseña un algoritmo que lea por teclado dos números naturales m y n (m>=n) y calcule el

número combinatorio formado por ambos números. La expresión que lo determina es:

n)!-

(m

n!

m!

13.- Escribe un algoritmo que calcule el valor de S para un número real X dado por teclado,

utilizando la siguiente serie:

S = 1 + X +

2 X 2!

X+

4 X 4!

Nota: No se añadirán más sumandos cuando se calcule uno con valor menor que 0.0001.

Elementos de Programación

Primera Relación de Problemas

14.- Confecciona un bucle que lea de teclado un texto carácter a carácter hasta localizar un punto, y

que al final dé como salida el número de comas encontradas, y el número de caracteres leidos. 15.- Escribe un algoritmo que encuentre el mayor, el menor y la media aritmética de una colección

de N números leidos por el teclado donde N es el primero de los números. 16.- Desarrollar un algoritmo para el siguiente juego:

El usuario introduce un límite inferior, un límite superior y piensa un número en ese rango.El ordenador tiene que acertarlo. Para ello el ordenador propone un número y el usuarioresponde con >, < o =(correspondiente a acertado y el programa acaba). Si la respuesta es >o <, el ordenador propondrá otro número hasta que lo acierte. 17.- Mejora del anterior: Dados el límite superior y el límite inferior, el ordenador dará una

estimación del número de preguntas máximo que va a necesitar para acertar y el algoritmodebe acertar dentro de ese máximo. 18.- Escribe un algoritmo que lea un número natural N por teclado y dibuje un triángulo de

asteriscos con base y altura N. Por ejemplo si N=5 debería dibujarse:

*^

*^

*^

*^

*^

*^

*^

*^

*^

19.- Escribe un algoritmo que imprima una pirámide de dígitos como la de la figura, tomando como

entrada el número de filas de la misma (se supone menor de 10).

(^1) 1 2 1 1 2 3 2 11 2 3 4 3 2 1 1 2 3 4 5 4

23 1

20.- Diseña un algoritmo que lea de teclado un número natural

n

mayor que cero y muestre las

n

primeras filas del siguiente triángulo.

(^1232) (^345434567654) (^56789876567890109876) (^7890123210987890123454321098) (^901234567654321090123456789876543210) (^123456789010987654321) .......................

21.- Escribe un algoritmo que lea un lista de números enteros terminada en 0, y que encuentre y

escriba en la pantalla la posición de la primera y de la última ocurrencia del número 12 dentrode la lista. Si el número 12 no está en la lista, el algoritmo debería escribir 0. Por ejemplo, si eloctavo número de la lista es el único 12, entonces 8 sería la primera y la última posición de lasocurrencias de 12. 22.- Diseña un algoritmo que encuentre todos los números primos menores que un número dado N.