Buscar

1_IntroducaoAlgoritmos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Algoritmos – Introdução
Alexandre Augusto Giron
2
Objetivos
● Entender os conceitos básicos de lógica de 
programação
● Estudar os conceitos e tipos de algoritmos
● Aprender tipos e instruções primitivas para criar 
e estruturar algoritmos
3
Bibliografia da disciplina
● FORBELLONE, A. L. V.; EBERSPÄCHER, H. F. 
Lógica de Programação. 3 Edição. São Paulo, 
Prentice Hall, 2005.
● PEREIRA, S.L. Algoritmos e lógica de 
Programação em C – uma abordagem 
didática. São Paulo: Érica, 2010.
● GALANTE, G.; ZAGO, R.L. Apostila da 
Linguagem C. Cascavel: Unioeste, 2003.
● SANTA CATARINA. A. Algoritmos e 
Estruturas de Dados I. Material didático. 
Cascavel: Unioeste, 2001.
4
Roteiro
● Lógica de Programação
● Algoritmos
– Algoritmo x Programa
– Representação de Algoritmos
● Tipos primitivos
● Identificadores, expressões, funções e 
hierarquia de operadores
● Instruções Primitivas e Programação 
Estruturada
5
Lógica de Programação
6
Introdução
● Surgimento da computação
– Necessidade de ferramentas para facilitar cálculos
● Computador
– Do latim: computatore. (“Aquele que efetua cálculos”)
● Processamento por meio de programas (softwares)
● Dado x Informação
– Dados são valores, sequência de símbolos. Ex: 18 anos 
(Idade)
– Informação: resultado do processamento dos dados; 
interpretação dos dados. Ex: Se você tem mais de 18 
anos, já atingiu a maioridade
7
Introdução
● Ênfases da computação
– Prática: Tecnologias computacionais
– Teórica: Fundamentos Teóricos
8
Lógica de Programação
● Lógica
Todo cavalo é um mamífero.
Todo mamífero é um animal.
Logo, todo cavalo é um animal.
– Raciocínio expressado na linguagem escrita ou 
falada
● Lógica de programação
– Uso correto do raciocínio lógico na programação de 
computadores
– Representação por meio de Algoritmos
9
O que é um Algoritmo?
Sequência finita de instruções computáveis, 
sem ambiguidade, que transformam um 
conjunto de valores iniciais satisfazendo 
condições de um problema.
● Ou
Sequência de passos para realizar uma 
objetivo bem definido.
10
Por que Algoritmos?
● Por que é importante o uso de algoritmos?
– Abstração de alguns detalhes computacionais
– Tradução para qualquer outra linguagem
– Organizar um raciocínio lógico para realizar um 
objetivo
● Cuidados no uso de algoritmos
– Falhas em cálculos podem gerar graves problemas
11
Algoritmo x Programa
● Um algoritmo não é um programa!
– Algoritmo é escrito para um humano entender
● Programa: instanciação de um algoritmo em 
uma linguagem de programação
– Linguagem de Programação: Computador entende
12
Algoritmos
● Representação de algoritmos
– Descrição narrativa: descrever a solução passo a 
passo em linguagem natural
– Fluxograma: uso de símbolos para descrever a 
solução
– Pseudocódigo: técnica textual baseada em PDL 
(Program Design Language). Exemplo: Portugol
● Não esquecer que
– Um algoritmo deve ser interpretável por um humano 
e deve ser fácil de codificar
13
Representação de algoritmos
● Fluxograma
– Troca de lâmpada
14
Principais Símbolos de um 
fluxograma
Obs: Notação obtida do livro Manzano e Oliveira (2012)
Símbolo Significado Descrição
Terminal Início e fim de um fluxo
Entrada Manual Operação de entrada de 
dados
Processamento Execução de uma operação
Exibição Operação de saída visual 
de dados
Decisão Uso de desvios 
condicionais
15
Representação de algoritmos
● Fluxograma – Exemplo 2
– Crie um fluxograma para calcular média entre duas 
notas (N1 e N2) informadas por um aluno
– O algoritmo responderá para o aluno:
● Média >= 70 – Aprovado
● Média < 70 – Reprovado
16
Solução
17
Exercícios em sala
1) Crie um algoritmo usando descrição narrativa 
e fluxograma para os seguintes problemas:
a) Algoritmo para calcular a média de 4 números 
informados e exibir em tela;
b) Algoritmo para calcular o INSS para o salário 
informado, considerando que:
● Salário menor que R$ 1317,07 contribuirá 8%.
● Salário maior ou igual a R$ 1317,07 e menor que R$ 
2195,12 contribuirá 9%. 
● Salário maior que R$ 2195,13 contribuirá 11%.
2) Analise a afirmativa: “Algoritmos e Programas 
são sinônimos”. V ou F? Justifique. 
18
Tipos primitivos, identificadores, 
 expressões e hierarquia de 
