Buscar

AULA 02 - ALGORITMOS

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

14/09/2016 
1 
Introdução à Lógica de 
Programação 
MKT-MDL-05 
Versão 00 
 
Lógica de Programação 
• No desenvolvimento de um sistema, quanto mais tarde um 
erro é detectado, mais dinheiro e tempo se gasta para 
repará-lo. 
 
• A responsabilidade do programador é maior na criação dos 
algoritmos do que na sua própria implementação, pois 
quando bem projetados não se perde tempo tendo que 
refazê-los, reimplantá-los e retestá-los, assegurando assim 
um final feliz e no prazo previsto para o projeto. 
14/09/2016 
2 
Algoritmos 
• Os algoritmos estão presentes no nosso dia-a-dia sem que saibamos, 
pois uma receita culinária, as instruções de uso de um equipamento 
ou as indicações de um instrutor sobre como estacionar um carro, 
por exemplo, nada mais são do que algoritmos. 
Algoritmos 
• Um algoritmo pode ser definido como um conjunto de 
regras (instruções), bem definidas, para solução de um 
determinado problema. 
 
• Segundo o dicionário Michaelis, o conceito de algoritmo é a 
"utilização de regras para definir ou executar uma tarefa 
específica ou para resolver um problema específico." 
14/09/2016 
3 
Linguagem de Programação 
• Na informática, o algoritmo é o "projeto do programa", ou 
seja, antes de se fazer um programa (software) na 
Linguagem de Programação desejada (Pascal, C, Delphi, 
etc.) deve-se fazer o algoritmo do programa. 
 
• Já um programa, é um algoritmo escrito numa forma 
compreensível pelo computador (através de uma 
Linguagem de Programação), onde todas as ações a serem 
executadas devem ser especificadas nos mínimos detalhes 
e de acordo com as regras de sintaxe da linguagem 
escolhida. 
Algoritmo 
• Um algoritmo não é a solução 
de um problema, pois, se 
assim fosse, cada problema 
teria um único algoritmo. Um 
algoritmo é um 'caminho' para 
a solução de um problema e, 
em geral, existem muitos 
caminhos que levam a uma 
solução satisfatória, ou seja, 
para resolver o mesmo 
problema pode-se obter vários 
algoritmos diferentes. 
14/09/2016 
4 
Algoritmos 
Algoritmos não se aprende Algoritmo se aprende 
Copiando algoritmos Construindo algoritmos 
Estudando algoritmos prontos Testando algoritmos 
Formas de representação de 
Algoritmos 
a) Através de uma língua (português, inglês, etc.): forma 
utilizada nos manuais de instruções, nas receitas 
culinárias, bulas de medicamentos, etc. 
b) Através de uma linguagem de programação (Pascal, C, 
Delphi, etc.): esta forma é utilizada por alguns 
programadores experientes, que "pulam" a etapa do 
projeto do programa (algoritmo) e passam direto para a 
programação em si. 
c) Através de representações gráficas: são bastante 
recomendáveis, já que um "desenho" (diagrama, 
fluxograma, etc.) muitas vezes substitui, com vantagem, 
várias palavras. 
14/09/2016 
5 
Algoritmo – Português coloquial 
• ALGORITMO 1: 
 
• pegar uma escada; 
• posicionar a escada embaixo da lâmpada; 
• buscar uma lâmpada nova; 
• subir na escada; 
• retirar a lâmpada velha; 
• colocar a lâmpada nova. 
Noção de Problema 
• Como fazer um bolo? 
 
 
 
 
 
 
• Uma receita é uma descrição de um conjunto de passos ou 
ações que fazem a combinação de um conjunto de 
ingredientes com vista a obter um produto gastronômico 
particular. 
 
