Algoritmos e Programação_01

31
Ir p/ primeira página Algoritmos e Programação

Transcript of Algoritmos e Programação_01

Ir p/ primeira página

Algoritmos e Programação

Ir p/ primeira página

Objetivo

Desenvolver algoritmos coerentes e válidos para solucionar problemas e implementá-los utilizando uma linguagem de programação.

Alg

ori

tmos

e

Pro

gra

maçã

o

Ir p/ primeira página

Conteúdo Programático

Alg

ori

tmos

e

Pro

gra

maçã

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

Alg

ori

tmos

e

Pro

gra

maçã

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.

Alg

ori

tmos

e

Pro

gra

maçã

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.

Alg

ori

tmos

e

Pro

gra

maçã

o

Ir p/ primeira página

Ir p/ primeira página

Começando...

Alg

ori

tmos

e

Pro

gra

maçã

o

Ir p/ primeira página

Alg

ori

tmos

e

Pro

gra

maçã

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

Alg

ori

tmos

e

Pro

gra

maçã

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.

Alg

ori

tmos

e

Pro

gra

maçã

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

Alg

ori

tmos

e

Pro

gra

maçã

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.

Alg

ori

tmos

e

Pro

gra

maçã

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

Alg

ori

tmos

e

Pro

gra

maçã

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

lgori

tmos

e

Pro

gra

maçã

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.

Alg

ori

tmos

e

Pro

gra

maçã

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.

Alg

ori

tmos

e

Pro

gra

maçã

o

Ir p/ primeira página

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.

Alg

ori

tmos

e

Pro

gra

maçã

o

Ir p/ primeira página

Exemplo de AlgoritmoVersã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 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;

Alg

ori

tmos

e

Pro

gra

maçã

o

Ir p/ primeira página

Formas de Representação

Versão 3 em Fluxograma

início

ir para o primeiro soquete

soquetesrestantes < 10

acionar o interruptor

pegar uma escada

posicionar escada

buscar lâmpada nova

acionar o interruptor

nãoacendeu?

subir na escada

retirar a lâmpada queimada

colocar lâmpada nova

acionar o interruptor

nãoacendeu?

retirar a lâmpada queimada

colocar lâmpada nova

ir ao próximo soquete

fim

F

F

F

V

V

V

Ir p/ primeira página

Formas de Representação

Versão 3 em Chapinir para o primeiro soquete

soquetes testados < 10

acionar o interruptor

pegar uma escadacolocar a escada embaixo do soquetebuscar lâmpada novaacionar o interruptorsubir na escadaretirar lâmpada queimadacolocar lâmpada nova

lâmpada não acendeu

retirar lâmpada queimadacolocar lâmpada nova

ir para o próximo soquete

lâmpada não acendeu

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

Ir p/ primeira página

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.

Alg

ori

tmos

e

Pro

gra

maçã

o

Ir p/ primeira página

Portugol

Primitivas: Conjunto bem definido de elementos funcionais básicos com os quais podem ser construídas representações de algoritmos.

Alg

ori

tmos

e

Pro

gra

maçã

o

Ir p/ primeira página

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

lgori

tmos

e

Pro

gra

maçã

o

Ir p/ primeira página

Exercício de Algoritmo

Alg

ori

tmos

e

Pro

gra

maçã

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

lgori

tmos

e

Pro

gra

maçã

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 reprovadoAlg

ori

tmos

e

Pro

gra

maçã

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ãoescreva (“Reprovado”);

fimse;fim.