Mudanças entre as edições de "Usuário Discussão:Jeferson.rte"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 3: Linha 3:
 
Analisar e inferir a saída dos programas abaixo.
 
Analisar e inferir a saída dos programas abaixo.
  
(a) Valor de i ao final do programa  será [[ 8 ]]
+
(a) Valor de i ao final do programa  será [[ 8 ]] ok
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 20: Linha 20:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(b) Valor de i e j ao final do programa [[ i=9 e j=9 ]]
+
(b) Valor de i e j ao final do programa [[ i=9 e j=9 ]] i=0 j=5 nao sabia oq erro causaria
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 38: Linha 38:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(c) Valor de i ao final do programa [[ loop infinito ]]
+
(c) Valor de i ao final do programa [[ loop infinito ]] i=12
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 57: Linha 57:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(d) Valor de i e j ao final do programa [[ i=3 j=6 ]]
+
(d) Valor de i e j ao final do programa [[ i=3 j=6 ]] i=0 j=2 não chega a fazer pelo &&
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 74: Linha 74:
  
  
(e) Valor de i e j ao final do programa  [[i=1 j=3]]
+
(e) Valor de i e j ao final do programa  [[i=2 j=3]] ok
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 93: Linha 93:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(f) Valor de k ao final do programa  [[ k=6 ]]
+
(f) Valor de k ao final do programa  [[ k=6 ]] k=2 confundi com j da o valor 6
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 115: Linha 115:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(g) Valor de k ao final do programa  [[k=10 ]]
+
(g) Valor de k ao final do programa  [[k=10 ]] ok
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 137: Linha 137:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(h) Valor de k ao final do programa  [[ k=10]]
+
(h) Valor de k ao final do programa  [[ k=10]] k=16 errei achando q o i era igual a 5 assim nao iria entrar no for e ; no if
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 158: Linha 158:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(i) Valor de k ao final do programa  [[ k=4]]
+
(i) Valor de k ao final do programa  [[ k=4]] ok
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 183: Linha 183:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(j) Valor de k ao final do programa  [[k=3 ]]
+
(j) Valor de k ao final do programa  [[k=3 ]] ok
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 208: Linha 208:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(k) Valor de k ao final do programa  [[k=2]]
+
(k) Valor de k ao final do programa  [[k=2]] k=1 nao bater o alfa e o beta
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 242: Linha 242:
  
  
(l) Valor de delta ao final do programa  [[ delta=13]]
+
(l) Valor de delta ao final do programa  [[ delta=13]] delta=12 verifica o alfa primeiro depois o beta dentro do if
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 278: Linha 278:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(m) Valor de soma ao final do programa  [[soma=1]]
+
(m) Valor de soma ao final do programa  [[soma=1]] soma=5 errei feio
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 305: Linha 305:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(n) Valor de delta ao final do programa  [[delta=6]]
+
(n) Valor de delta ao final do programa  [[delta=6]] ok
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 325: Linha 325:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(o) Valor de delta ao final do programa  [[delta=1]]
+
(o) Valor de delta ao final do programa  [[delta=d]] ok verifica os verdadeio (1) e falso (0) dos  parenteses
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 342: Linha 342:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(p) Valor de delta ao final do programa  [[delta=6]]
+
(p) Valor de delta ao final do programa  [[delta=6]] ok
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 359: Linha 359:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
(q) O valor de delta no programa abaixo é: [[delta=2 ]]
+
(q) O valor de delta no programa abaixo é: [[delta=2 ]] ok
  
 
<syntaxhighlight lang=c>
 
<syntaxhighlight lang=c>
Linha 378: Linha 378:
 
   
 
   
 
   if (i==1 || alfa()==5)
 
   if (i==1 || alfa()==5)
 +
      delta++;
 +
  printf("Valor de delta é %d\n",delta);
 +
}
 +
</syntaxhighlight>
 +
 +
(q corigido) O valor de delta no programa abaixo é: [[delta=6 ]] ok
 +
 +
<syntaxhighlight lang=c>
 +
#include <stdio.h>
 +
 +
int delta=1;
 +
 +
int alfa (int x)
 +
{
 +
  delta=5;
 +
  return delta
 +
}
 +
 +
 +
main()
 +
{
 +
  int i=1;
 +
 +
  if (i==1 || alfa(i)==5)
 
       delta++;
 
       delta++;
 
   printf("Valor de delta é %d\n",delta);
 
   printf("Valor de delta é %d\n",delta);

Edição das 15h15min de 12 de março de 2015

Exercícios de Análise

Analisar e inferir a saída dos programas abaixo.

(a) Valor de i ao final do programa será 8 ok

#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 i=9 e j=9 i=0 j=5 nao sabia oq erro causaria

#include <stdio.h>

main()
{
  int i,j;

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

(c) Valor de i ao final do programa loop infinito i=12

#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 i=3 j=6 i=0 j=2 não chega a fazer pelo &&

#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 i=2 j=3 ok

#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 k=6 k=2 confundi com j da o valor 6

#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 k=10 ok

#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 k=10 k=16 errei achando q o i era igual a 5 assim nao iria entrar no for e ; no if

#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 k=4 ok

#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 k=3 ok

#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 k=2 k=1 nao bater o alfa e o beta

#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 delta=13 delta=12 verifica o alfa primeiro depois o beta dentro do if

#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 soma=1 soma=5 errei feio

#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 delta=6 ok

#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 delta=d ok verifica os verdadeio (1) e falso (0) dos parenteses

#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 delta=6 ok

#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 é: delta=2 ok

#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);
}

(q corigido) O valor de delta no programa abaixo é: delta=6 ok

#include <stdio.h>

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

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



<< Lista Ex1 >>