14/09/2016 
6 
Algoritmo 
• Um algoritmo opera sobre um conjunto de entradas (farinha, 
ovos, fermento, etc. no caso do bolo) de modo a gerar uma saída 
que seja útil (ou agradável) para o utilizador (o bolo pronto). 
• Assim, os passos ou ações de um algoritmo para confeccionar um 
bolo são os seguintes: 
1. Bater duas claras em neve; 
2. Adicionar duas gemas; 
3. Adicionar um xícara de açúcar; 
4. Adicionar duas colheres de manteiga; 
5. Adicionar uma xícara de leite de coco; 
6. Adicionar farinha e fermento; 
7. Colocar numa forma e levar ao forno brando. 
Desenho ou Concepção de 
Algoritmo 
• Um algoritmo é uma descrição, passo-a-passo, de uma 
metodologia que conduz à resolução de um problema ou à 
execução de uma tarefa. 
 
• A programação consiste na codificação precisa desse 
algoritmo, segundo uma linguagem de programação 
específica. 
14/09/2016 
7 
Desenho ou Concepção de 
Algoritmo 
• Há, pois, que levar em consideração que existem três fases 
distintas na elaboração de programas: 
– a análise do problema (especificação do problema, análise 
de requisitos, pressupostos, etc.) 
– a concepção do algoritmo 
– a tradução desse algoritmo na linguagem de programação 
Passos na Concepção e 
Construção de Algoritmos 
• Compreender o problema 
• Identificar os dados de entrada 
• Identificar os dados de saída 
• Determinar o que é preciso para transformar dados de entrada em 
dados de saída: 
 – usar a estratégia do dividir-para-conquistar 
 – observar regras e limitações 
 – identificar todas as ações a realizar 
 – eliminar ambiguidades 
• Construir o algoritmo 
• Testar (manualmente) o algoritmo 
• Executar o algoritmo 
14/09/2016 
8 
Características Fundamentais de 
um Algoritmo 
• Finitude: um algoritmo deve sempre terminar após um 
número finito de passos. 
 
• Definição: cada passo de um algoritmo deve ser 
precisamente definido. As ações devem ser definidas 
rigorosamente e sem ambiguidades. 
 
• Entradas: um algoritmo deve ter zero ou mais entradas, 
isto é quantidades que lhe são fornecidas antes do 
algoritmo iniciar. 
Características Fundamentais de 
um Algoritmo 
• Saídas: um algoritmo deve ter uma ou mais saídas, isto é 
quantidades que tem uma relação específica com as 
entradas. 
 
• Eficiência: um algoritmo deve ser eficiente. Isto significa 
que todas as operações devem ser suficientemente básicas 
de modo que possam ser em princípio executadas com 
precisão em um tempo finito por um ser humano usando 
papel e lápis. 
14/09/2016 
9 
Representações de Algoritmos 
• Linguagem Natural 
- Os algoritmos são expressos diretamente em linguagem natural 
(português como no exemplo do bolo). 
• Fluxograma (ou Diagrama de Fluxo) 
- Esta é um representação gráfica que emprega formas geométricas 
padronizadas para indicar as diversas ações e decisões que devem 
ser executadas para resolver o problema. 
• Pseudo-linguagem 
- Emprega uma linguagem intermediária entre a linguagem natural 
e uma linguagem de programação para descrever os algoritmos. 
Codificação em Linguagem 
Natural 
• Problema: 
– Cálculo da média aritmética de dois valores reais? 
• Entradas: 
– dois valores reais, X e Y 
• Saídas: 
– a média M=(X+Y)/2 
• Algoritmo: 
 1. Início 
 2. Ler X, Y 
 3. Calcular a média M de X e Y 
 4. Escrever M 
 5. Fim 
14/09/2016 
10 
Codificação em Fluxograma 
• Problema: 
– Cálculo da média aritmética de dois valores 
reais? 
• Entradas: 
– dois valores reais, X e Y 
• Saídas: 
– a média M=(X+Y)/2 
• Algoritmo: 
Codificação em Código C 
• Problema: 
– Cálculo da média aritmética de dois valores reais? 
• Entradas: 
– dois valores reais, X e Y 
• Saídas: 
– a média M=(X+Y)/2 
• Algoritmo: 
14/09/2016 
11 
Programação Visual com 
Fluxogramas 
• Um fluxograma é uma representação gráfica de um 
algoritmo. 
 
