Mesmo não tendo nenhuma ligação um com o outro, o símbolo para ( AND bit a bit ) e o símbolo de
o ( endereço de ) são o mesmo e isto é uma pena,
e pode trazer confusões na mente de quem quer conhecer a fundo o assunto.
Quando estamos usando ponteiros o operador que devolve o endereço de memória e que é
considerado unário é justamente o "&".
Quando queremos testar condições, aliás o C é assim, estamos sempre avaliando situações em
busca de resultados positivos ou negativos, usamos os operadores relacionais e lógicos cujo
resultados são ( 0 ou 1 ).
Esta é a concentração dos operadores lógicos e relacionais de C, dizer se as
sentenças são verdadeiras ou falsas tomando uma decisão para cada uma, na verdade qualquer
valor que não seja zero é verdadeiro, sendo unicamente falso o zero.
No nosso caso estamos falando do operador lógico E que é reprensentado por
dois (&&) e que alguns chamam de "e comercial".
O aprendiz de C notará facilmente que estamos testando se duas condições são verdadeiras,
quando dois números são gerados imediatamente são copiados nas
variáveis inteiras a e b, e são testados.
Embora o destaque maior é para o operador lógico E, o programa conta com um eficiente
gerador de números aleatórios na faixa de 1 a 9, sendo aproveitado somente dois por vez,
e é finalizado na nona operação.
Para saber mais, copie o código e compile em sua IDE, e veja que clareza
de exemplo do operador lógico E,
onde muitos o utilizam sem saber ao certo sua utilidade.
Veja abaixo uma imagem do programa em execução:
o ( endereço de ) são o mesmo e isto é uma pena,
e pode trazer confusões na mente de quem quer conhecer a fundo o assunto.
Quando estamos usando ponteiros o operador que devolve o endereço de memória e que é
considerado unário é justamente o "&".
Quando queremos testar condições, aliás o C é assim, estamos sempre avaliando situações em
busca de resultados positivos ou negativos, usamos os operadores relacionais e lógicos cujo
resultados são ( 0 ou 1 ).
Esta é a concentração dos operadores lógicos e relacionais de C, dizer se as
sentenças são verdadeiras ou falsas tomando uma decisão para cada uma, na verdade qualquer
valor que não seja zero é verdadeiro, sendo unicamente falso o zero.
No nosso caso estamos falando do operador lógico E que é reprensentado por
dois (&&) e que alguns chamam de "e comercial".
O aprendiz de C notará facilmente que estamos testando se duas condições são verdadeiras,
quando dois números são gerados imediatamente são copiados nas
variáveis inteiras a e b, e são testados.
Embora o destaque maior é para o operador lógico E, o programa conta com um eficiente
gerador de números aleatórios na faixa de 1 a 9, sendo aproveitado somente dois por vez,
e é finalizado na nona operação.
Para saber mais, copie o código e compile em sua IDE, e veja que clareza
de exemplo do operador lógico E,
onde muitos o utilizam sem saber ao certo sua utilidade.
Veja abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
#include <conio.h>
#include <stdio.h>
#include <time.h>
#define tam 9
void got_color ( int tam_lin_ini, int tam_lin_fim, int tam_ini_col,
int tam_fim_col, int a, int b ) {
int i, c;
if ( a >= 1 && a <= 16 ) {
textcolor ( a );
}
if ( b >= 1 && b <= 16 ) {
textbackground ( b );
}
for ( i = tam_lin_ini; i < tam_lin_fim; i++ ) {
for ( c = tam_ini_col; c < tam_fim_col; c++ ) {
gotoxy ( c, i );
printf ( " " );
}
}
}
int main ( ) {
system ( "title
OPERADOR LÓGICO E" );
got_color ( 2, 25, 3, 79, 9, 15 );
int a, b;
int aut, *A, i, j, x;
int t;
x = 0;
do {
srand ( time ( NULL ) );
A = ( int* ) malloc ( tam * sizeof(int) );
for ( i = 0; i < tam; i++ ) {
do {
do {
t = rand ( ) % tam;
if ( t == 0 ) {
t = tam;
}
break;
} while ( 1 );
aut = 0;
for ( j = 0; j < 2; j++ )
if ( t == A [ j ] )
aut = 1;
if ( aut == 0 ) {
A [ i ] = t;
}
} while ( aut == 1 );
}
textcolor ( LIGHTRED );
gotoxy ( 33, 3 );
printf ( "OPERADOR LÓGICO
E" );
textcolor ( LIGHTBLUE );
gotoxy ( 33, 5 );
printf ( "Números
gerados" );
for ( i = 0; i < 2; i++ ) {
a = A [ 0 ];
b = A [ 1 ];
}
textcolor ( LIGHTRED );
printf ( " %d ", A [ 0 ] );
textcolor ( LIGHTBLUE );
printf ( "e" );
textcolor ( LIGHTRED );
printf ( " %d ", A [ 1 ] );
if ( ( a % 2 == 0 ) && ( b % 2 == 0 ) ) {
textcolor ( LIGHTBLUE );
gotoxy ( 22, 7 );
printf ( "Gerados dois
números pares" );
} else if ( ( a % 2 == 1 ) && ( b % 2 == 1 ) ) {
textcolor ( LIGHTBLUE );
gotoxy ( 22, 7 );
printf ( "Gerados dois
números ímpares" );
} else if ( ( a % 2 == 1 ) && ( b % 2 == 0 ) ) {
textcolor ( LIGHTBLUE );
gotoxy ( 22, 7 );
printf ( "Gerados um número
ímpar e um par" );
} else if ( ( b % 2 == 1 ) && ( a % 2 == 0 ) ) {
textcolor ( LIGHTBLUE );
gotoxy ( 22, 7 );
printf ( "Gerados um número
par e um ímpar" );
}
getche ( );
x++;
if ( x == 9 ) {
textcolor ( LIGHTBLUE );
gotoxy ( 26, 14 );
Sleep ( 1800 );
printf ( "Por: " );
textcolor ( LIGHTMAGENTA );
printf ( "Samuel Lima" );
textcolor ( BLACK );
gotoxy ( 26, 15 );
printf ( "sa_sp10@hotmail.com" );
Sleep ( 1800 );
textcolor ( LIGHTRED );
gotoxy ( 37, 23 );
printf ( "MUITO OBRIGADO" );
getche ( );
}
gotoxy ( 22, 7 );
clreol ( );
} while ( x < 9 );
free ( A );
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.