Jeferson Ricardo Tichz

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Pagina Jeferson Ricardo Tichz ( Engenharia 14.2)

PRG

Link Matéria

Aula 19/05/15

Link aula

  • Execicio2.c
#include <stdio.h>

main()
{
   int x[10]= {0,1,2,3,4,5,6,7,8,9};
   int *p;
   int i;

  char w[10]="ifsc";
   char *u, y;

   u = w + 2;
   y= *u;
   p=x; //sem & pois eh um vetor se fosse pegar a possicao expecifica p=&x[3];
 printf("%c e %s\n",y,u);
   i=0;
   while (i<10) {
       printf(" endereco %p e conteudo %d\n", p, *p);
       p++;
       i++;
   // pula de 4 em 4 pq eh um veltor inteiro e reserva 8bits
    }
}
  • Execiciochar3.c
void alfa(int *p)
{
  *p=10;
}
 
main()
{
  int x;
  x =5;
  printf("Valor de x antes da chamada de alfa = %d\n", x);
  alfa(&x);
  printf("Valor de x depois

Aula 12/05/15

Link Aula

Aula 30/04/15

#include <stdio.h>

struct Televador{
int andar,uso,load,estado;
char emergencia[5];

}elevador;

struct Tprevisaotempo{
char precipitacao[5],temporal[5],codigo_vermelho[10];
int temperatura;
struct Tdata data;
}previsao;

struct Tdata{
int hora;dia,semana,mes,ano;
}data;

struct Tautomovel{
int portas,load,peso,passageiros,eixos,tanque_l,potencia,cv,doc_veicular,ano;
char combustivel[20],proprietario[45];
}automovel;

Aula 28/04/15

  • Aula 28-04 link
  • Continuação de estruturas
    • Quando o "i" sai do "for" incrementa mais 01 antes de sai do for exemplo:
void tratar_usuario()
{
  char senha[10];
  int userEncontrado=1;
  int i;
 
 
 /* 
     Loop para encontrar o usuário na tabela. 
     Ao final do loop a variavel i conterá o índice do usuário (se ele estiver
     na tabela
  */
  for (i=0;i<4 && userEncontrado; i++) {
       if( strcmp(userID, TabelaUsuarios[i].UserId)==0)
             userEncontrado=0;
  }
 
  /* se usuário encontrado abre a porta */
  if (userEncontrado==0) {
	printf("Bom dia %s! Entre com a senha\n", userID);
  	scanf("%s",senha);
	i--; /* o indice do sujeito é i-1 */
	if(strcmp(senha,TabelaUsuarios[i].Senha)==0) 
	       printf("Abrir porta!!!\n");
	else
		printf("Senha Inválida\n");
  }
}
      • Se usar o break o indice sai com o valor certo. Exemplo:
  for (i=0;i<4 && userEncontrado; i++) {
       if( strcmp(userID, TabelaUsuarios[i].UserId)==0)
if (userEncontrado==0)
{
break;
}
}
  • meu codigo
#include <stdio.h>
#include <string.h>
 
/**********************************************/
/*** PROGRAMA DE CONTROLE DE ACESSO  **/
/** Autor: TurmaENG.TELECOM - 2012.2 */
/**********************************************/
 
/** VARIÁVEIS GLOBAIS DESTE MÓDULO ****/
 
struct TRegistroUsuario {
	char UserId[10];
	char Senha[10];
	int estado;
};
 
/* Tabela de Usuários */
struct TRegistroUsuario TabelaUsuarios[4] = {
         {"joao","abcd",1},
         {"maria","xxxx",1},
         {"jose","yyyy",1},
         {"lara","zzzz",1},
};
 
 
char userID[20];
int cont=0,conta=0; 
 
/** FUNÇÔES DESTE MÓDULO ****/
 
void mostrar_menu_entrada_usuario()
{
	system("clear");
  	printf("*******************************\n");
  	printf("Entre com o seu USERID para ter acesso\n"); 
  	printf("**************** # Maximo 10 tentetivas # ***************\n");
	printf("######## Sua tentativa é = %d ##############\n",cont);
}
 
/** Função que implementa as tarefas do administrador **/
 
void  administrar()
{
int i;
for(i=0;i<4;i++){
TabelaUsuarios[i].estado=1;
printf("Ok tudo liberado!!!!!\n");
system("sleep 01");
}
}
 
/** Função que valida um usuário e abre a porta **/
 
void tratar_usuario()
{
  char senha[10];
  int userEncontrado=1;
  int i;
//int conta=0;
 
 
 /* 
 *      Loop para encontrar o usuário na tabela. 
 *           Ao final do loop a variavel i conterá o índice do usuário (se ele estiver
 *                na tabela
 *                  */
//if(cont<=3){
  for (i=0;i<4 && userEncontrado; i++) {
       	if( strcmp(userID, TabelaUsuarios[i].UserId)==0)
             userEncontrado=0;
  }
  /* se usuário encontrado abre a porta */
	if(userEncontrado==1){printf("usuario não cadastrado\n");system("sleep 01");}
	if (userEncontrado==0 && TabelaUsuarios[i-1].estado==0) {printf("Usuario bloqueado\n"); system("sleep 01");}
  if (userEncontrado==0 && TabelaUsuarios[i-1].estado==1) {
	printf("Bom dia %s! Entre com a senha\n", userID);
  	scanf("%s",senha);
	cont=0; //acertou o usuario zera o contador
	i--; /* o indice do sujeito é i-1 */
	if(strcmp(senha,TabelaUsuarios[i].Senha)==0) 
	       {printf("Abrir porta!!!\n");
		system("sleep 01");
		cont=0;//acertou a senha 
		}
	else
		{printf("Senha Inválida\n");
		conta++;
		cont++;
		system("sleep 01");
		if (conta==3){
		TabelaUsuarios[i].estado=0;
		printf("Usuario %s esta bloqueado!!!\n",TabelaUsuarios[i].UserId);
		system("sleep 01");	
		}
		}
  }
cont++;
}
 
void main()
{
//int cont=0;
 for(;;) {
     mostrar_menu_entrada_usuario();
     scanf("%s",userID);
     if (strcmp(userID, "admin")==0) {
          administrar();
     } else {
	//if (cont<=3){
         tratar_usuario();//cont++;
	}
//	cont++;
	//printf("Contador %d",cont);
	if(cont>=10){
	printf("Usuario Invalido\n");
	system("sleep 02");
	break;
	}
     }
 }

Aula 16/04/15

Aula 14/04/15

  • Continuação Aula 16 link
  • Exercicio I
#include <stdio.h>

void main()
{
int a,b;
float media1,media2;
a=13;
b=a++;
media1=(a/b);
media2=(float)a/b;
printf("a= %d   e b= %d  media1= %.2f  media2=%.4f\n",a,b,media1,media2);
}
  • Exemplo II
#include <stdio.h>
#define PI 3.1415 
//#define valores fixo antes de começar

void main()
{
int a,b;
float media1,media2;
a=13;
b=a++;
media1=(a/b);
media2=(float)(a+b+PI)/3;
printf("a= %d   e b= %d  media1= %.2f  media2=%.4f\n",a,b,media1,media2);
}
  • Exemplo III
#include <stdio.h>

void main()
{
int num[3][2]={9,8,7,6,5,4,3};
printf("num[1][2]=%d e num[2][2]=%d\n",num[1][2],num[2][2]);
}
  • Exemplo IV

{9, 8, 7, 6, 5, 4, 3} 00,01,10,11,20,21,30 posição na matriz verificando a posição da matriz:

#include <stdio.h>
#define PI 3.1415 

void main()
{
int a,b=0;
int num[3][2]={9,8,7,6,5,4,3};
for (a=0;a<3;a++)
 {      
        for (b=0;b<2;b++)
        {
                printf("\n num[%d][%d]= %d\n",a,b,num[a][b]);

        }
 }
}
  • Exemplo de um erro muito louco
#include <stdio.h>

main()
{
  char TabelaUsuarios[4][10] = {
         "11111 111111",
         "22222 222222",
         "33333 333333",
         "44444 444444",
                                };
  int i;

  for (i=0;i<4;i++)
       printf("%s\n",&TabelaUsuarios[i][0]);
}
  • Desafio fazer parar qando nao haver mais trocas
#include <stdio.h>
 
void mostra_vet(int vet_aux[],int tam,int tipo) // tipo=0 vertical \n tipo=1 horizontal \t
{
  int i;
 
  if(tipo==0)
	printf("\n"); // vai deixar uma linha em branco só no tipo que quero.
  for(i=0;i<tam;i++)
    if(tipo==0)
      	printf("\n%d",vet_aux[i]);
    else
	printf("\t%d",vet_aux[i]);
  printf("\n");
}
 
 
void main()
{
  int i,j,num,vet_num[10];
  printf("\nDigite os números:\n");
  for(i=0;i<10;i++){
      scanf("%d",&num);
      vet_num[i]=num;
  }
  for(j=0;j<9;j++){		// varre os (10-1) vetores - o ultimo ele não tem que comparar
          for(i=0;i<(9-j);i++){ // depois da primeira passagem o ultimo elemento já é o maior...
              if(vet_num[i]>vet_num[i+1]){ 
                num=vet_num[i];
                vet_num[i]=vet_num[i+1];
                vet_num[i+1]=num;
              }
	      mostra_vet(vet_num,10,1); // mostra tipo=1 horizontal
          }
  }
  mostra_vet(vet_num,10,0); // mostrta tipo=0 verrtical
 
}

Aula 07/04/15 (Exercícios)

  • Exercício 1
Minha Solução Ex.1


  • Exercício 2
Minha Solução Ex.2


  • Exercício 3
Minha Solução Ex.3


  • Exercício 4
Minha Solução Ex.4

Aula 31/03/15

Char em C

Vetores 26/03/15

Pseudo Codigo

var vetor[10] media,soma,conta,num inicio conta=0 soma=0

 para variando de 0 ate 10
 faca
 ler vetor [conta]
 incrementa conta
 fim para

calcula media obtenha o num acima da media calcula media

 para conta 0 ate 10
 faca
 soma = soma + vetor[conta]
 fim para

media = soma / (conta + 1)

 para conta => 0 ate 9
 faca
  se o vetor[conta] > media
  incrementa numero
  fim se
 fim para

fim </syntaxhighlight>

Codigo Programaçao C

#include <stdio.h>

main()
{
	int i=0,am=0;
	int vet1[10];
	float media=0;
 
	for(i=0;i<10;i++) {
		printf("Entre com a nota %d => ",i+1);
		scanf("%d",&vet1[i]);
		media = media+vet1[i];
	}
	media = media/i;
	for( i=0;i<10;i++) {
		if (vet1[i]>media)
		am++;
	}
	printf("Media=%0.1f. O número de notas acima da média é %d.\n",media,am);
}

Modificar Para achar menor e menor nos numeros digitados

  • Coloquei o valor em uma variavel
//Codigo Jeferson
#include <stdio.h>

main()
{
        int i=0,am=1500,maior,menor;
        int vet1[10];


        for(i=0;i<10;i++) {
                printf("Entre com a nota %d => ",i+1);
                scanf("%d",&vet1[i]);
                //media = media+vet1[i];
                }
        maior=menor=vet1[0];
        for( i=0;i<10;i++) {
                if (vet1[i]>maior)
                maior = vet1[i];
                if (vet1[i]<menor)
                menor = vet1[i];
        }
        printf("Menor=%d. O Maior=%d\n",menor,maior);
}
  • Foi mostrado o a posição do maior através do vet1[maior] *Professor*
#include <stdio.h>

main()
{
        int i=0,am=1500,maior=0,menor=0;
        int vet1[10];


        for(i=0;i<10;i++) {
                printf("Entre com a nota %d => ",i+1);
                scanf("%d",&vet1[i]);
                //media = media+vet1[i];
                }

        for( i=0;i<10;i++) {
                if (vet1[i]>vet1[maior])
                maior = i;
                if (vet1[i]<vet1[menor])
                menor = i;
        }
        printf("Menor=%d. O Maior=%d\n",vet1[menor],vet1[maior]);
}

Declarações do Vetor

  • Definindo e usando vetores no C

Colocando em posições ex: int x[10] = {2,4,7,-5,3,2,3,4,9,10};

  • Passando vetores em parametro.
int soma (int a, int b)
{
int aux;
aux = a + b; 
return aux;
}
void main()
{
soma (1,2);
}
// passando um valor como parametro. EX:
aux[0]=2;
aux[1]=4;
aux[5]=3;
  • Passando vetores como parâmetros

Vetores não são copiados na passagem por parâmetro. Eles são passados sempre como referência. Veja o exemplo a seguir:

#include <stdio.h>
 
void ler_vet(int aux[5])
{
  int i;
 
  for (i=0;i<5;i++) {
     printf("aux[%d] <== ",i);
     scanf("%d",&aux[i]);
  } 
}
 
main()
{
   int vet[5], i;
 
   ler_vet(vet);
   for (i=0;i<5;i++)
      printf("vet[%d]=%d\n",i,vet[i]);
}

Exercícios de Análise Aula 12/03/15

Analisar e inferir a saída dos programas abaixo.

(a) Valor de i ao final do programa ____

#include <stdio.h>

main()
{
  int i;

  for (i=0;i<10;i++) {
     if (i==8)
        break;
  }
  printf("Valor de i = %d\n",i);
}

(b) Valor de i e j ao final do programa ____

#include <stdio.h>

main()
{
  int i,j;

  for (i=0;i<10;i++) {
     j=i;
     if (j=5)
        break;
  }
  printf("Valor de i = %d j = %d\n",i,j);
}

(c) Valor de i ao final do programa ____

#include <stdio.h>

main()
{
  int i;

  for (i=0;i<10;i++) {
     if (i==5) {
        i=11;
        continue;
     }
  }
  printf("Valor de i = %d\n", i);
}

(d) Valor de i e j ao final do programa ____

#include <stdio.h>

main()
{
  int i,j=2;

  for (i=0;i<10 && j==5;i++) {
     j++;
  }
  printf("Valor de i = %d e j %d\n",i,j);
}


(e) Valor de i e j ao final do programa ____

#include <stdio.h>

main()
{
  int i,j=2;

  for (i=0;i<2;i++) {
     j=i;
     do {
       j++; 
     } while(j<3);
  }
  printf("Valor de i = %d e j %d\n",i,j);
}

(f) Valor de k ao final do programa ____

#include <stdio.h>

main()
{
  int i,j=2,k=1;

  for (i=0;i<2;i++) {
     j=j+2;
     if (j==4) {
        k++;
     } else {
        if (j==5) 
           k=k+100;
     }
  }
  printf("Valor de k é %d\n",k);
}

(g) Valor de k ao final do programa ____

#include <stdio.h>

main()
{
  int i,j=2,k=10;

  for (i=0;i>2;i++) {
     j=j+2;
     if (j==4 && j<=5) {
        k++;
     } else {
        if (j==5) 
           k=k+100;
     }
  }
  printf("Valor de k é %d\n",k);
}

(h) Valor de k ao final do programa ____

#include <stdio.h>

main()
{
  int i=5,j=2,k=10;

  for (i=0;i<3;i++) {
     j=0;
     while(j<2) {
         j++;
         if (j==1);
            k++;
     }
  }
  printf("Valor de k é %d\n",k);
}

(i) Valor de k ao final do programa ____

#include <stdio.h>

int alfa (int x)
{
  if (x<=3)
     return -1;
  else
     return 0;
}

main()
{
  int i,k=1;
 
  for (i=0;i<3;i++) {
      if (alfa(i)==-1)
          k++;
  }
  printf("Valor de k é %d\n",k);
}

(j) Valor de k ao final do programa ____

#include <stdio.h>
 
int alfa (int x)
{
  if (x==0 || x==2)
     return -1;
  else
     return 0;
}
 
main()
{
  int i,k=1;
 
  for (i=0;i<3;i++) {
      if (alfa(i)==-1)
          k++;
  }
  printf("Valor de k é %d\n",k);
}

(k) Valor de k ao final do programa ____

#include <stdio.h>


int beta (int x)
{
  if (x==1)
     return 1;
  else
     return 0;
}

int alfa (int x)
{
  if (x==0 || x==2)
     return -1;
  else
     return 0;
}
 
main()
{
  int i,k=1;
 
  for (i=0;i<3;i++) {
      if (alfa(i)==-1 && beta(i))
          k++;
  }
  printf("Valor de k é %d\n",k);
}


(l) Valor de delta ao final do programa ____

#include <stdio.h>

int delta=10;

int beta (int x)
{
  delta++;
  if (x==1)
     return 1;
  else
     return 0;
}

int alfa (int x)
{
  if (x==0 || x==2)
     return -1;
  else
     return 0;
}
 
main()
{
  int i,k=1;
 
  for (i=0;i<3;i++) {
      if (alfa(i)==-1 && beta(i))
          k++;
  }
  printf("Valor de delta é %d\n",delta);
}

(m) Valor de soma ao final do programa ____

#include <stdio.h>

int alfa (int x, int y, int w)
{
 if (x==(y+1)) {
     w--;
     return x*w; 
 } else {
     x++;
     return x*y;
 }
}
 
main()
{
  int i,soma=0;
 
  for (i=0;i<2;i++) {
      soma = soma + alfa(i,i+1,i+2);
  }
  printf("Valor de soma é %d\n",soma);
}

(n) Valor de delta ao final do programa ____

#include <stdio.h>

main()
{
  int i,j,k,soma=0, delta=0;
 
  j=0;
  for (i=0;i<2;i++) {
     for (;j<2;j++) {
        soma = soma + 1;
        delta = delta + soma * 2;
     }
  }
  printf("Valor de delta é %d\n",delta);
}

(o) Valor de delta ao final do programa ____

#include <stdio.h>

main()
{
  int alfa,beta,gama,delta=0;
 
  alfa = 11;
  beta = 5;
  gama = 1;
  delta = (alfa%2) + (gama>beta) + (beta==5);
  printf("Valor de delta é %d\n",delta);
}

(p) Valor de delta ao final do programa ____

#include <stdio.h>

main()
{
  int alfa,beta,gama,delta=0;
 
  alfa = 11;
  beta = 5;
  gama = 1;
  delta = (alfa%2) + (beta=5) + (gama>beta);
  printf("Valor de delta é %d\n",delta);
}

(q) O valor de delta no programa abaixo é: _______

#include <stdio.h>

int delta=1;
 
int alfa (int x)
{
  delta=5;
  return delta
}
 

main()
{
  int i=1;
 
  if (i==1 || alfa()==5)
       delta++;
  printf("Valor de delta é %d\n",delta);
}



<< Lista Ex1 >>

Outros