• Programação visual: é a utilização de diagramas na 
programação. 
 
• Descrevem o fluxo de um algoritmo através de um conjunto 
de figuras geométricas padronizadas ligadas por setas de 
fluxo. 
14/09/2016 
12 
Tipos Primitivos 
Tipos Primitivos 
• Inteiros: toda e qualquer informação numérica que 
pertença ao conjunto dos número inteiros relativos 
(negativa, nula ou positiva) 
 
• Exemplos: 
a) Ela tem 15 irmãos. 
b) A escada possui 8 degraus. 
c) Meu vizinho comprou dois carros novos. 
14/09/2016 
13 
Tipos Primitivos 
• Real: toda e qualquer informação numérica que pertença 
ao conjunto dos números reais (negativa, positiva ou nula). 
 
• Exemplos: 
a) Ela tem 1,73 m de altura. 
b) Meu saldo bancário é de $215,20. 
c) No momento estou pesando 82,5 kg. 
 
Tipos Primitivos 
• Caractere: toda e qualquer informação composta de um 
conjuntode caracteres alfanumérico: numéricos (0,1,..., 
9), alfabéticos (A...Z, a...z) e especiais (#, ?, !, @, etc.) 
 
• Exemplos: 
a) Constava na prova: “Use somente caneta!” 
b) O parque municipal estava repleto de placas: “Não pise na 
grama”. 
c) O nome do vencedor é Felisberto Laranjeira. 
14/09/2016 
14 
Tipos Primitivos 
• Lógico: toda e qualquer informação que pode assumir 
apenas duas situações (biestável). 
 
• Exemplos: 
a) A porta pode estar aberta ou fechada. 
b) A lâmpada pode estar acesa ou apagada. 
Tipos Primitivos – Exercício 
• Determine qual é o tipo primitivo de informação presente 
nas sentenças a seguir: 
a) A placa “Pare!” tinha 2 furos de bala. 
b) Josefina subiu 5 degraus para pegar uma maçã boa. 
c) Alberta levou 3,5 horas para chegar ao hospital onde 
concebeu uma garota. 
d) Astrogilda pintou em sua camisa: “Preserve o meio 
ambiente”, e ficou devendo $100,59 ao vendedor de 
tintas. 
e) Felisberto recebeu sua 18ª medalha por ter alcançado a 
marca de 57,3 segundos nos 100 metros rasos. 
14/09/2016 
15 
Constante 
• Entendemos que um dado é constante quando não sofre 
nenhuma variação no decorrer do tempo, ou seja, seu valor 
é constante desde o início até o fim da execução do 
algoritmo assim como é constante para execuções 
diferentes no tempo. 
 
Variável 
• Dados que tem a possibilidade de ser alterado em algum 
instante no decorrer do tempo, ou seja, durante a 
execução do algoritmo em que é utilizado, o valor do dado 
sofre alteração ou o dado é dependente da execução em 
um certo momento ou circunstância. 
14/09/2016 
16 
Formação de Identificadores 
• São nomes de informações de caráter variável, os quais 
devem acompanhar as seguintes regras de formação: 
 
1. Devem começar por um caractere alfabético. 
2. Podem ser seguidos por mais caracteres alfabéticos ou 
numéricos. 
3. Não devem ser usados caracteres especiais. 
 
Declaração de Variáveis 
14/09/2016 
17 
Identificadores Válidos – 
Exercícios 
• Assinale os identificadores válidos: 
Identificadores Válidos – 
Exercícios 
14/09/2016 
18 
Operadores Aritméticos 
• Chamamos de operadores aritméticos o conjunto de 
símbolos que representa as operações básicas da 
matemática, a saber: 
 
