Tutoriales

Estructuras y Array de estructuras. Pro I UVIGO

En el siguiente ejercicio incorpora una función que permita calcular la longitud de la linea.

#include <stdio.h>
#include <stdlib.h>
typedef struct {
int x;
int y;
} punto;
void pedirlinea(punto l[]);
void mostrarlineaa(punto l[]);
int main()
{
punto linea[2];
linea[0].x=10;
linea[0].y=2;
linea[1].x=20;
linea[1].y=20;
mostrarlineaa(linea);
pedirlinea(linea);
mostrarlineaa(linea);
return 0;
}
void pedirlinea(punto l[]){
int i;
for (i=0;i<2;i++){
printf("\ncoordenada x del punto %d de la linea ", i+1);
scanf("%d",&l[i].x);
printf("\ncoordenada y del punto %d de la linea", i+1);
scanf("%d",&l[i].y);
}
}
void mostrarlineaa(punto l[]){
int i;
for (i=0;i<2;i++){
printf("\ncoordenada x del punto %d de la linea es %d ", i+1, l[i].x);
printf("\ncoordenada y del punto %d de la linea es %d ", i+1, l[i].y);

}
}


Array como argumento de Funciones. Informática proI UVIGO

#include <stdio.h>
#include <stdlib.h>
void llenararray(int a1[], int x);
int main()
{
int a1[10],i;
llenararray(a1,10);
printf("numero de elementos del array: %d\n", ( sizeof(a1) / sizeof(a1[0]) ));
for (i=0;i<10;i++){
printf("%d ",a1[i]);
}
return 0;
}
void llenararray(int a1[], int x){
int i;
for (i=0;i<10;i++){
a1[i]=i+22*i;
}
// en la siguiente linea vemos com la misma función que en el main y la respuesta es diferente
printf("tamanho de una posicion del array: %d\n", ( sizeof(a1) / sizeof(a1[0]) ));
}


Ejercicio de funciones en c Informática UVIGO

Ejercicio de funciones. Solicitar dos números por teclado, y usando una función, que nos devuelva la media aritmética.

Ver compilación online.

#include <stdio.h>
/* Ejemplo con función sencilla pasamos dos variables a la función */
int main()
{

float media(float X, float Y);
/* Variables locales */
float A,B;

printf("Introduce dos numeros : ");
scanf("%f %f", &A, &B);
printf("La media aritmetica de %.2f et %.2f es %.4f\n",A, B, media(A,B));
return 0;
}

float media(float X, float Y)
{
return (X+Y)/2;
}

 


Ejemplos PRO I UVIGO

Visualización de números enteros, Octal , Hexadecimal...

Formas de Ajustar la salida printf según formato.

Compilación

#include <stdio.h>

int main()
{
int entero = 1234;
int enteroNeg = -1234;
float real = 234.567;
char letra = 'E';
int contador;

printf("El número entero vale %d en notación decimal,\n", entero);
printf(" y %o en notación octal,\n", entero);
printf(" y %x en notación hexadecimal,\n", entero);
printf(" y %X en notación hexadecimal en mayúsculas,\n", entero);
printf(" y %ld si le hacemos que crea que es entero largo,\n", entero);
printf(" y %10d si obligamos a una cierta anchura,\n", entero);
printf(" y %-10d si ajustamos a la izquierda.\n", entero);
printf("El entero negativo vale %d\n", enteroNeg);
printf(" y podemos hacer que crea que es positivo: %u (incorrecto).\n",
enteroNeg);
printf("El número real vale %f en notación normal\n", real);
printf(" y %5.2f si limitamos a dos decimales,\n", real);
printf(" y %e en notación científica (exponencial).\n", real);
printf("La letra es %c y un texto es %s.\n", letra, "Hola");
printf(" Podemos poner \"tanto por ciento\": 50%%.\n");

return 0;
}

 


Ejercicios Escuela Informática UVIGO III

Practica 4 Ejercicio 3

Comprobar código 

#include <stdio.h>

//Practica 4 Ejercicio 3. Codificar un algoritmo que solicite un número entero N y calcule los N primeros términos
//de la serie de Fibonacci, y los muestre por pantalla.

int main()
{
int n;
printf("Dame un numero\n");
scanf("%d",&n);
int i, p=0,s=1,u;
for (i=1;i<n;i++){
u=s+p;
p=s;
s=u;
printf("%d\n",u);
}
return 0;

}


Ejercicios Escuela Informática UVIGO

Práctica 2 Ejercicio 4

Crear un nuevo proyecto con un programa que calcule el perímetro y el área de una circunferencia a partir de su radio, que debe ser un dato que se pida al usuario. Para ello, definir una constante en el programa para el valor de PI, y variables de tipo real para recoger
el valor del radio, calcular el perímetro y el área. Comprobar que funciona. ¿Qué ocurre si se cambia el tipo de las variables para el perímetro y el área por int ?

