Sunteți pe pagina 1din 19

Punteros[editar]

Los punteros permiten simular el paso por referencia, crear y manipular estructuras dinamicas
de datos, tales como listas enlazadas, pilas, colas y rboles. Generalmente las variables
contienen valores especificos. Los punteros son variables pero en vez de contener un valor
especifico, contienen las direcciones de las variables a las que apuntan. Para obtener o
modificar el valor de la variable a la que apuntan se utiliza el operador de indireccin. Los
punteros, al ser variables deben ser declaradas como punteros antes de ser utilizadas.

Sintaxis[editar]
int *ptrID, ID;
ID = 8;
ptrID = &ID; // puntero a ID
ptrID es un puntero a int, mientras que la variable ID es solo una variable del tipo int. Todo
puntero debe ser precedido por un asterisco (*) en la declaracin.
Se puede declarar ms de un puntero en la misma sentencia. En el ejemplo que sigue se ve la
declaracin de dos punteros a int.
int *ptrY, *ptrX;

Operadores[editar]
Existen dos operadores a tener en cuenta cuando trabajamos con punteros. El operador de
direccin (&) que devuelve la direccin de memoria de su operando y el operador de
indireccin (*) que devuelve un alias para el objeto al cual apunta el operando del puntero.
En el siguiente ejemplo vemos como se inicializa una variable X con el valor 15. Luego se crea
un puntero a int y por ltimo el puntero pasa a apuntar a la variable X. Esto es, ptrX es un
puntero a X.
int X = 15;
int *ptrX;
ptrX = &X;

Punteros y matrices[editar]
Las matrices son punteros constantes. Una matriz sin subindice es un puntero al primer
elemento de la matriz.
int X[15];
int *ptrX;
ptrX = &X; // ptrX recibe la direccin del primer elemento ( 0 ) de X
As como tambin podra escribirse
int X[15];

int *ptrX;
ptrX = &X[0]; // ptrX es igual a la direccin del primer elemento de X
Se pueden utilizar distintos elementos de la matriz teniendo en cuenta la sintaxis de punteros.
int X[15], Y, *ptrX;
ptrX = X;
Y = *( ptrX + 7 );
En este caso puede verse que Y toma el valor del elemento 7 de la matriz X, siendo 7 el
desplazamiento dentro de la matriz. El operador de indireccin queda fuera del parntesis
porque tiene una prioridad superior a la del operador +. De no existir los parntesis, se
sumaria 7 al elemento X[0]. Teniendo en cuenta que las matrices son punteros constantes, el
nombre de la matriz puede tratarse como un puntero:
Y = *( X + 7 );

Aritmtica de Punteros[editar]
Al usar punteros a matrices, hay que tener en cuenta que la aritmtica cambia sensiblemente.
#include <iostream>
using std::cout;
using std::endl;
void main()
{
int X[6] = { 1, 2, 3, 4, 5, 6 };
int *prtX;
prtX = X; // incializo el valor del puntero.
cout <<
prtX +=
cout <<
prtX -=
cout <<
prtX++;
cout <<

endl << *prtX;


2;
endl << *prtX;
2;
endl << *prtX;
endl << *prtX;

}
atte: Oscar Torres & David Paz
En el siguiente cdigo, primero se crea un puntero a un arreglo de 6 elementos y si inicializa el
puntero prtX al primer elemento del arreglo X[0]. Si tenemos en cuenta que el siguiente
ejemplo se ejecuta en una computadora con enteros de 4 bytes, el segundo elemento de la

matriz tendr en memoria un desplazamiento de 4 bytes, el 2 de ocho y asi sucesivamente. La


operacin prtX += 2; produce un desplazamiento llevndolo al 3 elemento dentro del arreglo.
Debe entenderse que prtX ahora apunta a una direccin de memoria y la instruccin cambia
esta direccin de memoria sumndole 2 multiplicado por el tamao del tipo de dato del arreglo
que en este supuesto sera de 4. (dir = ( dir + 2 * 4 )), dando por resultado un desplazamiento
de 8 bytes. Sera igual que ejecutar la operacin prtX = &X[2];. La operacin prtX -= 2 obedece
a la misma lgica estableciendo el puntero al primer elemento del array X[0] y el operador ++
modifica el puntero desplazndolo 4 bytes y asignndole el segundo elemento de la matriz.

