SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Aula 02
Itens Fundamentais
Ênio Prates Vasconcelos Filho
Faculdades Alfa
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Tópicos
Δ Revisão;
Δ Algoritmos para Computadores;
Δ Pseudolinguagem;
• Estrutura;
• Tipo de dados;
• Comentários;
• Entrada e Saída;
• Estrutura Condicional;
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Revisão
Δ O que é Algoritmo?
• Sequência finita de instruções, ordenadas de forma lógica para a resolução de
uma determinada tarefa ou problema;
Δ “Programar é construir algoritmos.”
Δ “Programa = algoritmo + estruturas de dados.”
Δ “No processo de construção de programas, a formulação do algoritmo e a
definição das estruturas de dados estão intimamente ligadas.”
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Aspectos de Um Algoritmo
Δ Todo algoritmos possui os seguintes aspectos:
• ação: evento que ocorre num período de tempo finito;
• estado: propriedades de um objeto numa dada situação;
• processo: sequência temporal de ações;
• padrão de comportamento: toda vez que é seguido (o algoritmo), um evento
ocorre;
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exemplo de Algoritmo
Δ Algoritmo para fazer “batatas fritas para o jantar”:
• “Traga a cesta com batatas da despensa”;
• “Traga a panela do armário”;
• “Coloque óleo na panela”;
• Se “a roupa é clara”
oentão “coloque o avental”;
• Enquanto “nº de batatas é insuficiente para o número de pessoas” faça
o“descasque as batatas”;
• “Pique as batatas”;
• “Esquente o óleo da panela”;
• “Frite as batatas na panela”;
• “Escorra o excesso de óleo das batatas fritas”;
• “Coloque as batatas fritas numa vasilha com papel absorvente”.
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Observações:
Δ O tempo verbal está na forma imperativa (“faça”, “traga”, “frite” etc.);
Δ Há um sequenciamento das ações, que estão separadas por um ponto e
vírgula;
Δ O avental não é usado toda vez: existe um motivo para colocá-lo, ou seja,
há uma condição para que o avental seja colocado;
Δ O número de batatas descascadas varia; a ação de “descascar uma batata”
repete-se até que a condição de parada (ser suficiente para alimentar as
pessoas que irão jantar) seja alcançada;
Δ A ordem das ações é importante: primeiro descasca-se a batata, pica-se a
batata, para depois fritá-la...
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Algoritmo para computadores
Δ Apesar de receitas culinárias e trajetos rotineiramente percorridos
encaixarem-se perfeitamente no conceito inicial de algoritmo, no nosso
curso, estamos interessados num tipo de algoritmo especial, que seja capaz
de ser executado por um computador.
Δ Para tanto, é necessário que identifiquemos problemas do mundo real que
possam ser traduzidos em ações primitivas finitas e dos quais se possa
extrair um padrão de comportamento.
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Etapas da programação de Computadores
Δ A construção de programas de computador leva em conta 5 etapas básicas
da programação:
1. Identificação de um problema do mundo real;
2. Confecção do algoritmo;
3. Teste do algoritmo;
4. Confecção do programa de computador;
5. Execução do programa no computador.
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Pensamento Estruturado
Δ Para realizarmos esse ciclo de etapas com sucesso, quer dizer, para
conseguirmos fazer programas de computador com qualidade e confiáveis,
é muito importante a utilização de técnicas de programação, como a
programação estruturada.
Δ A programação estruturada é uma metodologia de projeto e
desenvolvimento que pretende:
• Facilitar a escrita;
• Facilitar o entendimento;
• Permitir a verificação;
• Facilitar a alteração e a manutenção dos programas de computador.
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Pseudolinguagem: Portugol ou PortuCê
Δ Usaremos pseudolinguagem para escrever nossos primeiros algoritmos:
• A pseudolinguagem PortuCê utiliza o português;
• Formato Estruturado;
• Estrutura, sintaxe e semântica muito semelhantes às da linguagem de
programação C.
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exercitando
Δ Deduza qual o padrão de comportamento utilizado para gerar as
sequências:
a) 1, 5, 9, 13, 17, 21, 25 ...
b) 1, 1, 2, 3, 5, 8, 13, 21, 34 ...
Δ Monte um algoritmo que imprima na tela os primeiros 20 números de cada
sequência;
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Estrutura de um Algoritmo:
programa nome_do_algoritmo
var
// Aqui são declaradas as variáveis
inicio
// Aqui inserimos expressões, instruções...
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Estrutura de um Algoritmo:
programa SOMA_NUMEROS
var
X: inteiro
A: inteiro
B: inteiro
inicio
leia A
leia B
x<- A+B
escreva x
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de Dados
Δ Identificadores:
• Todo programa de computador manipula dados, que são armazenados em variáveis;
• Uma variável precisa ter um nome que a identifique de forma única no programa: é
o identificador.
Δ Regras para construção de Identificadores:
• Um identificador em PortuCê é formado por caracteres alfanuméricos;
• O primeiro caractere tem que ser uma letra; os outros caracteres podem ser:
o letras: A-Z, a-z;
o dígitos: 0-9;
o sublinhado: _ .
• Não pode haver dois identificadores iguais.
• Letras minúsculas e letras maiúsculas são diferentes (case sensitive).
• Os identificadores não podem ser acentuados.
• Não pode haver espaço em branco num identificador.
• O caractere “ç” não pode ser usado num identificador.
• Um identificador não pode ter o mesmo nome das palavras reservadas do PortuCê
(como: programa, se, senão, inteiro, real etc.).
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Identificadores
Δ Exemplos de identificadores válidos:
• NOME, raiz1, letra4, Total_dos_Salarios, Nome_de_Familia;
Δ Exemplos de identificadores INVÁLIDOS:
• 4pontos
o (começa com número);
• CUSTO FINAL
o (tem espaço em branco);
• PreçoTotal
o (caractere “ç” não pode ser usado);
• Pessoa+Alta
o (caractere “+” não pode ser usado);
• Preco-caro
o (caractere “-” não permitido);
• Total_dos_salários
o (palavra acentuada);
• inteiro
o (palavra reservada do PortuCê);
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos Básicos e Declaração de Variáveis
Δ As variáveis precisam ter um nome (identificador), um tipo associado, e
precisam ser declaradas antes que possam ser utilizadas:
• Há três tipos básicos que podem ser associados às variáveis:
oInteiro;
oReal;
oCaractere;
oLógicos;
• Para declarar uma variável:
onome_da_variavel: tipo
• Se mais de uma variável for do mesmo tipo básico, elas podem ser declaradas
juntas, apenas separadas por vírgulas;
• Toda variável precisa ser declarada antes de ser utilizada;
• Não pode haver duas variáveis com mesmo nome, mesmo que tenham tipos
básicos diferentes, a menos que algum caractere maiúsculo ou minúsculo as
diferencie;
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos Básicos e Declaração de Variáveis
Δ Toda variável é associada a um tipo de valor;
Δ O tipo de uma variável identifica o tipo de valor que ela poderá receber;
Δ No Portugol, declaramos variáveis logo após a palavra reservada var;
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos Básicos e Declaração de Variáveis: Exemplos
Δ Exemplos de declaração de variáveis válida:
• Caractere: NOME[20], letra
• Inteiro: soma
• real: raiz1, Total_dos_Salarios
• caractere: Nome_de_familia[30]
Δ Exemplos de declaração de variáveis INVÁLIDA:
• caractere NOME[20]; letra4
o(o separador de identificadores deve ser a vírgula)
• raiz1, Total_dos_Salarios real
o(o tipo básico deve vir antes dos identificadores)
• caracteres Nome_de_Familia[30]
o(o nome do tipo básico está errado)
• real SOMA
o(a variável SOMA já foi declarada: um identificador não pode ser duplicado)
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de Dados
TIPO DESCRIÇÃO
INTEIRO
Representa valores inteiros
Ex.: 2, 5, -3, 100, -151...
REAL
Representa valores reais
Ex.: 5.6, -3.45, 5.00, -10.45...
LITERAL
Representa texto entre aspas duplas
Ex.: “Palmeiras Campeão”, “B”, “1234”
LOGICO
Representa os valores lógicos
VERDADEIRO ou FALSO
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exemplo
programa exemplo
var
NOME, ENDERECO: CARACTERE
IDADE: INTEIRO
PESO: REAL
EH_SOLTEIRO: LOGICO
inicio
NOME <- “Thyago”
ENDERECO <- “Rua Tal, 555”
IDADE <- 29
EH_SOLTEIRO <- falso
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Operador de atribuição
Δ Utilizado para inserir um valor ou o resultado de uma expressão em uma
variável;
Δ Representado por uma seta apontando para a esquerda (<-);
Δ Só podemos atribuir valores do mesmo tipo da variável;
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exemplo
programa exemplo
var
NOME, ENDERECO: CARACTERE
IDADE: INTEIRO
PESO: REAL
EH_SOLTEIRO: LOGICO
inicio
NOME <- “Thyago”
ENDERECO <- “Rua Tal, 555”
IDADE <- 29
EH_SOLTEIRO <- falso
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exemplo
Δ Erros de Atribuição:
programa exemplo_errado
var
nome: caractere
idade: inteiro
inicio
nome <- Thyago Maia
idade <- 27.34
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exemplo
Δ Erros de Atribuição:
programa exemplo_errado
var
nome: caractere
idade: inteiro
inicio
nome <- Thyago Maia LITERAIS SEMPRE COM “”
idade <- 27.34 A VARIÁVEL É INTEIRA, NÃO REAL
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exercícios
Δ Classifique os dados abaixo de acordo com seu tipo:
0 “abc” “João”
5.7 1012 FALSO
-49 342 569
“Lucas” “Verdadeiro” 0.00001
Verdadeiro “444” -78.1
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exercícios
Δ Classifique os dados abaixo de acordo com seu tipo:
0 numérico “abc” caractere “João” caractere
5.7 numérico 101 numérico FALSO lógico
-49 numérico 342 numérico 9 numérico
“Lucas” caractere “Verdadeiro”
caractere
0.00001
numérico
Verdadeiro lógico “444” caractere -78.1 numérico
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Linhas de comentário
Δ Informação textual para documentação de programa;
Δ Ajudam a organizar o algoritmo, tornando-o mais legível;
Δ São representados por duas barras normais (//). Todo texto digitado após
as duas barras é considerado comentário;
Δ Comentários não são compilados;
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Linhas de comentário
Δ Exemplo:
// Algoritmo que utiliza variável lógica
programa teste
var
ligado: logico
inicio
// Insere verdadeiro na variável
ligado <- Verdadeiro
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Comandos de entrada e saída
Δ Comando de entrada (leia)
• Utilizado para ler um valor digitado pelo usuário, armazenando o referido
valor em uma variável indicada no comando;
• Exemplo:
oleia(nome)
oleia(idade)
oLeia(altura)
oLeia(distancia)
Δ Comandos de saída (escreva)
• Utilizados para escrever mensagens ou valores de variáveis na saída padrão;
• Exemplos:
oescreva(“Minha primeira mensagem”)
oescreva (idade)
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exemplo
Δ Faça um algoritmo que leia o nome e a idade de um indivíduo, exibindo-os logo em
seguida:
Δ Solução:
programa exemplo
var
NOME: caractere
IDADE: inteiro
inicio
escreva (“Digite seu nome: ”)
leia (NOME)
escreva (“Digite sua idade”)
leia (IDADE)
escreva (“Seu nome é ”, NOME)
escreva (“Sua idade: ”, IDADE)
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exemplo
Δ Faça um algoritmo que leia dois números inteiros, calcula e exibe a soma
entre eles:
Δ Solução:
programa exemplo_2
var
NUM1, NUM2, SOMA: inteiro
inicio
escreva (“Digite dois números: ”)
leia (NUM1, NUM2)
SOMA <- NUM1 + NUM2
escreva (“Resultado da soma: ”, SOMA)
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exemplo
programa escreve_mensagem_e_variavel
var
nome: caractere
inicio
escreva(“Digite seu nome:”)
leia(nome)
escreva(“Seu nome é:”)
escreva (nome)
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exercícios
Δ Faça um algoritmo que lê o salário de um funcionário, calcula e exibe o novo
salário, sabendo que este sofreu um aumento de 25%;
Δ Resposta:
programa exercício_1
var
sal, aumento, novosal : REAL
inicio
escreva (“Digite seu salário: ”)
leia (sal)
aumento <- sal * 25/100
novosal <- sal + aumento
escreva (novosal)
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exercícios
Δ Faça um algoritmo que calcule e mostre a área de um triângulo:
Área = (base * altura) / 2
Δ Resposta:
programa exercicio_2
var
base, altura, area : REAL
inicio
escreva (“Digite a base e a altura: ”)
leia (base, altura)
area <- (base * altura) /2
escreva (area)
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Exercícios
Δ Faça um algoritmo que leia o nome de um piloto, uma distância percorrida
em km e o tempo que o piloto levou para percorrê-la (em horas). O
algoritmo deverá calcular a velocidade média e exibir a seguinte
mensagem:
• A velocidade média do piloto * foi **
Δ Velocidade Média = Distância/Tempo
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Estruturas Condicionais
Δ Na vida real tomamos decisões a todo momento, baseadas em escolhas;
Δ Em algoritmos, chamamos tais decisões de condições;
Δ Associada a uma condição, existirá uma possível alternativa;
Δ Exemplo:
• Se o Palmeiras não vencer o Flamengo na próxima partida, seu técnico será
demitido;
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Estruturas Condicionais
Δ Analisando o exemplo anterior:
• A condição do exemplo: “o Palmeiras não vencer o Flamengo na próxima
partida”;
• Possíveis decisões baseadas na condição: Sim (Verdadeiro) ou não (Falso);
oLogo, condições geram respostas lógicas!
• Se a condição for verdadeira, a ação “demitir o técnico” será executada;
• Caso contrário (senão), o técnico continuará no Palmeiras;
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Estruturas Condicionais
Δ Para criarmos estruturas condicionais simples em Portugol, utilizamos as
palavras reservadas se, entao e fim_se
se condicao entao
// lista de comandos caso a condição seja // verdadeira
fim_se
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Estruturas Condicionais
Δ Exemplo:
programa exemplo_se
var
numero: inteiro
inicio
numero <- 4
Se (numero > 3) entao
escreva(“A variável é maior que 3”)
fim-se
fim
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Estruturas Condicionais
Δ Exemplo 2:
programa exemplo_senha
var
senha: caractere
inicio
escreva (“Digite a senha”)
leia(senha)
Se (senha = “soueu123”) entao
escreva(“Acesso liberado!”)
fim_se
fim
Estrutura condicional
• Para criarmos estruturas condicionais com duas opções de escolha,
utilizamos as palavras reservadas se, entao, senao e fim_se
se condicao entao
// lista de comandos caso a condição seja //VERDADEIRA
senao
// lista de comandos caso a condição seja FALSA
fim_se
Estrutura condicional
• Exemplo 3:
programa exemplo_se_senao
var
numero: inteiro
inicio
numero <- 4
Se (numero > 3) entao
escreva(“A variável é maior que 3”)
senao
escreva(“A variável é menor ou igual a 3”)
fim_se
fim
Estrutura condicional
• Exemplo 4:
programa exemplo_senha_2
var
senha: caractere
inicio
escreva (“Digite a senha”)
leia(senha)
Se (senha = “soueu123”) entao
escreva (“Acesso liberado!”)
senao
escreva(“Senha incorreta. Acesso proibido!”)
fim_se
fim
Exemplo
• Algoritmo que verifica se um número inteiro digitado pelo usuário é PAR ou ÍMPAR:
programa par_impar
var
numero: inteiro
inicio
escreval(“digite um número”)
leia(numero)
se (numero % 2 = 0) entao
escreval(“O número é PAR”)
senao
escreval(“O número é IMPAR”)
fim_se
fim
Exercício
• Faça um algoritmo que verifica se um número inteiro digitado pelo
usuário é positivo ou negativo;
• Faça um algoritmo que recebe três notas de um determinado aluno
(digitados por alguém), calcula a média e informe se o mesmo está
aprovado ou reprovado (a média final deve ser superior a 6 para que
o aluno seja aprovado);
T
I
P
O
S
D
E
D
A
D
O
S
ALGORITMOS - 02/2015 – ÊNIO FILHO
Para Casa
Δ Somando dois valores:
• Escreva um algoritmo que tenha duas variáveis inteiras. As mesmas deverão ter os
valores 5 e 7, respectivamente. Faça com que o algoritmo some as duas variáveis e
demonstre o resultado;
Δ Uma agenda simples:
• Escreva um algoritmo que leia o nome, telefone, endereço e CEP digitados pelo
usuário e escreva os mesmos na tela. Utilize mensagens solicitando a digitação de
cada valor;
Δ Escreva um algoritmo que calcule a área do quadrado. O usuário deverá
digitar o lado de um quadrado (o algoritmo deverá solicitar que o usuário o
faça) e o algoritmo deverá exibir o resultado.
• Área do quadrado = lado ^ 2 (lado elevado ao quadrado)
DÚVIDAS?
Contatos:
E-mail: enio.filho@alfa.br
Skype: eniopvf
Twitter: eniopvf
Bibliografia:
• MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: lógica para
desenvolvimento de programação de computadores. 18ª. ed. São Paulo: Érica, 2006. 236 p. ISBN
857194718;
• FORBELLONE, André Luiz Villar; EBERSPACHER, Henri Frederico. Lógica de programação: a construção
de algoritmos e estruturas de dados. 3ª. ed. São Paulo (SP): Pearson Prentice Hall, 2005. 195 p. ISBN
9788576050247;

Mais conteúdo relacionado

Semelhante a Algoritmos e LP - Aula 02 - Tipos de Dados.pdf

Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Aula 5 - Programação 1
Aula 5 - Programação 1Aula 5 - Programação 1
Aula 5 - Programação 1Isaac Barros
 
Aula 4 - Programação 1
Aula 4 - Programação 1Aula 4 - Programação 1
Aula 4 - Programação 1Isaac Barros
 
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CAlgoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CRodrigo Kiyoshi Saito
 
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdfAlgoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdfEnio Filho
 
Fundamentos de Python
Fundamentos de PythonFundamentos de Python
Fundamentos de PythonJeff560813
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonFlávio Ribeiro
 
Programação de Computadores - Python aula 1
Programação de Computadores - Python aula 1Programação de Computadores - Python aula 1
Programação de Computadores - Python aula 1Prof. Ariel Dias
 

Semelhante a Algoritmos e LP - Aula 02 - Tipos de Dados.pdf (20)

Aula02
Aula02Aula02
Aula02
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Aula 5 - Programação 1
Aula 5 - Programação 1Aula 5 - Programação 1
Aula 5 - Programação 1
 
Aula 4 - Programação 1
Aula 4 - Programação 1Aula 4 - Programação 1
Aula 4 - Programação 1
 
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CAlgoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
 
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdfAlgoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdf
 
122172 1445
122172 1445122172 1445
122172 1445
 
Fundamentos de Python
Fundamentos de PythonFundamentos de Python
Fundamentos de Python
 
SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python
 
Introducao logica
Introducao logicaIntroducao logica
Introducao logica
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação Python
 
algoritmos.pdf
algoritmos.pdfalgoritmos.pdf
algoritmos.pdf
 
Programação de Computadores - Python aula 1
Programação de Computadores - Python aula 1Programação de Computadores - Python aula 1
Programação de Computadores - Python aula 1
 
Apostila etec banco
Apostila etec   bancoApostila etec   banco
Apostila etec banco
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
Lógica de programação e algoritmos
Lógica de programação e algoritmosLógica de programação e algoritmos
Lógica de programação e algoritmos
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
Aula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQLAula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQL
 

Mais de Enio Filho

Algoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdf
Algoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdfAlgoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdf
Algoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdfEnio Filho
 
Algoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdf
Algoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdfAlgoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdf
Algoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdfEnio Filho
 
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfAlgoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfEnio Filho
 
Algoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdf
Algoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdfAlgoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdf
Algoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdfEnio Filho
 
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdfAlgoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdfEnio Filho
 
Algoritmos e LP - Aula 00 - Introdução e Apresentação.pdf
Algoritmos e LP - Aula 00 - Introdução e Apresentação.pdfAlgoritmos e LP - Aula 00 - Introdução e Apresentação.pdf
Algoritmos e LP - Aula 00 - Introdução e Apresentação.pdfEnio Filho
 
Eica 2016.1 - Identificando e rastreando itens na era do IOT
Eica 2016.1 - Identificando e rastreando itens na era do IOTEica 2016.1 - Identificando e rastreando itens na era do IOT
Eica 2016.1 - Identificando e rastreando itens na era do IOTEnio Filho
 
Eica 2015.2 - Introdução ao IOT
Eica 2015.2 - Introdução ao IOTEica 2015.2 - Introdução ao IOT
Eica 2015.2 - Introdução ao IOTEnio Filho
 
Eica 2016.2 - Industria 4.0
Eica 2016.2 - Industria 4.0Eica 2016.2 - Industria 4.0
Eica 2016.2 - Industria 4.0Enio Filho
 
Iot - identificando e rastreando - PUC
Iot  - identificando e rastreando - PUCIot  - identificando e rastreando - PUC
Iot - identificando e rastreando - PUCEnio Filho
 

Mais de Enio Filho (10)

Algoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdf
Algoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdfAlgoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdf
Algoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdf
 
Algoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdf
Algoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdfAlgoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdf
Algoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdf
 
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfAlgoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
 
Algoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdf
Algoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdfAlgoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdf
Algoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdf
 
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdfAlgoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
 
Algoritmos e LP - Aula 00 - Introdução e Apresentação.pdf
Algoritmos e LP - Aula 00 - Introdução e Apresentação.pdfAlgoritmos e LP - Aula 00 - Introdução e Apresentação.pdf
Algoritmos e LP - Aula 00 - Introdução e Apresentação.pdf
 
Eica 2016.1 - Identificando e rastreando itens na era do IOT
Eica 2016.1 - Identificando e rastreando itens na era do IOTEica 2016.1 - Identificando e rastreando itens na era do IOT
Eica 2016.1 - Identificando e rastreando itens na era do IOT
 
Eica 2015.2 - Introdução ao IOT
Eica 2015.2 - Introdução ao IOTEica 2015.2 - Introdução ao IOT
Eica 2015.2 - Introdução ao IOT
 
Eica 2016.2 - Industria 4.0
Eica 2016.2 - Industria 4.0Eica 2016.2 - Industria 4.0
Eica 2016.2 - Industria 4.0
 
Iot - identificando e rastreando - PUC
Iot  - identificando e rastreando - PUCIot  - identificando e rastreando - PUC
Iot - identificando e rastreando - PUC
 

Último

5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 

Último (20)

5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 

Algoritmos e LP - Aula 02 - Tipos de Dados.pdf

  • 1. Aula 02 Itens Fundamentais Ênio Prates Vasconcelos Filho Faculdades Alfa
  • 2. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Tópicos Δ Revisão; Δ Algoritmos para Computadores; Δ Pseudolinguagem; • Estrutura; • Tipo de dados; • Comentários; • Entrada e Saída; • Estrutura Condicional;
  • 3. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Revisão Δ O que é Algoritmo? • Sequência finita de instruções, ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema; Δ “Programar é construir algoritmos.” Δ “Programa = algoritmo + estruturas de dados.” Δ “No processo de construção de programas, a formulação do algoritmo e a definição das estruturas de dados estão intimamente ligadas.”
  • 4. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Aspectos de Um Algoritmo Δ Todo algoritmos possui os seguintes aspectos: • ação: evento que ocorre num período de tempo finito; • estado: propriedades de um objeto numa dada situação; • processo: sequência temporal de ações; • padrão de comportamento: toda vez que é seguido (o algoritmo), um evento ocorre;
  • 5. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exemplo de Algoritmo Δ Algoritmo para fazer “batatas fritas para o jantar”: • “Traga a cesta com batatas da despensa”; • “Traga a panela do armário”; • “Coloque óleo na panela”; • Se “a roupa é clara” oentão “coloque o avental”; • Enquanto “nº de batatas é insuficiente para o número de pessoas” faça o“descasque as batatas”; • “Pique as batatas”; • “Esquente o óleo da panela”; • “Frite as batatas na panela”; • “Escorra o excesso de óleo das batatas fritas”; • “Coloque as batatas fritas numa vasilha com papel absorvente”.
  • 6. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Observações: Δ O tempo verbal está na forma imperativa (“faça”, “traga”, “frite” etc.); Δ Há um sequenciamento das ações, que estão separadas por um ponto e vírgula; Δ O avental não é usado toda vez: existe um motivo para colocá-lo, ou seja, há uma condição para que o avental seja colocado; Δ O número de batatas descascadas varia; a ação de “descascar uma batata” repete-se até que a condição de parada (ser suficiente para alimentar as pessoas que irão jantar) seja alcançada; Δ A ordem das ações é importante: primeiro descasca-se a batata, pica-se a batata, para depois fritá-la...
  • 7. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Algoritmo para computadores Δ Apesar de receitas culinárias e trajetos rotineiramente percorridos encaixarem-se perfeitamente no conceito inicial de algoritmo, no nosso curso, estamos interessados num tipo de algoritmo especial, que seja capaz de ser executado por um computador. Δ Para tanto, é necessário que identifiquemos problemas do mundo real que possam ser traduzidos em ações primitivas finitas e dos quais se possa extrair um padrão de comportamento.
  • 8. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Etapas da programação de Computadores Δ A construção de programas de computador leva em conta 5 etapas básicas da programação: 1. Identificação de um problema do mundo real; 2. Confecção do algoritmo; 3. Teste do algoritmo; 4. Confecção do programa de computador; 5. Execução do programa no computador.
  • 9. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Pensamento Estruturado Δ Para realizarmos esse ciclo de etapas com sucesso, quer dizer, para conseguirmos fazer programas de computador com qualidade e confiáveis, é muito importante a utilização de técnicas de programação, como a programação estruturada. Δ A programação estruturada é uma metodologia de projeto e desenvolvimento que pretende: • Facilitar a escrita; • Facilitar o entendimento; • Permitir a verificação; • Facilitar a alteração e a manutenção dos programas de computador.
  • 10. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Pseudolinguagem: Portugol ou PortuCê Δ Usaremos pseudolinguagem para escrever nossos primeiros algoritmos: • A pseudolinguagem PortuCê utiliza o português; • Formato Estruturado; • Estrutura, sintaxe e semântica muito semelhantes às da linguagem de programação C.
  • 11. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exercitando Δ Deduza qual o padrão de comportamento utilizado para gerar as sequências: a) 1, 5, 9, 13, 17, 21, 25 ... b) 1, 1, 2, 3, 5, 8, 13, 21, 34 ... Δ Monte um algoritmo que imprima na tela os primeiros 20 números de cada sequência;
  • 12. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Estrutura de um Algoritmo: programa nome_do_algoritmo var // Aqui são declaradas as variáveis inicio // Aqui inserimos expressões, instruções... fim
  • 13. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Estrutura de um Algoritmo: programa SOMA_NUMEROS var X: inteiro A: inteiro B: inteiro inicio leia A leia B x<- A+B escreva x fim
  • 14. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de Dados Δ Identificadores: • Todo programa de computador manipula dados, que são armazenados em variáveis; • Uma variável precisa ter um nome que a identifique de forma única no programa: é o identificador. Δ Regras para construção de Identificadores: • Um identificador em PortuCê é formado por caracteres alfanuméricos; • O primeiro caractere tem que ser uma letra; os outros caracteres podem ser: o letras: A-Z, a-z; o dígitos: 0-9; o sublinhado: _ . • Não pode haver dois identificadores iguais. • Letras minúsculas e letras maiúsculas são diferentes (case sensitive). • Os identificadores não podem ser acentuados. • Não pode haver espaço em branco num identificador. • O caractere “ç” não pode ser usado num identificador. • Um identificador não pode ter o mesmo nome das palavras reservadas do PortuCê (como: programa, se, senão, inteiro, real etc.).
  • 15. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Identificadores Δ Exemplos de identificadores válidos: • NOME, raiz1, letra4, Total_dos_Salarios, Nome_de_Familia; Δ Exemplos de identificadores INVÁLIDOS: • 4pontos o (começa com número); • CUSTO FINAL o (tem espaço em branco); • PreçoTotal o (caractere “ç” não pode ser usado); • Pessoa+Alta o (caractere “+” não pode ser usado); • Preco-caro o (caractere “-” não permitido); • Total_dos_salários o (palavra acentuada); • inteiro o (palavra reservada do PortuCê);
  • 16. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos Básicos e Declaração de Variáveis Δ As variáveis precisam ter um nome (identificador), um tipo associado, e precisam ser declaradas antes que possam ser utilizadas: • Há três tipos básicos que podem ser associados às variáveis: oInteiro; oReal; oCaractere; oLógicos; • Para declarar uma variável: onome_da_variavel: tipo • Se mais de uma variável for do mesmo tipo básico, elas podem ser declaradas juntas, apenas separadas por vírgulas; • Toda variável precisa ser declarada antes de ser utilizada; • Não pode haver duas variáveis com mesmo nome, mesmo que tenham tipos básicos diferentes, a menos que algum caractere maiúsculo ou minúsculo as diferencie;
  • 17. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos Básicos e Declaração de Variáveis Δ Toda variável é associada a um tipo de valor; Δ O tipo de uma variável identifica o tipo de valor que ela poderá receber; Δ No Portugol, declaramos variáveis logo após a palavra reservada var;
  • 18. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos Básicos e Declaração de Variáveis: Exemplos Δ Exemplos de declaração de variáveis válida: • Caractere: NOME[20], letra • Inteiro: soma • real: raiz1, Total_dos_Salarios • caractere: Nome_de_familia[30] Δ Exemplos de declaração de variáveis INVÁLIDA: • caractere NOME[20]; letra4 o(o separador de identificadores deve ser a vírgula) • raiz1, Total_dos_Salarios real o(o tipo básico deve vir antes dos identificadores) • caracteres Nome_de_Familia[30] o(o nome do tipo básico está errado) • real SOMA o(a variável SOMA já foi declarada: um identificador não pode ser duplicado)
  • 19. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de Dados TIPO DESCRIÇÃO INTEIRO Representa valores inteiros Ex.: 2, 5, -3, 100, -151... REAL Representa valores reais Ex.: 5.6, -3.45, 5.00, -10.45... LITERAL Representa texto entre aspas duplas Ex.: “Palmeiras Campeão”, “B”, “1234” LOGICO Representa os valores lógicos VERDADEIRO ou FALSO
  • 20. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exemplo programa exemplo var NOME, ENDERECO: CARACTERE IDADE: INTEIRO PESO: REAL EH_SOLTEIRO: LOGICO inicio NOME <- “Thyago” ENDERECO <- “Rua Tal, 555” IDADE <- 29 EH_SOLTEIRO <- falso fim
  • 21. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Operador de atribuição Δ Utilizado para inserir um valor ou o resultado de uma expressão em uma variável; Δ Representado por uma seta apontando para a esquerda (<-); Δ Só podemos atribuir valores do mesmo tipo da variável;
  • 22. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exemplo programa exemplo var NOME, ENDERECO: CARACTERE IDADE: INTEIRO PESO: REAL EH_SOLTEIRO: LOGICO inicio NOME <- “Thyago” ENDERECO <- “Rua Tal, 555” IDADE <- 29 EH_SOLTEIRO <- falso fim
  • 23. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exemplo Δ Erros de Atribuição: programa exemplo_errado var nome: caractere idade: inteiro inicio nome <- Thyago Maia idade <- 27.34 fim
  • 24. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exemplo Δ Erros de Atribuição: programa exemplo_errado var nome: caractere idade: inteiro inicio nome <- Thyago Maia LITERAIS SEMPRE COM “” idade <- 27.34 A VARIÁVEL É INTEIRA, NÃO REAL fim
  • 25. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exercícios Δ Classifique os dados abaixo de acordo com seu tipo: 0 “abc” “João” 5.7 1012 FALSO -49 342 569 “Lucas” “Verdadeiro” 0.00001 Verdadeiro “444” -78.1
  • 26. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exercícios Δ Classifique os dados abaixo de acordo com seu tipo: 0 numérico “abc” caractere “João” caractere 5.7 numérico 101 numérico FALSO lógico -49 numérico 342 numérico 9 numérico “Lucas” caractere “Verdadeiro” caractere 0.00001 numérico Verdadeiro lógico “444” caractere -78.1 numérico
  • 27. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Linhas de comentário Δ Informação textual para documentação de programa; Δ Ajudam a organizar o algoritmo, tornando-o mais legível; Δ São representados por duas barras normais (//). Todo texto digitado após as duas barras é considerado comentário; Δ Comentários não são compilados;
  • 28. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Linhas de comentário Δ Exemplo: // Algoritmo que utiliza variável lógica programa teste var ligado: logico inicio // Insere verdadeiro na variável ligado <- Verdadeiro fim
  • 29. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Comandos de entrada e saída Δ Comando de entrada (leia) • Utilizado para ler um valor digitado pelo usuário, armazenando o referido valor em uma variável indicada no comando; • Exemplo: oleia(nome) oleia(idade) oLeia(altura) oLeia(distancia) Δ Comandos de saída (escreva) • Utilizados para escrever mensagens ou valores de variáveis na saída padrão; • Exemplos: oescreva(“Minha primeira mensagem”) oescreva (idade)
  • 30. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exemplo Δ Faça um algoritmo que leia o nome e a idade de um indivíduo, exibindo-os logo em seguida: Δ Solução: programa exemplo var NOME: caractere IDADE: inteiro inicio escreva (“Digite seu nome: ”) leia (NOME) escreva (“Digite sua idade”) leia (IDADE) escreva (“Seu nome é ”, NOME) escreva (“Sua idade: ”, IDADE) fim
  • 31. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exemplo Δ Faça um algoritmo que leia dois números inteiros, calcula e exibe a soma entre eles: Δ Solução: programa exemplo_2 var NUM1, NUM2, SOMA: inteiro inicio escreva (“Digite dois números: ”) leia (NUM1, NUM2) SOMA <- NUM1 + NUM2 escreva (“Resultado da soma: ”, SOMA) fim
  • 32. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exemplo programa escreve_mensagem_e_variavel var nome: caractere inicio escreva(“Digite seu nome:”) leia(nome) escreva(“Seu nome é:”) escreva (nome) fim
  • 33. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exercícios Δ Faça um algoritmo que lê o salário de um funcionário, calcula e exibe o novo salário, sabendo que este sofreu um aumento de 25%; Δ Resposta: programa exercício_1 var sal, aumento, novosal : REAL inicio escreva (“Digite seu salário: ”) leia (sal) aumento <- sal * 25/100 novosal <- sal + aumento escreva (novosal) fim
  • 34. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exercícios Δ Faça um algoritmo que calcule e mostre a área de um triângulo: Área = (base * altura) / 2 Δ Resposta: programa exercicio_2 var base, altura, area : REAL inicio escreva (“Digite a base e a altura: ”) leia (base, altura) area <- (base * altura) /2 escreva (area) fim
  • 35. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Exercícios Δ Faça um algoritmo que leia o nome de um piloto, uma distância percorrida em km e o tempo que o piloto levou para percorrê-la (em horas). O algoritmo deverá calcular a velocidade média e exibir a seguinte mensagem: • A velocidade média do piloto * foi ** Δ Velocidade Média = Distância/Tempo
  • 36. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Estruturas Condicionais Δ Na vida real tomamos decisões a todo momento, baseadas em escolhas; Δ Em algoritmos, chamamos tais decisões de condições; Δ Associada a uma condição, existirá uma possível alternativa; Δ Exemplo: • Se o Palmeiras não vencer o Flamengo na próxima partida, seu técnico será demitido;
  • 37. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Estruturas Condicionais Δ Analisando o exemplo anterior: • A condição do exemplo: “o Palmeiras não vencer o Flamengo na próxima partida”; • Possíveis decisões baseadas na condição: Sim (Verdadeiro) ou não (Falso); oLogo, condições geram respostas lógicas! • Se a condição for verdadeira, a ação “demitir o técnico” será executada; • Caso contrário (senão), o técnico continuará no Palmeiras;
  • 38. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Estruturas Condicionais Δ Para criarmos estruturas condicionais simples em Portugol, utilizamos as palavras reservadas se, entao e fim_se se condicao entao // lista de comandos caso a condição seja // verdadeira fim_se
  • 39. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Estruturas Condicionais Δ Exemplo: programa exemplo_se var numero: inteiro inicio numero <- 4 Se (numero > 3) entao escreva(“A variável é maior que 3”) fim-se fim
  • 40. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Estruturas Condicionais Δ Exemplo 2: programa exemplo_senha var senha: caractere inicio escreva (“Digite a senha”) leia(senha) Se (senha = “soueu123”) entao escreva(“Acesso liberado!”) fim_se fim
  • 41. Estrutura condicional • Para criarmos estruturas condicionais com duas opções de escolha, utilizamos as palavras reservadas se, entao, senao e fim_se se condicao entao // lista de comandos caso a condição seja //VERDADEIRA senao // lista de comandos caso a condição seja FALSA fim_se
  • 42. Estrutura condicional • Exemplo 3: programa exemplo_se_senao var numero: inteiro inicio numero <- 4 Se (numero > 3) entao escreva(“A variável é maior que 3”) senao escreva(“A variável é menor ou igual a 3”) fim_se fim
  • 43. Estrutura condicional • Exemplo 4: programa exemplo_senha_2 var senha: caractere inicio escreva (“Digite a senha”) leia(senha) Se (senha = “soueu123”) entao escreva (“Acesso liberado!”) senao escreva(“Senha incorreta. Acesso proibido!”) fim_se fim
  • 44. Exemplo • Algoritmo que verifica se um número inteiro digitado pelo usuário é PAR ou ÍMPAR: programa par_impar var numero: inteiro inicio escreval(“digite um número”) leia(numero) se (numero % 2 = 0) entao escreval(“O número é PAR”) senao escreval(“O número é IMPAR”) fim_se fim
  • 45. Exercício • Faça um algoritmo que verifica se um número inteiro digitado pelo usuário é positivo ou negativo; • Faça um algoritmo que recebe três notas de um determinado aluno (digitados por alguém), calcula a média e informe se o mesmo está aprovado ou reprovado (a média final deve ser superior a 6 para que o aluno seja aprovado);
  • 46. T I P O S D E D A D O S ALGORITMOS - 02/2015 – ÊNIO FILHO Para Casa Δ Somando dois valores: • Escreva um algoritmo que tenha duas variáveis inteiras. As mesmas deverão ter os valores 5 e 7, respectivamente. Faça com que o algoritmo some as duas variáveis e demonstre o resultado; Δ Uma agenda simples: • Escreva um algoritmo que leia o nome, telefone, endereço e CEP digitados pelo usuário e escreva os mesmos na tela. Utilize mensagens solicitando a digitação de cada valor; Δ Escreva um algoritmo que calcule a área do quadrado. O usuário deverá digitar o lado de um quadrado (o algoritmo deverá solicitar que o usuário o faça) e o algoritmo deverá exibir o resultado. • Área do quadrado = lado ^ 2 (lado elevado ao quadrado)
  • 47. DÚVIDAS? Contatos: E-mail: enio.filho@alfa.br Skype: eniopvf Twitter: eniopvf Bibliografia: • MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: lógica para desenvolvimento de programação de computadores. 18ª. ed. São Paulo: Érica, 2006. 236 p. ISBN 857194718; • FORBELLONE, André Luiz Villar; EBERSPACHER, Henri Frederico. Lógica de programação: a construção de algoritmos e estruturas de dados. 3ª. ed. São Paulo (SP): Pearson Prentice Hall, 2005. 195 p. ISBN 9788576050247;