operadores
19
Tipos primitivos
● Importante
– Informação é a matéria-prima que faz necessária a 
existência dos computadores
● 4 tipos básicos de dados 
– Inteiro: Ele tem 8 irmãos
– Real: Ela tem 1,73 metro de altura
– Caracter: “a”
– Cadeia de Caracteres: A placa dizia: “Pare”
– Lógico: A lâmpada pode estar acesa ou apagada
20
Constantes
● Valor fixo que não se modifica ao longo do 
tempo, durante a execução de um programa
● Numéricas: 
– Inteiro ou real
● Literais: 
– Qualquer sequência de caracteres
● Lógicas: 
– Valor lógico biestável
● 1 → Verdadeiro
● 0 → Falso
21
Variável
● Informações que mudam ao longo do tempo
● Associação entre o nome dado x posição de 
memória
● Variáveis representadas por identificadores
– Devem começar por um caracter alfabético (letra)
– Podem ser seguidos por letras ou números
● Exemplos
Alpha, X, i, notas, aux
22
Expressões Aritméticas
● Operadores aritméticos
● Operações matemáticas não convencionais
● Símbolos auxiliares: Parênteses
Operador Função Exemplos
+ Adição 2+3, X+Y
- Subtração 4-2, N-M
* Multiplicação 3*4, A*B
/ Divisão 10/2,X1/X2
Operador Função Significado Exemplo
pot(x,y) Potenciação x elevado a y pot(2,3)
rad(x) Radiciação Raiz quadrada de x rad(9)
div Quociente da divisão 9 div 4 resulta em 2
mod - Resto da divisão 9 div 4 resulta em 1
23
Expressões Lógicas
● Definição
– Expressão cujos operadores são lógicos ou 
relacionais e cujos operandos são relações, 
constantes ou constantes lógicas
– Uma expressão lógica tem um resultado: 
Verdadeiro ou Falso
● Operadores Relacionais
– Comparação entre valores
● Operadores Lógicos
– Formação de proposições
24
Expressões Lógicas
● Operadores Lógicos
– Comparação: =,>,<, >=, <=, <> 
● Exemplos Resultado
10 < 20
20 >= 10
2 + 2 = 4
15 mod 4 < 19 mod 6
1 > 3
25
Expressões Lógicas
● Operadores Lógicos
– Comparação: =,>,<, >=, <=, =/= 
● Exemplos Resultado
10 < 20 V
20 >= 10 V
2 + 2 = 4 V
15 mod 4 < 19 mod 6 F
1 > 3 F
26
Expressões Lógicas
● Operadores Lógicos
– Resultado é sempre verdadeiro ou falso
– Operandos: constante lógica ou uma expressão
– E, OU, XOU, NAO
● Resultado determinado por Tabela-Verdade
27
Tabela Verdade: E e OU
● Operador E: conjunção
● Operador OU: disjunção
Exemplo: Se chover e relampejar Exemplo: Se chover ou relampejar 
eu fico em casa eu fico de casa
A B A e B
0 0 0
0 1 0
1 0 0
1 1 1
A B A ou B
0 0 0
0 1 1
1 0 1
1 1 1
28
Tabela Verdade: XOU e NAO
● Operador XOU: “ou exclusivo” - coincidência
● Operador NAO: negação
 