Matrices de punteros[editar]
Para realizar una estructura de datos dinmica, se puede utilizar una matriz donde sus
elementos sean punteros. Suponiendo que queramos hacer un calendario y lo dividamos por
semanas. Podramos utilizar una matriz con los das de la semana.
const char *dias[7] = { "Domingo", "Lunes", "Martes", "Miercoles",
"Jueves", "Viernes", "Sabado" }
Cada da de la semana, no es un elemento de la matriz, sino que la expresin dias[7] crea una
matriz de siete elementos como punteros a char.

Formas de pasar un valor por referencia[editar]


Un puntero constante a un dato no constante
#include <iostream>
void sumoeldoble( int * ); // prototipo
void main ()
{
int X = 15;
sumoeldoble( &X ); // Pasa la direccin de memoria de X .
std::cout << X;
}
void sumoeldoble( int *ptrX )
{
// Toma el valor de X mediante el operador de indireccin
// La funcion no devuelve nada porque modifica el valor por
referencia.
*ptrX = *ptrX + ( *ptrX * 2 );
}
Un puntero no constante a un dato constante
#include <iostream>

void imprimeChars( const char * ); // prototipo


void main ()
{
char cFrase[] = "Hola Mundo";
imprimeChars( cFrase );
}
void imprimeChars( const char *ptrStr )
{
for ( ; *ptrStr != '\0'; ptrStr++ ) //Sin inicializacin
std::cout << *ptrStr;
}
Un puntero constante a un dato no constante
Un puntero es constante cuando apunta siempre a la misma direccin de memoria y si el dato
no es constante entonces el valor puede ser modificado.
void main ()
{
int foo, bar;
int * const ptrFoo = &foo; // Apuntador constante a un entero en
la direccin de memoria de foo
*ptrFoo = 53;

// Esto devuelve un error porque es un puntero constante.


// No se puede alterar la direccin de memoria a la que apunta.
ptrFoo = &bar;
}
Un puntero constante a un dato constante
El puntero constante apunta siempre a la misma direccin de memoria y el valor al que apunta
dicho puntero no puede ser modificado mediante el puntero. Este es el metodo en que se
debe pasar matrices a funciones que solo leen la matriz y no la modifican.
#include <iostream>
using namespace std;
int main ()
{
int foo = 3, bar;

const int * const ptrFoo = &foo;


cout << foo;
*ptrFoo = 53; //Error porque no puede alterarse el valor
ptrFoo = &bar; // Error
foo = 23;
cout << foo;
}

Punteros a funciones[editar]
Teniendo en cuenta que el nombre de una funcin es en verdad la direccin de memoria
donde comienza el cdigo, los punteros a funciones contienen la direccin de memoria de la
funcin a la que apunta, y se pueden pasar y retornar entre funciones.
#include <iostream>
using namespace std;
bool functionA( int, int, bool (*)( int ) ); //Prototipo
bool functionB( int ); //Prototipo
void main()
{
int x = 113, y = 226;
if ( functionA( x, y, functionB ) )
cout << "\nEl resultado es verdadero";
else
cout << "\nEl resultado es falso";
}
bool functionA( int param1, int param2, bool (*verificar)( int ) )
{
if ( ( (*verificar)( param1 ) ) && ( (*verificar)( param2 ) )
)
return true;
}
bool functionB( int param )
{
if ( param > 100 )
return true;
else

return false;
}
En el ejemplo anterior podr ver que en la definicin de los prototipos, la funcin functionA
recibe tres parmetros, siendo el tercer parmetro un puntero a la funcion functionB,
practicamente copiando el prototipo sin el nombre. Cuando se ejecuta functionA, se le pasa
como parametro el nombre de la funcin

Ordenamiento burbuja[editar]
Ordenamiento burbuja utilizando punteros
#include <iostream>
#include <iomanip>
using namespace std;
void orden( int *, const int ); // prototipo
void swap( int * const, int * const ); // prototipo
int main()
{
const int nSize = 10;
int a[ nSize ] = { 3, 9, 14, 27, 18, 154, 8, 6, 74, 33 };
cout << "\nElementos a ordenar\n";
for ( int j = 0; j < nSize; j++ )
cout << setw( 5 ) << a[ j ];
orden( a, nSize );

// ordena el arreglo

cout << "\nElementos ordenados\n";


for ( int j = 0; j < nSize; j++ )
cout << setw( 5 ) << a[ j ];
cout << endl;
return 0;

// indica terminacin exitosa

}
void orden( int *matriz, const int nSize )
{
for ( int pasada = 0; pasada < nSize - 1; pasada++ )

{
for ( int k = 0; k < nSize - 1; k++ )
{
if ( matriz[ k ] > matriz[ k + 1 ] )
{
swap( &matriz[ k ], &matriz[ k + 1 ] );
}
}
}
}
void swap( int * const ptrElemento1, int * const ptrElemento2 )
{
int mantiene = *ptrElemento1;
*ptrElemento1 = *ptrElemento2;
*ptrElemento2 = mantiene;
}

