Buscar

PARTE 1 LP ALGORITMOS 2016 2 CASSIUS

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

PROF. MSC. CASSIUS GOMES
cassiusunit@yahoo.com.br
Linguagem de 
Programação
► A finalidade básica de um computador é realizar a tarefa de
processamento de dados, ou seja, receber dados por um dispositivo
de entrada (por exemplo, teclado, mouse, planilha, etc.), realizar
operações com estes dados e gerar uma resposta que será
expressa em um dispositivo de saída (monitor, impressora, etc.)
► Quando desejamos criar ou desenvolver um software para realizar
determinado tipo de processamento de dados, devemos escrever
um programa ou vários programas interligados.
► Para que o computador compreenda e execute este programa,
devemos escrevê-lo utilizando uma linguagem que tanto o
computador quanto o criador de software entendam.
► E uma das principais etapas no desenvolvimento de um programa é
o chamado algoritmo
Linguagem de Programação 
► Basicamente, para o desenvolvimento de um programa para
resolução de um problema são necessárias as seguintes etapas:
ANÁLISE ALGORITMO CODIFICAÇÃO
Estuda-se o 
enunciado do 
problema para 
definir os dados 
de entrada, o 
processamento 
e os dados de 
saída.
Ferramentas do 
tipo descrição 
narrativa, 
fluxograma, ou 
português 
estruturado para 
descrever o 
problema com 
suas soluções
O algoritmo é 
transformado 
em códigos da 
linguagem de 
programação 
escolhida para 
se trabalhar
Linguagem de Programação 
► Portanto, um programa é a codificação de um algoritmo em uma
linguagem de programação (ASCENCIO, 1999);
Conceitos para algoritmo:
► Sequência de passos que visa atingir um objetivo bem definido
(FORBELLONE, 1999);
► Descrição de uma sequência de passos que deve ser seguida para
a realização de uma tarefa (ASCENCIO, 1999);
► Regras formais para a obtenção de um resultado ou da solução de
um problema, englobando fórmulas de expressões aritméticas
(MANZANO, 1997);
Linguagem de Programação 
Executamos no dia a dia vários algoritmos:
► Algoritmo 1: Fazer uma ligação telefônica
Passo 1: Retirar o telefone do gancho;
Passo 2: Esperar o sinal telefônico;
Passo 3: Discar o número;
Passo 4: Falar ao telefone:
Passo 5: Encerrar a conversa;
Passo 6: Encerrar a ligação (telefone no gancho)
► Algoritmo 2: Somar três números reais
Passo 1: Receber os três números;
Passo 2: Somar os três números;
Passo 3: Mostrar o resultado obtido
Linguagem de Programação 
► Algoritmo 3: Resolver, através do método da secante, o seguinte problema:
Um tanque de comprimento 𝐿, tem uma secção transversal no formato de um
semicírculo com raio 𝑟 conforme a figura abaixo.
Quando cheio de água até uma distância ℎ do topo o volume 𝑉 da água é dado 
por:
𝑉 = 𝐿 0.5 𝜋𝑟2 − 𝑟2𝑎𝑟𝑐𝑠𝑒𝑛
ℎ
𝑟
− ℎ 𝑟2 − ℎ2
Supondo que 𝐿 = 10 𝑚, 𝑟 = 1 𝑚 e 𝑉 = 12.4 𝑚3, determine uma aproximação para o 
valor da profundidade da água no tanque.
Linguagem de Programação 
► Para a construção de um programa é necessário um algoritmo, e 
para a construção de um algoritmo utilizamos a LÓGICA.
Linguagem de Programação 
https://youtu.be/YL2AzBYoPSs
ATIVIDADE 01: Você tem dois baldes: um com capacidade para
comportar 5 litros, e outro que comporta 3 litros. Você não possui
outros recipientes e os baldes não possuem marcações de volume.
QUESTÃO 1: Escreva um algoritmo para retirar exatamente sete litros
de água de uma bica, com esses baldes.
QUESTÃO 2: Com os mesmos baldes, escreva como fazer para retirar 
exatamente 4 litros de água da mesma bica.
Linguagem de Programação 
Possível resposta da QUESTÃO 01:
► Passo 1: Encher o balde de 5 litros;
► Passo 2: Despejar a água do balde de 5 litros no balde de 3 litros.
Assim, no balde de 5 litros restam 2 litros.
► Passo 3: Jogar fora a água do balde de 3 litros;
► Passo 4: Despejar no balde de 3 litros, os 2 litros que estão no
balde de 5 litros.
► Passo 5: Encher novamente o balde de 5 litros.
► Fim do algoritmo. Note que agora temos 5 litros no balde de 5 e 2
litros de água no balde de 3 litros.
Linguagem de Programação 
Para a construção de qualquer tipo de algoritmo é necessário:
► Compreender completamente o problema a ser resolvido;
► Definir os dados de entrada, ou seja, quais dados serão fornecidos
e quais objetos fazem parte do problema;
► Definir quais cálculos serão efetuados e quais as restrições para
esses cálculos. O processamento é responsável pela transformação
dos dados de entrada em dados de saída;
► Definir os dados de saída, ou seja, quais os tipos de dados
esperados depois do processamento;
► Construir o algoritmo (escolher um dos tipos);
► Testar o algoritmo através de simulações.
Método para a construção de algoritmos 
► Não se aprende a construir algoritmos copiando algoritmos já
prontos;
► Uma boa técnica para construção de algoritmos é construindo e
testando os mesmos;
► O algoritmo é “apenas” uma sugestão de caminho para a solução
do problema.
► Um mesmo problema pode ser resolvido com o “auxílio” de
diferentes algoritmos
ALGUMAS SUGESTÕES:
Os tipos mais utilizados de algoritmos são:
► DESCRIÇÃO NARRATIVA: escrever o algoritmo utilizando uma
linguagem natural (por exemplo, a língua portuguesa).
 Vantagem: não é necessário aprender nenhum conceito novo, pois, uma língua
