Algoritmos e Programação 
Ir p/ primeira página
Ir p/ primeira página 
Objetivo 
 Desenvolver algoritmos coerentes e válidos 
para solucionar problemas e implementá-los 
utilizando uma linguagem de programação. 
Algoritmos e Programação
Ir p/ primeira página 
Conteúdo Programático 
Algoritmos e Programação 
· Introdução à Lógica de Programação. Lógica. 
Seqüência lógica. Instruções. Algoritmos. Programa. 
Formas de Representação de Algoritmos: descrição 
narrativa, fluxograma, diagrama de Chapin, pseudocódigo. 
Representação de um algoritmo. 
· Tópicos Preliminares de Programação. Tipos de 
dados. Variáveis e constantes. Expressões e operadores 
aritméticos. Expressões e operadores lógicos. Expressões 
e operadores relacionais. Tabelas-verdade. Prioridades. 
Comandos de atribuição. Comandos de entrada e saída. 
Funções matemáticas. 
· Estruturas de Controle. Estrutura seqüencial. Estrutura 
de Seleção: simples, composta e encadeada. Estrutura de 
múltipla escolha. Desvios incondicionais. Estruturas de 
Repetição: com teste no início, com teste no final, com 
variável de controle. Estruturas de controle encadeadas.
Ir p/ primeira página 
Conteúdo Programático 
Algoritmos e Programação 
· Estruturas de dados homogêneas. Matrizes de uma 
dimensão ou vetores. Operações básicas com matrizes do 
tipo vetor. Exemplo de aplicações de vetores: pesquisa e 
classificação. Matrizes com mais de uma dimensão. 
Operações básicas com matrizes de duas dimensões. 
· Estruturas de dados heterogêneas. Estrutura de 
registro. Estrutura de um registro de conjuntos. Estrutura 
de um conjunto de registros. 
· Modularização de algoritmos. Decomposição. Módulos. 
Escopo de variáveis. Variáveis globais e locais. Passagem 
de parâmetros. Retorno de valores.
Ir p/ primeira página 
Bibliografia 
 (*)FORBELLONE, André Luiz; ELBERSPACHER, Henri 
Frederico. Lógica de Programação, 3ª edição. Pearson 
Prentice Hall, São Paulo. 
 GUIMARÃES, Ângelo; LAGES, Newton. Algoritmos e 
Estrutura de Dados. Rio de Janeiro. Editora LTC. 
 MANZANO, José Augusto; OLIVEIRA, Jayr Figueiredo. 
Algoritmos e Lógica para Desenvolvimento de Programas. 
São Paulo. Editora Érica, 1996. 
 (*)SCHILDT, Herbert. C Completo e Total. Makron Books, 3ª 
edição, São Paulo, 1996. 
 MANZANO, José Augusto. Estudo Dirigido de Linguagem 
C. Editora Érika, São Paulo, 1997. 
Algoritmos e Programação
Ir p/ primeira página 
Avaliação 
 3 notas 
 Cada nota será composta de uma prova e um 
trabalho. 
Nota = (Prova x 0.6 + Trabalho x 0.4) 
 Média Parcial MP= (N1 + N2 + N3)/3 
 Média Final MF: 
Se média parcial MP =6.0, então MF=MP, 
senão MF= (MP + EF)/2, onde EF= Exame 
Final. 
Algoritmos e Programação
Ir p/ primeira página
Ir p/ primeira página 
Começando... 
Algoritmos e Programação
Ir p/ primeira página 
Algoritmos e Programação 
Algoritmos e Programação 
Capítulo 1 
Introdução
Ir p/ primeira página 
Lógica 
 É a forma de ordenar o pensamento. 
 É a arte de bem pensar. 
 Podemos dizer que a lógica tem em vista a 
“ordem da razão”. Ela nos ensina a usar 
corretamente as leis do pensamento. 
 Existe lógica no dia-a-dia? 
 A gaveta está fechada. A caneta está dentro 
da gaveta. Precisamos primeiro abrir a gaveta 
para depois pegar a caneta. 
Algoritmos e Programação
Ir p/ primeira página 
Lógica 
Exemplos: 
a) Todo mamífero é um animal. 
Todo cavalo é um mamífero. 
Portanto, todo cavalo é um animal. 
b) Kation é país do planeta Stix. 
Todos os Xinpins são de Kaiton. 
Logo, todos os Xinpins são Stixianos. 
Algoritmos e Programação
Ir p/ primeira página 
Sequência Lógica 
 São passos executados até atingir um objetivo 
ou solução de um problema. 
 “Chupar uma bala”: 
