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

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06

Avatar de Usuario
dark_sasuke
Moderador Global
Moderador Global
Mensajes: 3379
Registrado: 03 Sep 2009, 02:13
Twitter: D4rkyt0

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

Mensaje por dark_sasuke »

ais si tienes razon profe arisma, se me paso xDDD
Imagen

Avatar de Usuario
Kracker
ViP Hordes
ViP Hordes
Mensajes: 1212
Registrado: 03 Sep 2009, 00:38
PSN ID: Mario_-Almada_-
Contactar:

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

Mensaje 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.
Imagen

Avatar de Usuario
dark_sasuke
Moderador Global
Moderador Global
Mensajes: 3379
Registrado: 03 Sep 2009, 02:13
Twitter: D4rkyt0

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

Mensaje 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:
Imagen

Avatar de Usuario
Kracker
ViP Hordes
ViP Hordes
Mensajes: 1212
Registrado: 03 Sep 2009, 00:38
PSN ID: Mario_-Almada_-
Contactar:

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

Mensaje por Kracker »

Sigo sin entender :oops: :lol:
Imagen

Avatar de Usuario
dark_sasuke
Moderador Global
Moderador Global
Mensajes: 3379
Registrado: 03 Sep 2009, 02:13
Twitter: D4rkyt0

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

Mensaje 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:
Imagen

Avatar de Usuario
Kracker
ViP Hordes
ViP Hordes
Mensajes: 1212
Registrado: 03 Sep 2009, 00:38
PSN ID: Mario_-Almada_-
Contactar:

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

Mensaje por Kracker »

Ya caigo.
Dame un ejemplo de una funcion definida de <stdlib.h>. :ugeek:
Imagen

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

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

Mensaje 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
Imagen

Avatar de Usuario
dark_sasuke
Moderador Global
Moderador Global
Mensajes: 3379
Registrado: 03 Sep 2009, 02:13
Twitter: D4rkyt0

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

Mensaje por dark_sasuke »

ups perdon :oops: :oops: , venga el caso es que entendiste kracker :D
Imagen

Avatar de Usuario
hiddenotebook
Experto
Experto
Mensajes: 634
Registrado: 28 Dic 2009, 14:56
Ubicación: En un lugar de la mancha...

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

Mensaje 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

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

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

Mensaje 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:
Imagen

Responder