Sunteți pe pagina 1din 22

Rogério Rezende Araújo

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

Antes de começarmos as aulas, tome conhecimento de determinados assuntos.

Lembre-se de sempre detalhar o máximo possível os dados que os usuários receberão.


• Exemplo não Use “NOME”.
• Use “POR FAVOR INFORME NOME DO CLIENTE”.

Declaração de variáveis: Declare suas variáveis utilizando a lógica, não utilize


“X” para uma variável que irá receber o nome de uma pessoa.
Caracteres não aceitos:
/ , . - ! @ # $ % ^ & ( ) + = | \ ~ < > ? : ; “ { [ * '

Toda variável deve comecar com uma letra.


Exemplo:
• Declare nomeCarro : literal;
• Declare Numero : inteiro;

Tipos de declaracao de uma variável:


• Literal – Utilizada para receber nomes.
• Inteiro – Utilizado para valores numéricos do tipo inteiro.
• Real – Utilizado para valores numéricos do tipo real.

Indentação: Muito importante, pois facilita o entendimento do seu algoritmo.


Eu o aconselho a começo de estudo praticar em papéis usando lápis, não utilize o
computador, pois no começo poderá atrapalhar o desenvolvimento de seu raciocínio. Para
lhe preparar, desde o primeiro algoritmo irei demonstrar como uma indentação deve ser feita
no papel.

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)

Operador aritmético Operação Descrição


+ Adição Faz a soma de dois números.
- Subtração Faz a subtração de um
número de outro.
* Multiplicação Faz a multiplicação de um
número por outro.
/ Divisão Faz a divisão de um número
por outro.
^ Potenciação Faz a elevação de um
número a uma potência .

Função aritmética Sintaxe Descrição


Divisão inteira DIV(x,y) Faz a divisão inteira do número x
pelo número y,ou seja, retorna
somente a parte inteira da divisão.
Resto da divisão inteira RESTO(X,Y) Retorna o resto da divisão inteira
do número x pelo número y.
Valor absoluto ABS(x) Retorna o valor absoluto do
número x.
Arrendondamento ARREDONDA(x) Retorna o valor arredondado do
número x.
Potenciação ELEV(x,y) Semelhante ao operador ^ retorna
o resultado do número x elevado
ao número y.
Raiz quadrada RZQD(x) Retorna o valor da raiz quadrada
do número x.

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.

Operador lógico Operação Descrição


Retorna o valor lógico resultante da
intersecção de valores lógicos de
expressões relacionais.
e Intersecção
Verdadeiro e Verdadeiro = Verdadeiro
Verdadeiro e Falso = Falso
Falso e Falso = Falso
ou União Retorna o valor lógico resultante da união de
valores lógicos de expressões relacionais.
Verdadeiro ou Verdadeiro = Verdadeiro
Verdadeiro ou Falso = Verdadeiro
Falso ou Falso = Falso
não Negação Retorna o valor lógico resultante da
contradição do valor lógico de uma
expressão relacional.
Não verdadeiro = falso
Não falso = verdadeiro

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?

Se ( (media >= 6) e (quantFaltas < 10) ) então


Escreva (“O aluno ” , nomeAluno , “ foi aprovado!”);
senão
Escreva (“O aluno ” , nomeAluno , “ foi reprovado! ”);
Fimse

Se ( (media >= 6) ou (quantFaltas < 10) ) então


Escreva (“O aluno ” , nomeAluno , “ foi aprovado! ”);
senão
Escreva (“O aluno ” , nomeAluno , “ foi reprovado!” );
Fimse

A diferença é que utilizando-se do e tanto a primeira quanto a segunda condição tem


que ser satisfatória, caso contrario passara pelo senão informando que o aluno foi
reprovado. Através do ou, basta apenas uma das duas condições ser satisfatória para
que o aluno esteja aprovado. Portanto muito cuidado ao utilizar o e ou ou.

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

Repare que antes do Enquanto A recebe 100.000, B recebe 38.000 .

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!

Enquanto resposta <> “não” faça


contador ← (contador + 1);
Escreva (“Deseja continuar?”);
Leia (resposta);
Fimenquanto

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.

Outro exemplo seria:

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

Para j de 1 até 10 faça


Escreva ( num[j] );
Fimpara
Fimalgoritmo

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.

Qual a diferença entre vetor e matriz?


• Vetor – Possui apenas uma dimensão.
• Matriz – Possui duas dimensões (altura e comprimento).

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

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.

1. 1. Certa empresa precisa descobrir se o ID de um funcionário é ímpar ou par. Crie um


algoritmo que possa informar qual o tipo do ID.

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

Se ( sexo = “feminino” ) então


sexoF ← ( sexoF + 1 );
senão
sexoM ← ( sexoM + 1 );
Fimse
contPessoas ← ( contPessoas + 1 );
vetor [ i ] ← salLiquido;
totalSalarios ← ( totalSalarios + salLiquido );
Fimpara
media ← ( totalSalarios / contPessoas);

Escreva ( “ Porcentagem no sexo feminino : ” , ( sexoF / contPessoas ) , “ % “ );


Escreva ( “ Porcentagem no sexo masculino : ” , ( sexoF / contPessoas ) , “ % “ );
Escreva ( “ Média salarial da empresa : ” , media );
Fimalgoritmo

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

Para i de 1 até 9 faça


Para j de ( i + 1 ) até 10 faça
Se ( vetor [ i ] > vetor [ j ] ) então
x ← vetor [ i ]
vetor [ i ] ← vetor [ j ]
vetor [ j ] ← x
Fimse
Fimpara
Fimpara

Para i de 1 até 10 faça


Escreva ( 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;

Escreva (“Informe o sexo.”);


Leia ( sexo );
Repita
Se ( sexo = “feminino” ) então
interrompa
Fimse
Se ( sexo = “masculino” ) então
interrompa
Fimse
Escreva (“Sexo errado, informe masculino ou feminino.”);
Leia ( sexo );
Fimrepita
Escreva (“O sexo informado foi: ” , sexo );
Fimalgoritmo

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

S-ar putea să vă placă și