Está en la página 1de 16

Universidad Tecnológica De

Tehuacán

TÍTULO: AUTOEVALUCACION 4

DOCENTE: JONATHAN CRUZ REYES

ALUMNOS: Uriel Maceda Betanzo

Pedro Méndez Hernández


Jaime fidel Damián de Santiago
Alan Ignacio Olguin Mendoza

GRADO: 9° GRUPO: “B”


Funciones
llamada a la función
Variable local
return

void

alcance

Return;
Return expresion Llave derecha del fin de la expresión
Prototipo de funcion
Rand()

Srand

Auto register extern


static

auto
register

externa

static

Alcance funcion Alcance archivo Alcance bloque


Alcance prototipo
recursividad

Base
5.2 para el siguiente programa, establezca el alcance (si es alcance de función, de
archivo, de bloque o de prototipo de función) de cada uno de los siguientes
elementos
• la variable x en main
• la variable y en cubo
• la función cubo
• la función main
• el prototipo de la función para cubo
• el identificador y en el prototipo de la función cubo
• en programación C
1. La variable x en main tiene un alcance de bloque, ya que está definida dentro
del bloque de código de la función main y solo es accesible dentro de ese
bloque.
2. La variable y en cubo también tiene un alcance de bloque, ya que está
definida dentro del bloque de código de la función cubo y solo es accesible
dentro de ese bloque.
3. La función cubo tiene un alcance de función, ya que se define dentro del
archivo, pero fuera del bloque de código de la función main. Esto significa
que la función cubo solo es visible dentro del archivo, pero puede ser llamada
desde cualquier función dentro del archivo.
4. La función main tiene un alcance de función, ya que es la función principal
del programa y todo el código se ejecuta dentro de ella.
5. El prototipo de la función cubo tiene un alcance de prototipo de función, ya
que se declara antes de la función main y se define después en el mismo
archivo. Esto significa que el prototipo de la función cubo es visible para todas
las funciones en el archivo, incluyendo main.
6. El identificador y en el prototipo de la función cubo tiene un alcance de
prototipo de función, ya que se declara dentro del prototipo de la función y
solo es visible dentro de ese prototipo.
#include <stdio.h>
#include <math.h>
double cubo (double y);
int main () {
double x = 2.0;
double y = pow (x, 3.0);
double z = cubo(x);
printf ("El cubo de %lf es %lf\n", x, y);
printf ("La función cubo devuelve %lf\n", z);
return 0;
}
double cubo (double y) {
return y * y * y;
}

a) double hipotenusa (double lado1, double lado2) {


// Cálculo de la hipotenusa
double hipotenusa = sqrt (pow (lado1, 2) + pow (lado2, 2));
return hipotenusa;
}

b) int elmenor (int x, int y, int z) {


// Encontrar el menor de los tres números
int menor = x;
if (y < menor) {
menor = y;
}
if (z < menor) {
menor = z;
}
return menor;
}
c) void instrucciones () {
// Imprimir las instrucciones
Printf ("Por favor siga las instrucciones cuidadosamente.\n");
printf ("No olvide guardar su trabajo antes de salir.\n");
}
d) double intafloat (int numero) {
// Convertir el número entero a punto flotante
double numero_flotante = (double)numero;
return numero_flotante;
}

a) #include <stdio.h>
#include <math.h>

double hipotenusa(double lado1, double lado2);

int main() {
double a = 3.0;
double b = 4.0;
double c = hipotenusa(a, b);
printf("La hipotenusa del triángulo rectángulo con catetos %.2f y %.2f es %.2f\n",
a, b, c);
return 0;
}

double hipotenusa(double lado1, double lado2) {


// Cálculo de la hipotenusa
double hipotenusa = sqrt(pow(lado1, 2) + pow(lado2, 2));
return hipotenusa;
}
b) #include <stdio.h>

int elmenor(int x, int y, int z);

int main() {
int a = 10;
int b = 5;
int c = 8;
int menor = elmenor(a, b, c);
printf("El menor de los números %d, %d y %d es %d\n", a, b, c, menor);
return 0;
}

int elmenor(int x, int y, int z) {


// Encontrar el menor de los tres números
int menor = x;
if (y < menor) {
menor = y;
}
if (z < menor) {
menor = z;
}
return menor;
}

c)
#include <stdio.h>

void instrucciones();

int main() {
instrucciones();
return 0;
}

void instrucciones() {
// Imprimir las instrucciones
printf("Por favor siga las instrucciones cuidadosamente.\n");
printf("No olvide guardar su trabajo antes de salir.\n");
}

d) #include <stdio.h>

double intafloat(int numero);

int main() {
int a = 10;
double b = intafloat(a);
printf("El número entero %d convertido a punto flotante es %.2f\n", a, b);
return 0;
}

double intafloat(int numero) {


// Convertir el número entero a punto flotante
double numero_flotante = (double)numero;
return numero_flotante;
}
a) static int cuenta = 0;
b) static float Ultvalor;
c) static int numero;

5.7El error en el primer segmento de programa es que falta cerrar el paréntesis en


la función g (). Para corregirlo se debe agregar un paréntesis al final.

La corrección sería:
a) int g(void) {printf ("Dentro de la función\n");}

En el segundo segmento de programa, hay un error en el tipo de dato del


parámetro de la función hi (). Se utiliza "vold" en lugar de "void". Para corregirlo se
debe cambiar "vold" por "void".

