Apostila de lp1 PDF
Apostila de lp1 PDF
Apostila de lp1 PDF
1.1. Definições......................................................................................... 6
1.2.2. Fluxograma............................................................................... 11
Exercícios ................................................................................................. 13
EXERcícios .............................................................................................. 20
Exercícios ................................................................................................. 23
2.3. Variaveis......................................................................................... 26
Numéricas............................................................................................. 26
Caracteres ............................................................................................ 27
Lógica ................................................................................................... 27
Respostas ................................................................................................ 28
3. Pseudocódigo ............................................................................... 31
Exemplo ................................................................................................ 33
Exercícios ................................................................................................. 35
Respostas ................................................................................................ 37
1.1. DEFINIÇÕES
Vamos agora ver alguma definições para começarmos a entender este novo
mundo de possibilidades.
1.1.1. Lógica
Lógica, termo grego logiké, relacionado com a razão, logos, palavras ou
discurso, que significa a ciência do raciocínio.
a) Preparar a massa
b) Passar molho de tomate
c) Adicionar o presunto
d) Adicionar a mussarela
e) Adicionar a cebola
f) Adicionar o orégano
g) Adicionar a azeitona
h) Deixar o fogão aceso por 15 minutos
i) Colocar a pizza no forno
j) Esperar ela ficar no ponto ideal para servir
k) Remover do forno
l) Cortar do jeito desejado
m) Se servir
a) Preparar a massa
b) Passar molho de tomate
c) Adicionar o presunto
d) Adicionar a mussarela
e) Adicionar a cebola
f) Adicionar o orégano
g) Adicionar a azeitona
k) Remover do forno
l) Cortar do jeito desejado
m) Se servir
1.1.3. Programa
Uma definição para programa é uma coleção de instruções que descrevem
uma tarefa a ser realizada pelo computador.
• C ++
• C#
• Java
• Javascript
• Python
• Ruby
• Cobol
• Pascal
• Delphi
Primeiro prepare a massa, passe molho de tomate por cima da massa já pré-
assada de maneira uniforme, em seguida lance por cima do molho o presunto cortado
em fatias ou moído até se sentir por satisfeito com a quantidade, faça o mesmo com
a mussarela em fatias ou moída, não se esqueça de adicionar a cebola, o orégano e
as azeitonas (verdes ou pretas) a seu gosto. Pré-aqueça o fogão por 15 minutos em
fogo alto, abaixe a temperatura para médio ou baixo e coloque a pizza para assar,
neste momento fique observando esporadicamente o forno até estar no ponto ideal
para ser servida, com cuidado para não queimar a mão remova-a do forno contando-
a como desejar e bom apetite, está pronto para ser servida.
Um dos problemas em se utilizar a forma de descrição narrativa é que se
escreve muito para se falar pouca coisa e por se tratar de um texto, está sujeito a ser
impreciso, esquecer alguma etapa do processo e consequentemente não dar certo.
Outro problema é no fato de obrigar o usuário a ler o texto faz com que demore mais
para entender as etapas do processo e o seu relacionamento entre as etapas,
enquanto nos outros modelos esta informação é passada de uma maneira mais visual
e consequentemente mais rápida.
1.2.2. Fluxograma
Usa símbolos universais que nos ajudarão a entender o que o algoritmo que
dizer. O bom deles é que por ser um padrão universal, fluxogramas escritos por
programadores brasileiros poder ser lidos e entendidos por programadores alemães,
franceses, italianos, americanos e todos vão conseguir entender o que está
acontecendo com o programa e qual o resultado final do mesmo.
1.2.3. Pseudocódigo
É uma linguagem intermediária entre a nossa linguagem e a linguagem de
programação. Nesta apostila vai ser utilizado o pseudocódigo VisuAlg pois usa o
português para escrever nossos programas, pode ser executada em um computador,
ao contrário de outras linguagens ela é de graça, é uma forma simples de ser
representada, utilizada, manipulada e entendida.
EXERCÍCIOS
3. Faça uma descrição narrativa de escovar seus dentes, atravessar uma rua e
acessar um site.
4. Tente descrever passo-a-passo o que entendeu que está acontecendo no exemplo
passado no fluxograma, separando-o em entrada, processamento e saídas.
Outros operadores aritméticos não são usados como símbolos mas sim como
palvras como:
Quando formos realizar uma equação matemática onde possui uma raiz
quadrada devemos usar a palavra SQRT e na frente dela o número desejado como
no exemplo SQRT 9 estamos calculando a raiz quadrada de 9 cujo resultado é 3.
Como pode ser visto todo início de fluxograma e termino do mesmo é usado
o primeiro símbolo só que dentro do primeiro tem escrito início e no ultimo escrito fim.
Figura 4 - explicando um
fluxograma
EXERCÍCIOS
1 - Desenvolva um fluxograma que:
• Leia 4 números
• Calcule a média
• Mostre o resultado
• Leia 5 idades
• Calcule a média das idades
• Mostre o resultado.
2.1. PRIORIDADE NAS OPERAÇÕES ARITMÉTICAS
Uma coisa importante quando se vai realizar operações aritméticas é que
dependendo da operação, temos de calcular uma parte da fórmula para depois seguir
o cálculo para não resultar em um valor errado e para isso usamos algumas regras
pra nos ajudar:
Exemplo:
3 * (1-2) + 4 * 2
3 * -1 + 4 * 2
-3 + 4 * 2
-3 + 8
5+9+7+8/4
5+9+7+2
14 + 7 + 2
21 + 2
23
1 - 4 * 3 / 6 - SQR(3)
1–4*3/6–9
1 – 12 / 6 – 9
1–2–9
–1–9
– 10
EXERCÍCIOS
4 - Resolva as equações matemáticas respeitando as prioridades aritméticas:
a. 2 * 7 MOD 3 – 4
b. 5 DIV 2 –(10*2)/4 + SQR(2)
c. 10/2 – 2*(50+4) – SQRT (9)
2.2 OPERADORES RELACIONAIS
Uma coisa que temos de ver antes de começar a criar nossos programas no
VisuAlg é como usar os operadores relacionais.
2.2.1 Atribuição
O primeiro que vimos e já estamos usando é o de Atribuição. O Operador de
atribuição é usado para informar ou melhor atribuir algum valor a alguma variável,
como podemos ver nos exemplos anteriores onde uma variável recebia o valor de uma
equação matemática como no exemplo a baixo:
Média:= (n1+n2+n3+n4) /4
2.2.2 Igualdade
Outro operador relacional é o igualdade, representado pelo símbolo de igual
(=), é usado quando queremos que o programe informe se é verdadeiro ou não uma
determinada condição. Exemplo:
2.2.3 Diferença
A diferença é semelhante ao igualdade, só que o seu oposto. É representado
pelo sinal de maior e menor (<>).
2.2.5 Menor
Mesma coisa que o maior só que o oposto. Seu símbolo é o menor (<).
2 >= 7 (falso, uma vez que 2 não é nem maior nem igual ao número 7)
2 <= 7 (verdadeiro, uma vez que mesmo 2 não sendo igual a 7, 2 também não
é maior que o número 7)
5 <= 5 (verdadeiro já que 5 não é menor que 5 mas é igual a 5)
2.3. VARIAVEIS
Outra coisa que já usamos em exercícios anteriores mas que agora vai ser
explicado melhor é o uso das variáveis, nossos programas não funcionarão sem as
variáveis para armazenarmos as informações que recebem do usuário ou por meio de
processamentos realizados na execução de nossos programas.
Como pode ser observado quando vamos atribuir um valor a uma variável
numérica, não precisamos de usar aspas em volta de seu valor agora o mesmo já não
acontece quando é uma variável do tipo caracter pois temos a obrigação de informar
aonde começa e onde termina o valor que será atribuído aquela variável usando as
aspas para fazer esta indicação.
1 2
3
4.A) 2 * 7 MOD 3 – 4
14 MOD 3 – 4
2–4
-2
5 DIV 2 – 20 / 4 + SQR(2)
5 DIV 2 – 20 / 4 + 4
2 – 20 / 4 + 4
2–5+4
-3 + 4
10 / 2 – 2 * 54 – 3
5 – 2 * 54 – 3
5 – 108 – 3
-103 – 3
-106
3. PSEUDOCÓDIGO
Forma genérica de escrever um algoritmo, utilizando uma linguagem simples
(na língua de quem o escreve, de forma a ser entendida por qualquer pessoa) sem
necessidade de conhecer a sintaxe de nenhuma linguagem de programação.
Não pode ser executado num sistema real (computador), pois deixaria de ser
“pseudo”.
3.1 FORMATO
algoritmo "semnome"
var
//Declaração das variáveis
Inicio
// Seção de Comandos
Fim
Exemplo:
Algoritmo TESTE
Exemplo:
Var
n1, n2 : inteiro
n3, n4 : real
Exemplo:
Inicio
Exemplo
Com base no fluxograma a baixo compare-o com o pseudocódigo para
entender suas relações, lembrando sempre de tentar observar as entradas de dados,
seus processamentos e suas saídas.
Algoritmo SOMA
Var
n1,n2,result: inteiro
Início
Leia (n1)
Leia (n2)
result n1+n2
Fim
a) Faça um programa que envie a mensagem “Bom dia, Boa Tarde, Boa
Noite”.
algoritmo "semnome"
var
inicio
fimalgoritmo
b) Fluxograma: Pseudocódigo:
algoritmo "semnome"
var
nome:caracter
inicio
leia(nome)
fimalgoritmo
C)
Fluxograma: leia(c1)
leia(c2)
leia(c3)
leia(c4)
D) Fluxograma:
Pseudocódigo: algoritmo "semnome"
var
media:real
inicio
leia(i1)
leia(i2)
leia(i3)
media := (i1+i2+i3)/3
fimalgoritmo
E) Fluxograma:
Pseudocódigo:
algoritmo "semnome"
var
valor, novo_valor:real
inicio
leia(valor)
fimalgoritmo
F) Fluxograma:
Pseudocódigo:
algoritmo "semnome"
var
inicio
leia(bmaior)
leia(bmenor)
leia(altura)
fimalgoritmo
G) Fluxograma:
Pseudocódigo:
algoritmo "semnome"
var
raio, area:real
inicio
leia(raio)
fimalgoritmo
H) Fluxograma:
Pseudocódigo:
algoritmo "semnome"
var
inicio
leia(ha)
leia(aulas)
fimalgoritmo
I. Fluxograma:
Pseudocódigo:
algoritmo "semnome"
var
c, f :real
inicio
leia(c)
f := (9*C + 160) /5
fimalgoritmo
J) Fluxograma:
Pseudocódigo:
algoritmo "semnome"
var
resposta :real
n1, n2,resposta2:inteiro
inicio
leia(n1)
leia(n2)
resposta := n1 + n2
resposta := n1 - n2
resposta := n1 / n2
resposta := n1 * n2
resposta := n1*n1
resposta := raizq(n2)
resposta2 := n1 mod n2
fimalgoritmo
k) Fluxograma:
Pseudocódigo:
algoritmo "semnome"
var
anos, filhos,anos2:inteiro
inicio
leia(salario)
leia(anos)
leia(filhos)
fimalgoritmo
REFERÊNCIA BIBLIOGRAFICA
ALMEIDA, Rafael Soares. Aprendendo Algoritmo com VisuAlg. 1.ed.
Editora Ciência Moderna, 2013.