natural, neste ponto já é bem conhecida
 Desvantagem: Neste caso, abrimos espaço para várias interpretações, o que
posteriormente dificultará a transcrição desse algoritmo para o programa;
TIPOS DE ALGORITMOS
► FLUXOGRAMA (DIAGRAMA DE FLUXO): Consiste em analisar o
problema e escrever o algoritmo utilizando símbolos gráficos
predefinidos.
 Vantagem: o entendimento de elementos gráficos é mais simples que o
entendimento de textos;
 Desvantagem: é necessário aprender a simbologia dos fluxogramas. O algoritmo
resultante não apresenta muitos detalhes, dificultando a transcrição para um
programa
TIPOS DE ALGORITMOS
Conjuntos de 
símbolos utilizados 
no fluxograma
TIPOS DE ALGORITMOS
TIPOS DE ALGORITMOS
INÍCIO
N1, N2
𝑀 =
4 ∗ 𝑁1 + 6 ∗ 𝑁2
10
𝑀 ≥ 6
APROVADO
FIM
REPROVADO
SIM
NÃO
► Para representação de algoritmos através de fluxogramas, existem
também os chamados diagramas de Nassi-Shneirderman
(Diagrama de Chapin). Por exemplo:
A ideia básica deste diagrama é representar as ações de um algoritmo
dentro de um único retângulo, subdividindo-o em retângulos menores,
que representam os diferentes blocos de sequência de ações do
algoritmo.
TIPOS DE ALGORITMOS
► PSEUDOCÓDIGO OU PORTUGOL OU PORTUGUÊS
ESTRUTURADO: Consiste em analisar o enunciado do problema e
escrever por meio de regras predefinidas, os passos a serem
seguidos para sua resolução.
 Vantagem: a passagem do algoritmo para qualquer linguagem de programação