Proyecto de colas para un banco[editar]


Por cada 2 clientes normales pasa uno VIP al Cajero

El codigo es muy simple pero muy trabajado y depurado, esta relizado con if/while.... lo mas
complicado son los apuntadores, pero nada del otro mundo, muestra el perfecto uso de
funciones, tiene una clave: jahvi, de todas lo puedes leer en el codigo. Compila perfecto en
DEV C++. Tiene una interfaces muy creativa, ideal para estudiantes que se estn inciando en
el desarrollo de software con programacin estructurada. recuerda copiarlo en un pagina en
blanco en dev c++ desde aqui: (copialo completo y compilalo)
#include
#include
#include
#include
#include

<stdio.h>
<iostream>
<conio.h>
<stdlib.h>
<string.h>

using namespace std;


typedef struct nodo
{
int cedula;
struct nodo*siguiente;
}tiponodo;
typedef tiponodo *pnodo;
typedef tiponodo *cola;

cola cola_n=NULL;
cola cola_vip=NULL;
int solic;
void insertar (cola *cola_n)
{
cola aux, creado;
creado=(pnodo)malloc(sizeof(tiponodo));
cout<<"
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"<<en
dl;
cout<<"
||||||||||||||||||||METROPOLI
banco
universal||||||||||||||||||||"<<endl;
cout<<"
|||||||||||||||||||||||Le
da
la
bienvenida|||||||||||||||||||||||"<<endl;
cout<<"
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"<<en
dl;
cout<<"
Estimado cliente: Introduzca su numero de cedula"<<endl;
cin>>
creado->cedula;
cout<<"
Pronto sera atendido"<<endl;

if ((*cola_n)==NULL)
{
creado->siguiente=*cola_n;
*cola_n=creado;
}
else
{
aux=*cola_n;
while(aux!=NULL)
{
if(aux->siguiente==NULL)
{
creado->siguiente=aux->siguiente;
aux->siguiente=creado;
aux=aux->siguiente;
}
aux=aux->siguiente;
}

}
}
void mostrar_cola (cola cola_n)
{
cola aux;
aux=cola_n;
if(aux==NULL)
{
cout<<"No hay clientes en cola"<<endl;
}
else
{
while(aux!=NULL)
{
cout<<"Cedula: "<<aux->cedula<<endl;
cout<<""<<endl;
aux=aux->siguiente;
cout<<"*
Clientes
ordenados
por
orden
de
llegada((((((SIMCOLAS))))))"<<endl;
}
}
}
//modificado hasta ac... falta de orden por parte del creador
void insertar_vip (cola *cola_vip){
cola aux_2, creado_vip;
creado_vip=(pnodo)malloc(sizeof(tiponodo));
cout<<"
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"<<en
dl;//62
cout<<"
||||||||||||||||||||METROPOLI
banco
universal||||||||||||||||||||"<<endl;
cout<<"
|||||||||||||||||||||||Le
da
la
bienvenida|||||||||||||||||||||||"<<endl;
cout<<"
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"<<en
dl;
cout<<"
Estimado cliente: Introduzca su numero de
cedula"<<endl;
cin>>
creado_vip->cedula;
cout<<"
Pronto sera atendido"<<endl;
if ((*cola_vip)==NULL){
creado_vip->siguiente=*cola_vip;
*cola_vip=creado_vip;
}else{

aux_2=*cola_vip;
while(aux_2!=NULL){
if(aux_2->siguiente==NULL){
creado_vip->siguiente=aux_2->siguiente;
aux_2->siguiente=creado_vip;
aux_2=aux_2->siguiente;
}
aux_2=aux_2->siguiente;
}
}
}
void mostrar_cola_vip (cola cola_vip){
cola aux_2;
aux_2=cola_vip;
if(aux_2==NULL){
cout<<"No hay clientes V.I.P en cola"<<endl;
}else{
while(aux_2!=NULL){
cout<<"Cedula: "<<aux_2->cedula<<endl;
cout<<""<<endl;
cout<<"* Clientes ordenados
llegada((((((SIMCOLAS))))))"<<endl;
aux_2=aux_2->siguiente;
}
}
}

por

orden

