Buscar

Liguagens e tecnicas de programação Slides de Aula Unidade I

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 43 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 43 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 43 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

Prof. Fernando Almeida
UNIDADE I
Linguagem e Técnicas 
de Programação
 Um algoritmo é uma sequência lógica, finita e bem definida de instruções que devem ser 
seguidas para resolver um problema ou executar uma tarefa.
Introdução
 Um programa de computador é um conjunto de instruções, escrito por meio de uma 
linguagem de programação (linguagem computacional).
Exemplos: C, C++, C#, Java, Swift (iOS), Pascal, PHP...
Programas
Técnica de encadear pensamentos para atingir um determinado objetivo.
Exemplo:
 Rotina diária – levantar da cama, escovar os dentes, dirigir um carro, 
calcular uma média de duas notas, calcular uma conta de luz... 
Ações que obedecem uma sequência lógica.
Lógica de Programação
Objetivo
 O objetivo principal da Lógica de Programação é demonstrar técnicas para resolução de 
problemas e, consequentemente, para automatização de tarefas.
Lógica de Programação
 O algoritmo é um conjunto finito de instruções, de comandos, de ações, que têm como 
objetivo uma tarefa ou a resolução de um problema.
Algoritmos – conceito básico
Descrição narrativa
 Linguagem, normalmente utilizada no dia a dia.
Fluxograma
 Conjunto de símbolos-padrão.
Pseudocódigo ou Portugol
 Estrutura escrita em português – regras predefinidas para escrever algoritmos.
Representação lógica
 Forma de narrar a solução proposta por meio de linguagem natural, utilizada 
no dia a dia (português).
Linguagem narrativa
Exemplo:
 Uma pessoa está perdida em uma cidade desconhecida e procura a rodoviária; encontra um 
policial e pede auxílio: – Por favor, como eu chego até a rodoviária? 
 O policial responde (descrição narrativa): – Siga em frente e, na quarta esquina, vire à 
direita; siga em frente e, de lá, você já vai vê-la.
Linguagem narrativa
Vantagem: linguagem natural.
Desvantagens: ambiguidade e falta de clareza 
dificultarão o entendimento e a implementação.
Receita de bolo
1. Providencie manteiga, ovos, 2 kg de massa
2. Misture os ingredientes
3. Despeje a mistura na forma
4. Leve ao forno
5. Espere 20 minutos
6. Retire da forma
Linguagem narrativa
Com base na sequência abaixo (sacar dinheiro), qual alternativa melhor representa o processo 
lógico para executar a atividade de sacar dinheiro?
a) 6-10-3-4-8-7-2-9-5-1.
b) 9-8-7-1-10-3-4-6-5-2.
c) 3-8-6-2-9-7-4-10-5-1.
d) 1-8-3-2-10-7-9-4-5-6.
e) 6-8-3-2-10-7-4-9-5-1.
Interatividade
Sacar dinheiro
1. Sair do banco
2. Aguardar a vez de ser atendido
3. Entrar na fila
4. Digitar a senha
5. Conferir o dinheiro
6. Entrar no banco
7. Informar o valor a ser retirado
8. Procurar a fila do caixa
9. Pegar o comprovante, o cartão e o dinheiro
10. Entregar o cartão ao atendente
Com base na sequência abaixo (sacar dinheiro), qual alternativa melhor representa o processo 
lógico para executar a atividade de sacar dinheiro?
e) 6-8-3-2-10-7-4-9-5-1.
Resposta
Sacar dinheiro
1. Entrar no banco
2. Procurar a fila do caixa
3. Entrar na fila
4. Aguardar a vez de ser atendido
5. Entregar o cartão ao atendente
6. Informar o valor a ser retirado
7. Digitar a senha
8. Pegar o comprovante, o cartão e o dinheiro
9. Conferir o dinheiro
10. Sair do banco
 Conjunto de símbolos-padrão contendo os passos para a resolução de 
um problema.
Fluxograma
Fluxograma
Início e fim do algoritmo Entrada de dados Saída de dados (Exibir)
Cálculos e atribuições Decisão Direção do processo
Vantagem: fácil entendimento.
Desvantagens: ter conhecimento dos símbolos, 
modificações e edições difíceis.
Fluxograma
Início do algoritmo
Entrada do número
Cálculo do dobro do número
Apresentação do resultado
Fim do algoritmo
Início
Leia num
dobro num *2
Fim
Escreva dobro
 Estrutura escrita em português, muito próxima à linguagem natural, com foco na lógica e 