· Pegar a bala 
· Retirar o papel 
· Chupar a bala 
· Jogar o papel no lixo 
Algoritmos e Programação
Ir p/ primeira página 
Instruções 
Instruções são um conjunto de regras ou 
normas definidas para a realização ou emprego 
de algo. Em informática, é o que indica a um 
computador uma ação elementar a executar. 
Algoritmos e Programação
Ir p/ primeira página 
Algoritmo 
 É uma seqüência de passos que visam atingir 
um objetivo bem definido. 
 É a descrição de um padrão de comporta-mento, 
expressado em termos de um 
repertório bem definido e finito de ações 
“primitivas”, das quais damos por certo que 
elas podem ser executadas. 
 Programar é basicamente construir 
algoritmos 
Algoritmos e Programação
Ir p/ primeira página 
Algoritmo 
 Algoritmos no dia-a-dia: instruções de uso, 
indicações de montagem, receitas de 
cozinha, partituras musicais, etc. 
 Quando perguntamos, por exemplo, pelo 
caminho para a rodoviária, perguntamos de fato 
por um algoritmo cujo seguimento nos leva a 
nosso objetivo. 
Algoritmos e Programação
Ir p/ primeira página 
Algoritmo 
 Qual sua importância na programação? 
 Representar o raciocínio, 
independentemente de detalhes 
computacionais, que podem ser 
acrescentados mais tarde. 
 Focalizar primeiro na resolução algorítmica 
do problema, possibilitando depois codificá-la 
em qualquer linguagem. 
Algoritmos e Programação
Ir p/ primeira página 
Exemplo de Algoritmo 
Versão 1: Troca de uma lâmpada: 
 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. 
Algoritmos e Programação
Exemplo de Algoritmo 
Versão 2: Troca da lâmpada (com teste no 
início) 
 acionar o interruptor; 
 se a lâmpada não acender, então 
 pegar uma escada; 
 posicionar a escada embaixo da lâmpada; 
 buscar uma lâmpada nova 
 subir escada; 
 retirar a lâmpada velha; 
 colocar a lâmpada nova. Algoritmos e Programação 
Ir p/ primeira página
Exemplo de Algoritmo 
Versão 3: Troca da lâmpada (com teste para 10 soquetes) 
 ir até o interruptor do primeiro soquete; 
 enquanto a quantidade de soquetes testados for menor que 10, faça 
Ir p/ primeira página 
 acionar o interruptor; 
 se a lâmpada não acender, então 
 pegar uma escada; 
 posicionar a escada embaixo da lâmpada; 
 buscar uma lâmpada nova; 
 acionar o interruptor; 
 subir na escada; 
 retirar lâmpada queimada; 
 colocar lâmpada nova; 
 enquanto a lâmpada não acender, faça 
 retirar lâmpada queimada; 
 colocar lâmpada nova; 
 ir até o interruptor do próximo soquete; 
Algoritmos e Programação
Ir p/ primeira página 
Formas de Representação 
 Versão 3 em Fluxograma 
início 
ir para o primeiro soquete 
soquetes 
restantes  10 
acionar o interruptor 
pegar uma escada 
posicionar escada 
buscar lâmpada nova 
acionar o interruptor 
não 
acendeu? 
subir na escada 
retirar a lâmpada queimada 
colocar lâmpada nova 
acionar o interruptor 
não 
acendeu? 
retirar a lâmpada queimada 
colocar lâmpada nova 
ir ao próximo soquete 
fim 
F 
F 
F 
V 
V 
V
Formas de Representação 
Ir p/ primeira página 
 Versão 3 em Chapin 
ir para o primeiro soquete 
soquetes testados  10 
acionar o interruptor 
lâmpada não acendeu 
pegar uma escada 
colocar a escada embaixo do soquete 
buscar lâmpada nova 
acionar o interruptor 
subir na escada 
retirar lâmpada queimada 
colocar lâmpada nova 
lâmpada não acendeu 
retirar lâmpada queimada 
colocar lâmpada nova 
ir para o próximo soquete
Ir p/ primeira página 
Formas de Representação 
 Gráficas (Fluxograma e Chapin) 
 Vantagens 
 Maior clareza no fluxo de execução 
 Linguagem visual 
 Desvantagens 
 Requer conhecimento de convenções gráficas 
 Mais trabalhoso em decorrência de seus desenhos 
 Dificuldade para fazer correções 
 Textuais (Português Estruturado) 
 Apresenta mais vantagens, desde que se tomem alguns cuidados: 
 Riqueza gramatical de nossa língua pode levar a ambigüidades 
 A frase “O pregador foi grampeado durante o conserto” tem 8 