La corrección sería:
b) int hi(void) {printf ("Dentro de la función\n");}
En el tercer segmento de programa, hay un error en la declaración de la variable
"resultado". Falta indicar el tipo de dato antes del nombre de la variable. Para
corregirlo se debe indicar el tipo de dato, en este caso sería "int".

La corrección sería:
c) int resultado;
resultado = x + y;

En el cuarto segmento de programa, hay un error en la condición del if (). La


condición "n-0" no tiene sentido, debería ser "n! = 0". Además, en la línea siguiente
se encuentra "nsumal" que no tiene sentido. No es claro si es un error de escritura
o si falta código. Para corregirlo se debe cambiar la condición del if() y agregar el
código que corresponda.

La corrección sería:
d) if (n != 0) return 0;
// Código adicional

En el quinto segmento de programa, hay un error en la declaración del parámetro


de la función f(). El tipo de dato "float" no está correctamente indicado. Para
corregirlo se debe indicar correctamente el tipo de dato.

La corrección sería:
e) void f(float a) { printf("%f\n", a); }

En el sexto segmento de programa, hay un error en la declaración de las variables


"a", "b" y "e". Después del tipo de dato debería ir el nombre de cada variable,
separado por comas. Además, falta indicar el tipo de dato de la variable
"resultado". Para corregirlo se deben corregir las declaraciones de variables.

La corrección sería:
f) int a, b;
float e;
int resultado;

En el séptimo segmento de programa, hay un error en la función printf(). La


cadena de formato tiene un error de escritura, "Schlice" no parece tener ningún
significado. Además, después de la cadena de formato falta indicar las variables
que se deben reemplazar en la cadena. Para corregirlo se debe corregir la cadena
de formato y agregar las variables correspondientes.

La corrección sería:
g) printf("Introduce tres enteros: ");
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &e);

En el último segmento de programa, hay un error en la llamada a la función


printf(). Dentro de la función printf() se utiliza la cadena "El resultado as it results",
que no tiene sentido. No es claro cuál es la intención de esta instrucción. Para
corregirlo se debe cambiar o eliminar esta línea de código.

La corrección sería:
h) printf("El resultado es %d\n", resultado);
#include <stdio.h>
int impar (int numero) {
if (numero % 2 == 1) {
return 1; // es impar
} else {
return 0; // no es impar
}
}
int main () {
int numero;
printf ("Introduce una serie de enteros (ingresa 0 para finalizar): \n");
do {
printf ("Ingrese un entero: ");
scanf ("%d", &numero);
if (numero! = 0) {
if (impar(numero) == 1) {
printf ("%d es impar\n", numero);
} else {
printf ("%d no es impar\n", numero);
}
}
} while (numero! = 0);
return 0;
}
#include <stdio.h>
void imprimirCuadrado (int lado) {
for (int i = 0; i < lado; i++) {
for (int j = 0; j < lado; j++) {
printf ("*");
}
printf("\n");
}
}
int main () {
int lado;
printf ("Ingrese el lado del cuadrado: ");
scanf ("%d", &lado);
imprimirCuadrado (lado);
return 0;
}
#include <stdio.h>
void imprimirCuadrado (int lado) {
for (int i = 0; i < lado; i++) {
for (int j = 0; j < lado; j++) {
printf ("#");
}
printf("\n");
}
}
int main () {
int lado;
printf ("Ingrese el lado del cuadrado: ");
scanf ("%d", &lado);
imprimirCuadrado(lado);
return 0;
}
#include <stdio.h>
void dibujarCuadrado (int lado) {
int i, j;
for (i = 0; i < lado; i++) {
for (j = 0; j < lado; j++) {
printf ("* ");
}
printf("\n");
}
printf("\n");
}
void dibujarTriangulo (int altura) {
int i, j;
for (i = 0; i < altura; i++) {
for (j = 0; j <= i; j++) {
printf ("* ");
}
printf("\n");
}
printf("\n");
}
int main () {
int numFiguras, i, tipoFigura, parametro;
printf ("Ingrese el número de figuras que desea graficar: ");
scanf ("%d", &numFiguras);
for (i = 0; i < numFiguras; i++) {
printf ("Figura %d:\n", i + 1);
printf ("1. Cuadrado\n");
printf ("2. Triángulo\n");
printf ("Ingrese el tipo de figura: ");
scanf ("%d", &tipoFigura);
switch (tipoFigura) {
case 1:
printf ("Ingrese el lado del cuadrado: ");
scanf ("%d", &parametro);
dibujarCuadrado (parametro);
break;
case 2:
printf ("Ingrese la altura del triángulo: ");
scanf ("%d", &parametro);
dibujarTriangulo (parametro);
break;
default:
printf ("Tipo de figura inválido.\n");
break;
}
}
return 0;
}
#include <stdio.h>

int calcularParteEntera (int a, int b) {

return a / b;

int calcularResiduo (int a, int b) {

return a % b;

void imprimirDigitosSeparados (int numero) {

if (numero < 1 || numero > 32767) {

printf ("El número debe estar entre 1 y 32767.\n");

return;

while (numero > 0) {

int digito = calcularesiduo (numero, 10);

printf ("%d ", digito);

numero = calcularParteEntera (numero, 10);

printf("\n");

int main () {

int numero;

printf ("Ingrese un número entre 1 y 32767: ");

scanf ("%d", &numero);

imprimirDigitosSeparados (numero);

return 0;

También podría gustarte