A B A xou B
0 0 0
0 1 1
1 0 1
1 1 0
A nao A
0 1
0 1
1 0
1 0
29
Hierarquia de operadores
● Prioridade:
1) Sempre parênteses mais internos
2) Operadores Aritméticos
1) Multiplicação/Divisão
2) Soma/Subtração
3) Operadores Relacionais
4) Operadores Lógicos
1) NAO
2) E
3) OU
4) XOU
30
Exercícios em sala
1) Determine o resultado das expressões a seguir. 
Dados: A, B e C contém 2,7,3 e D é verdadeiro e 
H é falso.
a) B = A * C e (D ou H)
b) B > A ou B = (A+A+C)
c) nao D ou (H xou nao D) e (A * C < B) 
2) Monte a tabela verdade para as expressões 
lógicas a seguir:
a) A e nao B 
b) nao A ou nao B e C
c) (A e B) e (B ou C)
31
Instruções primitivas e 
Programação Estruturada
32
Instruções Primitivas
●Comando de Atribuição
– Fornecer um valor à uma variável
– Tipo do dado deve ser compatível com a variável
● Exemplo: considere duas variáveis, Var1 e A, 
do tipo inteiro:
Var1 ← 20;
A ← Var1;
33
Instruções Primitivas
● Comandos de Entrada e Saída de dados
– Entrada: recebe dados dos usuários;
– Saída: exibe os dados aos usuários.
● Exemplo: Entrada de dados
leia Var1;
leia A,B,C;
● Exemplo: Saída
escreva X,Y,Z;
escreva “O resultado é:”, Var;
34
Programação Estruturada
● Organização da lógica de raciocínio para resolver um 
problema
– Algoritmos: Pseudocódigo, fluxograma, descrição
35
Definição - Pseudocódigo
● Forma simplificada de escrita de um algoritmo
● Um pseudocódigo é uma linguagem de projeto 
de programação
– Não é uma linguagem de programação (Manzano e 
Oliveira, 2012)
● No Brasil, Guimarães e Lages (1994) 
propuseram o Português Estruturado
– Mais conhecido como Portugol
36
Portugol
● Bastante utilizado para ensino de lógica de 
programação e algoritmos
● Por que português estruturado?
Inicio
 inteiro A 
leia A
X <- A + 10
escreva A
Fim
37
Portugol
● Não há rigor sintático como outras linguagens
● Portugol inspirou linguagens de programação e 
interpretadores
– G-Portugol
– Portugol Viana
– Portugol IDE
– Portugol Studio
● Exemplos de programas? Veremos mais 
adiante!
38
Sintaxe Geral do Português 
Estruturado - Portugol
inicio
<tipo> <nome_variavel1>, <nome_var2>
<tipo2> <nome_var3>, <nome_var4>, ... 
<comando1>
<comando2>
...
<comandoN>
fim
39
Exemplo 1 – Portugol IDE
40
Exemplo 2 – Portugol IDE 
● Crie um programa que permita fazer a 
conversão entre Reais e Dólares. Leia um valor 
em Reais pelo teclado, o valor da taxa de 
câmbio e mostre o correspondente em Dólares.
41
Exemplo 2 – Portugol IDE – 
Solução 
42
Sintaxe no Portugol IDE
● Tipos:
– real, inteiro, texto, logico (verdadeiro, falso), caracter
● Entrada/Saída
– escrever, ler
● Operadores:
– Atribuição: <-
– Lógicos: E, OU, XOU, NAO
– Relacionais: =, >, >=, <=, <, =/=
● Dúvidas?
– http://www.dei.estt.ipt.pt/portugol/node/6 
43
Exercícios em sala
1) Construa algoritmos em portugol para resolver os 
seguintes problemas: 
a) Fazer um algoritmo para calcular a área de um 
retângulo (Área = base * altura).
b) Dadas 4 notas fazer um algoritmo para calcular a 
média aritmética. Após o cálculo, o algoritmo deverá 
informar “APROVADO” se a média for maior ou igual a 
70, e “EXAME” caso contrário.
c) Três nadadores realizaram uma competição entre si, 
cada um obteve um tempo (em minutos) cronometrado. 
Faça um algoritmo que leia os tempos dos nadadores, 
informando qual dos três venceu a competição (o que 
obteve o menor tempo).
44
Resumo
● Lógica de programação
– Raciocínio lógico na programação de computadores
● Algoritmos x Programa
● Variáveis e constantes possuem um tipo 
primitivo (inteiro, real..)
● Expressões lógicas sempre têm um resultado
– Verdadeiro ou Falso
● Programação Estruturada
– Início → Declaração de Variáveis → Comandos 
→ Fim. 
45
Para casa
● Leitura dos Capítulos 1 e 2 
(Livro Lógica de Programação – 
Forbellone)
● Lista de Exercícios 1 – 
Introdução
46
Referências
● MANZANO, Jose A. N. G.; OLIVEIRA, Jayr F. 
de. Algoritmos - Lógica para 
Desenvolvimento de Programação de 
Computadores. ERICA, 26ª ed., 2012.
● FORBELLONE, A. L. V.; EBERSPÄCHER, H. F. 
Lógica de Programação. 3 Edição. São Paulo, 
Prentice Hall, 2005.

Continue navegando