Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Código de Nobreza II 
Programação C
 
 
Professora M@rcia 
Mooc de Lovelace: Curso Híbrido de
Programação C
Professora Márcia Gonçalves de Oliveira
Aula 6 – Linguagem C
Objetivos
● Introduzir a Linguagem C e o seus ambientes de trabalho
● Ensinar a escrever em C as principais instruções e estruturas
● Explicar dois exercícios resolvidos em C
Introdução à Linguagem C
Ambientes de Trabalho
Para escrita e execução de programas em C neste curso utilizaremos as seguintes
ferramentas:
1. Plataforma online https://www.jdoodle.com/c-online-compiler/.
2. Dev C++ (Disponível em:
https://baixar.freedownloadmanager.org/Windows-PC/Dev-C/GRATUITO-5.11.html).
A Figura 1 é um exemplo de programa C, escrito na plataforma Jdoole. Nessa
plataforma, as entradas da instrução de recebimento de entradas scanf não são via
teclado, mas sim via STDIN, que é um buffer de entrada de dadas, conforme
indicado na Figura 1.
https://www.jdoodle.com/c-online-compiler/
https://baixar.freedownloadmanager.org/Windows-PC/Dev-C/GRATUITO-5.11.html
� Moodle de Lovelace: Curso Híbrido de Pensamento Computacional
Figura 1. Escrevendo e testando programas em C no Jdoodle
Escreva em C
A linguagem C foi criada por Dennis Ritchie em 1972 nos EUA a partir da
linguagem B em um DEC PDP-11 com sistema operacional UNIX.
C é uma linguagem de programação compilada, estruturada, imperativa,
padronizada pela ISO.
As principais características da linguagem C são as seguintes:
• A linguagem C permite a manipulação de dados nas suas formas mais básicas:
bits, bytes e endereços de memória.
• É portável, isto é, pode ser escrita em diferentes plataformas
• É flexível: poucas palavras reservadas (32, no padrão ANSI C)
• Não é uma linguagem rica em tipos de dados.
• C é uma linguagem estruturada. Por isso tem como vantagens: facilidade e
rapidez de testes.
� Página 2
� Currículo: Mooc de Lovelace: Curso Híbrido de Pensamento Computacional
Estrutura básica de um programa C
#include /* Biblioteca com funções de entrada e de saída
como scanf e printf*/
int main() /* Função ou programa principal */
{
/* Declaração de variáveis */
/* */
return 0; /* Valor retornado sinalizado execução finalizada */
}
Atenção!
Os comentários podem ser escritos iniciando-se com “//”, que transforma uma linha
inteira em comentário. Veja como fica a estrutura básica do um programa ”Olá, mundo”
em C no Dev C++.
#include /* Para importar funções de entrada e
saída */
int main (void)
{
/* declaração de variáveis */
/* Escreva aqui as instruções */
printf("Olá, mundo!");
return(0);
}
A Figura 2 apresenta o tradicional “Olá, mundo” escrito no ambiente Dev C++.
� Página 3 |
� Moodle de Lovelace: Curso Híbrido de Pensamento Computacional
Figura 2. Programa “Olá mundo” no Dev C++
Para criar um programa no Dev C++, utilize Arquivo> Novo> Arquivo Fonte (ou
CTRL-N). Para compilar (traduzir o programa), acesse Executar> Compilar (ou F9)
e, para executar, acesse Executar> Executar (ou F10).
Um par de chaves ({ }) marca o início e fim de um bloco, que pode ser inicio/fim do
programa, de uma estrutura de controle (condicional ou de repetição) ou de uma
função f (ou subprograma). O par “/* */” marca início e fim de um comentário.
Um programa em C, em geral, é formado de várias funções. O main() é uma
função, que, em C, é como se fosse um programa principal. Essa função pode
chamar várias outras funções definidas em um programa. No exemplo a seguir,
temos três funções: f1, f2 e main. A main chama f1 e f2 como se fosse um
programa chamando outros programas.
#include
void f1(parametros de entrada)
{
}
void f2 (parametros de entrada)
{
}
� Página 4
� Currículo: Mooc de Lovelace: Curso Híbrido de Pensamento Computacional
int main()
{
f1();
f2();
return 0;
}
Os dados podem assumir cinco tipos básicos em C que são: char (textos), int
(inteiros), float (com sinais e casas decimais), double (números do tipo float muito
longos), void (vazio) .
Exemplos:
int faltas; /* numero de faltas de um aluno */
float nota1,nota2, media; /* Notas e médias têm casas decimais
*/
char nome[30]; /* Texto com no máximo 30 bytes, isto é, 30
caracteres
Instruções e estruturas mais utilizadas
atribuição (=) - armazenamento direto em memórias.
Exemplo:
media = (nota1 + nota2)/2;
scanf - para leitura de entradas via teclado ou stdin (buffer ou espaço de memória
de entrada). Nessa instrução, cria-se um formato de recebimento dos dados.
Exemplo: scanf(“%d %f %d”, &a, &b, &c) - os endereços de
memórias a, b e c receberão, respectivamente, um inteiro (%d), um float (%f) e
um inteiro (%d) da seguinte forma:
inteiro float inteiro
34 8.7 22 ⇒ é uma entrada válida para esse formato.
gets(string) - para leitura de cadeia de caracteres (textos).
Exemplo:
gets(nome) ⇒ será lido um texto até que se encontre uma quebra de linha.
Estruturas de controle condicional
� Página 5 |
� Moodle de Lovelace: Curso Híbrido de Pensamento Computacional
Estrutura if - quando há duas opções a comparar(uma falsa e uma verdadeiro)
Exemplo: verificar se aluno está aprovado ou não
if (nota>=6)
{ printf(“Aprovado!”); }
else
{ printf(“Reprovado!”); }
Estrutura if “escada” - quando há mais de duas opções a comparar
Exemplo: verificar o maior número de três números a,b e c.
if ((a>=b) && (a>=c)) /* Caso 1: a é maior que b e c */
{ printf(“ a é maior”); }
else if (b>=c) /* Caso 2: a não é maior, sobra b e c para
comparar. */
{ printf(“ b é maior”); }
else /* Sobra apenas c */
{ printf(“C é maior”) }
Estrutura switch - quando há mais de duas opções a comparar e é possível
escolher uma opção.
Exemplo: verificar a opção escolhida de um menu de opções
1 - Samba
2 - Funk
3 - Sertanejo
4 - Nenhuma
printf(“Digite um número de 1 a 4:”);
scanf(“%d”, &numero); /* Receber número digitado */
switch (numero) { /* Compara todas as opções possíveis */
case 1:
printf( “Tocar samba....”); break;
case 2:
printf(“Tocar Funk....”); break;
case 3:
� Página 6
� Currículo: Mooc de Lovelace: Curso Híbrido de Pensamento Computacional
printf(“Tocar Sertanejo...”); break;
default: /* Se não for nenhuma das opções acima */
printf(“Tocar qualquer uma ou nenhuma!”);
}
O break (“parar”) é utilizado para que achando a opção verdadeira, o programa
não continue fazendo as outras comparações com as demais opções.
Estruturas de controle de repetição
i. O Laço FOR
Estrutura de repetição que, em geral, tem seu controle formado por variáveis
que:
• Inicialização: em geral é um comando de atribuição que inicializa uma variável
que controla o laço de repetição.
• Condição: expressão lógica que informa quando o laço termina
• Atualização: indica como a variável de controle varia a cada repetição. Em
geral, a atualização é um incremento de uma variável contadora.
Exemplo : O programa a seguir exibe os números de 1 a 100.
#include
int main () {
int x;
for (x=1; xcontrole*/
char letra = 'n';
while (letra!='s' && letra!='S') {
/* Atualização da variável de controle */
letra = getchar();
}
O Laço DO WHILE
O laço DO WHILE é uma estrutura de controle de repetição que, ao contrário
dos laços FOR e WHILE, testa a condição ao final de cada iteração. A forma geral
da estrutura DO WHILE é
do {
instruções;
} while (condicao);
� Página 8
� Currículo: Mooc de Lovelace: Curso Híbrido de Pensamento Computacional
O laço DO WHILE é mais utilizado quando se deseja que a primeira iteração seja
realizada sem testes de condição.
Exemplo: Ler uma senha até que ela seja válida, isto é, até que seja igual a 123.
do {
scanf( “%d”, &senha”);
} while (senha!=123);
Nesse caso, a senha é digitada primeiro e só depois é verificado se ela é válida. Se
sim, sai da repetição. Senão, o programa solicita nova digitação da senha e o faz
sempre que ela estiver incorreta.
Dica importante
Para não esquecer de fechar uma chave, recomendamos que ao criar o bloco já
escreva “ { } “ e depois vá inserindo as instruções entre as chaves.
Para saber mais
Para aprender mais sobre o básico da Linguagem C, acesse o seguinte endereço:
http://linguagemc.com.br/
Exercícios Resolvidos
ATENÇÃO!!
Antes de começar a escrever o programa, informe a Entrada, O Processamento, a
Saída, as memórias utilizadas e a sequência lógica.
Dica: como em Python, escreva a sequência lógica na forma de comentários do
código. Exemplo: Recebimento das entradas, calcular média, verifica pelo valor da
média se o aluno está aprovado. Veja que na solução do Exercício resolvido I
esses comentários (entre /* */) já representam a sequência lógica do programa.
� Página 9 |
http://linguagemc.com.br/
� Moodle de Lovelace: Curso Híbrido de Pensamento Computacional
Exercício resolvido 1 - Ler nome e três notas de alunos, calcular média das três
notas e verificar se ele está aprovado. Ele estará aprovado se média for maior ou
igual a 60 e número de faltas for menor que 10. Mostre, ao final, nome, média e
se está aprovado.
Observações importantes antes de começar
● %f, %d %s - são representações de entradas de floats, inteiros
e strings (textos), respectivamente.
● && é o operador lógico “e”.
● Ao iniciar a execução coloque primeiro as entradas em stdin
conforme a Figura 3.
Solução
#include
int main()
{
int faltas;
float nota1,nota2, media;
char nome[30];
/* Exibir mensagem */
printf("Olá,Aluno!\n ");
/* Programa lê duas notas */
gets(nome);
scanf("%f %f", &nota1, &nota2);
scanf("%d", &faltas);
printf("Suas notas são %f e %f \n", nota1, nota2);
/* Calcula média das notas */
media = (nota1 + nota2)/2;
/* Mostrar nome %s = string e pula linha (\n) */
printf("Nome: %s \n", nome);
� Página 10
� Currículo: Mooc de Lovelace: Curso Híbrido de Pensamento Computacional
/* Mostra a média */
printf("A média de notas é %.2f \n", media);
/* Verifica se com a média o aluno está aprovado ou reprovado */
if (media>=60.0 && faltas
int main()
{
int cont1=0, cont2=0, cont3=0, continvalido=0, time, tecla;
/* Mostrar menu de opções */
printf("1 - Flamengo \n 2 - Vasco \n 3 - Fluminense \n ");
/* A tecla é setada inicialmente em Continuar */
tecla=1; /* Valor inciar: continua */
/* Repete a votação enquanto a tecla estiver em continuar */
while (tecla!=0)
{ /* Leitura da opção */
printf("Qual o seu time favorito? ");
scanf("%d", &time);
/* Verifica a opção e conta o voto conforme a opção escolhida
*/
switch (time) {
case 1: cont1 = cont1 + 1; break;
case 2: cont2 = cont2 + 1; break;
case 3: cont3 = cont3 + 1; break;
default: continvalido = continvalido + 1;
}
/* Verifica se continua */
printf("Pressione 1 para continuar ou 0 para sair...\n");
scanf("%d", &tecla);
}
/* Mostra os resultados */
printf ("Flamengo: %d preferências \n", cont1);
printf ("Vasco: %d preferências \n", cont2);
printf ("Fluminense: %d preferências \n", cont2);
printf ("Não escolheram: %d pessoas \n", continvalido);
return 0;
}
� Página 12
� Currículo: Mooc de Lovelace: Curso Híbrido de Pensamento Computacional
Entradas e saídas do programa
A Figura 4 apresenta as entradas e saídas do Exercício Resolvido 2.
Figura 4. Entradas e saídas do Exercício Resolvido 2.
� Página 13 |

Mais conteúdos dessa disciplina