Página 3 de 7

Re: [Curso] Introducción a la programación en C (IV)

Publicado: 23 Ene 2010, 17:10
por dark_sasuke
ais si tienes razon profe arisma, se me paso xDDD

Re: [Curso] Introducción a la programación en C (IV)

Publicado: 27 Ene 2010, 18:57
por Kracker
m0skit0 escribió:Primero veréis que ya no aparece #include <stdlib.h>. Esto es por el mero hecho de que no usamos ninguna función definida en ese fichero, por tanto nos sobra.


Disculpa mi ignorancia profe, pero a que te refieres con "funcion definida".
Dame un ejemplo de una funcion definida.

Re: [Curso] Introducción a la programación en C (IV)

Publicado: 27 Ene 2010, 19:04
por dark_sasuke
Kracker escribió:
m0skit0 escribió:Primero veréis que ya no aparece #include <stdlib.h>. Esto es por el mero hecho de que no usamos ninguna función definida en ese fichero, por tanto nos sobra.


Disculpa mi ignorancia profe, pero a que te refieres con "funcion definida".
Dame un ejemplo de una funcion definida.


un funcion definida de una libreria por ejemplo de la libreria <stdio.h> el printf

creo que a eso se refiere el profe :oki:

Re: [Curso] Introducción a la programación en C (IV)

Publicado: 27 Ene 2010, 19:09
por Kracker
Sigo sin entender :oops: :lol:

Re: [Curso] Introducción a la programación en C (IV)

Publicado: 27 Ene 2010, 19:13
por dark_sasuke
una funcion definida, es una "palabra" reservada (asi se llama en pascal en C nuse ) la cual nos da ciertas funciones.

por ejemplo el printf imprime por pantalla
el scanf, escanea las pulsaciones del teclado
el while, nos da el bucle

osea la libreria <stdio.h> tiene todas esas funciones dentro, pero otras librerias pueden tener otras funciones que stdio no tiene.

A ver si esta vez lo cojes :mrgreen: :oki:

Re: [Curso] Introducción a la programación en C (IV)

Publicado: 27 Ene 2010, 19:47
por Kracker
Ya caigo.
Dame un ejemplo de una funcion definida de <stdlib.h>. :ugeek:

Re: [Curso] Introducción a la programación en C (IV)

Publicado: 27 Ene 2010, 22:49
por m0skit0
Ojo no confundamos las cosas.

Los ficheros que indicamos con #include se llaman ficheros de cabecera (headers, de ahi el .h). Estos ficheros definen ciertas funciones que nos simplifican la tarea de programación, por ejemplo stdio.h (que viene de standard I/O, entrada/salida estándar) ofrece printf(), scanf(), etc... Para poder usar estas funciones (que cuando lleguéis al capítulo correspondiente entenderéis que es una función, por ahora con usarlas os basta) necesitamos incluir el fichero de cabecera correspondiente, ya que sino el compilador no sabría a qué nos estamos refiriendo con printf.

Por otro lado, están las palabras reservadas, como while, if, else... Estas forman parte del estándar de C, y no hace falta incluír ningún fichero de cabecera para que el compilador las reconozca perfectamente. Ojo, no son funciones.

Kracker escribió:Dame un ejemplo de una funcion definida de <stdlib.h>

http://es.wikipedia.org/wiki/Stdlib.h

Re: [Curso] Introducción a la programación en C (IV)

Publicado: 27 Ene 2010, 23:00
por dark_sasuke
ups perdon :oops: :oops: , venga el caso es que entendiste kracker :D

Re: [Curso] Introducción a la programación en C (IV)

Publicado: 08 Feb 2010, 17:54
por hiddenotebook

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
  int edad_pedrito = 5;
  int edad_josito = 12;
 
  printf("Edad de Pedro ahora: %d\n", edad_pedrito);
  printf("Edad de Jose ahora: %d\n", edad_josito);
  printf("Edad de Pedro hace dos anios: %d\n", edad_pedrito - 2);
  printf("Edad de Jose hace tres anios: %d\n", edad_josito - 3);
  printf("La mitad de la edad de Pedro: %d\n", edad_pedrito / 2);
  printf("La mitad de la edad de Jose: %d\n", edad_josito / 2);
  printf("El triple de la edad de Jose: %d\n", edad_josito * 2);
  printf("La suma de las edades de Pedro y Jose: %d\n", edad_josito + edad_pedrito);

  getch();
  return 0;
}


Lo segundo que algunos notaréis es que la mitad de la variable edad_pedrito (valor 5) es... ¿3? Esto es debido al tipo de datos de int edad_pedrito(integer, entero). Por tanto un entero dividido por un entero da un entero. Así que se redondea hacia el más cercano (hacia arriba si hay igual distancia como en este caso).

Profeee!!! ¿Por que a mi me da 2 en el valor 5? no lo entiendo si lo tengo igual...
Puse mi edad y la de mi chica para probar pero al ver tu explicación, me dije voy a ver el ejemplo que me pone el profesor y nada cambie las edades y que me da "2"¿Qué tengo mal? :oops: Te dejo una captura OK


Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
    int edad_alberto = 5;
    int edad_pili = 12;
   
    printf("Edad de Alberto ahora: %d\n", edad_alberto);
    printf("Edad de Pili ahora: %d\n", edad_pili);
    printf("Edad de Alberto two years ago: %d\n", edad_alberto - 2);
    printf("Edad de Pili three years ago: %d\n", edad_pili - 3);
    printf("La mitad de la edad de Alberto: %d\n", edad_alberto / 2);
    printf("La mitad de la edad de Pili: %d\n", edad_pili / 2);
    printf("El triple de la edad de Pili: %d\n", edad_pili * 2);
    printf("La suma de las edades de Alberto y Pili: %d\n", edad_alberto + edad_pili);
     
  getch();   
  return 0;
}


Spoiler:
Imagen

Re: [Curso] Introducción a la programación en C (IV)

Publicado: 08 Feb 2010, 18:18
por m0skit0
hiddenotebook escribió:¿Por que a mi me da 2 en el valor 5? no lo entiendo si lo tengo igual...

Todo depende de cómo se porte el compilador y también el procesador con estos cálculos. El caso es que está mal.

También tienes mal el cálculo del triple de la edad, pues calculas el doble.

Ánimo :oki: