Documente Academic
Documente Profesional
Documente Cultură
1
Sumário
Introdução …............................................................................. 3
Operador aritmético…............................................................... 4
1. Função aritmética….................................................................. 4
2. Operador relacional…............................................................... 5
3. Operador lógico….................................................................... 5
3 tipos de Se............................................................................. 7
Qual a diferença entre estes dois Se?...................................... 9
Enquanto................................................................................... 10
Para........................................................................................... 12
Vetor.......................................................................................... 13
Matriz........................................................................................ 14
Exercícios.................................................................................. 16
2
Introdução
3
Documentação: Sempre documente seu algoritmo para que facilite sua e a vida de
outros desenvolvedores.
• Descreva sempre que possível para que servem certas variáveis.
• Sempre identifique os laços, facilita muito na correção de erros.
• Exemplo de documentação:
// Aqui calcula a média
media = ((nota1 + nota2 + nota3)/3)
4
Operador relacional Operação Descrição
Verifica se dois valores são iguais e
= Igualdade retorna um valor lógico.
Verifica se dois valores são
<> Diferença diferentes e retorna um valor lógico.
Verifica se um número é menor que
< Menor que outro e retorna um valor lógico.
Verifica se um número é maior que
> Maior que outro e retorna um valor lógico.
Verifica se um número é menor ou
<= Menor ou igual a igual a outro e retorna um valor
lógico.
Verifica se um número é maior ou
>= Maior ou igual a igual a outro e retorna um valor
lógico.
5
Criando o 1o algoritmo.
Algoritmo
Declare nome : literal;
Escreva (“Qual o seu nome?”);
Leia (nome);
Fimalgoritmo
O comando Escreva faz aparecer na tela a seguinte mensagem: Qual o seu nome?
O comando Leia é usado para receber a informação digitada pelo usuario.
Repare que Leia possui entre parêntesis a variável que irá receber o seu nome.
Criando o 2o algoritmo.
Desenvolva um algoritmo que calcule os votos positivos em determinada votação.
Algoritmo
Declare voto: literal;
contSim : inteiro;
Escreva (“Qual o seu voto?”);
Leia (voto);
Se (voto = “sim”) então
contSim ← (contSim + 1);
Fimse
Escreva (“Foram totalizados esta quantidade em votos positivos: ” , contSim);
Fimalgoritmo
Repare que utilizamos apenas um Declare para declarar inúmeras variáveis.
Repare que o Se que iniciamos também o fechamos, utilizando-se do Fimse.
Repare que no último Escreva foi utilizado uma “,” para separar o texto da variável.
6
Existem três tipos de Se.
• Se simples:
Se (voto = “sim”) então
contSim ← (contSim + 1);
Fimse
• Se composto:
Se (voto = “sim”) então
contSim ← (contSim + 1);
senão
contNao ← (contNao + 1);
Fimse
• Se encadeado:
Se (voto = “sim”) então
contSim ← (contSim + 1);
senão Se (voto = “não”) então
contNao ← (contNao + 1);
senão
contNulo ← (contNulo + 1);
Fimse
Fimse
7
Criando o 3o algoritmo.
Certa escola precisa saber se o aluno esta de recuperação, ou foi reprovado ou
aprovado segundo as normas da escola. Para ser reprovado o aluno precisa ter menos
que 5, para estar de recuperação entre 5 e 6, para passar de ano, acima de 6.
Algoritmo
Declare nomeAluno: literal;
nota1, nota2, nota3, nota4, media : real;
Escreva (“Informe o nome do aluno?”);
Leia (nomeAluno);
Escreva (“Informe as 4 notas do aluno?”);
Leia (nota1);
Leia (nota2);
Leia (nota3);
Leia (nota4);
media ← ((nota1 + nota2 + nota3 + nota4) / 4);
Se (media < 5 ) então
Escreva (“O aluno ” , nomeAluno , “ foi reprovado, com média ” , media);
senão Se ( (media >= 5) e (media < 6) ) então
Escreva (“O aluno ” , nomeAluno , “ esta de recuperação, com média ” , media);
senão
Escreva (“O aluno ” , nomeAluno , “ foi aprovado, com média ” , media);
Fimse
Fimse
Escreva (“Foram totalizados esta quantidade em votos positivos: ” , contSim);
Fimalgoritmo
Repare que para ler as 4 notas foi criado 4 leias, isto ocorre porque não podemos
utilizar apenas um leia para as 4 variáveis, cada uma da variável recebe um
determinado valor de cada vez.
8
No caso do Se encadeado podemos criar quantas vezes necessário o senão Se.
Repare que usei duas fórmulas, uma para verificar se a média foi menor que 5 e a outra
para verificar se média foi maior ou igual 5 e menor que 6. Tendo como base que o
aluno não foi reprovado nem esta de recuperação, apenas usei o senão para expressar
a informação que o aluno passou de ano.
Para passar de ano o aluno tem que ter média maior que 6 e menos que 10 faltas.
Qual a diferença entre estes dois Se?
9
Criando o 4o algoritmo.
Um certo governo, deseja saber em quantos anos a cidade B será maior que a cidade
A. Sendo que a cidade A tem 100.000 habitantes e cresce a cada ano 1.5% e a cidade
B tem 38.000 habitantes e cresce a cada ano 7%.
Algoritmo
Declare A, B, contAnos : inteiro;
A ← 100.000;
B ← 38.000;
contAnos ← 0;
Enquanto a > b faça
A ← ( A * 1.015);
B ← (B * 1.07);
contAnos ← (contAnos + 1);
Fimenquanto
Escreva (“Foram necessários” , contAnos , “anos.”);
Fimalgoritmo
Enquanto é utilizado para formar uma estrutura de repetição, e para sair do laço criado
pelo Enquanto é necessário satisfazer a condição de A ser menor que B ( A < B ). No
próximo exemplo irei ensinar o que é uma flag e como utiliza-la no Enquanto .
10
Criando o 5o algoritmo.
Algoritmo
Declare contador : inteiro;
resposta : literal;
contador ← 0;
Enquanto resposta <> “totalizar” faça
contador ← (contador + 1);
Escreva (“Para finalizar a contagem digite “totalizar”, se não pressione enter.”);
Leia ( resposta );
Fimenquanto
Escreva (“ Foram contados : ” , contador);
Fimalgoritmo
Repare na palavra totalizar, esta é considera uma FLAG. Mais o que é flag ?
Flag é uma palavra reservada por você para que todas as vezes que esta palavra for
digitada, a estrutura de repetição do Enquanto termine.
Por exemplo:
• Finalizar
• Não
• Totalizar
• Terminar
Toda e qualquer palavra que voce queira usar!
11
Criando o 6o algoritmo.
Crie um algoritmo que conte de 1 ate 10.
Algoritmo
Declare contador : inteiro;
Para contador de 1 até 10 faça
Escreva (“ Número: ” , contador);
contador ← (contador + 1);
Fimpara
Fimalgoritmo
Repare que usando o Para se obtém a disponibilidade de informar em qual número
começar e em qual parar.
Algoritmo
Declare contador : inteiro;
Para contador de 70 até 100 faça
Escreva (“ Número: ” , contador);
contador ← (contador + 1);
Fimpara
Fimalgoritmo
O contador vai iniciar com o valor de 70 e sair do laço ao chegar no número 100.
12
Vetor
• Vetor é uma variável que pode conter várias constantes do mesmo tipo.
Exemplo:
1 2 3 4 5 6 7
Cada um dos espaços vai receber um valor do tipo literal, inteiro ou real. De acordo
com a o tipo declarado do seu vetor. Veja como declarar um vetor:
Declare vetor [1..7] : literal;
Declare v [1..7] : inteiro;
Declare numero[1..7] : real;
Só existe um problema. Declarando um vetor do tipo literal, esse vetor só vai
receber valores do tipo literal.
Criando o 7o algoritmo.
Algoritmo
Declare contador [1..10] : real;
j : inteiro;
Para j de 1 até 10 faça
Escreva (“Informe um número!”);
Leia ( num[j] );
Fimpara
Repare que foi declarado a variável j, isto ocorre pois para contar a posição no vetor
necessitamos um contador, para dizer ao computador aonde armazenar o dado enviado
pelo usuário.
13
Matriz
• O recurso de se colocarem várias constantes em uma só variável não é exclusivo do
vetor; a matriz é uma variável que também apresenta essa característica.
• Como é uma matriz:
Declarando a matriz
Como acontece com outras variáveis, quando uma matriz é declarada, o computador
reserva uma parte da memória para ela. No caso da matriz, essa parte é dividida em
determinada quantidade de colunas e linhas (indicada na declaração) e identificada por
um par de números (um referente à linha e o outro à coluna).
• Para as linhas usaremos como contador a variável i.
• Para as colunas usaremos como contador a variável j.
14
Criando o 8o algoritmo.
Algoritmo
Declare mat[ 1..3 , 1..10 ] : real;
i, j : inteiro;
Para i de 1 até 3 faça
Para j de 1 até 10 faça
Escreva (“Informe um número.”);
Leia ( num[ i , j ] );
Fimpara
Fimpara
Fimalgoritmo
Repare que foram usados 4 laços com o Para. Os dois primeiros para entrada de
dados, sendo i para indicar a linha e j para indicar a posição na coluna.
No segundo conjunto, usamos outros 2 laços para informar ao usuário o que foi
recebido.
15
Exercícios.
Algoritmo
Declare id:inteiro;
Escreva (“Qual o número identificador do funcionário ?”);
Leia (id);
Se ( RESTO( id , 2 ) = 0 ) então
Escreva (“O ID do funcionário é par?”);
senão
Escreva (“O ID do funcionário é ímpar?”);
Fimse
Fimalgoritmo
Foi usado a função RESTO dividindo por 2 porque esta função vai pegar o valor
recebido e vai dividir por 2 até que este número seja 0 ou 1, caso reste 1 foi porque o
número informado foi impar.
Resto trabalha dividindo apenas com números inteiro.
Exemplo:
• 2/5= 2*2=4
5–4=1
Número ímpar!
• 2/6=3
6–3=3
3–3=0
Número par!
16
2. Faça um Programa que pergunte quanto você ganha por hora e o número de horas
trabalhadas no mês. Calcule e mostre o total do seu salário no referido mês, sabendo-se que
são descontados 11% para o Imposto de Renda, 8% para o INSS e 5% para o sindicato, faça
um programa que nos dê:
a. salário bruto.
b. quanto pagou ao IR.
c. quanto pagou ao INSS.
d. quanto pagou ao sindicato.
e. o salário líquido.
Algoritmo
Declare ganhoHora, quantHoras, salBruto, IR, INSS, sindicato, salLiquido : real;
Escreva (“Qual a valor de sua hora ?”);
Leia (ganhoHora);
Escreva (“Quantas horas trabalhou neste mês ?”);
Leia (quantHoras);
salBruto ← (ganhoHora * quantHoras);
IR ← ( salBruto * 0.11 );
INSS ← ( salBruto * 0.08 );
sindicato ← ( salBruto * 0.05 );
salLiquido ← ( salBruto – ( IR + INSS + sindicato) );
Escreva (“ Salário bruto: ” , salBruto , “ IR: ” , IR , “ INSS: ” , INSS , “ Sindicato: ” ,
sindicato , “ Salário líquido ” , salLiquido );
Fimalgoritmo
3. Uma empresa possui 117 funcionários. Esta empresa deseja saber o sexo, quanto cada
funcionário ganha por hora e o número de horas trabalhadas no mês e a porcentagem
de sexo feminino e masculino. Calcule e mostre o total do salário no referido mês,
sabendo-se que são descontados 11% para o Imposto de Renda, 8% para o INSS e 5%
para o sindicato, faça um programa que nos dê:
17
a. Porcentagem de pessoas no sexo feminino
b. Porcentagem de pessoas no sexo masculino
c. Média salarial da empresa
Observação:
• Se o funcionário receber menos que 1000 reais no salário líquido, este
funcionário vai receber aumento de 7.5% .
• Adicionar o salário líquido em um vetor.
Algoritmo
Declare ganhoHora, quantHoras, salBruto, IR, INSS, sindicato, salLiquido : real;
sexoM, sexoF, i , contPessoas : inteiro;
sexo : literal;
vetor [ 1..117 ] : real;
totalSalarios, media : real;
sexoM ← 0;
sexoF ← 0;
contPessoas ← 0;
Para i de 1 até 117 faça
Escreva (“Qual o sexo do funcionário ?”);
Leia (sexo);
Escreva (“Quanto ganha por hora este funcionário?”);
Leia (ganhoHora);
Escreva (“Quantas horas trabalhou neste mês ?”);
Leia (quantHoras);
salBruto ← (ganhoHora * quantHoras);
IR ← ( salBruto * 0.11 );
INSS ← ( salBruto * 0.08 );
sindicato ← ( salBruto * 0.05 );
salLiquido ← ( salBruto – ( IR + INSS + sindicato) );
18
Se ( salLiquido < 1000 ) então
salLiquido ← ( salLiquido * 1.075 );
Fimse
19
4. Faça um Programa que posicione os números em ordem crescente.
Algoritmo
Declare vetor [ 1 .. 10 ] : real;
i, j : inteiro;
x : real;
Para i de 1 até 10 faça
Escreva (“Informe um número.”);
Leia ( vetor [ i ] );
Fimpara
Fimalgoritmo
20
Repita
Faça um algoritmo que receba o sexo de uma pessoa, este sexo poderá receber o
valor de feminino ou masculino, nem um outro valor alem deste.
Algoritmo
Declare sexo : literal;
Repare que dentro do Repita foi usado dois laços de Se para interromper
o Repita caso o sexo foi informado masculino ou feminino. Ou seja caso a
pessoa informou masculine o repita não sera interrompido e continuara a
pedir a informação correta.
21
Faça algoritmo para escrever a série de fibonacci = 0, 1, 1, 2, 3, 5, 8, 13 ...
enquanto o termo a ser impresso for menos que 5000.
Algoritmo
Declare anterior, proximo : inteiro;
anterior ← 0
proximo ← 1;
Repita
Se ( anterio >= 5000 ) então
interrompa
Fimse
anterior ← (anterior + proximo);
proximo ← (proximo + anterior);
Escreva (anterior, proximo);
Fimrepita
Fimalgoritmo
22