Operadores Aritméticos 
• Para representar as operações de radiciação e potenciação, 
usaremos as palavras-chave red e pot. 
14/09/2016 
19 
Operações Aritméticas 
• Usaremos outras operações matemáticas não-convencionais, 
porém muito úteis na construção de algoritmos, que são o 
resto da divisão e o quociente da divisão inteira. 
Operações Aritmétricas 
• Na resolução das expressões aritméticas, as operações 
guardam uma hierarquia entre si. 
14/09/2016 
20 
Operadores Aritméticos - 
exemplos 
Operadores Aritméticos – 
Exercícios 
14/09/2016 
21 
Expressões Lógicas 
• Denominamos expressão lógica aquela cujos operadores são 
lógicos ou relacionais e cujos operandos são relações ou 
variáveis ou constantes do tipo lógico. 
Operadores relacionais 
• São usados para realizar comparações entre dois valores de 
mesmo tipo primitivo. Tais valores são representados por 
constantes, variáveis ou expressões aritméticas. 
• São comuns para construirmos equações. 
14/09/2016 
22 
Operadores Relacionais - 
exemplos 
Operadores Lógicos 
• Utilizaremos três operadores básicos para a formação de 
novas proposições lógicas compostas a partir de outras 
proposições lógicas simples. 
14/09/2016 
23 
Tabelas-verdade 
• É o conjunto de todas as possibilidades combinatórias entre 
os valores de diversas variáveis lógicas, as quais se 
encontram em apenas duas situações (V ou F), e um 
conjunto de operadores lógicos. 
 
• Abaixo, uma tabela-verdade que dispõe de uma maneira os 
valores lógicos envolvidos em uma expressão lógica. 
Tabelas-verdade 
• Operação de Negação 
14/09/2016 
24 
Tabelas-verdade 
• Operação de Conjunção 
Tabelas-verdade 
• Operação de Disjunção não-exclusiva 
14/09/2016 
25 
Tabelas-verdade – Exemplos 
Tabelas-verdade - exemplos 
14/09/2016 
26 
Propriedades entre Operadores 
Lógicos 
• Precedência entre os operadores lógicos: 
Propriedades entre Operadores 
Lógicos 
• Precedência entre todos os operadores: 
14/09/2016 
27 
Propriedades entre Operadores 
Lógicos - exemplos 
Operadores Lógicos – Exercícios 
14/09/2016 
28 
Comando de Atribuição 
• Um comando de atribuição permite-nos fornecer um valor a 
uma variável, em que o tipo de dado deve ser compatível 
com o tipo de variável. 
Comandos de Atribuição 
14/09/2016 
29 
Comandos de Entrada e Saída 
• Para que um algoritmo possa receber os dados de que 
necessita, adotaremos um comando de entrada de dados 
denominado leia, cuja finalidade é atribuir o dado a ser 
fornecido à variável identificada. 
Comandos de Entrada e Saída 
• Para que o algoritmo possa mostrar os dados que calculou, 
como resposta ao problema que resolveu, adotaremos o 
comando saída de dados denominado escreva, cuja 
finalidade é exibir o conteúdo da variável identificada. 
14/09/2016 
30 
Blocos 
• Conjunto de ações com uma função definida; nesse caso, 
um algoritmo pode ser visto como um bloco. Ele serve 
também para definir os limites nos quais as variáveis 
declaradas em seu interior são conhecidas. 
Comandos de Entrada e Saída - 
Exercícios 
• Utilizando o seguinte trecho de algoritmo, explique o que 
está acontecendo em cada linha e qual é o resultado de 
cada ação executada. 
14/09/2016 
31 
Comandos – Exercícios 
. 
. 
inteiro: X, Y; 
real: Z; 
leia (X); 
escreva (X, “elevado ao cubo =“, pot (x,3)); 
leia (Y); 
escreva (X + Y); 
Z ← X/Y; 
Escreva (Z); 
Z ← Z + 1; 
X ← (Y + X) mod 2; 
Escreva (x); 
. 
.

Outros materiais