não na sintaxe de linguagem.
Pseudocódigo ou Portugol
Pseudocódigo ou Portugol
 Vantagens: uso do Português, solução lógica, define a estrutura dos 
dados, próximo à linguagem de programação.
 Desvantagens: linguagem não oficial, não padronizado.
Algoritmo CalculaDobro
var num, dobro: número
início
leia num
dobro  num * 2 
escreva dobro
fim
Pseudocódigo ou Portugol
Supondo que se deseja trocar o conteúdo entre duas variáveis inteiras, A e B, fornecidas pelo 
usuário, para a realização dessa operação, considerando o menor uso de variáveis, será 
necessária a declaração de:
a) Uma variável.
b) Duas variáveis.
c) Três variáveis.
d) Quatro variáveis.
e) Cinco variáveis.
Interatividade
Utilizando as representações narrativa, fluxograma 
e pseudocódigo; crie um algoritmo que receba o 
valor de duas e troque o conteúdo entre elas.
Supondo que se deseja trocar o conteúdo entre duas variáveis inteiras, A e B, fornecidas pelo 
usuário, para a realização dessa operação, considerando o menor uso de variáveis, será 
necessária a declaração de:
a) Uma variável.
b) Duas variáveis.
c) Três variáveis.
d) Quatro variáveis.
e) Cinco variáveis.
Resposta
Continuidade da resposta anterior
Narrativa
1. Obter o primeiro número
2. Obter o segundo número
3. Trocar o conteúdo entre elas
4. Mostrar o resultado
Pseudocódigo
Algoritmo TROCA
var x, y, aux: número
início
leia x
leia y
aux ← x
x ← y
y ← aux
escreva x
escreva y
fim
FLUXOGRAMA
início
x
y
aux  x
X  y
Y  aux
x, y
início
 Entender o problema.
 Conhecer os resultados esperados. 
 Informações disponíveis.
 Funcionamento do algoritmo.
 Verificação.
 Normatização.
 Objetividade.
 Simplicidade.
 Não ambiguidade.
Regras para a construção de algoritmos
 Regras para a montagem de programas – pseudocódigo.
 Foco na ideia e não na rigidez das regras formais – sintaxe de linguagem.
 Descreve o raciocínio que será utilizado para criar um programa.
Recursos:
Tipos de informação.
Entrada de dados.
Saída de dados.
Operações possíveis.
Introdução à Programação
Entrada Processamento Saída
dados
 Os algoritmos e as linguagens de programação trabalham com dados 
bem-definidos.
Dados são classificados em tipos:
 Variáveis.
 Constantes.
 Operadores. 
Introdução à Programação
Tipos primitivos de dados:
 Inteiros: 1; 2; 44
 Reais: 0,12; 3,14159; 0,000; -1,23
Caracteres (char) e cadeias (String):
 numéricos: (‘0’...’9’)
 alfabéticos: (‘A’...’Z’; ‘a’...’z’)
 cadeias: ‘avião’
 Lógicos: valores booleanos (verdadeiro ou falso). 
Introdução à Programação
Uma constante é uma informação que não varia com o tempo, 
permanece a mesma do início ao fim do algoritmo.
 Podem ser de qualquer tipo: números, letras e palavras.
Exemplo:
 const PI = 3,141617 (nunca muda).
Constantes
“
Uma variável é um espaço de memória do computador
reservado para guardar informações (dados).
Variáveis
“
Nomenclatura
 Iniciar com uma letra.
 Não conter espaços em branco ou caracteres especiais.
 Nomes significativos.
Declaração
var
nome, código: Cadeia
contador, idade: inteiro
Variáveis
 O computador faz uma série de operações.
 Operações matemáticas (adição, subtração, multiplicação, divisão).
Manipulação de dados
 2 + 3 (2 e 3 são operandos; + é o operador)
Atribuição: ()
 nome  “Aderbal Schmydt”