sentidos diferentes quando pronunciada 
 Para resolver, utilizaremos um conjunto restrito de regras, 
conhecido como Português Estruturado (Portugol).
Portugol 
É uma pseudolinguagem de programação 
(simbiose de Português com o Algol) que reúne 
um conjunto básico de primitivas permitindo 
ao projetista pensar no problema e não na 
máquina que vai executar o algoritmo e, por 
outro lado, não fique muito distante desta 
mesma máquina. 
Em toda linguagem, as frases construídas 
envolvem dois aspectos: a sintaxe e a 
semântica. 
Ir p/ primeira página 
Algoritmos e Programação
Portugol 
Primitivas: Conjunto bem definido de 
elementos funcionais básicos com os quais 
podem ser construídas representações de 
algoritmos. 
Ir p/ primeira página 
Algoritmos e Programação
Sintaxe e Semântica 
Sintaxe: tem a ver com a forma. 
Semântica: tem a ver com o conteúdo 
Exemplo: “Aqui vendem-se frangos abatidos” 
sintaticamente correta: está escrita de forma correta. 
semântica: indica que naquele local existe uma 
venda de frangos mortos, e não vivos. 
Ir p/ primeira página 
Algoritmos e Programação
Ir p/ primeira página 
Exercício de Algoritmo 
Algoritmos e Programação 
1. Três jesuítas e três canibais precisam 
atravessar um rio; para tal dispõem de um 
barco com capacidade para duas pessoas. Por 
medidas de segurança, não se deve permitir 
que em alguma margem a quantidade de 
jesuítas seja inferior à de canibais. Qual a 
solução para efetuar a travessia com 
segurança? Elabore um algoritmo indicando as 
ações que concretizem a solução do problema.
Ir p/ primeira página 
Exercício de Algoritmo 
2. Construir uma lista de todos os inteiros 
positivos. Organizar essa lista em ordem 
decrescente (do maior para o menor), e 
extrair o primeiro inteiro da lista resultante. 
Estas instruções descrevem um algoritmo? 
Justifique sua resposta. 
Algoritmos e Programação
Ir p/ primeira página 
Exercício de Algoritmo 
3. Cálculo da média de um aluno. 
 Obter as notas da primeira e da segunda 
prova 
 Calcular a média aritmética entre as duas 
 Se a média for maior ou igual a 7, o aluno 
foi aprovado, senão ele foi reprovado 
Algoritmos e Programação
Ir p/ primeira página 
Fluxograma
Ir p/ primeira página 
Diagrama de Chapin
Ir p/ primeira página 
Pseudocódigo 
inicio 
real: N1, N2, Média; 
leia (N1, N2); 
Média - (N1+N2)/2; 
se (Média = 7) 
então 
escreva (“Aprovado”); 
senão 
escreva (“Reprovado”); 
fimse; 
fim.

