Mudanças entre as edições de "AULA X - Programação 1 - Uso de IDE com o C"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 176: Linha 176:
 
</li>
 
</li>
 
<li>
 
<li>
 +
<syntaxhighlight lang=c>
 +
#include <stdio.h>
 +
 +
int main() {
 +
 +
  int x,i,N, produto=1,cont=0;
 +
 +
  do {
 +
      printf("Entre com o valor de N\n");
 +
      scanf("%d", &N);
 +
      if (N<=0)
 +
          printf("Número deve ser positivo, entre novamente...\n");
 +
  } while(N<=0);
 +
 +
  for (i=0;i<N;i++) {
 +
      printf("ENtre com o número %d \n", i+1);
 +
      scanf("%d", &x);
 +
      if (x>10 && x< 50)
 +
          cont = cont+1;
 +
  }
 +
 +
  printf("Maiores que 10 e menores que 50 => %d", cont);
 +
  return 0;
 +
}
 +
</syntaxhighlight>
 
</li>
 
</li>
 
</ol>
 
</ol>

Edição das 17h39min de 16 de setembro de 2019

Objetivos

O aluno deverá ser capaz de:

  • utilizar uma Interface Gráfica de Desenvolvimento (IDE) para desenvolver programas C;
  • usar conceito de projeto
  • depurar programas na IDE

O que é uma IDE

  • IDE é um ambiente Integrado de Desenvolvimento de Software. O IDE integra gerenciador de projeto, editor, compilador, linkers, depuradores e terminais para visualização de forma que o desenvolvedor possa ter alta produtividade no desenvolvimento;
  • Exemplos de IDE: Netbeans, Eclipse, CLion...


O IDE CLion

  • cross-plataforma: pode ser usado em diferentes Sistemas Operacionais (ver [1]);
  • suporta oficialmente o compilador gcc (além de outros). O "gcc" e a ferramenta "make" devem estar instalados.
  • inclui ("bundle") o GDB, um deputarador da Gnu para código C/C++;


Projeto em C com o CLion - Criação e Execução

Criar um projeto (<New Project>)com as configurações abaixo. Notar que um projeto será por default criado dentro de uma área de projetos (Workspace). O Workspace pode ser mudado mas não recomendamos fazer isto por enquanto.

PRG-TelaProjetoCLion.jpg

Na sequÊncia esta tela deve ser mostrada:


PRG-TelaEdicaoCLion.jpg

A execução do programa é realizada como mostrado abaixo:

PRG-TelaRun.jpg

Para mostrar linha no editor fazer: File->Settings->Editor->General->Appearance. ([2])

Depuração em Alto nível

A depuração em alto nível permite a execução passo a passo do programa (usando o depurado gdb). Cole o seguinte código no arquivo main.c:

#include <stdio.h>

int main() {
    int x,y;

    printf("Entre com o valor de x\n");
    scanf("%d", &x);
    x = x + 1;
    y = x * 7;
    printf("valor de x = %d\n", x);
    return 0;
}

Para explorar a execução passo a passo, coloque um BREAKPOINT na linha 6 (o primeiro printf) Vá até esta linha e faça CTRL-F8. Observe que a linha fica vermelha.

Execute conforme a tela abaixo. Em azul aparecerá a linha que SERÁ executada. Observe que no momento em que o scanf for executado, a entrada de dados é realizada em uma janela CONSOLE de apoio:

PRG-TelaDepuracao.jpg

Observar que o conteúdo das variáveis podem ser inspecionados sobrepondo o mouse sobre a variável:

PRG-TelaWatchComMouse.jpg

Exercícios

Depurar os códigos abaixo:

  1. #include <stdio.h>
    
    int main() {
    
        char x;
        char i;
    
        x=95;
        for(i='M';i>65;i--){
            if(i=='F' || i=='A')
                x=x+1;
        }
        printf("%c %d\n", x,i);
        return 0;
    }
    
  2. #include <stdio.h>
    
    int main() {
    
        int i;
        int soma=6;
    
        do {
            if (soma=7)
                break;
            soma = soma + 1;
        } while(soma<10);
        
        printf("soma =%d\n", soma);
    
        return 0;
    }
    
  3. #include <stdio.h>
    
    int main() {
    
       int i,j,k;
    
       i=5;
       k=7;
       j=6;
       if(i>6 && i<10) {
           j=j+k;
       } else if (k!=5) {
           j=j*10;
       } else {
           j++;
       }
       printf("%d\n", j);
    
       return 0;
    }
    
  4. #include <stdio.h>
    
    int main() {
    
       int i,j,k;
    
       i=0;
       k=0;
       do {
           for(j=0;j<100;j++){
               if (j==1)
                   break;
               else {
                   continue;
               }
               k=k+1;
           }
           k=k+j;
           i=i+1;
       }while (i<2);
    
       printf("k=%d\n", k);
       return 0;
    }
    
  5. #include <stdio.h>
    
    int main() {
    
       int x,i,N, produto=1,cont=0;
    
       do {
           printf("Entre com o valor de N\n");
           scanf("%d", &N);
           if (N<=0)
               printf("Número deve ser positivo, entre novamente...\n");
       } while(N<=0);
    
       for (i=0;i<N;i++) {
           printf("ENtre com o número %d \n", i+1);
           scanf("%d", &x);
           if (x>10 && x< 50)
               cont = cont+1;
       }
    
       printf("Maiores que 10 e menores que 50 => %d", cont);
       return 0;
    }