Operadores
var
nome: Cadeia
idade: inteiro
início
nome  “Aderbal Schmydt”
idade  19
fim
Operador Referência do operador
+ adição
- subtração
* multiplicação
/ divisão
DIV quociente
MOD resto da divisão
** exponenciação
Principais operadores aritméticos
Fonte: livro-texto.
Operador Referência do operador
= igual
<> diferente
>= maior ou igual 
<= menor ou igual
> maior
< menor 
Operadores relacionais
O resultado de uma operação relacional 
será sempre um valor lógico (V ou F)
Fonte: livro-texto.
Operadores lógicos
Operador E
Operador OU
Fonte: 
livro-texto.
Operadores lógicos
Operador XOR (ou exclusivo)
O resultado somente
será verdadeiro quando 
os dois operandos 
forem diferentes.
Operador NÃO
Fonte: livro-texto.
Sendo X eY variáveis numéricas, Z e W caracteres, T e K variáveis lógicas, quais os valores 
de T e K ao final da execução da sequência abaixo?
a) T=falso e K=falso.
b) T=falso e K=verdadeiro.
c) T=verdadeiro e K=falso.
d) T=verdadeiro e K=verdadeiro.
e) T=falso e K=não(falso).
Interatividade
X  3
Y (3^2) + ((14+4)/2) * 9-10
Z  “Lógica”
W  Z + “Programação”
T  (X<=Y) E (não(Y<>X)) = (Y>=X)
K  não T OU (X>Y)
Sendo X e Y variáveis numéricas, Z e W caracteres, T e K variáveis lógicas, quais os valores 
de T e K ao final da execução da sequência abaixo?
a) T=falso e K=falso.
b) T=falso e K=verdadeiro.
c) T=verdadeiro e K=falso.
d) T=verdadeiro e K=verdadeiro.
e) T=falso e K=não(falso).
Resposta
X  3
Y (3^2) + ((14+4)/2) * 9-10
Z  “Lógica”
W  Z + “Programação”
T  (X<=Y) E (não(Y<>X)) = (Y>=X)
K  não T OU (X>Y)
O computador não reconhece as fórmulas matemáticas armadas.
Linearização
área  (base * altura) / 2
S  1+(1/2)+(1/3)+(1/4)+…+(1/20)
área =
base x altura
2
Forma genérica de escrever um algoritmo utilizando
linguagem simples sem conhecer a sintaxe
de nenhuma linguagem de programação.
Pseudocódigo
“
Pseudocódigo
Algoritmo CalculoDobro
//algoritmo de exemplo
var
num, dobro: inteiro
início
leia num
dobro  num * 2
escreva dobro
fim
Início
Leia NUM
DOBRO <- NUM *2
Escreva DOBRO
Fim
 Permite a interação com o usuário:
Comando escreva
 escreva (<lista de variáveis>)
Comando leia
 leia (<lista de variáveis>)
Entrada e saída de dados
Algoritmo Calculo_Dobro
var
num, dobro: inteiro
início
leia número
dobro  num * 2
escreva dobro
fim
 Realiza a validação do algoritmo.
 Teste manual dos comandos do algoritmo.
 Permite verificar se o código está realmente
executando a função para o qual foi criado.
Teste de mesa
Algoritmo CalculoDobro
var
número, dobro: inteiro
início
leia número
dobro  número * 2
escreva dobro
fim
Analise o algoritmo abaixo e, por meio do teste de mesa, verifique os valores para as variáveis 
média, P1 e P2, tendo como entrada os valores 8 para n1 e 6 para n2:
a) média=5,5, p1=0,4 e p2=0,6.
b) média=6,8, p1=0,4 e p2=0,6.
c) média=5,6, p1=0,4 e p2=0,6.
d) média=6,8, p1=0,6 e p2=0,4.
e) média=8,5, p1=0,4 e p2=0,6.
Interatividade
Algoritmo CalculaMedia
var
n1, n2, p1, p2, media : real
inicio
p1  0,4
p2  0,6
escreva(“Digite a nota 1”)
leia(n1)
escreva(“Digite a nota 2”)
leia(n2)
media  (n1*p1)+(n2*p2)
escreva(“A media é: ”, media)
fimalgoritmo
Analise o algoritmo abaixo e, por meio do teste de mesa, verifique os valores para as variáveis 
média, P1 e P2, tendo como entrada os valores 8 para n1 e 6 para n2:
a) média=5,5, p1=0,4 e p2=0,6.
b) média=6,8, p1=0,4 e p2=0,6.
c) média=5,6, p1=0,4 e p2=0,6.
d) média=6,8, p1=0,6 e p2=0,4.
e) média=8,5, p1=0,4 e p2=0,6.
Resposta
Algoritmo “Calcula_Media”
var
n1, n2, p1, p2, media : real
início
p1  0,4
p2  0,6
escreva(“Digite a nota 1”)
leia(n1)
escreva(“Digite a nota 2”)
leia(n2)
media  (n1*p1)+(n2*p2)
escreva(“A media é: ”, media)
fimalgoritmo
ATÉ A PRÓXIMA!

Continue navegando