void pop (cola *cola_n){


if((*cola_n)==NULL){
cout<<"No hay clientes en cola ((((((SIMCOLAS))))))"<<endl;
cout<<""<<endl;
}
if((*cola_n)!=NULL){
cout<<"Cliente: "<<(*cola_n)->cedula;
cout<<" es su turno"<<endl;
*cola_n=(*cola_n)->siguiente;
free(cola_n);
system("PAUSE");
cout<<""<<endl;
}
if((*cola_n)==NULL){

de

cout<<"No hay clientes en cola ((((((SIMCOLAS))))))"<<endl;


cout<<""<<endl;
}else{
cout<<"Cliente: "<<(*cola_n)->cedula;
cout<<" es su turno"<<endl;
*cola_n=(*cola_n)->siguiente;
free(cola_n);
system("PAUSE");
cout<<""<<endl;
}
}
void pop_vip(cola *cola_vip){
if(cola_vip!=NULL){
cout<<"Cliente: "<<(*cola_vip)->cedula;
cout<<" es su turno"<<endl;
*cola_vip=(*cola_vip)->siguiente;
free(cola_vip);
}else{
cout<<"No
hay
usuarios
((((((SIMCOLAS))))))"<<endl;
}
}

void
void
void
void
void
void
void

menu();
Insertar();
insertar_vip();
mostrar_cola();
mostrar_colavip();
solicitar_numero();
salir();

struct perly{
char uxer[];
}data;
struct perly *p = &data;

int main(int argc, char *argv[])

V.I.P

en

cola

