Ip1

  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ip1 as PDF for free.

More details

  • Words: 1,102
  • Pages: 8
Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n. 41012 SEVILLA

IP1 2005-2006

Práctica 4. TABLAS Ejercicios de SINTAXIS TABLAS. SOLUCIONES 1.) No habrá inicialización. Para las 4 primeras tablas, declarar solo la variable. Para las dos últimas declarar tipo y variable. Alternar el uso de constantes. #include <stdio.h> #define CTEMP 24 #define CNOM 20 #define CAJE 8 #define CMESES 12 #define CALFA 27 typedef int TDiasMes[CMESES]; typedef char TAlfa[CALFA]; void main(void) { float temperaturas[CTEMP]; char nombre[CNOM]; int ajedrez[CAJE][CAJE];   TDiasMes diasmes; TAlfa alfabeto; } Ejemplo: #include <stdio.h> #define CTEMP 24 #define CNOM 20 #define CAJE 8 #define CMESES 12 #define CALFA 27 typedef int TDiasMes[CMESES]; typedef char TAlfa[CALFA]; void main(void) { float temperaturas[CTEMP]; char nombre[CNOM]; int ajedrez[CAJE][CAJE]; int v[5]={1,2,3,4,5}; // Inicializacion en la propia declaracion. solo en la     // declaracion int w[3][3]={1,2,3,4,5,6,7,8,9}; int i,j; TDiasMes diasmes; TAlfa alfabeto;

Página 1 de 8

Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n. 41012 SEVILLA

IP1 2005-2006

printf("%d\n",ajedrez[0][0]); // Acceso a un elemento sin inicializar // Inicialización de un vector for(i=0;i #define TAM 10 typedef int Vector[TAM]; typedef int Matriz[TAM][TAM]; void InicializaVector(int,Vector); void ImprimeVector(Vector); void InicializaMatriz(int,int,Matriz); void ImprimeMatriz(int,int,Matriz); void main (void) { Vector v; int v2 [TAM]; int m [TAM][TAM]; InicializaVector(5,v); ImprimeVector(v); InicializaMatriz(TAM,TAM,m); ImprimeMatriz(TAM,TAM,m);

Página 2 de 8

Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n. 41012 SEVILLA

IP1 2005-2006

} void InicializaVector(int n, Vector v) { int i; for(i=0;i
3) Cambiamos el enunciado. En vez de 50 elementos que sean 10. Cuando se introduzca un número negativo dejaremos de recoger números enteros. Eso o que lleguemos a 10 #include <stdio.h> #define TAM 10

Página 3 de 8

Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n. 41012 SEVILLA

IP1 2005-2006

typedef int Tabla[TAM]; void OrdenaTabla(int,Tabla); void ImprimeTabla(int,Tabla); void main(void) { Tabla t={0,0,0,0,0,0,0,0,0,0}; //¿Es necesario inicializarla?? int x,i=0,l=0; printf("\nPor favor, introduzca 10 numeros enteros\n"); while(i
if(x<0) l=1; else { t[i]=x; i=i+1; } } OrdenaTabla(TAM,t); ImprimeTabla(TAM,t);

} void OrdenaTabla(int n, Tabla t) {

}

int i,l,temp; l=0; while(!l) { l=1; for(i=0;i<(n­1);i++) { if (t[i]>t[i+1]) { temp=t[i]; t[i]=t[i+1]; t[i+1]=temp; l=0; } } }

void ImprimeTabla(int n, Tabla t) { int i; for(i=0;i
Página 4 de 8

Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n. 41012 SEVILLA

IP1 2005-2006

}

Ejercicios de ALGORÍTMICA TABLAS. SOLUCIONES 17) #include <stdio.h> #define TAM 4 typedef int Matriz[TAM][TAM]; int RecibeValores(Matriz); void RecorreEImprime(int,Matriz); void main(void) { Matriz m; int i=0; i=RecibeValores(m); RecorreEImprime(i,m); } int RecibeValores(Matriz m) { int i,j,n; printf ("\nEscriba dimension para la tabla cuadrada menor que %d\n", TAM); scanf("%d",&n); while(n<0 || n>4) { printf("\n Escriba dimension para la tabla cuadrada menor que %d\n", TAM); scanf("%d",&n); } printf("\nPor favor, introduzca los numeros\n"); for(i=0;i=0;i­­) { for(j=i;j
Página 5 de 8

Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n. 41012 SEVILLA

IP1 2005-2006

} }

Ejercicio de EXAMEN -¿Cual es el contenido final del vector v?? int v[4]={1,2,3,4}; int *p; p=v; p[v[0]]++;

-Definimos int t[5]={1,2,3,4,5}; e invocamos al procedimiento: intercambia(t[2],&t[4]); que tiene el siguiente código: void intercambia (int x, int *y) { int aux=x; x=*y; *y=aux; } ¿Cuánto valdría t[2] después de la llamada a intercambia? ¿Y t[4]?

- Suponga las declaraciones:

int i,j; int t[10];

, este código: for(i=1;i<=6;i++) scanf(“%d”,&t[i]); for(j=3;j>0;j--) printf(“%d”,t[2*j]); y esta entrada por teclado: 3 7 ¿Qué resultado aparece por pantalla?

4

-1

0

6

. Dada una matriz N × N de enteros denominada tabla, ¿Cuál es la condición de parada que hace que un bucle while termine cuando encuentre en la diagonal principal dos elementos consecutivos que sean iguales o cuando acabe la tabla? Inicialice el contador

♣Dado el trozo de código scanf("%d",&i); j=0; while (i<200 || i> 300 || j < 10) { j++; Página 6 de 8

Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n. 41012 SEVILLA

IP1 2005-2006

scanf("%d",&i); } ¿Cuántos números se van a leer? Justifica la respuesta

Sea el siguiente código void mmm (int ___); void main(void) { int a,b; mmm (___a) mmm (___b); printf ("%d", ____a + ____b); } void mmm (int ___ x) { scanf ("%d", ___x); } Si se introducen desde el teclado los valores 1 y 2, el resultado en pantalla es un 3. Teniendo en cuenta que algunos de los subrayados pueden no contener nada, escriba los símbolos & y * que faltan en el código. Escríbalos sobre el enunciado.

Se necesita un procedimiento que tome en el siguiente orden: una tabla de enteros como parámetro de entrada, una tabla de enteros como parámetro de entrada/salida, un entero como parámetro de entrada y un double como parámetro de entrada/salida. Escriba su prototipo. Pasar a C el siguiente código escrito en LEA correspondiente a la función que implementa la búsqueda binaria en tablas de numeros reales func busqueda_binaria(t:tabla [n] de reales; n:entero;x: real) dev (enc:logico) var i,d,m: entero prin i,d,enc:=1,n,falso mientras i<=d y no enc m:=(i+d)/2 Si t[m]=x: enc:=cierto | t[m]<x: i:=m+1 | t[m]>x: j:=m-1 fsi fm fin

Suponemos las siguientes declaraciones: #define N 10 typedef double Tabla[N]; typedef enum{falso,cierto} Logico; Página 7 de 8

Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n. 41012 SEVILLA

IP1 2005-2006

Logico BusquedaBinaria(Tabla,int,double); … Logico BusquedaBinaria(Tabla t, int n, double x) { int i,d,m; Logico enc=falso; i=0; d=n; while(i
Página 8 de 8

Related Documents

Ip1
November 2019 10
Ip1
October 2019 5
Tcp-ip1
May 2020 3
Mobile Ip1
November 2019 7
Tema 2 Lea Ip1
October 2019 10
Tema 1 Lea Ip1
October 2019 7