Vous êtes sur la page 1sur 10

Introdução ao Algoritmo e Linguagem C

O que é um algoritmo?

Variável
É um espaço de memória reservado para armazenar um certo tipo de dado, tendo um nome para se
referenciar. Uma variável pode conter a cada tempo um valor diferente (Dai o nome variável...)

Principais tipos de variáveis


inteiro Serve para armazenar nº inteiros
real Serve para armazenar nº reais
char Serve para armazenar UM caracter
texto Serve para armazenar vários caracters

Comandos básicos
Os comandos básicos na pseudo-linguagem são:
ler Lê um valor que o usuário informa e armazena
em uma variável
escrever Mostra algo na tela
Comentário, é um texto que o compilador não
// executa, ele serve apenas para alguma
informação que o programador queira adicionar

Operadores básicos
+ Adição
- Subtração
/ Divisão
* Multiplicação
e E
ou Ou
← Atribuição
= Comparação - igual
<> Comparação - diferente
>= Maior que
<= Menor que

1
Identação
O código dentro de uma estrutura deve ter um “TAB”, para demonstrar apenas visualmente onde e
do que ele faz parte.

Um programa em portugol
Todo programa deve ter um inicio e um fim, que é a parte onde o compilador vai executar os
comandos.

Algoritmo Ex01
Inicio
CÓDIGO // Identação
Fim

Declaração de variáveis
Ex:
Inteiro NumA
Texto Nome

O exemplo acima é um exemplo de declaração de variáveis, ao declarada você poderá utilizar ela
durante o programa.

O primeiro programa

Algoritmo Soma
Inicio //inicio do programa
inteiro A, B, C //declaração de três variáveis

escrever “Digite o primeiro valor para a soma”


ler A //lendo e armazenando um valor na variável A
escrever “Digite o segundo valor”
ler B //lendo e armazenando um valor na variável A

C ← A+ B //armazena o valor da soma de A e B na variável C

escrever “O valor de A + B é igual a: “, C //imprimindo na tela o valor de C


Fim //fim do programa

Legenda
Vermelho – Variáveis

Azul – Comandos

Azul e itálico – Comentários, lembrando que são linhas que o compilador não executa, nesse caso
usei apenas para demonstrar o que eu faço em cada linha.

Verde – Operadores

2
Exercícios:
1) Faça um algoritmo que subtraia dois valores e imprima o resultado na tela
2) Faça um algoritmo que leia seu nome e a sua idade e imprima na tela a seguinte frase: “Eu
me chamo NOME e tenho IDADE anos”.
3) Faça um algoritmo que leia um número e calcule 10% do valor dele, lembre que 10% = 0.1
Resolução:

1)
Algoritmo Ex01
Inicio
inteiro A, B, C

escrever “Digite o primeiro valor para a subtração”


ler A

escrever “Digite o segundo valor”


ler B

C ← A- B

escrever “O valor de A - B é igual a: “, C


Fim

2)
Algoritmo Ex02
Inicio
texto NOME
inteiro IDADE

escrever “Digite o seu nome”


ler NOME

escrever “Digite a sua idade”


ler IDADE

escrever “Eu me chamo”, NOME , “e tenho “, IDADE, “anos”.


Fim

3)
Algoritmo Ex03
Inicio
real Valor

escrever “Digite um valor”


ler Valor

Valor ← Valor * 0.1

escrever “O resultado é: “, Valor


Fim

3
Condição SE/SENÃO

Serve para tomadas de decisão dentro do programa.

Ex:
Faça um algoritmo que leia a idade e SE a idade for maior ou igual a 18, ele vai mostrar na tela
“Maior de idade”, SENÃO ele mostra na tela “Menor de idade”.

Algoritmo Idade
Inicio
inteiro idade

escreva “Digite sua idade”


ler idade

se idade >= 18
escreva “Maior de idade”
senao
escreva “Menor de idade”
fimse

Fim

Laços de Repetição - Enquanto

Quantas vezes você não faz um programa que tem que fazer a mesma coisa várias vezes? Então, o
enquanto serve para você evitar de repetir o código... por exemplo, você precisa ler 20 valores e
depois soma-los, você não precisa colocar “leia valor1 leia valor2(...) leia valor20”.

Ex:
Faça um algoritmo que leia 5 notas e faça a média das notas e imprima na tela o resultado,
lembrando que média = (soma de todos os valores)/qtd de valores.

