Obs.:
Mesmo que já saiba programar em outra linguagem, tente pelo menos os desafios.
APRENDENDO A PROGRAMAR
Capítulo 2
Variáveis e InOut
************************************************************************************************************
Olá!
Como vão vocês?
O capítulo de hoje será pesado, mas valerá a pena!
Hoje, serão discutidas as Variáveis e Funções In/Out (entrada/saída).
Pré-requisitos:
Ter concluído o Capítulo 1 desta saga!
************************************************************************************************************
************************************************************************************************************
************************************************************************************************************
printf() e #include
Como funciona a execução de um arquivo C
Basicamente, ele procura a main (nome dado a função que inicia o programa). A partir disto, ele lê linha por linha (e volta, dependendo da função que for usar) e segue as instruções do programa.
Vamos olhar algumas regras:
Sempre quando você abre uma chave "{", você deve fechá-la. O que tiver dentro dela faz parte daquilo.
Exemplo:
Sempre que terminar sua instrução (ou linha), coloque o PONTO-E-VIRGULA ";".
Caso você esqueça, o programa poderá avisar erro em uma linha que não está errada.
Parênteses servem para receber valores. Mais pra frente vocês verão isto.
Atentamos a estrutura básica dos programas C:
Por enquanto, vamos usar o esqueleto acima como base:
O símbolo # com a palavra include diz para o processador:
A princípio, nem sempre precisamos usar as três. Mas a modo de algoritmo, vamos deixá-las quietinhas ali.
Significa que utilizaremos uma biblioteca para usarmos os comandos de entrada e saida do programa. Caso queira saber mais sobre elas, google it!
O int main() é o principal do nosso aplicativo.
A palavra main evidencia que ele é o principal, o int antes dele serve para controle: se o programa parar sem chegar no return 0 (ou System("PAUSE"), caso use o dev), o sistema acusará um erro de execução.
printf("Hello NintendoBlast!\n");
Significa que na tela de execução (que será uma tela escura), será exibida a frase Hello NintendoBlast!
o "\n", ao final, significa "Pule uma linha, seu programa burro". Nunca esqueçam do \n ao final de uma frase.
o printf, em si, significa IMPRIMEFDP, ou seja, ele "imprimirá" na tela o que estiver entre aquelas aspas.
printf("O numero b vale %d:\n", b);
O caso acima imprimirá o valor de b.
Utilizamos o %d dentro das aspas para falar para o programa que ele receberá o primeiro valor imediatamente da variável do lado de fora das aspas. Neste caso, ele olhará para aquele b de bonito ali e procurará na memória. Como a variável b é do tipo int, então usamos o %d. Se fosse do tipo float, utilizaríamos o %f.
Caso queira saber o valor de dois valores, por exemplo, poderíamos escrever assim:
printf("O numero b vale %d, o numero a vale %f, e voce deve escolher o Charmander:\n", b, a);
Supondo que a variável "a" é um float.
Em seguida, vamos ver que diabos são int e float.
Caso queira verificar o exemplo abaixo, basta seguir o esqueleto já mostrado:
COMO EXECUTAR UM PROGRAMA NO CODE::BLOCKS
1. Abra o Code::Blocks;
2. Selecione File > New > Empty File ou então pressione, no teclado, CTRL + SHIFT + N;
3. Selecione File > Save File ou pressione, no teclado, CTRL + S;
4. Salve o arquivo com qualquer nome, mas a extensão deve ser .c;
5. Programe ou copie um dos códigos mostrados aqui para estudar;
6. Selecione Build > Build and Run ou pressione F9;
7. Abrirá uma tela parecida com o MSDOS para mostrar a execução do programa.
Variáveis
Variaveis são "locais" onde armazenamos valores. Toda variavel é
caracterizada por um nome, que a identifica em um programa, e por um
tipo, que determina o que pode ser armazenado naquela variável.
Basicamente, a variável será o tipo e o nome de algo que iremos trabalhar. Se quisermos trabalhar com um número, o número terá seu tipo e nome, por exemplo.
Para números, temos vários tipos e variações destes tipos, mas vamos trabalhar com os primitivos Inteiros e Ponto Flutuante.
Inteiros
Inteiros são variáveis que não são "quebradas". Normalmente usada para definir quantidades. Sua representação é int.
Estrutura de um inteiro:
int X;
// O int representa o tipo, enquanto o X representa um nome para ser identificada.
// Este nome pode ter quantas letras quiser, só não pode ser um nome de funções do sistema (Exemplo: não pode chamar uma variável int de int, float, ou outros comandos que aprender).
Exemplos:
Então a variável a vale 14.
Então a variável a vale 19.
Então a variável d vale 29.
Dá para somar variáveis =)
Não só somar, dá para somar, multiplicar, dividir... mas ainda não é hora. Concentre-se somente se entendeu ou não o que é um int.
Pontos Flutuantes
Este nome é bizarro, mas é o que foi traduzido o float.
float é como se fosse os números reais no geral, mas é usado quando precisamos de valores "quebrados", como medidas, dinheiro, peso, etc.
Estrutura de um float:
float X;
// O float representa o tipo, enquanto o X representa um nome para ser identificada.
// Este nome pode ter quantas letras quiser, só não pode ser um nome de funções do sistema (Exemplo: não pode chamar uma variável int de int, float, ou outros comandos que aprender).
Exemplos:
Então a variável a vale 14.
Então a variável a vale 19.2.
Então a variável d vale 29.14.
OPERAÇÔES
Regras:
1. Não se divide por 0;
2. Não pode relacionar float com int nas operações;
3. Nunca esqueça de definir um valor para cada variável que você usar, senão o sistema pode usar o valor de algum outro programa que está executando no seu computador;
4. NUNCA ESQUEÇA O PONTO-E-VIRGULA NO FINAL ";".
SOMA/SUBTRAÇÃO
Então c valerá 1 e cc valerá -1.1.
MULTIPLICAÇÃO/DIVISÃO
Repare que o * representa multiplicação e o / representa divisão.
c valerá 0 e cc valerá 10.0.
POTENCIAÇÃO E RESTO DE DIVISÃO
No exemplo acima, c valerá 8 e d valerá 1.
A operação de potenciação usa-se o ^.
A operação de resto de divisão usa-se o %.
PRECEDÊNCIA
A Regra dos parênteses também vale para C.
É a mesma regra que usamos ao fazer contas, aprendida no ensino fundamental. Portanto, o resultado será:
(a + (6 + a)/10)*2 =
(14 + (6 + 14)/10)*2 =
(14 + (20)/10)*2 =
(14 + 2)*2 =
(16)*2 =
32.
Agora, a hora que todos esperavam... Vamos ver o negócio funcionando??
MAS ANTES
Vamos verificar o funcionamento do scanf() e dos comentários.
scanf()
O scanf é a função que recebe o que você digitar.
Basicamente, a regra é usar o %d para int, e o %f para float, colocando, do lado de fora das aspas, o nome da variável precedida pelo &.
Exemplo:
Programa para calcular média de três algorismos.
Se mandar rodar o programa acima, ele exibirá pra você colocar as notas. ASsim, você coloca cada nota separada por espaço, e no final da terceira dá enter.
Desta forma, ele calcula a média arredondada sem casas após a vírgula, já que trata-se de um int.
scanf ("%d %d %d", &a, &b, &c);
Repare que o %d serve para receber cada variável, e ele aplicará cada valor em cada uma das variáveis que estão após as aspas, em ordem.
Portanto, para usar um scanf, usamos os parênteses, dentro das aspas coloca o %d ou %f quantas vezes quiser. Mas ao fechar as aspas, tem que colocar a vírgula e cada uma das variáveis, com o & (de Sandy & Junior).
Lembram do printf? Vamos tomar mais um cuidado ao usá-lo, com float:
Repare que é o mesmo programa que calcula a média aritmética de três notas.
Entretanto, ao executá-lo, verá que não haverá arredondamento e o valor a ser exibido terá várias casas após a vírgula, dependendo do tipo do seu processador.
Para controlarmos isto, utilizamos a seguinte metodologia:
printf("A media sera %f\n", media);
Forma sem arredondamento
printf("A media sera %.2f\n", media);
Arredondamento com duas casas após a vírgula
printf("A media sera %.0f\n", media);
Arrendondamento sem casas após a vírgula
Portanto, colocamos .X entre o % e o f, com X sendo o valor de casas após a vírgula.
COMENTÁRIOS
Para comentar um código, ou seja, deixar anotações em seu código, existem duas formas:
1. //Você pode usar duas barras "//" e escrever o que quiser a frente.
2. /* Você pode usar uma barra com asterístico "/*" e escrever o que quiser por linhas. Para fechar o comentário, usamos */.
Este recurso é muito útil quando outro irá ler seu código. Essencial em um grupo de programadores.
AEEEEEEEEEEW AGORA SIM!!! VAMOS PRATICAR!
VAMOS ENTÃO!
*********************************************************************************************************************
Exercícios de fixação.
Exercícios de programação
D. Faça um programa que imprime o nome do homem mais bonito do fórum.
Exercícios de programação mais elaborados
************************************************************************************
Boa sorte, pessoal!
Qualquer dúvida ou erro, estamos a disposição.
Mesmo que já saiba programar em outra linguagem, tente pelo menos os desafios.
APRENDENDO A PROGRAMAR
Capítulo 2
Variáveis e InOut
************************************************************************************************************
Olá!
Como vão vocês?
O capítulo de hoje será pesado, mas valerá a pena!
Hoje, serão discutidas as Variáveis e Funções In/Out (entrada/saída).
Pré-requisitos:
Ter concluído o Capítulo 1 desta saga!
************************************************************************************************************
************************************************************************************************************
************************************************************************************************************
printf() e #include
Como funciona a execução de um arquivo C
Basicamente, ele procura a main (nome dado a função que inicia o programa). A partir disto, ele lê linha por linha (e volta, dependendo da função que for usar) e segue as instruções do programa.
Vamos olhar algumas regras:
Sempre quando você abre uma chave "{", você deve fechá-la. O que tiver dentro dela faz parte daquilo.
Exemplo:
- Código:
int main {
...
Seu algoritmo aqui...
...
}
Sempre que terminar sua instrução (ou linha), coloque o PONTO-E-VIRGULA ";".
Caso você esqueça, o programa poderá avisar erro em uma linha que não está errada.
Parênteses servem para receber valores. Mais pra frente vocês verão isto.
Atentamos a estrutura básica dos programas C:
- Código:
#include <stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
int b = 14;
printf("Hello NintendoBlast!\n");
printf("O numero b vale %d:\n", b);
return 0;
}
Por enquanto, vamos usar o esqueleto acima como base:
- Código:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
O símbolo # com a palavra include diz para o processador:
enquanto o stdlib.h, math.h ou stdio.h"Olha, quero usar bibliotecas com comandos já pré-definidos!"
A princípio, nem sempre precisamos usar as três. Mas a modo de algoritmo, vamos deixá-las quietinhas ali.
Significa que utilizaremos uma biblioteca para usarmos os comandos de entrada e saida do programa. Caso queira saber mais sobre elas, google it!
- Código:
int main(){
int b = 14;
printf("Hello NintendoBlast!\n");
printf("O numero b vale %d:\n", b);
return 0;
}
O int main() é o principal do nosso aplicativo.
A palavra main evidencia que ele é o principal, o int antes dele serve para controle: se o programa parar sem chegar no return 0 (ou System("PAUSE"), caso use o dev), o sistema acusará um erro de execução.
printf("Hello NintendoBlast!\n");
Significa que na tela de execução (que será uma tela escura), será exibida a frase Hello NintendoBlast!
o "\n", ao final, significa "Pule uma linha, seu programa burro". Nunca esqueçam do \n ao final de uma frase.
o printf, em si, significa IMPRIMEFDP, ou seja, ele "imprimirá" na tela o que estiver entre aquelas aspas.
printf("O numero b vale %d:\n", b);
O caso acima imprimirá o valor de b.
Utilizamos o %d dentro das aspas para falar para o programa que ele receberá o primeiro valor imediatamente da variável do lado de fora das aspas. Neste caso, ele olhará para aquele b de bonito ali e procurará na memória. Como a variável b é do tipo int, então usamos o %d. Se fosse do tipo float, utilizaríamos o %f.
Caso queira saber o valor de dois valores, por exemplo, poderíamos escrever assim:
printf("O numero b vale %d, o numero a vale %f, e voce deve escolher o Charmander:\n", b, a);
Supondo que a variável "a" é um float.
Em seguida, vamos ver que diabos são int e float.
Caso queira verificar o exemplo abaixo, basta seguir o esqueleto já mostrado:
- Código:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
AQUI VOCÊ FAZ SEU CÓDIGO, OU COLA OS EXEMPLOS ABAIXO. PELO MENOS POR ENQUANTO.[/color][/b][/i][/font]
return 0;
}
COMO EXECUTAR UM PROGRAMA NO CODE::BLOCKS
1. Abra o Code::Blocks;
2. Selecione File > New > Empty File ou então pressione, no teclado, CTRL + SHIFT + N;
3. Selecione File > Save File ou pressione, no teclado, CTRL + S;
4. Salve o arquivo com qualquer nome, mas a extensão deve ser .c;
5. Programe ou copie um dos códigos mostrados aqui para estudar;
6. Selecione Build > Build and Run ou pressione F9;
7. Abrirá uma tela parecida com o MSDOS para mostrar a execução do programa.
Variáveis
Variaveis são "locais" onde armazenamos valores. Toda variavel é
caracterizada por um nome, que a identifica em um programa, e por um
tipo, que determina o que pode ser armazenado naquela variável.
Calma, vou explicar:Ein?
Basicamente, a variável será o tipo e o nome de algo que iremos trabalhar. Se quisermos trabalhar com um número, o número terá seu tipo e nome, por exemplo.
Para números, temos vários tipos e variações destes tipos, mas vamos trabalhar com os primitivos Inteiros e Ponto Flutuante.
Inteiros
Inteiros são variáveis que não são "quebradas". Normalmente usada para definir quantidades. Sua representação é int.
Estrutura de um inteiro:
int X;
// O int representa o tipo, enquanto o X representa um nome para ser identificada.
// Este nome pode ter quantas letras quiser, só não pode ser um nome de funções do sistema (Exemplo: não pode chamar uma variável int de int, float, ou outros comandos que aprender).
Exemplos:
- Código:
int a;
a = 14;
Então a variável a vale 14.
- Código:
int a = 14;
a = 14 + 5;
Então a variável a vale 19.
- Código:
int a = 14;
int s = 15;
int d;
d = a + s;
Então a variável d vale 29.
SIMMM!!Você usou +? Então dá pra somar variáveis??
Dá para somar variáveis =)
Não só somar, dá para somar, multiplicar, dividir... mas ainda não é hora. Concentre-se somente se entendeu ou não o que é um int.
Pontos Flutuantes
Este nome é bizarro, mas é o que foi traduzido o float.
float é como se fosse os números reais no geral, mas é usado quando precisamos de valores "quebrados", como medidas, dinheiro, peso, etc.
Estrutura de um float:
float X;
// O float representa o tipo, enquanto o X representa um nome para ser identificada.
// Este nome pode ter quantas letras quiser, só não pode ser um nome de funções do sistema (Exemplo: não pode chamar uma variável int de int, float, ou outros comandos que aprender).
Exemplos:
- Código:
float a;
a = 14.0;
Então a variável a vale 14.
- Código:
float a = 14;
a = 14.0 + 5.2;
Então a variável a vale 19.2.
- Código:
float a = 14;
float s = 15.14;
float d;
d = a + s;
Então a variável d vale 29.14.
As informações relativas às variáveis estarão no apêndice, caso queira saber mais (mas não é necessário, pelo menos, para as atividades).Mas se é a mesma estrutura que um inteiro, porque a diferença?
Não, perae!! Agora veremos as operações!AGORA SOU O MANJADOR DAS VARIÁVEIS
OPERAÇÔES
Regras:
1. Não se divide por 0;
2. Não pode relacionar float com int nas operações;
3. Nunca esqueça de definir um valor para cada variável que você usar, senão o sistema pode usar o valor de algum outro programa que está executando no seu computador;
4. NUNCA ESQUEÇA O PONTO-E-VIRGULA NO FINAL ";".
SOMA/SUBTRAÇÃO
- Código:
int a = 0;
int b = 1;
int c;
c = a + b;
- Código:
float aa = 0.0;
float bb = 1.1;
float cc;
cc = aa - bb;
Então c valerá 1 e cc valerá -1.1.
MULTIPLICAÇÃO/DIVISÃO
- Código:
int a = 0;
int b = 1;
int c;
c = a * b;
- Código:
float aa = 11.0;
float bb = 1.1;
float cc;
cc = aa / bb;
Repare que o * representa multiplicação e o / representa divisão.
c valerá 0 e cc valerá 10.0.
POTENCIAÇÃO E RESTO DE DIVISÃO
- Código:
int a = 2;
int b = 3;
int c;
int d;
c = a ^ b;
d = b % a;
No exemplo acima, c valerá 8 e d valerá 1.
A operação de potenciação usa-se o ^.
A operação de resto de divisão usa-se o %.
PRECEDÊNCIA
- Código:
int a = 14;
a = (a + (6 + a)/10)*2;
A Regra dos parênteses também vale para C.
É a mesma regra que usamos ao fazer contas, aprendida no ensino fundamental. Portanto, o resultado será:
(a + (6 + a)/10)*2 =
(14 + (6 + 14)/10)*2 =
(14 + (20)/10)*2 =
(14 + 2)*2 =
(16)*2 =
32.
Macetes:
1. Na soma, o mais usual é usarmos menos variáveis possíveis.
- Código:
int a = 4;
int b = 5;
b = b + a;
//O mesmo vale para float.
COMO ASSIM, B = B+A. VC ERROU KSPS SEU TROUXA!"
É que em programação, quando usamos b = b + a, na verdade, estamos falando assim para o programa:
Querido b. Você vai receber a soma de você mesmo com a.
Portanto, o resultado de b após a operação será 9.
2. Contador.
- Código:
int i = 1;
i++;
O i++ é a mesma coisa que escrever i = i + 1. Entretanto o usual é escrevermos i++ por mais praticidade e para indicar para quem for ler o nosso código que se trata de um "soma 1".
Agora, a hora que todos esperavam... Vamos ver o negócio funcionando??
MAS ANTES
Vamos verificar o funcionamento do scanf() e dos comentários.
scanf()
O scanf é a função que recebe o que você digitar.
Basicamente, a regra é usar o %d para int, e o %f para float, colocando, do lado de fora das aspas, o nome da variável precedida pelo &.
Exemplo:
Programa para calcular média de três algorismos.
- Código:
int main()
{
int a;
int b;
int c;
int media;
printf("Insira os valores das notas: \n");
scanf ("%d %d %d", &a, &b, &c);
media = a+b+c;
media = media/3;
printf("A media sera %d\n", media);
return 0;
}
Se mandar rodar o programa acima, ele exibirá pra você colocar as notas. ASsim, você coloca cada nota separada por espaço, e no final da terceira dá enter.
Desta forma, ele calcula a média arredondada sem casas após a vírgula, já que trata-se de um int.
scanf ("%d %d %d", &a, &b, &c);
Repare que o %d serve para receber cada variável, e ele aplicará cada valor em cada uma das variáveis que estão após as aspas, em ordem.
Portanto, para usar um scanf, usamos os parênteses, dentro das aspas coloca o %d ou %f quantas vezes quiser. Mas ao fechar as aspas, tem que colocar a vírgula e cada uma das variáveis, com o & (de Sandy & Junior).
Lembram do printf? Vamos tomar mais um cuidado ao usá-lo, com float:
- Código:
int main()
{
float a;
float b;
float c;
float media;
printf("Insira os valores das notas: \n");
scanf ("%f %f %f", &a, &b, &c);
media = a+b+c;
media = media/3;
printf("A media sera %f\n", media);
return 0;
}
Repare que é o mesmo programa que calcula a média aritmética de três notas.
Entretanto, ao executá-lo, verá que não haverá arredondamento e o valor a ser exibido terá várias casas após a vírgula, dependendo do tipo do seu processador.
Para controlarmos isto, utilizamos a seguinte metodologia:
printf("A media sera %f\n", media);
Forma sem arredondamento
printf("A media sera %.2f\n", media);
Arredondamento com duas casas após a vírgula
printf("A media sera %.0f\n", media);
Arrendondamento sem casas após a vírgula
Portanto, colocamos .X entre o % e o f, com X sendo o valor de casas após a vírgula.
COMENTÁRIOS
Para comentar um código, ou seja, deixar anotações em seu código, existem duas formas:
1. //Você pode usar duas barras "//" e escrever o que quiser a frente.
2. /* Você pode usar uma barra com asterístico "/*" e escrever o que quiser por linhas. Para fechar o comentário, usamos */.
Este recurso é muito útil quando outro irá ler seu código. Essencial em um grupo de programadores.
AEEEEEEEEEEW AGORA SIM!!! VAMOS PRATICAR!
VAMOS ENTÃO!
*********************************************************************************************************************
Exercícios de fixação.
1. Por que em todo início do código tem que ter o #include para funcionar?
- Spoiler:
O include é essencial para que o compilador saiba de onde o programador irá usar as funções a ser usadas.
2. Qual a diferença entre int e float?
3. Como que eu uso o printf para int e float?
4. Como uso o printf para escrever frases?
5. Como uso o scanf?
6. Como faço multiplicação, soma, divisão, subtração, potenciação e resto de divisão?
7. Como funciona os parênteses em uma equação?
Exercícios de programação
A. Faça um programa que calcule a soma de três valores digitados.
B. Faça um programa que calcule o resto de divisão de 10 por qualquer valor que for digitado.
C. Faça um programa que execute a seguinte equação:
(X + Y)(X - Y) * 14;
Com X e Y sendo valores digitados pelo usuário.
E. Em uma determinada escola, existem 4 provas no ano, cada nota valendo de 0 a 10:
Primeira prova com peso 1;
Segunda prova com peso 2;
Terceira prova com peso 3;
Quarta prova com peso 7.
Se os valores das 4 provas serão digitados pelo usuário, faça um algoritmo que calcula a média das notas nesta escola.
Use arredondamento com duas casas após a vírgula.
Exercícios de programação mais elaborados
KSPS1
UNICAMP/2012
Faça um programa que troque o valor de duas variáveis digitadas, utilizando somente duas variáveis.
KSPS2
UNICAMP/2012
Um banco tem as seguintes notas de dinheiro disponíveis:
100, 50, 20, 10, 1.
Faça um programa em que o usuário digite o valor desejado, e seja mostrado na tela quantas notas de cada dinheiro serão entregues ao usuário, utilizando menos cédulas possíveis.
************************************************************************************
Boa sorte, pessoal!
Qualquer dúvida ou erro, estamos a disposição.
Última edição por KSPS em Sex 05 Set 2014, 09:29, editado 5 vez(es)
Sáb 20 Jan 2018, 17:41 por ExtremeZelda
» [TSADNB] Tópico sobre Assuntos Diversos no Blast
Sex 19 Jan 2018, 16:49 por ExtremeZelda
» [VENDO] NINTENDO WII U 32GB MARIO KART 8 DELUXE BUNDLE
Sáb 01 Abr 2017, 11:45 por jcvalerio
» Mario Kart 8 travou meu Wii U
Sáb 01 Abr 2017, 10:14 por quediz
» Troca Pokémon & Friend Codes - Sun/Moon & Gen 6
Sex 31 Mar 2017, 21:29 por Devilucky
» Lojinha do Tio Logan
Sex 31 Mar 2017, 09:33 por Logan
» Problema na tela de cima do 3DS.
Qui 30 Mar 2017, 13:45 por Afrojin
» Novos jogos para Wii U, Wii e DS
Ter 28 Mar 2017, 23:04 por SSBGames
» 9 jogos de Wii no arremate
Ter 28 Mar 2017, 22:30 por SSBGames
» [AJUDA] Nintendo Switch - Como comprar jogos?
Ter 28 Mar 2017, 18:07 por Fael BC
» Fan Game - Pokemon Hau Adventures
Ter 28 Mar 2017, 10:20 por wawagames
» Muro das lamentações, desabafe aqui o que lhe aflige.
Seg 27 Mar 2017, 23:47 por Shaya