Algoritmos e Programação_01

  • 1.
    Algoritmos e Programação Ir p/ primeira página
  • 2.
    Ir p/ primeirapágina Objetivo Desenvolver algoritmos coerentes e válidos para solucionar problemas e implementá-los utilizando uma linguagem de programação. Algoritmos e Programação
  • 3.
    Ir p/ primeirapágina Conteúdo Programático Algoritmos e Programação · Introdução à Lógica de Programação. Lógica. Seqüência lógica. Instruções. Algoritmos. Programa. Formas de Representação de Algoritmos: descrição narrativa, fluxograma, diagrama de Chapin, pseudocódigo. Representação de um algoritmo. · Tópicos Preliminares de Programação. Tipos de dados. Variáveis e constantes. Expressões e operadores aritméticos. Expressões e operadores lógicos. Expressões e operadores relacionais. Tabelas-verdade. Prioridades. Comandos de atribuição. Comandos de entrada e saída. Funções matemáticas. · Estruturas de Controle. Estrutura seqüencial. Estrutura de Seleção: simples, composta e encadeada. Estrutura de múltipla escolha. Desvios incondicionais. Estruturas de Repetição: com teste no início, com teste no final, com variável de controle. Estruturas de controle encadeadas.
  • 4.
    Ir p/ primeirapágina Conteúdo Programático Algoritmos e Programação · Estruturas de dados homogêneas. Matrizes de uma dimensão ou vetores. Operações básicas com matrizes do tipo vetor. Exemplo de aplicações de vetores: pesquisa e classificação. Matrizes com mais de uma dimensão. Operações básicas com matrizes de duas dimensões. · Estruturas de dados heterogêneas. Estrutura de registro. Estrutura de um registro de conjuntos. Estrutura de um conjunto de registros. · Modularização de algoritmos. Decomposição. Módulos. Escopo de variáveis. Variáveis globais e locais. Passagem de parâmetros. Retorno de valores.
  • 5.
    Ir p/ primeirapágina Bibliografia (*)FORBELLONE, André Luiz; ELBERSPACHER, Henri Frederico. Lógica de Programação, 3ª edição. Pearson Prentice Hall, São Paulo. GUIMARÃES, Ângelo; LAGES, Newton. Algoritmos e Estrutura de Dados. Rio de Janeiro. Editora LTC. MANZANO, José Augusto; OLIVEIRA, Jayr Figueiredo. Algoritmos e Lógica para Desenvolvimento de Programas. São Paulo. Editora Érica, 1996. (*)SCHILDT, Herbert. C Completo e Total. Makron Books, 3ª edição, São Paulo, 1996. MANZANO, José Augusto. Estudo Dirigido de Linguagem C. Editora Érika, São Paulo, 1997. Algoritmos e Programação
  • 6.
    Ir p/ primeirapágina Avaliação 3 notas Cada nota será composta de uma prova e um trabalho. Nota = (Prova x 0.6 + Trabalho x 0.4) Média Parcial MP= (N1 + N2 + N3)/3 Média Final MF: Se média parcial MP =6.0, então MF=MP, senão MF= (MP + EF)/2, onde EF= Exame Final. Algoritmos e Programação
  • 7.
  • 8.
    Ir p/ primeirapágina Começando... Algoritmos e Programação
  • 9.
    Ir p/ primeirapágina Algoritmos e Programação Algoritmos e Programação Capítulo 1 Introdução
  • 10.
    Ir p/ primeirapágina Lógica É a forma de ordenar o pensamento. É a arte de bem pensar. Podemos dizer que a lógica tem em vista a “ordem da razão”. Ela nos ensina a usar corretamente as leis do pensamento. Existe lógica no dia-a-dia? A gaveta está fechada. A caneta está dentro da gaveta. Precisamos primeiro abrir a gaveta para depois pegar a caneta. Algoritmos e Programação
  • 11.
    Ir p/ primeirapágina Lógica Exemplos: a) Todo mamífero é um animal. Todo cavalo é um mamífero. Portanto, todo cavalo é um animal. b) Kation é país do planeta Stix. Todos os Xinpins são de Kaiton. Logo, todos os Xinpins são Stixianos. Algoritmos e Programação
  • 12.
    Ir p/ primeirapágina Sequência Lógica São passos executados até atingir um objetivo ou solução de um problema. “Chupar uma bala”: · Pegar a bala · Retirar o papel · Chupar a bala · Jogar o papel no lixo Algoritmos e Programação
  • 13.
    Ir p/ primeirapágina Instruções Instruções são um conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, é o que indica a um computador uma ação elementar a executar. Algoritmos e Programação
  • 14.
    Ir p/ primeirapágina Algoritmo É uma seqüência de passos que visam atingir um objetivo bem definido. É a descrição de um padrão de comporta-mento, expressado em termos de um repertório bem definido e finito de ações “primitivas”, das quais damos por certo que elas podem ser executadas. Programar é basicamente construir algoritmos Algoritmos e Programação
  • 15.
    Ir p/ primeirapágina Algoritmo Algoritmos no dia-a-dia: instruções de uso, indicações de montagem, receitas de cozinha, partituras musicais, etc. Quando perguntamos, por exemplo, pelo caminho para a rodoviária, perguntamos de fato por um algoritmo cujo seguimento nos leva a nosso objetivo. Algoritmos e Programação
  • 16.
    Ir p/ primeirapágina Algoritmo Qual sua importância na programação? Representar o raciocínio, independentemente de detalhes computacionais, que podem ser acrescentados mais tarde. Focalizar primeiro na resolução algorítmica do problema, possibilitando depois codificá-la em qualquer linguagem. Algoritmos e Programação
  • 17.
    Ir p/ primeirapágina Exemplo de Algoritmo Versão 1: Troca de uma lâmpada: 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. Algoritmos e Programação
  • 18.
    Exemplo de Algoritmo Versão 2: Troca da lâmpada (com teste no início) acionar o interruptor; se a lâmpada não acender, então  pegar uma escada;  posicionar a escada embaixo da lâmpada;  buscar uma lâmpada nova  subir escada;  retirar a lâmpada velha;  colocar a lâmpada nova. Algoritmos e Programação Ir p/ primeira página
  • 19.
    Exemplo de Algoritmo Versão 3: Troca da lâmpada (com teste para 10 soquetes)  ir até o interruptor do primeiro soquete;  enquanto a quantidade de soquetes testados for menor que 10, faça Ir p/ primeira página  acionar o interruptor;  se a lâmpada não acender, então  pegar uma escada;  posicionar a escada embaixo da lâmpada;  buscar uma lâmpada nova;  acionar o interruptor;  subir na escada;  retirar lâmpada queimada;  colocar lâmpada nova;  enquanto a lâmpada não acender, faça  retirar lâmpada queimada;  colocar lâmpada nova;  ir até o interruptor do próximo soquete; Algoritmos e Programação
  • 20.
    Ir p/ primeirapágina Formas de Representação Versão 3 em Fluxograma início ir para o primeiro soquete soquetes restantes 10 acionar o interruptor pegar uma escada posicionar escada buscar lâmpada nova acionar o interruptor não acendeu? subir na escada retirar a lâmpada queimada colocar lâmpada nova acionar o interruptor não acendeu? retirar a lâmpada queimada colocar lâmpada nova ir ao próximo soquete fim F F F V V V
  • 21.
    Formas de Representação Ir p/ primeira página Versão 3 em Chapin ir para o primeiro soquete soquetes testados 10 acionar o interruptor lâmpada não acendeu pegar uma escada colocar a escada embaixo do soquete buscar lâmpada nova acionar o interruptor subir na escada retirar lâmpada queimada colocar lâmpada nova lâmpada não acendeu retirar lâmpada queimada colocar lâmpada nova ir para o próximo soquete
  • 22.
    Ir p/ primeirapágina Formas de Representação Gráficas (Fluxograma e Chapin) Vantagens Maior clareza no fluxo de execução Linguagem visual Desvantagens Requer conhecimento de convenções gráficas Mais trabalhoso em decorrência de seus desenhos Dificuldade para fazer correções Textuais (Português Estruturado) Apresenta mais vantagens, desde que se tomem alguns cuidados: Riqueza gramatical de nossa língua pode levar a ambigüidades A frase “O pregador foi grampeado durante o conserto” tem 8 sentidos diferentes quando pronunciada Para resolver, utilizaremos um conjunto restrito de regras, conhecido como Português Estruturado (Portugol).
  • 23.
    Portugol É umapseudolinguagem de programação (simbiose de Português com o Algol) que reúne um conjunto básico de primitivas permitindo ao projetista pensar no problema e não na máquina que vai executar o algoritmo e, por outro lado, não fique muito distante desta mesma máquina. Em toda linguagem, as frases construídas envolvem dois aspectos: a sintaxe e a semântica. Ir p/ primeira página Algoritmos e Programação
  • 24.
    Portugol Primitivas: Conjuntobem definido de elementos funcionais básicos com os quais podem ser construídas representações de algoritmos. Ir p/ primeira página Algoritmos e Programação
  • 25.
    Sintaxe e Semântica Sintaxe: tem a ver com a forma. Semântica: tem a ver com o conteúdo Exemplo: “Aqui vendem-se frangos abatidos” sintaticamente correta: está escrita de forma correta. semântica: indica que naquele local existe uma venda de frangos mortos, e não vivos. Ir p/ primeira página Algoritmos e Programação
  • 26.
    Ir p/ primeirapágina Exercício de Algoritmo Algoritmos e Programação 1. Três jesuítas e três canibais precisam atravessar um rio; para tal dispõem de um barco com capacidade para duas pessoas. Por medidas de segurança, não se deve permitir que em alguma margem a quantidade de jesuítas seja inferior à de canibais. Qual a solução para efetuar a travessia com segurança? Elabore um algoritmo indicando as ações que concretizem a solução do problema.
  • 27.
    Ir p/ primeirapágina Exercício de Algoritmo 2. Construir uma lista de todos os inteiros positivos. Organizar essa lista em ordem decrescente (do maior para o menor), e extrair o primeiro inteiro da lista resultante. Estas instruções descrevem um algoritmo? Justifique sua resposta. Algoritmos e Programação
  • 28.
    Ir p/ primeirapágina Exercício de Algoritmo 3. Cálculo da média de um aluno. Obter as notas da primeira e da segunda prova Calcular a média aritmética entre as duas Se a média for maior ou igual a 7, o aluno foi aprovado, senão ele foi reprovado Algoritmos e Programação
  • 29.
    Ir p/ primeirapágina Fluxograma
  • 30.
    Ir p/ primeirapágina Diagrama de Chapin
  • 31.
    Ir p/ primeirapágina Pseudocódigo inicio real: N1, N2, Média; leia (N1, N2); Média - (N1+N2)/2; se (Média = 7) então escreva (“Aprovado”); senão escreva (“Reprovado”); fimse; fim.