1 Hora
1 Día
1 Semana
1 Mes
Siempre
Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
06 de Octubre de 2008, 07:21:38
Noticias:
Reporte de temas
Para ver este enlace
Registrate
o
Inicia Sesion
> Aqui
Foros pOrtal Hacker
Programacion
C / C++
(Moderadores:
mycrox
,
TxShAcK
)
[RECOMENDADO] Curso C/C++
benjaminmv7
y 2 Visitantes están viendo este tema.
« anterior
próximo »
Páginas:
[
1
]
Autor
Tema: [RECOMENDADO] Curso C/C++ (Leído 10283 veces)
TxShAcK
Moderador Global
Desconectado
Mensajes: 1,466
Prefiero morir de pie, a vivir arrodillado
[RECOMENDADO] Curso C/C++
«
:
03 de Marzo de 2008, 10:39:30 »
Curso C/C++ desde cero
- Este post, es una recopilación de todos los capítulos publicados en el tema
Para ver este enlace
Registrate
o
Inicia Sesion
Curso C++ desde 0
- Este tema esta cerrado, para poder seguir los capítulos de una forma clara y sencilla...
Para cualquier duda, sugerencia o comentario
con respecto al curso,
haganlo en el post dicho anteriormente,
donde también se seguirán posteando nuevos capítulos.
«
Última modificación: 09 de Mayo de 2008, 02:13:55 por Vassily
»
En línea
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
Para ver este enlace
Registrate
o
Inicia Sesion
Si algún tema del foro te parece inapropiado, crees que debe moverse o cerrarse, repórtalo aquí
(No respondo dudas por MP)
Para ver este enlace
Registrate
o
Inicia Sesion
Reglas
<->
Para ver este enlace
Registrate
o
Inicia Sesion
Subir imagen al foro
TxShAcK
Moderador Global
Desconectado
Mensajes: 1,466
Prefiero morir de pie, a vivir arrodillado
Re: Curso C/C++
«
Respuesta #1 :
03 de Marzo de 2008, 10:40:40 »
Para ver este enlace
Registrate
o
Inicia Sesion
1º CAPITULO
- Introduccion:
¿Que es C++?
Bueno, creo que antes de empezar con el manual y explicar códigos y demás... es mejor comenzar sabiendo un poco sobre C++
C++ es un lenguaje de programación orientado a objetos, que nos permite hacer, desde el mas sencillo programa, hasta programas de cualquier índole y complejidad (jeje, creo que me quedo bien la palabra indole xD).
C++ nace como evolución del lenguaje C a finales de los 70, y su creador es Bjarne Stroustrup.
Bueno, con esto es suficiente... pues tampoco vamos a entrar en detalles sobre eso...
pasemos a la acción....
Comencemos!!!
Para ir entrando en calor y descargando cosas, empezare diciendo lo que es necesario para programar en C++.
A parte de tu cuerpo y cabeza libres de todo mal royo, y de un PC medianamente normal... necesitaremos un compilador de C++ que podreis encontrar gratis (como por ejemplo el Dev C++) u otros de paga como el Imprise C++
En este manual utilizare en compilador Dev C++
(Si quieren saber acerca de que es un compilador, pues lean
Para ver este enlace
Registrate
o
Inicia Sesion
aca
)
Podeis bajar el compilador, directamente de la web de los autores del entorno:
Para ver este enlace
Registrate
o
Inicia Sesion
http://www.bloodshed.net/devcpp.html
o sino lo bajan de este enlace
Para ver este enlace
Registrate
o
Inicia Sesion
http://www.4shared.com/file/29094792/3eb6f91d/devcpp-4992_setup.html
el cual he subido yo mismo, y esta 100% limpio..
Una vez descargado, lo instalan y lo ejecutan.
Les apareceran algo asi...
Bien. Ya tienen en su pantalla el Dev C++ xD
Podrida pararme a explicar un poco que es cada boton... pero creo que es mejor que vallan echando un vistazo por ustedes mismos, ya que al fin y al cabo, esta en español, y es igual o parecido a cualquier programa... con su menú de Archivo, edición... los botones ya los conocen mas o menos... etc... asi que pasemos a nuestro primer programa en C++ !!!
Vamos a
Archivo
y seleccionamos la opción
Nuevo código fuente
Les aparecerá en pantalla, un espacio en blanco donde podrán ir escribiendo.
Pues nuestro primer programa sera, el tan famoso "hola mundo" asi que para ello copian el siguiente condigo:
Código:
#include <iostream.h>
#include <stdlib.h>
int main()
{
cout << "Hola mundo" << endl;
system("PAUSE");
return 0;
}
Lo que ara este código sera mostrar en pantalla el texto "hola mundo"
Asi que van a
Ejecutar
y seleccionan
compilar y ejecutar
o solo
Compilar
pero en ambos casos les pedirá que elijan un sitio donde guardarlo...
Pueden crear por ejemplo una carpeta en el escritorio llamada "c++ codes" o como quieran...
Cuando lo compilen, se les creara un archivo .exe y otro .cpp que nos servirá para que cuando cerremos el dev c++ podamos abrirle y tener el código del programa para poder verlo, hacer modificaciones
... etc...
Con respecto al código, vamos a explicar un par de cosas...
----------------------
#include sirve para referir las bibliotecas de funciones que vamos a usar...
el modo de empleo es #include <nombre_libreri
a>
----------------------
int main () es necesario, puesto que todo programa en C++ comienza con una función main() y solo puede haber una, y como siempre regresa un entero, pues se coloca delante en int
----------------------
cout<<”hola mundo”<<endl; es una instruccion.
La instrucción cout esta dentro de la biblioteca iostream.h que empleamos (declaramos) al principio. Lo que hace esto en definitiva es mostrar el texto, asi que no se lien con lo que acabo de decir ni se preocupen...
----------------------
system("PAUSE"); sirve para llamar a la opcion pause del sistema (msdos) que para los que sepan sobre batch, seria como poner pause en un código...
----------------------
return 0; Esto es otra instrucción (return) que determina lo que devolveremos a main() que en este caso, como habitamos declarado que seria un entero, pues ponemos el 0 lo cual no dara errores durante la ejecución...
Si no lo han entendido bien, tampoco se preocupen... esto es sencillo y lo iran cogiendo mas adelante.
y por ultimo
}
La llave de cierre de la función main() indica el termino del bloque de instrucciones.
Y una ultima cosa para terminar...
Pueden utilizar las barras / / para introducir un comentario en el codigo, pero que no sera mostrado ni afectara para nada a la hora de ejecutarlo...
Seria igual que usar el comando rem en batch.
Si por ejemplo, a nuestro code le metemos:
Código:
#include <iostream.h>
#include <stdlib.h>
int main()
{
cout << "Hola mundo" << endl;
/manual por txshack/
system("PAUSE");
return 0;
}
verán que e puesto un comentario entre / / pues bien, eso no repercute en el código, ni se muestra ni nada... solo es para que si alguien lo lee el code, pues vea cosas que deja escritas el autor...
Y bueno amigos, hasta aquí por hoy que ya me canse de escribir jeje.
Me lo e currado poniendo acentos y sin faltas de ortografía xD
Otro dia que tenga tiempo continuo explicando las cosas fundamentales.
..
Para los que ya sepan de C pues verán el manual muy básico al principio, pero esto es para los que precien comienzan, aunque la cosa ya ira complicándose jejeje
«
Última modificación: 03 de Marzo de 2008, 10:45:12 por TxShAcK
»
En línea
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
Para ver este enlace
Registrate
o
Inicia Sesion
Si algún tema del foro te parece inapropiado, crees que debe moverse o cerrarse, repórtalo aquí
(No respondo dudas por MP)
Para ver este enlace
Registrate
o
Inicia Sesion
Reglas
<->
Para ver este enlace
Registrate
o
Inicia Sesion
Subir imagen al foro
TxShAcK
Moderador Global
Desconectado
Mensajes: 1,466
Prefiero morir de pie, a vivir arrodillado
Re: Curso C/C++
«
Respuesta #2 :
03 de Marzo de 2008, 10:42:46 »
Para ver este enlace
Registrate
o
Inicia Sesion
2º CAPITULO
POR: Mycrox y TxShack
Bueno amigos, antes de continuar adentrándonos en C++ como buen consejo que dio Mycrox, convendría explicar alguna cosa mas, para tener claros losconceptos..
. asi que este 2º capitulo, sera un capitulo, por llamarlo de alguna forma, "teorico" xD.
explicación desde cero sobre tipos de datos
Los diferentes tipos de datos sirven para que el computador sepa con que tipos de datos desea trabajar, ya sea con números, números con decimales, letras, etc.
Existen varios tipos de datos con los que se trabaja en C.
tenemos los mas comunes que son:
int ------> Tipo de dato ENTERO desde el -32767 hasta el 32767
long int ------> Tipo de dato ENTERO pero más largo desde el -2.147.483.647 hasta el 2.147.483.647.
float ------> Tipo de dato numerico con decimales {0.1, 2.9, etc}, desde el 3.4*e-38 hasta el 3.4*e38
double ------> Tipo de dato numerico con decimales pero con rangos más grandes, desde el 1.7*e-307 hasta ek 1.7*e308
char ------> Tipo de dato caracter {a, b, c....}
Cuando declaramos en el lenguaje C algun tipo de dato, el compilador reserva en memoria RAM los bytes necesarios para guardar ese dato.
Explicacion desde cero sobre identificadore
s
¿Que es un identificador?
Los identificadore
s son los nombres que se le asignan a las variables para poder "identificarlas en el programa". Una variable, es un espacio reservado en memoria que
"varia"
su valor.
por ejemplo, declaro una variable donde se guardara el resultado de una suma.
seria algo asi:
Código:
int suma;
int ---> tipo de dato númerico, ya que si quiero guardar un resultado de una suma, normalmente es ENTERO.
suma --> Es el nombre de la variable pero de tipo numérico por el int.
Código:
float suma;
float ---> Tipo de dato con coma flotante (decimales), si escribo float, el resultado de la suma me va a dar con decimales
suma ---> Es el nombre de la variable pero de tipo numérico con decimales por el float.
Código:
char suma;
char ---> Tipo de dato de caracteres, aqui no podriamos realizar operaciones matematicas ya que la variable suma, no seria considerada como un numero, si no que como una letra, mas adelante veremos esto con más profundidad.
Si nos damos cuenta, la variable
suma
no tiene ningun valor, ya que supuestamente cuando se realice la suma, la variable tomará el valor del resultado, cierto?
Pero tambien se puede cambiar esto, si yo quiero que un valor se inicialice en un número, perfectamente se podría hacer:
Código:
int x=5
int y=10
entonces, si por ejemplo quiero sumar 5+10 en C, el código sería el siguiente:
Código:
int x=5;
int y=10;
suma=x+y;
o más simple todavía:
Código:
suma=5+10;
*Toda linea de código debe terminar con un punto y coma (
a excepción de algunos casos que veremos más adelante.
PALABRAS RESERVADAS:
Si se fijaron, yo puedo declarar una variavle con el nombre que yo desee (char nombre, int numero, etc) pero existen palabras reservadas en C que no puedo utilizar como variables propias o definiciones.
acá les va la lista:
Citar
asni continue float new signed try
auto default for operator sizeof typedef
break delete friend private static union
case do goto protected struct unsigned
catch double if public switch virtual
char else inline register template void
class enum int return this volatile
const extern long short throw while
cuando en el compilador escriban estas palabras, el texto se les pondrá en negrita.
Librerías:
Las librerías, son unos ficheros que contienen el código objeto de muchos programas que nos permiten hacer cosas como escribir en pantalla, manejar numeros, leer el teclado, hacer operaciones matemáticas... etc.
Existen librerias de entrada y de salida, de manejo de memoria, de manejo de texto, matemáticas....
Un conjunto de librerias especiales son las ANSI que se incluyen con todos los compiladores de C y C++ y despues existen otros tipos de librerias publicas, y otras de distribución comercial, aunque las que trataremos principalmente son las ANSI.
Segun vallamos desarrollando el manual, iran entendiendo mejor como usar las librerias, asi que no se preocupen.
Tipos de errores:
Al crear un codigo, podemos cometer errores a la hora de codearlo, ya sea por despiste error de escritura etc...
Estos errores, los podemos clasificar de distintas formas:
AVISOS:
Los avisos (Warnings) son errores que no son lo suficientement
e graves para impedir la generacion de codigo objeto, pero es combeniente correjirlos, ya que puede dar confusion al compilador, a la hora de ejecutar el programa, y puede tomar decisiones las cuales nosotros no teniamos en mente a la hora de programarlo.
ERRORES DE SINTAXIS:
Estos errores se detectan en la fase de compilacion, y nos dara una lista de errores de sintaxis, los cuales, pueden haber sido ocasionados por expresiones incompletas o erroneas, que ayamos escrito algo mal... etc.
ERRORES A LA HORA DE EJECUTAR:
Existen ocasiones, en las que una nez creado el ejecutable, a la hora de ejecutarlo, se cierra de forma brusca devido a algun error. Este tipo de fayos son los mas dificiles de localizar, pero existen unos programas auxiliares llamados debuggers (depuradores) que inspeccionan el programa paso a paso, comprovando las variables... etc
Bueno, espero que esto les hay aclarado algo mas las cosas antes de continuar...
Las explicaciones del principio, han sido escritas por Mycrox, el cual se a unido a la creación del curso, y me mando por m.p. para que lo publicase... Esperemos que siga colaborando ^^ Lo de las librerias y los tipos de errores ha sido echo por mi.
Recuerden que si tienen alguna pregunta, no duden en postear
Pronto seguiremos con el manual... (en cuanto haya un rato libre)
Saludos y hasta pronto!!!
«
Última modificación: 03 de Marzo de 2008, 10:44:03 por TxShAcK
»
En línea
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
Para ver este enlace
Registrate
o
Inicia Sesion
Si algún tema del foro te parece inapropiado, crees que debe moverse o cerrarse, repórtalo aquí
(No respondo dudas por MP)
Para ver este enlace
Registrate
o
Inicia Sesion
Reglas
<->
Para ver este enlace
Registrate
o
Inicia Sesion
Subir imagen al foro
TxShAcK
Moderador Global
Desconectado
Mensajes: 1,466
Prefiero morir de pie, a vivir arrodillado
Re: Curso C/C++
«
Respuesta #3 :
03 de Marzo de 2008, 10:47:21 »
Para ver este enlace
Registrate
o
Inicia Sesion
3º CAPITULO
Por: Mycrox
ASIGNACIONES DE VALORES.
Una asignación quiere decir que "entrego" un valor a una variable determinada. En lenguaje C esas asignaciones se hacen de derecha a izquierda, ya que al revés nos saldrá error.
ejemplos buenos:
a=5
//el valor 5 se guarda en la variable a
a=b
//el valor de b se guarda en la variable a.
ejemplos malos:
5=a;
a+b=c;
si nos fijamos, los ejemplos malos tienen lógica, pero en lenguaje C eso no existe.
----------------------------------------------------------------------------------------------------------------------------
IMPRIMIR DATOS POR PANTALLA.
En lenguaje C existe una función llamAda printf que quiere decir "imprimir de first y primero de f (printf)"
¿El primero que?
El primer dispositivo de salida que en este caso es el monitor.
Sintaxis:
printf("texto");
Veamos un ejemplo:
Pasaré a explicar el código.
#include <stdio.h>
#include <stdlib.h>
-- Son las librerias con las funciones necesarias para que funcione el programa, en este caso la stdio para el printf y la stdlib para el system("pause")
int main()
-- Funcion principal.
printf("Esto es una cadena de texto\n");
-- La funcion printf imprimirá en la pantalla todo lo que tenga entre comillas. Lo que se añade, el "\n", quiere decir
salto de línea.
system("pause");
-- Simula una instruccion del MS-DOS que en este caso es pause para que puedas visualisar lo que hay en pantalla. Prueba sin esta funcion y te aclararás más.
imprimirá lo siguiente:
----------------------------------------------------------------------------------------------------------------------------
SECUENCIAS DE ESCAPE
Tambien existen secuencias de escape, son como complementos a la funcion printf.
Las secuencias son las siguientes:
\a - Sonido audible
\b - Retroceso
\n - Salto de linea
\t - Tabulacion
Su utilizacion es dentro dela funcion printf, solo prueben y veran de que les hablo, ya que es mejor aprender
haciendo
.
----------------------------------------------------------------------------------------------------------------------------
La funcion printf también puede imprimir variables y operaciones despues del cierre de comillas y separados con una coma con el signo % (porcentaje) y la inicial del tipo de dato,a continuación se muestra más claramente si no entendiste:
printf("la variable es %i", a);
suponiendo que la variable a es de tipo entero (int) se imprimirá el valor de dicha variable.
Veamoslo de una manera mas completa:
Explicación del código:
declaro las librerias correspondient
es y luego dentro del main, declaro la variable a como tipo de dato entero, en este caso, le asigno el valor de 5.
Luego la imprimo con el símbolo %i, su inicial es i porque el dato es INT.
Se imprimirá lo siguiente:
Veamos otro ejemplo pero con otro tipo de dato:
En este caso para exactamente lo mismo, pero ahora es %f debido a que el dato es de tipo float, es decir, de coma flotante (con decimales).
Se imprime lo siguiente:
----------------------------------------------------------------------------------------------------------------------------
Tambien se puede imprimir mas de una variable, tan solo hay que separalas por comas para diferenciarlas
.
printf("la variable a es %i y la variable b es %i", variable1, variable2);
el primer %i pertene a la variable variable1 y el segundo %i pertenece a variable 2
----------------------------------------------------------------------------------------------------------------------------
IMPRIMIENDO OPERACIONES.
Otro de tipo de operaciones puede ser imprimir operaciones como sumas, restas, multiplicacion
es y un sinfin de cosas que mas adelante veremos.
veamos un ejemplo:
Si podrán darse cuenta, declaro a y b con valores iniciales y luego los sumo, tan solo imprimo su resultado como %i, ya que el resultado es un entero.
Se imprime lo siguiente:
----------------------------------------------------------------------------------------------------------------------------
PRIXIMO CAPITULO, LEER DATOS POR TECLADO.
saludos!
En línea
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
Para ver este enlace
Registrate
o
Inicia Sesion
Si algún tema del foro te parece inapropiado, crees que debe moverse o cerrarse, repórtalo aquí
(No respondo dudas por MP)
Para ver este enlace
Registrate
o
Inicia Sesion
Reglas
<->
Para ver este enlace
Registrate
o
Inicia Sesion
Subir imagen al foro
TxShAcK
Moderador Global
Desconectado
Mensajes: 1,466
Prefiero morir de pie, a vivir arrodillado
Re: Curso C/C++
«
Respuesta #4 :
03 de Marzo de 2008, 10:49:13 »
Para ver este enlace
Registrate
o
Inicia Sesion
4º CAPITULO
Por: TxShack
Bueno, para completar un poco mas el capitulo anterior que hizo Mycrox, voy a encargarme de mostrarles como serian esos mismos codigos, pero con el lenguage de C++, ya que el comando printf es propio de C (pero sirve tambien para C++) mientras que el cout, tipico de C++ no es posible usarlo para codigos en C.
Bueno, comenzare explicando, el 1º ejemplo que dijo, sobre imprimir un texto en pantalla, pero con el comando cout
Utilizare el mismo ejemplo para que este mas claro todo:
Y como podemos comprobar, imprime esactamente lo mismo que con el comando printf
Bueno, en esta ocasion, voy a analizar el codigo completamente, dando todos los detalles que se, para que puedan aprender lo mejor posible.
La primera linea:
Citar
#include <iostream>
Lo que hace esto, es añadir un archivo llamado iostream (libreria) dentro de nuestro codigo, que vamos a utilizar.
El primer caracter, es el simbolo # que lo que hace es actuar sobre el preprocesador.
Cada vez que comenzamos a compilar, el preprocesador es el primero en actuar, y lo que hace, es buscar por todo nuestro codigo, las lineas que empiezen por el simbolo # y lo que hace, es actuar sobre ellas, antes que se ejecute el compilador.
A continuacion del simbolo # vemos que aparece la palabra include, que lo que hace, es avisar de que devemos incluir (include) un archivo que sera usado en nuestro codigo, que en este caso sera iostream.
Y por ultimo, queda de explicar, para que se ponen alrededor de iostream los simbolos < >
Lo que hacen estos simbolos, es indicar al compilador, donde se encuentra el archivo iostream, para asi no tener que incluir la ruta.
Estos simbolos < > dicen que el archivo a buscar, esta en la carpeta include, que veremos en el directorio donde tenemos instalado en compilador Dev-C++
Bueno, con esto creo que queda claro, lo que hace cada parte el codigo...
Ahora pasemos a al 2º linea:
Código:
int main()
Aqui empieza el programa que escribimos...
Com vemos, empieza por una funcion llamada main().
Una funcion, en general, es un bloque de codigo, que ejecuta una o mas acciones.
Como todas las funciones, main(), tiene que indicarnos el valor que deve de devolvernos, que en este caso es un entero, por eso lo indicamos con la palabra int
A continuacion, en la liea siguiente, vemos que aparece una llave { y de la misma forma, acana con otra llave } que lo que hacen, es indicar, que es lo que forma parte de la funcion.
Pasemos a la siguiente linea:
Código:
std::cout << "Esto es una cadena de texto\n";
Lo que hace esta linea, es indicar que utilizaremos el comando cout, para imprimir un mensaje en pantalla.
El comando cout, biene con la libreria estandar en todos los compiladores, y por lo tanto, lo que hacemos a la hora de escribir std:: es indiarle al compilador, que cout, forma parte de la libreria estandar. Esto tampoco es necesario, tal y como vieron en el primer capitulo, pero es lo correcto a la hora de programar, ya que podemos indicarle otro distinto a la estandar (std) por lo que nos podria imprimir cosas diferentes...
El
std
es conocido como el "namespace" que mas adelante veremos mas sobre ellos.
El
cout
es el "objeto"
El
<<
es el "operador" que en este caso nos indica que es un operador de salida, que lo que hace, es mostrar en la consola el texto que hayamos puesto detras.
Y lo que esta entre las
" "
en este caso "Esto es una cadena de texto\n" es conocido como el string, es decir, caracteres escritos. El \n lo que indica, es que una vez mostrado el texto, debe llebar acabo un salto de linea.
Bueno, con eso que acabamos de explicar, creo que serian perfectamente capazes de hacer el 2º codigo que indico Mycrox, empleando la funcion cout.
Espero que hayan entendido todo bien.
Esta a sido una clase un poco mas teorica tal vez, donde me e centrado un poco mas, en mostrar que hace cada parte del codigo, ya que creo que es necesario saberlo...
Un saludo, y hasta pronto.
En línea
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
Para ver este enlace
Registrate
o
Inicia Sesion
Si algún tema del foro te parece inapropiado, crees que debe moverse o cerrarse, repórtalo aquí
(No respondo dudas por MP)
Para ver este enlace
Registrate
o
Inicia Sesion
Reglas
<->
Para ver este enlace
Registrate
o
Inicia Sesion
Subir imagen al foro
TxShAcK
Moderador Global
Desconectado
Mensajes: 1,466
Prefiero morir de pie, a vivir arrodillado
Re: Curso C/C++
«
Respuesta #5 :
03 de Marzo de 2008, 10:51:32 »
Para ver este enlace
Registrate
o
Inicia Sesion
5º CAPITULO
Por: Mycrox
Ya hemos visto:
-Descarga e insalacion del compilador DevC++
-Generalidades
-Tipos de datos y variables
-Identificadores
-Palabras reservadas
-Librerias
-Tipos de errores
-Asignaciones
-Imprimir datos en pantalla (printf y cout)
A continuacion:
LEER DATOS POR TECLADO.
En lenguaje C existen varias maneras de ingresar varios tipos de datos, por el momento, veremos como ingresar tipos de datos numericos, no nos vamos a meter con caracteres (letras) ya que por lo que hemos avanzado, quedarian colgados. Para los curiosos, las cadenas de caracteres se llaman strings.
Bueno, vamos al grano y basta de bla bla.
FUNCION:
la funcion para leer datos por teclado es
scanf.
sintaxis:
scanf("%tipo de dato", &variable);
veamos varios ejemplos para que esto quede totalmente claro.
El resultado es el siguiente:
Explicacion del codigo:
- Declaro las librerias.
- Declaro la funcion main.
- Declaro la variable numero como variable entera.
- imprimo con printf diciendole al usuairo que ingrese un numero.
- Utilizo la funcion scanf y guardo la variable numero en memoria.
- Luego imprimo el resultado de ese scanf o variable.
Veamos ahora otro ejemplo pero con dos variables:
El resultado es el siguiente:
Explicacion del codigo:
- Declaro las librerias.
- Declaro la funcion main.
- Declaro las variables numero1 y numero 2 como
variables enteras (int).
- Imprimo que ingrese un numero, lo guardo en la variable numero1.
- vuelvo a imprimir que ingrese otro numero y lo guardo en la variable numero2.
- Luego imprimo las dos variables que el usuario ingreso.
---------------------------------------------------------------------------------------------------------------------------
- Si se habran dado cuenta, utilizo en el
scanf
el tipo de dato
"%i"
que quiere decir
"int"
, es decir, entero. Si yo escribiese
"%f"
la variable tendria que ser
float
, es decir, coma flotante o decimales.
- Luego utilizo el
&
(ampersand o algo asi xD) que indica al PC que la variable se guarde en una posicion de memoria aleatoria (en la RAM). Esto es de suma importancia, ya que si no antepones el
&
antes de la variable, no te saldra error, pero el PC no guardara el valor que le ingresaste.
-Por ultimo escribo el nombre de la variable donde voy a guardar el valor que ingrese.
---------------------------------------------------------------------------------------------------------------------------
Veamos un ultimo ejemplo para que todo quede mas claro:
El resultado es el siguiente:
Explicacion del codigo:
- Declaro las librerias.
- Declaro la funcion main.
- Declaro las variables numero1 y numero 2 como variables enteras
(int)
.
- Declaro la variable numero3 pero como un tipo de dato con decimales
(float).
- Imprimo que ingrese los numeros.
- Por cada impresion, guardo en su respectiva variable el valor ingresado.
- Si podran notar, en la variable numero3, el scanf tiene
"%f"
debido a que la variable es de tipo
float.
- Luego imprimo una operacion dentro del printf.
- Imprimo la variable numero3 y la sumo con el numero 1. Imprimo su resultado.
---------------------------------------------------------------------------------------------------------------------------
Como comprenderan, el uso de la funcion scanf es esencial al momento de crear un programa, ya que no sabemos con que valores va a trabajar el usuario y esto nos permite guardar cualquier valor en una variable cualquiera para que despues podamos trabajar con ella.
No es dificil usar scanf pero es sumamente importante.
Espero verlos el proximo capitulo.
saludos.
«
Última modificación: 03 de Marzo de 2008, 10:52:20 por TxShAcK
»
En línea
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
Para ver este enlace
Registrate
o
Inicia Sesion
Si algún tema del foro te parece inapropiado, crees que debe moverse o cerrarse, repórtalo aquí
(No respondo dudas por MP)
Para ver este enlace
Registrate
o
Inicia Sesion
Reglas
<->
Para ver este enlace
Registrate
o
Inicia Sesion
Subir imagen al foro
TxShAcK
Moderador Global
Desconectado
Mensajes: 1,466
Prefiero morir de pie, a vivir arrodillado
Re: Curso C/C++
«
Respuesta #6 :
03 de Marzo de 2008, 10:54:24 »
Para ver este enlace
Registrate
o
Inicia Sesion
6º CAPITULO
Por: Mycrox
SENTENCIAS.
un nuevo capitulo.
En esta ocasion veremos
sentencias
, partire por una de las mas basicas.
la sentencia condicional
IF
Esta funcion
(IF)
es muy conocida en casi todos los lenguajes, de hecho, en batch tambien se usa.
Esta sentencia es de
condicion
, es decir, hara tal cosa siempre y cuando cumpla con una condicion.
Veamos un ejemplo:
Explicacion del codigo:
[1]
-Ingreso a la variable numero un "numero" (valga la rebundancia)
[2]
-Con la funcion if comparo si es mayor que cero, si esto es verdadero, imprimira "el numero es positivo".
[3]
-Luego comparo si es menor que cero, si esto es verdadero, imprimira "el numero es negativo"
[4]
-Finalmente comparo el numero si es igual a CERO. si esto es verdadero, se imprimira: "el numero es neutro".
Se entiende la idea?
Ahora, se puede hacer de otra manera mas optima, utilizando su "conjugado"
else.
else quiere decir que si no se cumple la condicion del
if
,
hara todo lo que dice el
else.
veamos otro ejemplo:
Explicacion del codigo:
[1]
-Ingreso nuevamente un numero a la variable numero.
[2]
-Comparo, si el numero es mayor que cero, se imprime que es positivo. Si esto es FALSO, hara todo lo que dice el
else
, en este caso, imprimira que es "negativo o neutro" ya que el CERO no es positivo ni negativo.
Creo que ya se entiende la idea.
IF ELSE ANIDADOS.
que quiere decir anidados?
Facil, que si no se cumple el
if
, hara el
else
, pero dentro de ese
else
, habra otro
if
y quizas otro
else
y asi sucesivamente.
.
veamos un ejemplo:
explicacion del codigo:
[1]-Ingreso nuevamente un numero a la variable numero.
[2]-Comparo, si el numero es mayor que cero se imprime tal cosa, si no es asi, hara todo lo del
else
, pero dentro de este
else
hay otro
if,
este
if
dice si el numero es menor que cero, se imprime otra cosa, pero si no es asi, hara todo lo que diga el siguiente
else
...
Cabe decir que para las sentencias no se utilizan los "punto y coma" (
.
se entiende??? cualquier duda porfavor de postear.
ahora, veremos otra sentencia necesaria para el proximo capitulo de vectores y matrices.
SENTENCIA FOR
La sentencia for es una sentencia repetitiva, es decir, hace tales instrucciones hasta que la condicion sea falsa.
sintaxis:
for(valor_inicial; condicion; complemento)
veamos un ejemplo para tener algo mas claro.
Explicacion de la sentencia for.
[1]
-Declaro una variable "i" y la inicializo en cero, este es su valor inicial.
[2]
-La condicion sera que "i" sea menor que 5.
[3]
-El complemento es el
i++
, esto es igual que decir:
i=i+1
, esto significa que por cada "vuelta" que haga el
for
, la variable "i" aumentara en 1 hasta que sea menor que 5.
y quedaria algo asi:
Como podran ver, el mensaje se imprimio 5 veces, ya que se imprime una vez cuando
"i" vale 0
, luego se aumenta en 1 e
"i" vale 1
, como es menor que 5 se vuelve a imprimir el mensaje, luego
"i" vale 2
, como es menor que 5 se vuelve a imprimir el mensaje... asi sucesivamente hasta que i sea menor que 5, que es la condicion de hecho.
Veamos otro ejemplo:
El codigo imprimira la variable "i" hasta que la condicion del
for
sea FALSA.
quedaria algo asi:
fijense en lo que se imprime. i vale0, i vale 1, i vale 2.... creo que esto lo deja mas claro.
el contador del for, el
i++
, no necesariamente debe ir en aumento, tambien puede decrecer, veamos un ejemplo donde i va bajando de 1 en 1.
Ahora "i" lo inicializo en 5 y luego le quito 1 hasta que no cumpla la condicion.
se vera asi:
se entiende ahora?
cualquier duda porfavor postearla.
Proximo Capitulo, vectores y matrices.
En línea
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
Para ver este enlace
Registrate
o
Inicia Sesion
Si algún tema del foro te parece inapropiado, crees que debe moverse o cerrarse, repórtalo aquí
(No respondo dudas por MP)
Para ver este enlace
Registrate
o
Inicia Sesion
Reglas
<->
Para ver este enlace
Registrate
o
Inicia Sesion
Subir imagen al foro
TxShAcK
Moderador Global
Desconectado
Mensajes: 1,466
Prefiero morir de pie, a vivir arrodillado
Re: Curso C/C++
«
Respuesta #7 :
03 de Marzo de 2008, 10:57:54 »
Para ver este enlace
Registrate
o
Inicia Sesion
APORTE INTERESANTE REALIZADO POR USUARIO
Autor:
Para ver este enlace
Registrate
o
Inicia Sesion
uriel_mec
claro que si esta bien el manual, pero apoco ya el sguiente capitulo son
vectores y matrices? se me hace muy rapido, ademas no se ha visto el switch, que en ocasiones se ocupa.
voy a poner tambien algunos ejemplos con sentencias if else, while, do while, y switch por si hay dudas, creo que viendo los codigos tambien se aprende.
switch
Código:
#include <stdio.h>
#include <conio.h>
void main(){
int op;
float lado1,lado2,radio,res;
const float pi=3.1416;
printf("Menu Areas");
printf("\n\n1. Cuadrado \n2. Rectangulo \n3. Triangulo \n4. Circulo");
printf("\n Elige la opcion deseada");
scanf("%d",&op);
switch (op){
case 1:
printf("Dame la medida del lado");
scanf("%f",&lado1);
res=(lado1*lado1);
printf("El resultado es: %f",res);
break;
case 2:
printf("Dame la medida del lado");
scanf("%f",&lado1);
printf("Dame la medida del segundo lado");
scanf("%f",&lado2);
res=(lado1*lado2);
printf("El resultado es: %f",res);
break;
case 3:
printf("Dame la medida del primer lado");
scanf("%f",&lado1);
printf("Dame la medida del segundo lado");
scanf("%f",&lado2);
res=(lado1*lado2)/2;
printf("El resultado es:%f",res);
break;
case 4:
printf("Dame la medida del radio");
scanf("%f",&radio);
res=(radio*radio)*pi;
printf("El resultado es: %f",res);
break;
}
getch();
return;}
Código:
#include <stdio.h>
#include <conio.h>
void main(){
int op;
float C,F,K,res;
printf("Menu Grados");
printf("\n\n1. Grados Fahrenheit a Centigrados \n2. Grados Centigrados a Fahrenheit \n3. Grados Fahrenheit a Kelvin \n4. Grados Kelvin a Fahrenheit");
printf("\n Elige la opcion deseada");
scanf("%d",&op);
switch (op){
case 1:
printf("Dame Grados Fahrenheit");
scanf("%f",&F);
res=(F-32)/1.8;
printf("Su conversion de Grados Fahrenheit a Centigrados es: %f",res);
break;
case 2:
printf("Dame Grados Centigrados");
scanf("%f",&C);
res=(C*1.8)+32;
printf("Su conversion de Grados Centigrados a Fahrenheit es: %f",res);
break;
case 3:
printf("Dame Grados Fahrenheit");
scanf("%f",&F);
res=(F+459.67)/1.8;
printf("Su Conversion de Grados Fahrenheit a Kelvin es: %f",res);
break;
case 4:
printf("Dame Grados Kelvin");
scanf("%f",&K);
res=(K*1.8)-459.67;
printf("Su conversion de Grados Kelvin a Fahrenheit es: %f",res);
break;
}
getch();
return;}
se declaran las variables y declaro un int op para que esta sea la opcion que se elije, puede ser tambien de tipo char.
la sentencia switch es asi:
switch (expresion){
case 1:
sentencia 1;
break;
case 2:
sentencia 2;
break;
}
1. La sentencia switch permite seleccionar una opcion entre multiples alternativas.
2. La etiqueta case representa expresiones constantes de valores enteros, aunque tamben pueden ser caracteres estos van seguidos de ":".
3. La sentencia break se utiliza para terminar la ejecucion de bucles o en este caso salir de la sentencia switch y es necesaria en switch para transferir el control fuera de la misma
tambien se puede usar default:
sentencia N;
4. Etiqueta default
Define las acciones a ejecutar no especificadas por una instrucción case dentro de una estructura
condicional switch.
if else
Código:
#include <stdio.h>
#include <conio.h>
void main(){
float calif1,calif2,res;
printf("Dame tu primer calificacion");
scanf(" %f",&calif1);
printf("Dame tu segunda calificacion");
scanf(" %f",&calif2);
res=(calif1+calif2)/2;
printf("Calificacion %f ",res);
if(res>60 && res<=100){
printf ("Aprobado");
}else
if (res<60)
printf ("Reprobado");
else
printf ("Error");
getch();
return;
}
do while
Código:
#include <stdio.h>
#include <conio.h>
void main(){
int x=0;
/*Imprime pares hasta el numero 100*/
do
{
x=x+2;
printf("%d \n",x);
}while(x<=98);
return;
}
Código:
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main(){
float a,b,c,v,d,t,e,res,c1;
char op;
printf("presione ENTER");
do{
getch();
printf("\nMenu\n\nA)Formula General\nB)Binomio al Cuadrado\nC)Teorema de pitagoras\nD)Velocidad\nE)Salir\n");
printf("Seleccione una Opcion ");
scanf("%c",&op);
switch(op){
case 'A':
printf("Dame el valor de a");
scanf("%f",&a);
printf("Dame el valor de b");
scanf("%f",&b);
printf("Dame el valor de c");
scanf("%f",&c);
e=(b*b)-(4*a*c);
res=((-b)+(sqrt(e)))/2*a;
printf("Su primer resultado es: %f",res);
res=((-b)-(sqrt(e)))/2*a;
printf("Su segundo resultado es: %f",res);
break;
case 'B':
printf("Dame el valor de a");
scanf("%f",&a);
printf("Dame el valor de b");
scanf("%f",&b);
res=(a*a)+(2*a*b)+(b*b);
printf("Su resultado es: %f",res);
break;
case 'C':
printf("Dame el valor de a");
scanf("%f",&a);
printf("Dame el valor de b");
scanf("%f",&b);
c1=(a*a + b*b);
res= sqrt(c1);
printf("Su resultado es: %f",res);
break;
case 'D':
printf("Dame el valor de d");
scanf("%f",&d);
printf("Dame el valor de t");
scanf("%f",&t);
v=d/t;
printf("Su resultado es: %f",v);
break;
}
}while(op!='E');
}
while
Código:
#include<stdio.h>
#include<conio.h>
void main(){
int x,val;
x=1;
val=0;
/*admite 10 numeros mientras sean diferentes de 15*/
while(val!=15&&x<=10){
printf("Dame un numero");
scanf("%d",&val);
x++;
}
getch();
}
esos son algunos ejemplos que tenia por ahi espero les sirvan
saludos!!.
En línea
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
Para ver este enlace
Registrate
o
Inicia Sesion
Si algún tema del foro te parece inapropiado, crees que debe moverse o cerrarse, repórtalo aquí
(No respondo dudas por MP)
Para ver este enlace
Registrate
o
Inicia Sesion
Reglas
<->
Para ver este enlace
Registrate
o
Inicia Sesion
Subir imagen al foro
TxShAcK
Moderador Global
Desconectado
Mensajes: 1,466
Prefiero morir de pie, a vivir arrodillado
Re: Curso C/C++
«
Respuesta #8 :
03 de Marzo de 2008, 11:01:46 »
Para ver este enlace
Registrate
o
Inicia Sesion
FUNCION ENUM, EXPLICADA POR USUARIO
Autor:
Para ver este enlace
Registrate
o
Inicia Sesion
Matthew Farrel
En este capitulo daremos la funcion enum.
Su funcion, es la de hacer una o varias enumeracions y dar los valores a una variable, como no me explico muy bien, os dejo un codigo.
Código:
#include <stdlib.h>
#include <stdio.h>
enum
{
portal_hacker,
el_hacker,
Inmortal_security,
Infierno_hacker
}fhx;
int main()
{
printf("¿De que foro quieres hablar?\n");
printf("0- el hacker\n");
printf("1- portalhacker\n");
printf("2- inmortal security\n");
printf("3- infierno hacker\n");
printf("¿De que foro quieres hablar? ");
scanf("%d", &fhx);
if (fhx==portal_hacker)
{
system("cls");
printf("Uff, no tengo palabras para describirlo");
system("pause>nul");
}
if (fhx==el_hacker)
{
system("cls");
printf("Es la mayor comunidad underground que conozco en español.");
system("pause>nul");
}
if (fhx==Inmortal_security)
{
system("cls");
printf("Bueno pero peueño");
system("pause>nul");
}
if (fhx==Infierno_hacker)
{
system("cls");
printf("Una putada, que cancelasen el host");
system("pause>nul");
}
}
Ahora explico el codigo:
enum
, ponemos el enum, para indicar que es una enumeracion.
Abrimos la llave, y ponemos las variable que queramos, cada una separada de la siguiente por una coma, excepto en la ultima, que no lleva nada.
Finalmente cerramos la llave y ponemos el nombre de la variable
Luego ponemos int main(), y empezamos todo normal, printf, y luego scanf, la sintaxis del comando es
scanf("%d", &x);
, puesto que a enum le corresponde %d.
Aunqure para ver las opcions, debemos ponerlas con printf, si no con enum, es imposible verlas. A menos que esten traducidas, pero eso no lo controlo muy bien, y estoy buscando, proximamente, publicare como traducir.
Pero la contestacion tiene que ser con numeros, me explico, con el enum, lo que estamos haciendo es dar una serie de valores a la variable, en este caso es fhx. Esos valores van desde 0, que le corresponderia a portal hacker hasta 3, que seria Infierno hacker.
portal_hacker=0
el_hacker=1
Inmortal_secur
ity=2
Infierno_hacke r=3
Por lo tanto el scanf, solo acepta que contestemos con numeros, aunque al estar ligados, en el if podemos poner los nombres a los cuales corresponden los numeros o los numeros en si.
Y como veis en el codigo, esta el nombre pero aun asi reacciona como debe reaccionar.
Pero en un codigo, no solo podemos poner una enumeracion, si no que podemos poner varias, tan solo tenemos que cambiar el nombre de la variable en el enum y en el cin o scanf en la parte que le corresponda, para que no coincidan.
Ahi no acaba el enum, pero lo que queda lo veremos en mas capitulos.
«
Última modificación: 03 de Marzo de 2008, 11:02:32 por TxShAcK
»
En línea
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
Para ver este enlace
Registrate
o
Inicia Sesion
Si algún tema del foro te parece inapropiado, crees que debe moverse o cerrarse, repórtalo aquí
(No respondo dudas por MP)
Para ver este enlace
Registrate
o
Inicia Sesion
Reglas
<->
Para ver este enlace
Registrate
o
Inicia Sesion
Subir imagen al foro
TxShAcK
Moderador Global
Desconectado
Mensajes: 1,466
Prefiero morir de pie, a vivir arrodillado
Re: Curso C/C++
«
Respuesta #9 :
03 de Marzo de 2008, 11:07:01 »
Para ver este enlace
Registrate
o
Inicia Sesion
7º CAPITULO
Por: TxShack
?, SWITCH, WHILE, DO WHILE
- ?:
Este se trata de un operador, parecido al if y else, pero se utiliza solo para codigos cortos... de una sola linea.
Ahora veremos con un ejemplo como funciona.
Código:
#include <iostream.h>
int main(){
int nota;
cout<<"Que nota sacaste en el examen?"<<endl;
cin>>nota;
cout<<(nota>=6 ? "muy bien\n" : "deves estudiar masd\n");
system ("pause>nul");
return 0;
}
Como vemos, comenzamos preguntando por la nota de un examen, y a continuacion, establezemos la condicion:
Código:
cout<<(nota>=6 ? "muy bien\n" : "deves estudiar masd\n");
De que si la nota es menor de 6 o mayor de 6 diga muy bien, o deves estudiar mas...
El ? siempre actua interpretando la 1ºparte como verdadera y la 2º como falsa, es decir:
Citar
? acción a ejecutar en caso verdadero : acción a ejecutar en caso falso ;
- SWITCH:
Este comando, es bastante sencillo de entender, y simplifica bastante el uso de if/else...
Su sintaxis es siempre:
Citar
switch (opcion a comparar)
{
case a :
case b:
case c:
....
....
....
....
default;
}
Aunque para entender esto mejor, veamos un ejemplo:
Código:
# include <stdio.h>
# include <stdlib.h>
int main()
{
int opcion;
printf("elije una opcion:\n\n");
printf("1\n2\n3\n\n");
scanf("%i", &opcion);
{
switch (opcion)
{
case 1: printf("As elejido la 1\n");
break;
case 2: printf("seleccionaste el 2\n");
break;
case 3: printf("elejiste la 3\n");
break;
default : printf("Opcion incorrecta\n");
break;
}
}
system("pause");
}
Como vemos en el codigo, comenzamos preguntando al usuario que elija una opcion (1, 2 o 3) pero esto no explicaremos..
. iremos a lo que nos interesa que es la parte del switch.
como vemos, comenzamos tal y como dije antes con:
Código:
switch (opcion)
ya que "opcion" es el nombre que le dimos al principio (int opcion;)
Seguidamene, vamos poniendo:
case 1: .....
case 2: .....
case 3: .....
default: .....
los case x son las opciones que depende de lo que haya elejido el usuario, si elijio la opcion 2, pues ara lo indicado en case 2:
Si elijio la opcion 1, pues ara lo indicado en case1:
Y si elije una opcion que no esta incluida en case, como por ejemplo 6, 9... etc, pues ara lo marcado en default:
Tambien podeis ver, una nueva instruccion, que es
break;
y lo que hace, es saltarse el resto de la estructura.
Para que entiendan mejor esto del break, eliminenlo del codigo, seleccionen la opcion 1, y veran que les imprimira en pantalla todas las opciones, puesto que ejecutara el codigo seguido y sin saltos.
"Lo mejor para entender el capitulo, es ir copiando el codigo y compilandolo, para entenderlo mejor...
)
- WHILE:
La palabra while, en ingles significa "mientras"
While, es un bucle, que se ejecuta mientras la condicion sea verdadera, y si es falsa pues deja de ejecutarse.
Por ejemplo, creamos un contador, y le decimos que while (mientras) el contador sea menor que 10, nos imprima el valor del contador...
Seria algo asi:
Código:
# include <stdio.h>
# include <stdlib.h>
int main()
{
int contador;
contador = 0;
while (contador < 10)
{
printf ("El contador vale: %d\n", contador);
contador = contador + 1;
}
system ("pause");
}
y el resultado tras la compilacion, seria:
Como ven, empezamos el codigo marcando las librerias que vamos a utilizar:
Código:
# include <stdio.h>
# include <stdlib.h>
A continuacion, escribimos la funcion
Código:
int main()
Posteriormente, definimos una variable llamada contador, y la ponemos a 0
Código:
int contador;
contador = 0;
Una vez echo esto, aparece:
Código:
while (contador < 10)
{
printf ("El contador vale: %d\n", contador);
contador = contador + 1;
aqui lo que hacemos, es indicarle con el while, que mientras el contador sea menor que 10..... nos imprima en pantalla (printf) el texto "el contador vale x" y a continuacion, la variable contador coje un valor mas (+1).
Como vemos, cunado el contador supera el valor 10, la condicion del while ya no se cumple, y el programa se detiene.
-DO WHILE:
Empleamos el do while, cuando necesitamos que se repita el bucle por lo menos una vez.
Lo veremos mejor con un ejemplo:
Código:
# include <stdio.h>
# include <stdlib.h>
int main()
{
int opcion;
do
{
printf("teclea 1, 2 o 3\n\n");
scanf("%i", &opcion);
}
while ((opcion<1)||(opcion>3));
printf("numero correcto\n");
system("pause");
}
Como vemos en este ejemplo, deveremos introducir una de las opciones correctas para que el programa finalize, que en este caso son 1, 2, 3.
Si ponemos 1, 2, o 3 el programa acabara, sino, se repetira la pregunta una y otra vez.
Creo que es sencillo de entender y no requiere mucha explicacion...
Al igual que vimos antes, con el bucle, WHILE, el DO WHILE es muy similar...
Código:
do
{
Acciones a ejecutar;
}
while(condicion a cumplir);
Y hasta aqui explicare por hoy.
Me gustaria haber explicado algo mas relacionado con esto, como el break y continue, goto y for, pero no me a dado tiempo, asi que tal vez en otra ocasion
Un saludo
«
Última modificación: 07 de Marzo de 2008, 12:52:59 por mycrox
»
En línea
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
Para ver este enlace
Registrate
o
Inicia Sesion
Si algún tema del foro te parece inapropiado, crees que debe moverse o cerrarse, repórtalo aquí
(No respondo dudas por MP)
Para ver este enlace
Registrate
o
Inicia Sesion
Reglas
<->
Para ver este enlace
Registrate
o
Inicia Sesion
Subir imagen al foro
mycrox
Moderador
Desconectado
Mensajes: 597
"Católico Apostólico Romano. Seguidor de Cristo"
Re: [OBLIGATORIO] Curso C/C++
«
Respuesta #10 :
05 de Marzo de 2008, 07:35:51 »
Para ver este enlace
Registrate
o
Inicia Sesion
8º CAPITULO
Por: Mycrox
Ya hemos visto:
-Descarga e instalacion del compilador DevC++
-Generalidades
-Tipos de datos y variables
-Identificadores
-Palabras reservadas
-Librerias
-Tipos de errores
-Asignaciones
-Imprimir datos en pantalla (printf y cout)
-Leer datos por teclado
-Sentencias: if, else, for, switch, do while, enum, ?
En este capitulo estudiaremos arrays (vectores, matrices)
ARRAYS
Arrays Unidimensional
es (VECTORES)
¿Qué es un Array?
Un array podriamos decir que son varias variables pero con el mismo nombre (
identificador
) y tipo (
int, char, float, etc
) y tienen un índice por el cual diferenciarse.
.. me explique bien?
¿y porqué unidireccional?
Porque solamente tienen una dimensión. Lo veremos a continuación.
El uso que le daremos será guardar distintos valores para la misma variable.
sintaxis:
tipo identificador[cantidad];
ejemplos:
int horas[30];
char nombre[20];
Explicacion de esto.
El numero que le colocamos a nuestra variable es la cantidad de espacios que la memoria va a reservar para ella. en los ejemplos anteriores, la memoria reservará 30 "
espacios
" para "
horas
" y 20 "
espacios
" para "
nombre
".
sabiamos que una variable podia tomar un valor cualquiera: x=4, y=3, etc. pero ahora puede tomar muchos mas valores que es el numero que le ponemos nosotros entre corchetes a nuestra variable.
veamos un ejemplo:
y notas[4]
? lo explicaré pronto.
la ejecución será la siguiente:
les dibujaré como funciona esto internamente:
(pido perdon que puse en el dibujo notas[5[ en vez de notas[4] xD)
Explicación del dibujo:
Ese espacio
"/0"
significa que allí termina el vector
"notas"
, fijate que tiene 5 espacios reservados en memoria, pero solamente puedes utilizar 4 ya que el último se lo reserva la ram para indicar el termino de la variable.
se entendio?
?? cualquier consulta no duden en postear.
Hagamos algo más óptimo aplicando lo aprendido en capitulos anteriores:
su ejecución:
Explicación del código:
-
Declaro el array
notas[4]
con la variable
i
para los
for
.
-
Dentro del
for
, imprimo
i+1
para que no me imprima
"nota 0"
.
-
Hago un
scanf
para cada nota pero usando de subindice la variable
i
que va de uno en uno.
-
Luego las muestro usando otro
for.
Muy difícil?
OJO OJO.
Sabemos que en el array
notas[4]
podemos introducir 4 valores