é quase imediata;
 Desvantagem: é necessário aprender as regras do pseudocódigo
► O PORTUGOL, é uma forma especial de linguagem bem mais
restrita que a Língua Portuguesa e com significados bem definidos
para todos os termos utilizados nas instruções (comandos).
TIPOS DE ALGORITMOS
► O Português Estruturado na verdade é uma simplificação extrema
da língua portuguesa, limitada a pouquíssimas palavras e estruturas
que têm significado pré-definido, pois deve-se seguir um padrão.
Emprega uma linguagem intermediária entre a linguagem natural e
uma linguagem de programação, para descrever os algoritmos.
TIPOS DE ALGORITMOS
EXEMPLO DO “PORTUGOL” ATRAVÉS DO VISUALG
TIPOS DE ALGORITMOS
EXEMPLO 1: Mostrar o resultado da divisão do número real N1 pelo
número real N2.
Algoritmo em descrição narrativa
► Passo 1: Receber os números reais N1 e N2;
► Passo 2: Se N2 for igual azero, não poderá ser feita a divisão e
assim temos o fim do algoritmo senão vá para o passo 3;
► Passo 3: Calcular N1/N2.
EXEMPLOS DE ALGORITMOS
Algoritmo em fluxograma
EXEMPLOS DE ALGORITMOS
N1, N2
𝐷 =
𝑁1
𝑁2
INÍCIO
𝑁2 = 0
D
Não é 
possível 
dividir
FIM
Algoritmo em portugol (pseudocódigo)
EXEMPLOS DE ALGORITMOS
EXEMPLO 2: Faça os algoritmos em fluxograma e pseudocódigo para
calcular o novo salário de cada funcionário de uma empresa. Sabe-se
que os funcionários que recebem atualmente, salário de até R$
1.000,00 terão aumento de 20% e os demais terão aumento de 10%.
EXEMPLOS DE ALGORITMOS
Algoritmo em fluxograma
EXEMPLOS DE ALGORITMOS
SAL_ATUAL
𝑁𝑆𝐴𝐿
= 𝑆𝐴𝐿𝐴𝑇𝑈𝐴𝐿 ∗ 1.10
INÍCIO
𝑺𝑨𝑳_𝑨𝑻𝑼𝑨𝑳
≤ 𝟏𝟎𝟎𝟎
𝑵𝑺𝑨𝑳
FIM
𝑁𝑆𝐴𝐿
= 𝑆𝐴𝐿𝐴𝑇𝑈𝐴𝐿 ∗ 1.20
𝑵𝑺𝑨𝑳
SIM NÃO
EXEMPLOS DE ALGORITMOS
Algoritmo em pseudocódigo
► Uma variável, é um espaço da memória do computador
que "reservamos" para guardar informações (dados).
Como o próprio nome sugere, as variáveis, podem
conter valores diferentes a cada instante de tempo, ou
seja, seu conteúdo pode variar de acordo com as
instruções do algoritmo.
► As variáveis são referenciadas através de um nome
(identificador) criado por você durante o
desenvolvimento do algoritmo. Exemplos de nomes de
variáveis: produto, idade, a, x, nota1, peso, preço, etc.
VARIÁVEL
► Uma variável armazena 'apenas' um conteúdo de cada vez. Uma
variável pode ser vista como uma caixa com um rótulo (nome)
colado nela, que em um dado momento guarda um determinado
objeto. O conteúdo desta caixa não é algo fixo, permanente.
► No exemplo abaixo, a caixa (variável) rotulada como FATOR,
contém o valor 5. Em outro momento essa caixa poderá conter
qualquer outro valor numérico. Entretanto, a cada instante, ela
conterá um, e somente um, valor.
VARIÁVEL
Os tipos de dados utilizados em algoritmos são:
► NUMÉRICOS: Dividem-se em dois grupos: inteiros e reais.
► LÓGICOS: são também chamados de dados Booleanos (Álgebra d
Boole), e podem assumir os valores verdadeiro ou falso.
► LITERAIS OU CARACTERES: São dados formados por um único
caractere ou por uma cadeia de caracteres. Estes caracteres
podem ser letras maiúsculas, minúsculas, números (não podem ser
utilizados para cálculos) e os caracteres especiais (&,#,@,?,...).
OBS: Um caractere é representado entre apóstrofos e um conjunto de
caracteres é representado entre aspas.
TIPOS DE DADOS 
EXEMPLO: Informações relativas a um funcionário de uma empresa:
TIPOS DE DADOS 
Nome José da Silva
Idade 34
Sexo M
Salário R$7.500,00
► São os nomes das variáveis, dos programas, das constantes, das
rotinas, das unidades, etc. As regras básicas para a formação dos
identificadores são:
 os caracteres que você pode utilizar na formação dos identificadores são: A. os
números; B. o caractere sublinhado; C. as letras maiúsculas e minúsculas;
 o primeiro caractere deve ser sempre uma letra ou o caractere sublinhado;
 não são permitidos espaços em branco e caracteres especiais (@, $, +, –, %, !);
 não podemos usar palavras reservadas, ou seja, palavras que pertencem a uma
linguagem de programação.
IDENTIFICADORES
Exemplos de 
identificadores 
válidos
IDENTIFICADORES
A
nota
NOTA
X4
A32
nota_1
IDADE
5B Começa com número
E 5 Contém espaço em branco
x-y Contém caractere especial
prova 2n Contém espaço em branco
case Palavra reservada
Exemplos de 
identificadores 
NÃO válidos
► A atribuição é uma notação utilizada para atribuir um valor a uma
variável, ou seja, para armazenar um determinado conteúdo em
uma variável.
► A operação de atribuição, normalmente, é representada por uma
seta apontando para a esquerda, mas existem outros símbolos para
representar a atribuição, depende da forma de representação do
algoritmo.
ATRIBUIÇÃO
ATENÇÃO: Nas atribuições é a parte esquerda que irá receber algo.
Assim, no lado esquerdo não pode haver nada além da variável.
Assim, por exemplo, a atribuição:
𝑛𝑜𝑡𝑎_1 + 𝑛𝑜𝑡𝑎_2 ⟵ 𝑣𝑎𝑙𝑜𝑟
não é válida !!!
ATRIBUIÇÃO
► Conjunto de variáveis e/ou valores separados por caracteres
especiais, que indicam as operações que devem ser executadas.
► As operações básicas utilizadas em uma expressão podem ser
classificadas em:
 Aritméticas
 Relacionais
 Lógicas
EXPRESSÕES
► OPERADORES ARITMÉTICOS:
EXPRESSÕES
Operador Significado Exemplo Tipos de 
Operandos
+ Adição 𝑎 + 𝑏 Reais ou inteiros
− Subtração 𝑎 − 𝑏 Reais ou inteiros
∗ Multiplicação 𝑎 ∗ 𝑏 Reais ou inteiros
/ Divisão real 𝑎 / 𝑏 Reais ou inteiros
𝐷𝐼𝑉 Divisão inteira 𝑎 𝐷𝐼𝑉 𝑏 Inteiros
𝑅𝐸𝑆𝑇𝑂 Resto da divisão 
inteira
𝑎 𝑅𝐸𝑆𝑇𝑂 𝑏 Inteiros
∗∗ ou ^ Exponenciação 𝑎 ∗∗ 𝑏 ou 
𝑎^𝑏
Reais ou inteiros
► OPERADORES ARITMÉTICOS NO VISUALG
EXPRESSÕES
Hierarquia das Operações Aritméticas
► Dentro de uma mesma operação aritmética podem aparecer várias 
operações. Estas operações serão executadas de acordo com a 
seguinte ordem:
(1) O que estiver entre parênteses;
(2) Exponenciação;
(3) Multiplicação, divisão real, divisão inteira, ou resto da divisão 
inteira;
(4) Adição ou subtração;
EXPRESSÕES
IMPORTANTE: Quando existem duas ou mais operações da mesma
hierarquia, estas são executadas na ordem em que aparecem na
expressão, da esquerda para direita.
Exemplo: Considere a expressão:
𝑦 =
2 + 𝑎
𝑏 − 3
− 2𝑥 + 𝑥3
O comando no algoritmo “portugol” é dado por:
𝑦 ⟵
2 + 𝑎
𝑏 − 3
− 2 ∗ 𝑥 + 𝑥^3
OBS: Neste caso, dizemos que a expressão aritmética foi
horizontalizada.
EXPRESSÕES
► OPERADORES RELACIONAIS:
EXPRESSÕES
OPERADOR SIGNIFICADO EXEMPLO
> Maior que Idade >12
> = Maior ou igual que Num_dep>=2.5
< Menor que Nota < 5.99
< = Menor ou igual que W <=3.55
= Igual que Nome=‘antonio’
<> Diferente de Det <>0
► OPERADORES LÓGICOS: Vamos considerar apenas os
operadores lógicos:
E, OU, NÃO, XOU
 Os operadores lógicos Ou e E são aplicados sempre a dois
operandos.
 O operador lógico NÃO é aplicado a um único operando
 Os operandos podem ser expressões desde que tenham como
resultado um valor lógico (verdadeiro ou falso)
EXPRESSÕES
► OPERADORES LÓGICOS:
Exemplos:
 Foi_aprovado ⟵ (media >= 6.0) E (frequência >= 0.75)
 E_contribuinte ⟵ (salario > 2800.00) OU (idade < 75)
 Tem_sol ⟵ NÃO esta_nublado
EXPRESSÕES
OPERAÇÃO OPERADOR
Negação NÃO
Conjunção E
Disjunção (não-exclusiva) OU
Disjunção (exclusiva) XOU
► De uma forma geral, os resultados possíveis para os operadores
lógicos podem ser visto na chamada TABELA VERDADE:
EXPRESSÕES
Expressão
p1
Expressão
p2
p1 E p2 p1 OU p2 NÃO p1 p1 XOU p2
𝐹 𝐹 𝐹 𝐹 𝑉 𝐹
𝐹 𝑉 𝐹 𝑉 𝑉 𝑉
𝑉 𝐹 𝐹 𝑉 𝐹 𝑉
𝑉 𝑉 𝑉 𝑉 𝐹 𝐹
► Exemplos de testes utilizando operadores lógicos:
EXPRESSÕES
► Um comando de entrada (leitura) tem por função transferir dados
ao meio externo para a memória de trabalho do computador. Assim,
por exemplo, quando executamos o comando:
leia numero_alunos
o computador fica aguardando um valor a ser digitado que será
armazenado na variável numero_alunos
COMANDOS DE ENTRADA E SAÍDA
► Um comando de saída é utilizado quando necessitamos apresentar
valores ao meio externo. Por exemplo, se quisermos que o
computador mostre o que esta armazenado na variável soma,
executamos o comando:
escreva soma
► Um comando escreva pode especificar a saída de vários valores.
Por exemplo,
escreva(“nome”, nome, “idade:”,idade)
COMANDOS DE ENTRADA E SAÍDA
QUESTÃO 1: Escreva um algoritmo atravésdo fluxograma e do
pseudocódigo (portugol) que recebe 3 valores reais, e calcula a média
aritmética entre estes valores.
QUESTÃO 2: Escreva um algoritmo através do fluxograma e do
pseudocódigo (portugol) que recebe três notas, e seus respectivos
pesos e calcula e apresenta a média ponderada entre estas notas.
QUESTÃO 3: Escreva um algoritmo através do fluxograma e do
pseudocódigo (portugol) que recebe o salário do funcionário, calcula e
mostra o novo salário sabendo que este teve um aumento de 25%.
Atividades Práticas

Outros materiais