Algoritmo Media
Inicio
real nota, media ← 0
inteiro contador ← 1

escrever “Digite as 5 notas”

enquanto contador <= 5


ler nota
media ← media + nota
contador ← contador + 1
fimenquanto

media ← media/5

escrever “A media é igual a: “, media


Fim

4
Um pouco da linguagem C

Antes de mais nada, aviso que ainda vamos voltar para o portugol para vermos outras coisas, mas
como só teoria as vezes enche o saco, vamos utilizar um pouco a prática utilizando a Linguagem C.
Você verá várias semelhanças no que já vimos e no que veremos agora, o que muda apenas é a
sintaxe da linguagem, como C já é uma linguagem de programação, e não portugol que é apenas
uma pseudo-linguagem para estudo de algoritmos.
Como algumas particularides da sintaxe variam de compilador para compilador, aconselhamos usar
o Dev-C++ (no baixaki tem) para evitar possíveis erros durante a execução.
Também gostaria de avisar que não precisa ficar com medo da linguagem, a principio ela parece ser
difícil, mas depois que você pega o jeito, fica fácil (pelo menos a parte básica da linguagem, que é a
que vamos ver).

Alguns tipos de variáveis em C


int Armazena valores inteiros
float Armazena valores reais
char Armazena UM caracter
Armazena valores reais com o dobro de tamanho
double de uma variável float, ocupa o dobro do espaço
também

Alguma coisa da sintaxe


scanf – ler
printf – escrever
%d, %f, %c, %s – referencia uma variável, iremos entender isso mais tarde
if – se
else – senão
while – enquanto
// - comentários
system("PAUSE") – dá um pause na execução do programa
\n – quebra de linha

Operadores básicos
+ Adição
- Subtração
/ Divisão
* Multiplicação
&& E
|| Ou
= Atribuição
== Comparação - igual
!= Comparação - diferente
>= Maior que
<= Menor que

5
Case-sensitive

A linguagem C, assim como outras linguagens, possui o Case-sensitive... Mas que diabos é isso? É
que para a linguagem faz diferença o uso de letras maiúsculas ou minusculas, por exemplo...
NOME != nome
Nome != nomE
nome = nome
NOME = NOME

Bibliotecas

Digamos que é onde fica guardado parte de sintaxe, são utilizadas em todos os programas em C
(não todas as bibliotecas, apenas as que iremos usar), para a utilização de alguns códigos, veremos
duas ou três bibliotecas no decorrer dessa apostila.
Ex:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

Declaração de variáveis

Declaramos uma variável em C do seguinte modo:


Ex:

int a;
char b;
float c;

Um primeiro programa em C

#include <BIBLIOTECA>

main() { //inicio

// código

} // fim

Hello world! (não poderia faltar né?)

#include <stdio.h> //adicionando duas bibliotecas


#include <stdlib.h>

main(){
printf("Hello world!"); //imprimindo na tela a frase “Hello world!”

system("PAUSE"); //dando um pause no programa, para a janela não se fechar quando ele
//acaba de executar todo o código dentro do main().
}

6
Que tal transcrever alguns programas que fizemos em portugol para a linguagem C? Assim
entenderemos melhor como funcionaria os programas que já criamos antes.

Vamos fazer aquele primeiro programa, aquele da soma de dois números.


Vou tentar explicar o mais detalhado possível, qualquer coisa, reclame com o seu professor.

#include <stdio.h> //bibliotecas


#include <stdlib.h>

main(){ //inicio
int a, b, c; //declaração de variáveis

printf(“Digite o primeiro valor para a soma: “); //imprimi


scanf(“%d”, &a); //lê um tipo inteiro “%d”, e joga na variável a “&a”

printf(“Digite o segundo valor: “); //imprimi


scanf(“%d”, &b); //lê um tipo inteiro “%d” e joga na variável b “&b”

c = a + b; //soma a + b e atribui a soma na variável c

printf(“O valor de A + B e igual a: %d \n”, c); //imprimi a mensagem mais a variavel c


//utiliza também a quebra de linha “\n”.

system(“PAUSE”); //da um pause no programa para ele não executar e fechar


} //fim do programa

RELEMBRANDO!
O que está dentro do “//” são apenas COMENTÁRIOS! Que o compilador ignora na execução,
serve apenas para facilitar a visualização do código.

