Вы находитесь на странице: 1из 4

Universidad de Mlaga ETSI de Telecomunicacin

Titulacin: Ingeniero de Telecomunicacin Asignatura: Elementos de Programacin Curso 2002-2003 Relacin n 1

1.- Disea mquinas de Turing que realicen las siguientes tareas, con las condiciones iniciales correspondientes: a) Calcular la diferencia entre dos nmeros. Condiciones iniciales de la cinta y de la cabeza:

| *

| *

b) Calcular el producto de dos nmeros. Condiciones iniciales de la cinta y de la cabeza:

| *

| *

c) Comprobar si un nmero es par o impar. Condiciones iniciales de la cinta y de la cabeza:

| *

2.- Escribe una gramtica, en notacin BNF, y los diagramas sintcticos de Conway correspondientes, que genere un lenguaje que contenga las sentencias de asignacin y de seleccin del pseudolenguaje visto en clase. Nota: Ser necesario generar las expresiones aritmticas y booleanas. 3.- Considera las siguientes definiciones sintcticas BNF: <nombre> ::= <primer-nombre> <apellido> <primer-nombre> ::= <nombre-propio> <apellido> ::= <nombre-propio> {- <nombre-propio>} <nombre-propio> ::= <mayscula> {<minscula>} <mayscula> ::= A|...|Z <minscula> ::= a|...|z Expresa estas definiciones sintcticas utilizando diagramas de Conway. Suponiendo que no se permite ningn espacio en blanco, salvo aquellos incluidos en las definiciones sintcticas, explica si cada uno de los siguientes nombres pertenece o no al lenguaje generado por esas definiciones: i) Valerie Wilson v) Eric P.D.Smith ii) David Michael Evans vi) J Crothers iii) John Pierce-Davis vii) Dr Lewis iv) Joan Pierce-Davis

4.- Define gramticas en BNF y con diagramas sintcticos de Conway que generen los lenguajes definidos a continuacin: a) L = {anb2n : n0} b) L = {anbnc: n0} c) L = {banb: n>0,n impar} d) Escribir una gramtica que reconozca todas las cadenas de letras minsculas que contengan la palabra wally o cualquier subsecuencia de ella. Por ejemplo, son vlidas las cadenas aquiestawally, aquitambien (contiene la a que est en wally), y son secuencias no vlidas: noseve, niporestesitio. e) Escribir una gramtica que genere nmeros que son mltiplos de 4, sabiendo que un nmero es mltiplo de 4 si termina en 00 o el nmero formado por sus dos ltimas cifras lo es. f) Escribir una gramtica que genere las palabras, de cualquier longitud, con las letras a, b y c de manera que haya un nmero par de a y de b. 5.- Utilizando el pseudolenguaje visto en clase, disea programas que: a) Calculen el mayor de dos nmeros. b) Calculen el mayor de tres nmeros. c) Calculen el mayor de N nmeros (el valor de N ledo del teclado). 6.a) Considera el siguiente cdigo, en el que Pi (i=1,2,3,4) son segmentos de cdigo cualesquiera:
si a > 0 entonces P1 sino si b != 0 entonces P2 sino si a == b entonces P3 sino si a == 0 entonces P4 finsi

Para qu valores de a y b se ejecuta P4 ? b) Bajo qu condiciones terminan las siguientes instrucciones? Supn que a es un nmero entero cualquiera.
c1)mientras n!=50 hacer n = n - 1 finmientras c3)mientras n != 50 hacer si n<50 entonces n = n + 1 finsi si n>50 entonces n = n - 1 finsi finmientras c2) mientras n != 50 hacer n = n - a finmientras c4) mientras n != 50 hacer mientras n<=100 hacer n = n + 1 finmientras finmientras

7.- Disea y optimiza un algoritmo que calcule nmeros combinatorios. 8.- Cuntas veces se ejecutar la Accin I ? a) cont=0 b ) cont=0
mientras cont < 10 hacer cont = cont + 1 si cont == 10 entonces Accin I finsi finmientras mientras cont < 10 hacer si cont == 10 entonces Accin I finsi cont = cont + 1 finmientras

9.- Cul es el valor de la variable booleana test despus de la ejecucin de los siguientes bucles?
test = TRUE para contador = 1 hasta N hacer test = NOT test finpara test = N MOD 2 == 0 para contador = 1..N hacer test = NOT test finpara

10.- Qu rango de valores pueden tomar X e Y para garantizar que el siguiente algoritmo iterativo termina?
a = X b = Y repetir mientras a>b a = a finmientras mientras b>a b = b finmientras hasta que a == b

hacer b hacer a

11.- Escribe un algoritmo que calcule el valor de S para un nmero real X dado utilizando la siguiente serie: S= El valor de S se calcular con un error menor que 0.0001. 12.- Confecciona un bucle que lea de algn dispositivo de entrada un texto de carcter en carcter hasta localizar un punto, y que al final d como salida el nmero de comas encontradas, y el nmero de caracteres ledos. 13.- Escribe un algoritmo que lea un nmero natural N y dibuje un tringulo de asteriscos con base y altura N. Por ejemplo si N=5 debera dibujarse: * * * * * * * * * * * * * * * 14.- Escribe un algoritmo que lea un nmero natural N y un carcter. La salida debe ser un rombo compuesto del carcter y de la anchura que especifica el nmero N. Por ejemplo, si N es 5 y el carcter es *, el rombo sera: * * * * * * * * * * * * * * * * * * * * * * * * * 15.- Escribe un algoritmo que imprima una pirmide de dgitos como la de la figura, tomando como entrada el nmero de filas de la misma. 1 121 12321 1234321 123454321
2 3 4 1+X+X +X +X + 2! 3! 4!

16.- Escribe un algoritmo que lea un lista de nmeros enteros terminada en 0, y que encuentre y escriba en la pantalla la posicin de la primera y de la ltima ocurrencia del nmero 12 dentro de la lista. Si el nmero 12 no est en la lista, el algoritmo debera escribir 0. Por ejemplo, si el octavo nmero de la lista es el nico 12, entonces 8 sera la primera y la ltima posicin de las ocurrencias de 12. 17.- Disea un algoritmo que encuentre todos los nmeros primos menores que un nmero dado N. 18.- Disea un algoritmo que encuentre el primer nmero perfecto mayor que 28. Un nmero es perfecto si coincide con la suma de sus divisores. Por ejemplo, 28 es perfecto ya que 28 = 1 + 2 + 4 + 7 + 14. 19.- Dada una sucesin, de longitud indeterminada, de ceros y unos, construir un algoritmo que permita calcular el tamao de la mayor subsucesin ordenada de menor a mayor. La sucesin se lee desde el teclado, y el final viene dado por el nmero 2. 20.- Disea un algoritmo que determine si la cadena abc aparece en una sucesin de caracteres cuyo final viene dado por un punto.

Вам также может понравиться