Pruebalo en un compilador online

#include <stdio.h>

int main()
{
const float pi=3.14;
float radio, perimetro, area;
printf("Introduce el Radio de la Circunferencia: ");
scanf("%f",&radio);
perimetro=2*pi*radio;
area=pi*radio*radio;
printf("El perímetro es: %3.3f\n", perimetro);
printf("El Area del círculo es: %3.2f\n",area);

return 0;
}

%3.2f se indica para el número de decimales.

Se prodría poner %f

Si cambiamos perimetro y area tipo integer no funciona


Ejercicio PRO I Informática uvigo

Práctica 4 Ejercicio 10. Calcular el mayor y el menor de una serie de números introducidos por teclado. Solución pidiendo un número por lo menos. Modificar el programa para que pregunte si no quiero introducir números.

#include <stdio.h>
/* Práctica 4 Ejercicio 10. Calcular el mayor y el menor de una serie de numeros introducidos por teclado.
*/
int main()
{
int mayor, menor;
int x;
printf("dame el primer numero\n");
scanf("%d",&x);

menor=x; //Variable para almacenar el mayor. Inicialmente el primero tecleado
mayor=x; //Variable para almacenar el menor. Inicialmente el primero tecleado

do{
printf("dame otro numero o cero para terminar\n");
scanf("%d",&x);
if (x>mayor && x!=0){

//Comprobar si el introducido es menor que el menor del los introducidos hasta ahora y es distinto de //cero
mayor=x;
}
if(x<menor && x!=0){

//Comprobar si el introducido es menor que el menor del los introducidos hasta ahora y es distinto de //cero
menor=x;
}
}
while (x!=0);
printf("El mayor es :%d \n",mayor);
printf("El menor es :%d \n",menor);
return 0;
}


Ejercicios Escuela Informática UVIGO II

Práctica 3 Ejercicio 6

Escribir un programa que solicite un carácter y dos números reales al usuario.
● Si el carácter es “ + ”, el programa devolverá la suma de los dos números introducidos...........

Solución: Ver en Compilador online

#include <stdio.h>

int main()
{
float a,b;
char c;
printf("Que operación quieres realizar\n");
scanf("%c",&c);
while (!(c=='+'||c=='-'||c=='*'||c=='/'))
{
printf("Operacion no valida");
scanf("%c",&c);
}
getchar();
printf("Dame un número \n");
scanf(" %f",&a);
printf("Dame el otro número \n");
scanf("%f",&b);
switch (c){
case '+':
printf("La suma es %f \n",a+b);
case '-':
printf("La resta es %f \n",a-b);

case '*':
printf("La multiplicación es %f \n",a*b);

case '/':
{
if (b!=0)
printf("La division es %f \n",a/b);
else
printf( "La division no puede realizarse\n");
}
}
return 0;
}


Genericos en java

¿Por qué utilizar los genéricos?

En pocas palabras, los genéricos permiten tipos (clases e interfaces) para ser definidos como los parámetros de clases, interfaces y métodos.

Al igual que los parámetros formales  utilizados en las declaraciones del método, los parámetros de tipo proporcionan una forma para que se pueda volver a utilizar el mismo código con diferentes entradas.

La diferencia es que las entradas a los parámetros formales son los valores, mientras que las entradas para escribir parámetros son tipos.

Los nombres de los parámetros tipo más comúnmente utilizados son:

  • E - Elemento (muy utilizada por la Java Collections Framework)
  • K - Key
  • N - Número
  • T - Tipo
  • V - Valor

package genericos3;

public class Visualizar <T>{

private T objeto;

public Visualizar(T objeto) {

this.objeto = objeto;

}

public void setObjeto(T objeto) {

this.objeto = objeto;

}

public T getObjeto() {

return objeto;

}

public void imprimir() {

System.out.println(objeto.toString());

}

public void imprimir_reves() {

StringBuffer sb = new StringBuffer(objeto.toString());

System.out.println(sb.reverse());

}

}

package genericos3;

public class Genericos3 {

public static void main(String[] args) {

Visualizar <String> impStr = new Visualizar<String>("Hola Alumnos del Mundo");

impStr.imprimir();

Visualizar <Integer> impInt = new Visualizar<Integer>(143);

impInt.imprimir_reves();

}

}


Clases de apoyo Ciclos Informática y Universidad

clasesParticulares

Con profesorado especializado y con años de experiencia.

Preparación de ciclos formativos.

Flexibilidad de horarios.

Prepárate a tú ritmo con clases personalizadas. También disponemos de grupos.

Ponte en contacto con nosotros para cualquier duda.