Mudanças entre as edições de "AULA X - Programação 1 - Uso de IDE com o C"
Linha 111: | Linha 111: | ||
O Codespace não é extamente uma IDE. Trata-se de uma espaço de trabalho criado na nuvem, associado a uma conta do github. Esta área pode ser | O Codespace não é extamente uma IDE. Trata-se de uma espaço de trabalho criado na nuvem, associado a uma conta do github. Esta área pode ser | ||
configurada para desenvolvimento, por exemplo, usando ferramentas da JetBrain ou o VS code com acesso por um browser da Internet. Detalhes sobre o Codespace podem ser vistos [https://docs.github.com/pt/codespaces aqui]. | configurada para desenvolvimento, por exemplo, usando ferramentas da JetBrain ou o VS code com acesso por um browser da Internet. Detalhes sobre o Codespace podem ser vistos [https://docs.github.com/pt/codespaces aqui]. | ||
− | |||
+ | A grande vantagem de uso do Codespace no contexto do curso de programação é ter zero instalação na sua máquina, podendo usar Windows, Linux ou outro sistema operacional. | ||
=Exercícios= | =Exercícios= |
Edição das 08h47min de 10 de março de 2023
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 - Características e Como Instalar
- 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++;
Existem duas opções de instalações para a realidade IFSC SJ:
- Instalar o Linux em uma Máquina Virtual e depois instalar o CLion sobre o Linux
- Instalar o CLion diretamente sobre o Windows e usando as ferramentas Minimum GNU
Vamos começar pela última opção considerando que o hardware disponível pode ter limitações.
VAMOS considerar que será instalada a VERSÃO TRIAL de 30 dias. Já foi comentado em sala que o ifsc já está cadastrado no site do CLIon então cada aluno poder aplicar para obter um código de ativação. Ver Como aplicar para o CLion.
Instalação sobre o Windows
Consiste nos seguintes passos:
- Baixar o pacote de software MinGW de versão 64 bits.
- Instalar MinGW, executar e selecionar os pacotes mingw-developer-tool, mingw32-base, mingw32-gcc-g++, mingw32-msys-base. Ver detalhes em [2]
- Baixar o CLion de [3]. Note que o download começa de imediato. NÃO precisa aplicar neste momento para obter o funcionamento em modo trial. Para habilitação posterior deve ser usado o email do domínio IFSC
- Ir na pasta Download e descompactar e executar o instalador do CLion.
- Executar o CLion e configurar conforme colocado em [4]
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.
Na sequÊncia esta tela deve ser mostrada:
A execução do programa é realizada como mostrado abaixo:
Para mostrar linha no editor fazer: File->Settings->Editor->General->Appearance. ([5])
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:
Observar que o conteúdo das variáveis podem ser inspecionados sobrepondo o mouse sobre a variável:
Uso de Funções da Biblioteca Matemática no CLION
Além de incluir no código fonte a diretiva:
#include <math.h>
Incluir no arquivo CMakeList.txt a linha
target_link_libraries(hello m)
Onde aparece o hello, substituir pelo nome do projeto.
Codespace do Github
O Codespace não é extamente uma IDE. Trata-se de uma espaço de trabalho criado na nuvem, associado a uma conta do github. Esta área pode ser configurada para desenvolvimento, por exemplo, usando ferramentas da JetBrain ou o VS code com acesso por um browser da Internet. Detalhes sobre o Codespace podem ser vistos aqui.
A grande vantagem de uso do Codespace no contexto do curso de programação é ter zero instalação na sua máquina, podendo usar Windows, Linux ou outro sistema operacional.
Exercícios
Depurar os códigos abaixo:
-
#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; }
-
#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; }
-
#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; }
-
#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; }
-
#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; }
-
#include <stdio.h> int main() { int i=0,i_ant,fat_ant,N, fat=1; printf("Entre com o valor de N\n"); do { scanf("%d", &N); if (N<2) printf("Valor de N deve ser maior que 1\n"); }while (N<2); while (N>fat){ i_ant=i; fat_ant=fat; i = i+1; fat = fat*i; } printf("Numero com fatorial imediatamente menor => %d com fatorial %d\n", i_ant,fat_ant); return 0; }