Vamos fazer algum programa com decisão (if/else), que tal o da idade?

#include <stdio.h>
#include <stdlib.h>

main(){
int idade;

printf("Digite a sua idade: ");


scanf("%d", &idade); //lendo um inteiro “%d” e atribuindo na variável idade “&idade”

if(idade>=18){ //se for maior de 18 anos...


printf("Maior de idade! \n");
} //senão...
else{
printf("Menor de idade! \n");
}

system("PAUSE");
}

7
Agora o programa com um laço de repetição (while), aquele da média

#include <stdio.h>
#include <stdlib.h>

main(){
float nota, media = 0;
int contador = 1;

printf("Digite as 5 notas: ");

while(contador <= 5){ //enquanto a variável contador for menor ou igual a cinco...
scanf("%f", &nota); //lê um valor real “%f”, e atribui na variável nota “&nota”
media = media + nota; //acrescenta a nota na media
contador = contador + 1; //acrescenta mais um no contador,
} //se você esquecer do contador, você ia ficar digitando essas
//notas pra sempre, porque a variável contador nunca seria
//maior que 5.

media = media/5; //divide as notas por cinco, que é a quantidade de notas que você pegou

printf("A media e igual a: %f \n", media); //imprimi na tela

system("PAUSE");
}

DICA!

Tá vendo essa linha?

printf("A media e igual a: %f \n", media);

na parte do %f, você pode colocar %.2f, mas... pra que? Simples, assim você fala pro compilador
que você só quer que ele imprima dois valores após a virgula, senão ele imprimi 6 valores, que...
caso você não seja um físico, é totalmente desnecessário.

Então ficaria assim

printf("A media e igual a: %.2f \n", media);

Assim você facilita a visualização quando o programa estiver sendo executado.

8
Exercícios
1) Faça um algoritmo em C, que leia um número e uma letra, se o usuário digitar A, ele calcula
10% do valor, se digitar B, ele calcula 20% do valor e se digitar C, ele calcula 30% do valor.
2) Faça um algoritmo em C, que leia um número e acrescente em uma outra variável, sempre a
metade do número mais o valor que já existia, até que esse número seja igual ou menor a 2,
e no final imprima na tela os dois numeros.
ex:
numero = 20

varivael = variavel + numero (variavel = 0 + 20)


numero = numero/2 (numero = 10)
varivael = variavel + numero/2 (variável = 20 + 10)
numero = numero/2 (numero = 5)
(…)
3) Faça um algoritmo em C, leia um numero e faça a permutação dele e imprima na tela.
ex:
5! = 5 * 4 * 3 * 2 * 1 = 120
4) Faça um algoritmo em C, que leia dois numeros, um numero comum e o outro a potencia,
calcule e imprima na tela.
5) Numa empresa que vende produtos X, sempre fazem cálculo de média de vendas, eles
pegam a quantidade de vendas e todos os valores e calculam a média. Faça um algoritmo em
C, que leia um numero INTEIRO que será a quantidade de produtos e que leia o valor de
cada um dos produtos, para fazer a média.

Resolução
1)
#include <stdio.h>
#include <stdlib.h>

main () {
float valor;
char letra;

printf("Digite um valor: ");


scanf("%f", &valor);

printf("Para calcular 10 % digite A, 20 % digite B e 30 % digite C: ");


scanf("%s", &letra);

if(letra=='A')
valor = valor * 0.1;
if(letra=='B')
valor = valor * 0.2;
if(letra=='C')
valor = valor * 0.3;

printf("O valor e igual a: %.2f", valor);

system(“PAUSE”);
}

9
2)
#include <stdio.h>
#include <stdlib.h>

main () {
float numero, var=0;

printf("Digite um numero: ");


scanf("%f", &numero);

while(numero>=2){
var = var + numero;
numero = numero/2;
}

printf("Numero: %.2f \nVar: %.2f", numero, var);

system(“PAUSE”);
}

3)
#include <stdio.h>
#include <stdlib.h>

main () {
float numero, total=1;

printf("Digite um numero: ");


scanf("%f", &numero);

total = numero;

while(numero>1){
numero--;
total = total * numero;
}

printf("Numero: %.2f", total);

system(“PAUSE”);
}

10

Vous aimerez peut-être aussi