{
system("color 0a");
cout<<"
*
*
*
"<<endl;
cout<<"
*
*
"<<endl;
cout<<"
*
|
*
*
*
* "<<endl;
cout<<"
*
-+*
"<<endl;
cout<<"
__
|
*
*
*
*
"<<endl;
cout<<"
___| |
*
_|_
*
____
____
"<<endl;
cout<<"
[_]||__
_| |_
*
|
|....| |....|
*
*
"<<endl;
cout<<"
|
|
_|[] []|_
___
|
|....| | ___|__
"<<endl;
cout<<"
[_]| |__|_ ______| |
| |_| |....| || -- - |
*
* "<<endl;
cout<<"
|________ |__
| |# #| |_| |....| || - -- |
_____
"<<endl;
cout<<"
[_]| _____ |
|__[]| |
| |_| |....|__|| -- - | |
* * *|
"<<endl;
cout<<"
| [___] |
|__ |# #| |_| |....|__|| -- -_|_|
* * *|
"<<endl;
cout<<"
[_]|
|
| |
|__| |__|....| || ___|* *|
* * *|
"<<endl;
cout<<"
| _____ |
|__ #|_______|....| | |* *|* *|
* * *|
"<<endl;
cout<<"
[_]| [___] |

|__|_______|__ | | |* *|* *|
* * *|
"<<endl;
cout<<"
|
|
__|_____________|__
|* *|* *|
* * *|
"<<endl;
cout<<"
[_]| _____ |
_|___________________|_ |* *|* *|
* * *|
"<<endl;
cout<<"
| [___] |
|_______________________|
______________
"<<endl;
cout<<"
__|_______|_________|_______________________|
_________________ "<<endl;
cout<<"
|
_______________________________________________________________|"<<end
l;

cout<<"
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"<<en
dl;//62
cout<<"
||||||||||||||||||||METROPOLI
banco
universal||||||||||||||||||||"<<endl;
cout<<"
||||||||||||Sistema Integral para el Manejo de
COLAS|||||||||||||"<<endl;
cout<<"
|||||||||||||||||||||||||||||
SIMCOLAS||||||||||||||||||||||||||||"<<endl;
cout<<"
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"<<en
dl;
cout<<"
|||||||||Creado por: Javier Rodriguez CaracasVenezuela||||||||||"<<endl;
cout<<"
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"<<en
dl;
cout<<"
Login: ";
char usuario[6] = "jahvi";
cin.getline(p->uxer,6);
if (strcmp(p->uxer,usuario) == 0) {
cout<<"Bienvenid@ al sistema "<<endl;
menu();
cout<<""<<endl;
}else{
cout<<"Acceso Denegado. Consulte
al Admisnistrador "<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
void menu() {
short a;
do {
cout<<""<<endl;
cout<< "0 - Agregar Cliente"<<endl;
cout<< "1 - Agregar Cliente V.I.P"<<endl;
cout<< "2 - Solicitar Numero"<<endl;
cout<< "3 - Mostrar Cola"<<endl;
cout<< "4 - Mostrar Cola V.I.P"<<endl;
cout<< "5 - Salir del Sistema"<<endl;
cout<<""<<endl;

fflush(stdout);
cout<<"Opcion #:";
cin>>a;
cout<<""<<endl;
if (a == 5)
exit(1);
switch(a){
case 0 :
Insertar();
break;
case 1 :
insertar_vip();
break;
case 2 :
solicitar_numero();
break;
case 3 :
mostrar_cola();
break;
case 4 :
mostrar_colavip();
break;
case 5 :
salir();
break;
default :
puts("Usted no ha seleccionado nada, porfavor seleccione
algo\n");
break;
};
} while (1);
}
void Insertar(){
insertar(&cola_n);

}
void insertar_vip(){
insertar(&cola_vip);
}
void mostrar_cola(){
mostrar_cola(cola_n);
}
void mostrar_colavip(){
mostrar_cola_vip(cola_vip);
}
void solicitar_numero(){
pop(&cola_n);
if(cola_vip!=NULL){
pop_vip(&cola_vip);
}else{
cout<<"No
((((((SIMCOLAS))))))"<<endl;
}

hay

cliente

V.I.P

en

cola

}
void salir(){
}

Cual es la diferencia en discos IDE y SATA?


Diferencias fisicas y de desempeo, ademas quiero saber si puedo conectar cualquiera de los dos
a mi Motherboard.

Mejor respuesta Seleccin del preguntador

Juancho respondido hace 6 aos


asi a grandes rasgos y en un pla muy general las diferencias fisicas son que el ide trae enrada para
conectar a tu mother con un bus normal el clasico cablesote gris con 40 pines y la corriente es la

normal que se conoce toda la vida de cuatro cablesitos con una terminal grande relativamente y
tiene cuatro orificios que es donde entran los conectores del ide y el ata tiene una miniestrada para
el cable de informacion osea ya es uan tipo tarjetita nada que ver con el ide y la corriente igual es
muy diferente por o demas dentro de su bolsa los dos son muy parecidos algunos ata son mas
pequeos pero en lo grueso solamente y en desempeo pues la transmicion de informacion es una
diferencia garrafal el ata te transmite hasta 3 gb por segundo mientras que el ide no llega a uno asi
que un ata es muy pero muy buen disco comparado con el ide y en cuanto a conectarlo a tu mother
pues tendras que checar que tu mother traiga conexiones ata son unas pequeitas que
normalmente vienen de colores que tienen una entrada como en "L" y tambien tendras que ver si tu
funete trae un conectoa de corriente ata que ese no es tan importante porque ya los venden los
adaptadores pero eso es loq ue tienes que checar
Calificacin y comentarios del preguntador

Muy Buena
0

Comentario

Otras respuestas (5)


Calificada con ms puntos

Jorge P respondido hace 6 aos


el que puedas conectar uno y otro lo define la tarjeta madre
los discos sata son varias veces mas rapido's que los ide y son hotplug los puedes conectar y
desconectar sin necesidad de apagar el pc porque asi es esa tecnologia
aparte que el cable delos sata es como un 20% de ancho delos cables ide
Los ide son lentos y hay mas posibilidad de interferencia
en el cable de datos aparte que si pones varios discos duros
es muy incomodo con cables tan gruesos
pero eso si el precio es mas economico que el delos sata en general
actualmente hay sata 1 y sata 2 que puede transferir 3 gb o 1.5 gb sata 1

los ide depende marca,modelo etc


0

o
0
o

Comentario

PiensoLibre respondido hace 6 aos


Como principal diferencia te vas a encontrar que el IDE-ATA usa un cable parelelo para
comunicarse con la motherboard. El SATA como su nombre lo indica usa un cable serial. La
diferencia es que la comunicacin en paralelo usa varios canales al mismo tiempo y el serial (en
general) usa un canal, por lo que los cables que utilizan son diferentes.
Sobre la velocidad el SATA es ms rpido que el IDE y conforme a su tecnologa es ms confiable.
Si puedes o no conectarlos a tu motherboard eso depende de los soquets de la misma, hay
algunas motherboard que todava tienen conecciones IDE y SATA las ms viejas slo tienen IDE y
las ms nuevas slo tienen SATA.
1

o
1
o

Comentario

Pamela y Jezuz respondido hace 6 aos


Para saber que disco te combiene mas ahi que ver si primero tu tiene un conector IDE adisional,
los discos IDE son de 7200 RPM y los SATA son de 10000RPM pero la velicidad de transferencia
de datos entre un IDE y SATA son diferente el IDE es mas lento y persive ruido en cambio el SATA
es mas rapido y no te permite la entrada de ruido en precios los IDE son mas baratos a diferencia
de los SATA dependiendo de la marca pueden durarte mucho tiempo o poco segun su uso lo
mejores del mercado tanto IDE comoSATA son unos llamados Barracuda pero son caros muy caros
y raros de encontrar lo que recomiendo son Seagte y Maxtor cabe mencionar que maxtor ya es
parte de seagate
0

o
1
o
o

Comentario

? respondido hace 6 aos


Hola amigo!!!
Voy a tratar de ser clo mas claro posible para evitar enredos. El interfaz IDE (ms correctamente
denominado ATA, el estndar de normas en que se basa) es el ms usado en PCs normales,
debido a que tiene un balance bastante adecuado entre precio y prestaciones. Los discos duros
IDE se distribuyen en canales en los que puede haber un mximo de 2 dispositivos por canal; en el
estndar IDE inicial slo se dispona de un canal, por lo que el nmero mximo de dispositivos IDE
era 2, lo que puede hacer que cada proceso realizado sea un poco mas lento.
El estndar IDE fue ampliado por la norma ATA-2 en lo que se ha dado en denominar EIDE
(Enhanced IDE o IDE mejorado). Los sistemas EIDE disponen de 2 canales IDE, primario y
secundario, con lo que pueden aceptar hasta 4 dispositivos, que no tienen porqu ser discos duros
mientras cumplan las normas de conectores ATAPI; por ejemplo, los CD-ROMs y algunas unidades
SuperDisk se presentan con este tipo de conector.
En cada uno de los canales IDE debe haber un dispositivo Maestro (master) y otro Esclavo (slave).
El maestro es el primero de los dos y se suele situar al final del cable, asignndosele generalmente
la letra "C" en DOS. El esclavo es el segundo, normalmente conectado en el centro del cable entre
el maestro y la controladora, la cual muchas veces est integrada en la propia placa base; se le
asignara la letra "D".
Los dispositivos IDE o EIDE como discos duros o CD-ROMs disponen de unos microinterruptores
(jumpers), situados generalmente en la parte posterior o inferior de los mismos, que permiten
seleccionar su carcter de maestro, esclavo o incluso otras posibilidades como "maestro sin
esclavo". Las posiciones de los jumpers vienen indicadas en una pegatina en la superficie del
disco, o bien en el manual o serigrafiadas en la placa de circuito del disco duro, con las letras M
para designar "maestro" y S para "esclavo", sistema bastante diferente a diferencia de los discos
SATA que proporcionan mayor velocidad, adems de mejorar el rendimiento si hay varios discos
rgidos conectados. Adems permite conectar discos cuando la computadora est encendida
(conexin en caliente).
El SATA es una conexin en serie, en un cable con un mnimo de cuatro alambres que crea una
conexin punto a punto entre dos dispositivos. Con respecto al ATA Paralelo, una ventaja es que
sus cables son ms delgados y pueden medir hasta un metro de largo (los P-ATA slo pueden
medir 40 cm de largo y son ms anchos). El Serial ATA soporta todos los dispositivos ATA y ATAPI.
Espero que me hayas entendido!
Saludos

1
o
Comentario

Juan ca respondido hace 6 aos


para empesar depedne de tu placa si se pueden usar ambos la verddad es que si tiene opciond e
disco sata ... es mejor usar este ya q es mas rapido y los discos son de mayor capacidad !!!
entre ide y sata no hay diferencias fisicas relevantes la unica diferencia es la capasidad q en ide
has mas o menos hasta 160 gb ... en camvio en el sata el mas chico es de 160 !!!!
y existen de 1 tera o mas !!!
y la tra diiferencia es que el sata es mucho mas rapido al momento de el procesamiento de
datos !!!
por ende mejor es el sata te recomendaria comprar un sata pero siempre debes saber si tu plsca lo
soporta ya que si no lo soporta no lo podras colocar
una diferencia sustancial fisicamete es el conector el de ide es un cuadrado de pines medio blanco
con cable flatt plomo con un borde rojo encambio el sata es un cable rojo encambio el del sata es
rojo el cable mucho mas pequeo y el conector es negro casi de el tamanmo de la entrada usb
perola transmicion a pesar de ser mas pequea es mucho mas rapida
Fuente(s):
ing de sistemas e informatico

S-ar putea să vă placă și