Hola a todos, he empezado a estudiar C a través de una plataforma online. Me han enviado material en pdf pero son lecturas de una introducción. Necesitaría una ayuda de como entenderlo. Gracias
Pasos a seguir Los pasos a seguir para llevar a cabo la actividad son: 1. Leer detenidamente estas instrucciones e identificar los requerimientos de la actividad. 2. Revisar detenidamente la rúbrica de evaluación. 3. Consultar los recursos necesarios facilitados en el aula. 4. Indicar si son correctas o no las expresiones indicadas, especificando el motivo o motivos, dadas las definiciones de tipos, constantes y variables siguientes: tipo ftipo const continente = { AMERICA, EUROPA, ASIA, AFRICA, OCEANIA }; pais = { ECUADOR, FRANCIA, CHINA, AUSTRALIA, MARRUECOS }; numContinentes : entero = 5; numPaises : entero = 5; maxDistancia : real = 50.0; fconst var fin: boolea ; d, q: entero ; m, w: real ; v: caracter ; c, f: continente; p, a, s: pais; fvar Expresiones: a) falso y fin o p = a b) 0 < d y d < maxDistancia c) codigoACaracter( numContinentes + realAEntero( maxDistancia ) ) d) a = AUSTRALIA o f = FRANCE o m = maxDistancia + enterAReal( caracterACodigo( v ) + numContinentes + numPaises div 3 ) 2. Calcular el resultado de las expresiones indicadas, dadas las definiciones de tipos, constantes y variables del ejercicio anterior y suponiendo que las variables tienen los siguientes valores: d := 5; q := 2; m := 0.5; w := 20.0; v := ‘A’; fin := falso ; c := f; p := CHINA; Expresiones: a) enteroAReal( d ) < m < fin o FRANCIA = p b) ‘B’ = codigoACaracter( realAEntero( m ) + caracterACodigo( v ) ) o c ≠ f c) –(d * q) div caracterACodigo(v) + realAEntero(w * m) div caracterACodigo(‘A’) 3. En el siguiente algoritmo falta definir las secciones de constantes y variables. Definir correctamente el siguiente algoritmo, en el que falta definir las secciones de constantes y variables, según lo que pueda deducir del mismo. El objeto D tiene un valor fijo (supondremos que corresponde al número 1,2). ... { Lectura de información del teclado. No es necesario rellenar esta parte ... !!! } dolar:= 0.0; min:= 0.0; max:= min; dolar:= enteroAReal( c ); mientras dolar > 0.0 hacer euro := dolar * D; t := t + euro; s i euro > max e ntonces max:= euro; fsi si euro < min entonces min:= euro; fsi c:= c – 10; dolar:= enteroAReal( c ); fmientras m := (min + max) / 2.0; b := m = dolar; { Una vez realizados los cálculos, se muestran los resultados por pantalla. } falgoritmo 4. Construir un algoritmo que cuente los enteros positivos inferiores a 1000 que cumplan que su dígito de mayor peso sea igual a la suma del resto de dígitos. A partir del esqueleto del algoritmo siguiente, rellenar los cuadros grises de manera que el algoritmo resuelva el problema. a) algoritmo digitos var n, contador : entero ; centenas, decenas, unidades: entero ; digitos : booleano; fvar {Pre: cierto } contador := ; n:=1 ; mientras si n < 10 entonces digitos := falso ; sino hacer si n < 100 entonces digitos := n div 10 = n mod 10; sinó fsi fsi si digitos entonces fsi n := n + 1; fmientras {Una vez hechos los cálculos, se imprimirán los resultados por pantalla.} {Post: contador contiene el número de enteros positivos inferiores a 1000, que cumplen que su dígito de mayor peso es igual a la suma del resto de dígitos.} falgoritmo Nótese que en el algoritmo anterior tiene que rellenar los cuadros con una única instrucción o expresión, a excepción de la rama alternativa del si ... sino, que puede estar constituida por una composición secuencial de acciones. b) Vuelve a escribir el mismo algoritmo pero esta vez utilizando la estructura para . .. fpara en lugar de mientras ... fmientras. 5. Considerar el siguiente algoritmo: algoritmo euros const PUNTOSxEURO: real = 0.5; fconst var producto, producto_max: entero ; precio, precio_max, total: real ; fvar {Pre: En la entrada estándar hay una secuencia de la forma: c0 p0 c1 p1 c2 p2 c3 p3 ... cN-1 pN-1 0 siendo N> 0, que representa una lista de la compra de un supermercado, donde: ci> 0 es un entero que representa un código de producto, pi> 0.0 es un número real que representa el precio del producto en euros. El código es propio del producto, y no puede aparecer repetido en la secuencia. El código 0 será la marca de fin de secuencia.} total := 0.0; precio_max := 0.0; producto_max := 0; producto := leerEntero(); mientras ( producto > 0 ) hacer precio := leerReal(); total:= total + precio; si precio > precio_max entonces precio_max := precio; producto_max := producto; fsi producto := leerEntero(); fmientras escrbirReal( total ); escrbirEnter( producte_max ); escribirReal( PUNTOSxEURO * total ); (1) {Post: Se ha escrito por la salida estándar del importe total en euros, el código del producto más caro y la cantidad de puntos acumulados por la compra} falgoritmo a) Codificar, compilar y probar en lenguaje C el algoritmo dado. b) Modificar el algoritmo para conocer el gasto realizado en productos de la sección de perfumería. Sabiendo que este tipo de productos tienen códigos comprendidos entre el 350 y el 400, efectuar las modificaciones necesarias para acumular, en la nueva variable total_perfumeria, el gasto efectuado en esta sección. c) Modifica la instrucción (1) para conseguir que los productos de perfumería estén exentos de puntos.
|