Você está na página 1de 43

UNIDADE I

Linguagem e Técnicas
de Programação

Prof. Fernando Almeida


Introduçã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.
Programas

 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...


Lógica de Programação

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.

Objetivo
Lógica de Programação

 O objetivo principal da Lógica de Programação é demonstrar técnicas para resolução de


problemas e, consequentemente, para automatização de tarefas.
Algoritmos – conceito básico

 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.
Representação lógica

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.
Linguagem narrativa

 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.

Vantagem: linguagem natural.

Desvantagens: ambiguidade e falta de clareza


dificultarão o entendimento e a implementação.
Linguagem narrativa

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
Interatividade

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. Sacar dinheiro
c) 3-8-6-2-9-7-4-10-5-1. 1. Sair do banco
2. Aguardar a vez de ser atendido
d) 1-8-3-2-10-7-9-4-5-6.
3. Entrar na fila
e) 6-8-3-2-10-7-4-9-5-1. 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
Resposta

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. 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
Fluxograma

 Conjunto de símbolos-padrão contendo os passos para a resolução de


um problema.
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 Início

Entrada do número Leia num

Cálculo do dobro do número dobro num *2

Apresentação do resultado Escreva dobro

Fim do algoritmo Fim


Pseudocódigo ou Portugol

 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

 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.


Pseudocódigo ou Portugol

Algoritmo CalculaDobro
var num, dobro: número
início
leia num
dobro  num * 2
escreva dobro
fim
Interatividade

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.

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.
Resposta

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.
Continuidade da resposta anterior

FLUXOGRAMA
Pseudocódigo
Narrativa início
Algoritmo TROCA
1. Obter o primeiro número var x, y, aux: número
x início
2. Obter o segundo número
leia x
3. Trocar o conteúdo entre elas
y leia y
4. Mostrar o resultado aux ← x
x←y
aux  x
Xy y ← aux
Y  aux escreva x
escreva y
x, y
fim

início FIM
Regras para a construção de algoritmos

 Entender o problema.
 Conhecer os resultados esperados.
 Informações disponíveis.
 Funcionamento do algoritmo.
 Verificação.
 Normatização.
 Objetividade.
 Simplicidade.
 Não ambiguidade.
Introdução à Programação

 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.

dados

Entrada Processamento Saída


Introdução à Programação

 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).


Constantes

“ 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).
Variáveis

“ 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
Operadores

 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”
var
nome: Cadeia
idade: inteiro
início
nome  “Aderbal Schmydt”
idade  19
fim
Principais operadores aritméticos

Operador Referência do operador


+ adição
- subtração
* multiplicação
/ divisão
DIV quociente
MOD resto da divisão
** exponenciação
Fonte: livro-texto.
Operadores relacionais

Operador Referência do operador


= igual
<> diferente
>= maior ou igual
<= menor ou igual
> maior
< menor
Fonte: livro-texto.

O resultado de uma operação relacional


será sempre um valor lógico (V ou F)
Operadores lógicos

Operador E

Operador OU

Fonte:
livro-texto.
Operadores lógicos

Operador NÃO

O resultado somente
será verdadeiro quando
os dois operandos
forem diferentes.

Operador XOR (ou exclusivo)

Fonte: livro-texto.
Interatividade

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.
X3
b) T=falso e K=verdadeiro.
Y (3^2) + ((14+4)/2) * 9-10
c) T=verdadeiro e K=falso.
Z  “Lógica”
d) T=verdadeiro e K=verdadeiro.
W  Z + “Programação”
e) T=falso e K=não(falso).
T  (X<=Y) E (não(Y<>X)) = (Y>=X)
K  não T OU (X>Y)
Resposta

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.
X3
b) T=falso e K=verdadeiro.
Y (3^2) + ((14+4)/2) * 9-10
c) T=verdadeiro e K=falso.
Z  “Lógica”
d) T=verdadeiro e K=verdadeiro.
W  Z + “Programação”
e) T=falso e K=não(falso).
T  (X<=Y) E (não(Y<>X)) = (Y>=X)
K  não T OU (X>Y)
Linearização

O computador não reconhece as fórmulas matemáticas armadas.

base x altura
área = área  (base * altura) / 2
2

S  1+(1/2)+(1/3)+(1/4)+…+(1/20)
Pseudocódigo

“ Forma genérica de escrever um algoritmo utilizando


linguagem simples sem conhecer a sintaxe
de nenhuma linguagem de programação.
Pseudocódigo

Início
Algoritmo CalculoDobro
//algoritmo de exemplo
Leia NUM var
num, dobro: inteiro
DOBRO <- NUM *2 início
leia num
dobro  num * 2
Escreva DOBRO
escreva dobro
fim
Fim
Entrada e saída de dados

 Permite a interação com o usuário:

Comando escreva
 escreva (<lista de variáveis>) Algoritmo Calculo_Dobro
var
Comando leia num, dobro: inteiro
início
 leia (<lista de variáveis>) leia número
dobro  num * 2
escreva dobro
fim
Teste de mesa

 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. Algoritmo CalculoDobro
var
número, dobro: inteiro
início
leia número
dobro  número * 2
escreva dobro
fim
Interatividade

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. Algoritmo CalculaMedia


b) média=6,8, p1=0,4 e p2=0,6. var
n1, n2, p1, p2, media : real
c) média=5,6, p1=0,4 e p2=0,6. inicio
d) média=6,8, p1=0,6 e p2=0,4. p1  0,4
p2  0,6
e) média=8,5, p1=0,4 e 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
Resposta

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. Algoritmo “Calcula_Media”


b) média=6,8, p1=0,4 e p2=0,6. var
n1, n2, p1, p2, media : real
c) média=5,6, p1=0,4 e p2=0,6. início
d) média=6,8, p1=0,6 e p2=0,4. p1  0,4
p2  0,6
e) média=8,5, p1=0,4 e 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!

Você também pode gostar