CURSO ENGENHARIAS ELÉTRICA E MECÂNICA ALGORITMO E PROGRAMAÇÃO

Post on 24-Jan-2016

32 views 0 download

description

CURSO ENGENHARIAS ELÉTRICA E MECÂNICA ALGORITMO E PROGRAMAÇÃO. Mardem Barbosa de Anchieta Rosa PITÁGORAS/CONTAGEM AGO/2012. FUNDAMENTOS DE PROGRAMAÇÃO. Algoritmos Baseados em Estruturas de Dados Homogêneas (vetores) Repetição com Teste no Final Repetição com Variável de Controle - PowerPoint PPT Presentation

Transcript of CURSO ENGENHARIAS ELÉTRICA E MECÂNICA ALGORITMO E PROGRAMAÇÃO

1

CURSO ENGENHARIASELÉTRICA E MECÂNICA

ALGORITMO E PROGRAMAÇÃO

Mardem Barbosa de Anchieta Rosa

PITÁGORAS/CONTAGEM

AGO/2012

2

FUNDAMENTOS DE PROGRAMAÇÃO• Objetivo do Curso• Objetivo da Disciplina• Introdução ao conceito de algoritmo e

programação– Conceitos básicos– Conceito de Algoritmo– Estruturas Báscias de Controle– Estruturas de Dados– As Melhores práticas na construção de

programas• Manutenibilidade• Flexibilidade• Documentação• A força e destruição do GOTO

• Portugol– Introdução– Declaração de Variáveis– Tipos Básicos– Comandos Básicos– Blocos– Comandos de Entrada e Saída

• Teste de Mesa• Operadores

• Algoritmos Baseados em Estruturas de Dados Homogêneas (vetores)

– Repetição com Teste no Final– Repetição com Variável de

Controle– O Comando Abandone

• Algoritmos Baseados em Estruturas de Dados Homogêneas (Matrizes)

– Alternativa de Múltiplas Escolhas– Definição do Tipo Matriz– Definição de Novos Tipos

• Algoritmos Baseados em Estruturas de Dados Heterogêneas (Matrizes)

– Tipo registro– Registros usando Vetores e

Matrizes• Procedimentos e Funções

– Modularização

O QUE MOVE O MUNDO SÃO AS PERGUNTAS E NÃO AS RESPOSTAS.

4

Objetivo Curso

• ENGENHARIAS:• MECÂNICA

• O curso de Engenharia Mecânica tem como objetivo formar profissionais com uma sólida formação técnico-científica e profissional geral que o capacite a absorver e desenvolver tecnologias, estimulando a sua atuação crítica e criativa na identificação e resolução de problemas de Engenharia Mecânica, considerando seus aspectos político-econômicos, sociais, ambientais e culturais, com visão ética e humanística, em atendimento às demandas da sociedade.

• O engenheiro mecânico é responsável pelo projeto, produção, operação e manutenção de máquinas, equipamentos e componentes mecânicos. Ele responde pela segurança, qualidade e eficiência operacional e energética de tais equipamentos e componentes. Além disso, gerencia equipes de trabalho, acompanha custos, prazos, cumprimento das normas de segurança, saúde e meio ambiente e ainda os padrões de qualidade.

55

Objetivo Curso

• ENGENHARIAS:

• ELÉTRICA

• O Curso de Engenharia Elétrica tem como objetivo formar engenheiros eletricistas capacitados a atender às diferentes solicitações profissionais, com uma visão crítica, criativa e inovadora, através de uma sólida formação básica, geral e humanística, associada à sua formação profissional específica.

6

Objetivo da Disciplina

• Algoritmo e Programação

Desenvolver nos alunos a competência e as habilidades necessárias para a concepção de soluções computacionais aplicadas aos problemas relativos à engenharia.

77

AVALIAÇÃO

• Algoritmo e Programação

• Avaliações parciais• Exercícios• Provas• Trabalhos• Desafios• Partipações

888

AVALIAÇÃO

• Algoritmo e Programação

• Valor das avaliações:

•Parcial – 0 a 10 pontos

•Oficial (1 por bimestre) – 0 a 10 pontos

• Composição: (Teórico/prático)

• Avaliação oficial = 70% da nota bimestral•Avaliação parcial = 30% da nota bimestral

9999

AVALIAÇÃO

• Algoritmo e Programação

• Composição: (Prática)

• Avaliação oficial = 0% da nota bimestral•Avaliação parcial = 100% da nota bimestral

10101010

AVALIAÇÃO

• Algoritmo e Programação

• Nota do bimestre

3,0)7,0( xparcialavaliaçãoxoficialavaliaçãobimestredoNota

2

)( BimestresegundodoNotaBimestreprimeirodoNotaFinalNota

1111111111

AVALIAÇÃO

2

)( finalexameNotabimestralMédiaFinalNota

121212121212

AVALIAÇÃO

131313131313

AVALIAÇÃO

141414141414

AVALIAÇÃO

15151515151515

PROGRAMAÇÃO DAS AULAS

• Algoritmo e Programação

• programação

16 16

ENTREGA DE DESAFIOS•Entrega de trabalhos

•Trabalhos entregues por e-mailmardem.barbosa@pitagoras.com.br

•No campo ASSUNTO DO E-MAIL digitar as seguintes informações:–PIT-EW-AP-2012s1-DESAFIO XX-DD/DD/AAAA-SEU NOME–Onde:

–W: M – Mecânica, E – Elétrica–XX: Número do desafio;–DD: dia em que foi aplicado o desafio;–MM: Mês em que foi aplicado o desafio;–AAAA: Ano em que foi aplicado o desafio;–SEU NOME: SEU NOME.

Qual a missão desta ferramenta?

Possibilitar a representação e o tratamento dos objetos do nosso mundo real.

AR

VENTO

CALOR

FRIO

Comos esses objetos são representados no computador?

Através das suas características, propriedades, Atributos.

AR

VENTO

CALOR

FRIO

Como esses conceitos são tratados no computador?

Através dos programas

AR VENTO

Pessoa

Carro

Fogo

Vento e sua direção e velocidadeSol

A luz

Comos esses objetos são representados no computador?

Através das suas características, propriedades, Atributos.

Como esses conceitos são tratados no computador?

Através dos programas

AR VENTO

Pessoa

Carro

Fogo

Vento e sua direção e velocidadeSol

A luz

Comos esses objetos são tratados no computador?

Através de programas de computador.

NIVELAMENTO CONCEITOS BÁSICOS

• 1ª lei Mardeniana.

Tudo na informática termina em IF´s e MOVE´s.

22

Introdução ao conceito de algoritmo e programação

• Conceitos Básicos– Concreto

• Algo que tem existência própria– Abstrato

• Algo que tem dependência de existência− Abstração

• Foco na essência

– Ação• É um evento que ocorre num período de tempo finito,

estabelecendo um efeito intencionado e bem definido.– Exemplo:

-Levantar o pé;-Deslocar o pé levantado para frente;-Abaixar o pé levantado.

23

Introdução ao conceito de algoritmo e programação

• Conceitos Básicos– Atividade

• É a execução de uma tarefa ou ação.– Tarefa

• Conjunto de ações. (Veja definição de ação)• No exemplo sobre ação dado no slide anterior, qual é a

tarefa que pode ser relacionada ?_____________– Processo

• Conjunto de tarefas.• No exemplo de tarefa identificado acima, qual o

processo pode ser relacionado ? _____________

24

Introdução ao conceito de algoritmo e programação

• Conceitos Básicos– Problema

• É um resultado indesejado− Dado

• Um valor qualquer− Informação

• Valor com significado

25

Introdução ao conceito de algoritmo e programação

• Conceitos Básicos

____ ____ ____

____ ____ ____

____ ____ ____

Relacione asFiguras comAtividade,Ação, tarefa eProcesso.

26

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo

O que é um algoritmo ?

É a DESCRIÇÃO de um PADRÃO de COMPORTAMENTO, expresso em termos de um repertório BEM DEFINIDO e FINITO de AÇÕES “primitivas” , das quais damos por certo que elas podem ser executadas.

272727

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo• Identifique os padrões de comportamento abaixo que os objetos sugerem.

• Sugestões dos alunos

Fritar Ovos______________________________________________________________________________________________________________

282828

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo• Identifique os padrões de comportamento abaixo que os objetos sugerem.

• 1,5,9,13,17,21 Sugestões dos alunos

_______________________________________________________________________________________________________________________

292929

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo• Identifique os padrões de comportamento abaixo que os objetos abaixo sugerem.

• Sugestões dos alunos

_______________________________________________________________________________________________________________________

303030

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo• Responda as perguntas abaixo:1.Os padrões de comportamentos

identificados nos slides anteriores são algoritmos ? Explique.

2.O que é necessário para que sejam um algoritmo ?

3.Tudo que está ao nosso redor pode ser entendido como tendo um padrão de comportamento ? Explique.

313131

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo• Boas lembranças

1.Um objeto não é um padrão de comportamento, mas ele sofre ou sugere um padrão de comportamento

2.Padrão de comportamento é EXPRESSO em termos de um ________ bem ______ e ______ de _______primitivas das quais estamos certos que podem ser executadas.

3.Cada frase expressa em um algoritmo é chamada de “comando”

1. Abrir a geladeira;2. Pegar ovo na geladeira;3. Fechar a geladeira;4. Colocar o ovo em cima da

mesa;5. Abrir o armário;6. Pegar uma frigideira;7. Fechar o armário;8. Abrir a dispensa;9. Pegar o sal;10. Pegar o óleo;11. Ascender o fogão;13. Colocar a frigideira no fogão;

13. Colocar óleo na frigideira;14. Trincar a casca do ovo;15. Quebrar o ovo dentro da

frigideira;16. Esperar o ovo fritar;17. Retirar o ovo;18. Colocar em um prato.

Introdução ao conceito de algoritmo e programação

Conceito de AlgoritmoDescrever o padrão de comportamento “FRITAR OVOS”

É a DESCRIÇÃO de um PADRÃO de COMPORTAMENTO, expresso em termos de um repertório bem DEFINIDO e FINITO de AÇÕES “primitivas” , das quais damos por certo que elas podem ser executadas.

33333333

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo• Desafio 01 – valor xx pontos – Fazer dentro de sala.• Escolha dois dos padrões de comportamentos identificados nos slides 10 ao 12 e os descreva conforme o exemplo anterior.

• A partir do conceito de algoritmo explique o sentido das seguintes palavras de acordo com o seu entendimento:

• Descrever• Padrão de comportamento• Bem definido• Finito

34343434

Introdução ao conceito de algoritmo e programação

• Conceito de AlgoritmoBaseando-se no exemplo de descrição do padrão de comportamento “Fritar ovos”

responda:1. O exemplo dado é um algoritmo ? Explique.2. Justifique a sua resposta da pergunta anterior baseando-se no conceito de

algoritmos.3. Existe(m) alguma(s) ação(ões) que não é(são) bem definida(s) ? Indique

qual(is).4. Existe(m) alguma(s) ação(ões) que não é(são) finita(s) ? Indique qual(is).

5. Indique no exemplo onde temos “atividades”.6. Como pode ser classificada “Fritar ovos” ?

• Como uma ação ?• Como uma tarefa ?• Como um processo ?• Como uma atividade ?Explique a sua resposta.

35353535

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo

OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO

ASPECTO ESTÁTICO

Analisando o exemplo de algoritmo “FRITAR OVOS”, identifique elementos que são ESTÁTICOS, ou seja, independente da execução do algoritmo, eles nunca mudarão.

O texto que descreve os comandos

A ordem dos comandos

36363636

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo

OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO

ASPECTO ESTÁTICO

Se alterarmos um dos verbos (não pelo seu sinônimo) que estão no início do comando mudamos o _____________, mudando também o seu resultado final, o seu efeito.1. Abrir a geladeira; (arredar, arrumar) 2. Pegar um ovo na geladeira;3. Fechar a geladeira;(virar, limpar) 4. Colocar o ovo em cima da mesa;5. Abrir o armário;(fechar, tirar) 6. Pegar uma frigideira;7. Fechar o armário;(abrir, pintar) 8. Abrir a dispensa;9. Pegar o sal;(comprar, ensacar) 10. Pegar o óleo;11. Ascender o fogão;(ligar, lavar) 12.Colocar a frigideira no fogão;

37373737

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo

OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO

ASPECTO ESTÁTICO

Se alterarmos a ordem dos comandos também mudamos o _____________, mudando o seu resultado final, o seu efeito.

1. Fechar a geladeira; 2. Pegar um ovo na geladeira;3. Colocar o ovo em cima da mesa; 4. Pegar uma frigideira;5. Abrir o armário; 6.Abrir a geladeira; 7. Fechar o armário; 8. Abrir a dispensa;9. Pegar o sal; 10. Pegar o óleo;11. Ascender o fogão; 12.Colocar a frigideira no fogão;

38383838

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo

OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO

ASPECTO ESTÁTICO

Concluindo, o texto sob o qual o algoritmo é criado, representa a parte estática do mesmo. Este texto é composto pelos comandos e a ordem em que eles estão dispostos.

39393939

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo

OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO

ASPECTO DINÂMICO

Analisando o exemplo de algoritmo “FRITAR OVOS”, identifique elementos que são DINÂMICOS, ou seja, podem mudar entre as execuções dos algoritmos que o efeito desejado do mesmo não muda.

Os objetos sob os quais os comandos agem sobre eles

40404040

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo

OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO

ASPECTO DINÂMICO

Se alterarmos os objetos (por objetos da mesma classe) que estão no início do comando não mudamos o _____________, que continua produzindo o mesmo efeito desejado.1. Abrir a geladeira; (arredar, arrumar) 2. Pegar um ovo na geladeira;3. Fechar a geladeira;(virar, limpar) 4. Colocar o ovo em cima da mesa;5. Abrir o armário;(fechar, tirar) 6. Pegar uma frigideira;7. Fechar o armário;(abrir, pintar) 8. Abrir a dispensa;9. Pegar o sal;(comprar, ensacar) 10. Pegar o óleo;11. Ascender o fogão;(ligar, lavar) 12.Colocar a frigideira no fogão;

41414141

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo

OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO

ASPECTO DINÂMICO

Concluindo, os objetos tratados, usados no algoritmo constituem a parte dinâmica do mesmo. Ou seja, a cada execução do algoritmo os objetos podem ser diferentes e as ações sobre eles mudam as suas características o seu estado, que não modifica o efeito final desejado. Um exemplo disso é o ovo, uma vez frito, o próximo ovo a ser fritado, não é o mesmo da vez anterior, e o efeito esperado é o mesmo “OVO FRITO”......sacaram...?

42424242

Introdução ao conceito de Estruturas de Controle

• Conceito de Algoritmo

Considere o seguinte RELATO de uma pessoa observando uma dona de casa:

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Descascar as batatas;4. Devolver a cesta ao porão

(R1)

(EVENTO 1) – DESCASCAR BATATAS PARA O JANTAR

43434343

Introdução ao conceito de Estruturas de Controle

• Conceito de Algoritmo

No outro dia a dona de casa novamente realiza outro evento, relatado pelo mesmo observador:

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Descascar as batatas;4. Devolver a cesta ao porão

(R1)

(EVENTO 2) – DESCASCAR BATATAS PARA O JANTAR

4444444444444444

Introdução ao conceito de algoritmo e programação

• Conceito de Algoritmo• Desafio 02 – valor xx pontos – Fazer dentro de sala.

• Os dois eventos “Descascar batatas para o jantar” são os mesmos ? Explique

• Os dois relatos descrevem os mesmos eventos ?• Os dois relatos são os mesmos ? Explique usando o

conceito de ESTÁTICO e DINÂMICO.• O quê os dois eventos tem em comum ?• Logo, os dois relatos descrevem o mesmo evento ?• Então os dois relatos podem ser transformados em um

_____________.Entregar via e-mail na data xx/xx/xx

4545454545454545

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

SEQÜÊNCIA SIMPLES

Definida pelo símbolo “;” que tem o objetivo de indicar o término de um comando e estabelecer a ordem de execução dos comandos um após o outro de acordo como aparecem no texto.

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Descascar as batatas;4. Devolver a cesta ao porão;

(A1)

4646464646464646

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle• Desafio 03 – valor xx pontos – Fazer dentro de sala.

• O que significa o símbolo “;” em um algoritmo ?• Indique a ordem em que o (A1) será executado;• O que garante que o comando “Descascar as batatas;”

não seja executado antes de “Trazer a panela do armário;” ?

• Qual comando em (A1) não é finito ?• Defina os aspectos dinâmicos e estáticos em (A1).

Entregar via e-mail na data xx/xx/xx

4747474747474747

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR CONDICIONAL SE.....ENTÃO

Suponhamos que toda vez que a cozinheira for descascar batatas ela põe um avental. Modifique o (A1) para representar esta nova situação.

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. 4. Descascar as batatas;5. Devolver a cesta ao porão;

(A1)

4848484848484848

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR CONDICIONAL SE.....ENTÃO

Com a introdução do comando “Colocar avental;”, temos um novo algoritmo, mesmo que o efeito final seja o mesmo, em função do texto que eles apresentam são algoritmos diferentes.

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Colocar o Avental;4. Descascar as batatas;5. Devolver a cesta ao porão;

(A1)

4949494949494949

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR CONDICIONAL SE.....ENTÃO

Agora, suponha que a cozinheira só colocará o avental se ela estiver com uma roupa clara.Modifique o (A2) para representar esta nova situação.

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. 4. 5. Descascar as batatas;6. Devolver a cesta ao porão;

(A2)

5050505050505050

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR CONDICIONAL SE.....ENTÃO

Esta nova estrutura de controle, chamada conector condicional SE...ENTÃO, permite ao algoritmo decidir sob determinadas condições e executar os comandos se a condição for verdadeira, ou não executar os comandos se a condição for falsa.

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar as batatas;6. Devolver a cesta ao porão;

(A3)

5151515151515151

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

SE condição ENTÃO comando 1;Comando 2;Comando 3;

Condição a ser testada.

Se a condição for verdadeira, os comandos imediatamente após a palavra “ENTÃO” serão executados.Se a condição for falsa, os

comandos imediatamente após a palavra “ENTÃO” serão pulados até o ponto e vírgula e os comandos após o ponto e vírgula serão executados.

5252525252525252

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR CONDICIONAL SE.....ENTÃO

O que acontecerá se a cozinheira não estiver com uma saia clara ?

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar as batatas;6. Devolver a cesta ao porão;

(A3)

5353535353535353

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR CONDICIONAL SE.....ENTÃO

Quando o comando “Colocar avental;” será executado ? E o comando “Descascar batatas;” ? Quais comandos não estão sob condição ?

O que acontecerá com estes comandos que não estão sob nenhuma condição quando o algoritmo for executado ?

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar as batatas;6. Devolver a cesta ao porão;

(A3)

5454545454545454

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle• Desafio 04 – valor xx pontos – Fazer dentro de sala.

• Escreva um comando “Se...Então”.• Na estrutura de controle “SE (condição) ENTÃO” indique o

que é estático e o que é dinâmico no comando.• Quando a condição na estrutura de controle condicional for

verdadeira o que acontece na execução do algoritmo ?• Quando a condição na estrutura de controle condicional for

falsa o que acontece na execução do algoritmo ?• Como pode ser interpretado a utilização das estruturas de

controle simples com a condicional ?

Entregar via e-mail na data xx/xx/xx

5555555555555555

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de ControleCONECTOR REPETITIVO

O comando “descascar batatas;” descaracteriza o algoritmo por não ser finito. Vamos torná-lo finito limitando o número de batatas que será descascadas.

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar uma batata;6. Devolver a cesta ao porão;

(A4)

5656565656565656

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR REPETITIVO

Quais os inconvenientes no algoritmo (A4) ?

(A4)1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar uma batata;6. Devolver a cesta ao porão;

____________________________________________________________________________________________________________________________

5757575757575757

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR REPETITIVO

Qual(is) as solução(ões) para tornar o algoritmo (A4) viável ?

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. 6. 7. 8. Devolver a cesta ao porão;

(A4)

5858585858585858

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR REPETITIVO

Qual(is) as solução(ões) para tornar o algoritmo (A4) viável ? SOLUÇÃO 1

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar uma batata;6. Descascar uma batata;7. Descascar uma batata;8. ...9. Descascar uma batata;10. Devolver a cesta ao porão;

(A5)

5959595959595959

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR REPETITIVO

Quais os inconvenientes no algoritmo (A5) ?____________________________________________________________________________________________________________________________

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Descascar uma batata;6. Descascar uma batata;7. Descascar uma batata;8. ...9. Descascar uma batata;10. Devolver a cesta ao porão;

(A5)

6060606060606060

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR REPETITIVO

Qual(is) as solução(ões) para tornar o algoritmo (A5) viável ? SOLUÇÃO 2

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Se número de batatas descascadas não for

suficiente Então6. Descascar uma batata;7. Devolver a cesta ao porão;

(A6)

6161616161616161

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR REPETITIVO

Quais os inconvenientes no algoritmo (A6) ?____________________________________________________________________________________________________________________________

(A6)

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Se número de batatas descascadas não for suficiente Então6. Descascar uma batata;7. Devolver a cesta ao porão;

6262626262626262

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR REPETITIVO

Qual(is) as solução(ões) para tornar o algoritmo (A6) viável ? SOLUÇÃO 3

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Se número de batatas descascadas não for suficiente Então6. Descascar uma batata;7. Se número de batatas descascadas não for suficiente Então8. Descascar uma batata;9. Se número de batatas descascadas não for suficiente Então10. Descascar uma batata;11. Se número de batatas descascadas não for suficiente Então12. Descascar uma batata;13. ...14. Devolver a cesta ao porão;

(A7)

6363636363636363

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR REPETITIVO

Quais os inconvenientes no algoritmo (A7) ?______________________________________________________________

(A7)

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. Se número de batatas descascadas não for suficiente Então6. Descascar uma batata;7. Se número de batatas descascadas não for suficiente Então8. Descascar uma batata;9. Se número de batatas descascadas não for suficiente Então10. Descascar uma batata;11. Se número de batatas descascadas não for suficiente Então12. Descascar uma batata;13. ...14. Devolver a cesta ao porão;

6464646464646464

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR REPETITIVO

Qual(is) as solução(ões) para tornar o algoritmo (A7) viável ? SOLUÇÃO 4

1. Trazer a cesta com batatas do porão;2. Trazer a panela do armário;3. Se roupa for clara Então4. Colocar avental;5. ENQUANTO número de batatas descascadas não for suficiente FAÇA6. Descascar uma batata;7. Devolver a cesta ao porão;

(A8)

6565656565656565

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle

CONECTOR REPETITIVO

ENQUANTO condição FAÇA comando1; comando2; . . . comando n;

Parte estática do comando

Parte dinâmica do comando

Comandos a serem executados caso a condição

seja verdadeiraSeparador da parte de comandos que serão executados

quando a condição for positiva dos que serão executados quando a condição for negativa

6666666666666666

Introdução ao conceito de algoritmo e programação

• Estruturas Básicas de Controle• Desafio 05 – valor xx pontos – Fazer dentro de sala.

• Escreva um comando “ENQUANTO...FAÇA”.• Na estrutura de controle “ENQUANTO (condição) FAÇA” indique o que é estático

e o que é dinâmico no comando.• Quando a condição na estrutura de controle repetitiva for verdadeira o que acontece

na execução do algoritmo ?• Quando a condição na estrutura de controle repetitiva for falsa o que acontece na

execução do algoritmo ?• Como pode ser interpretado a utilização das estruturas de controle simples com a

repetitiva ?• Tanto na estrutra de controle condicional quanto na repetitiva, quando as suas

condições são verdadeiras, que tipo de estrutura de controle pode vir na parte verdadeira ?

Entregar via e-mail na data xx/xx/xx

6767676767676767

Introdução ao conceito de algoritmo e programação

• Estruturas de Dados

O que vamos aprender a fazer nessa disciplina é representar objetos do mundo real dentro do computador e descrever os padrões de comportamento que agem sobre estes objetos.

Temos então um enorme desafio. Como representar os objetos abaixo dentro de um computador ?

6868686868686868

Introdução ao conceito de algoritmo e programação

• Estruturas de Dados

• Como reconhecemos estes objetos no nosso mundo real ? ___________

Carro

Ferro de passar

Casa

Sala de aula, alunos e professor

}Mas

computadores não entendem

formas

Então como faríamos para

representar estes objetos de forma

que o computador

pudesse reconhecê-los ?

6969696969696969

Introdução ao conceito de algoritmo e programação

• Estruturas de Dados• Reconheça os objetos abaixo:

• Número da conta corrente• Saldo• Agência• Banco

• Nome• Peso• Altura• Endereço• Cart. Ident.• CPF

• Marca• Cor• Ano• Modelo• Combustível• Número de passageiros

Usamos as características (atributos) dos objetos para representá-los dentro do computador. Como para cada objeto as mesmas características mudam(dinâmica), chamaremos estas características de VARIÁVEIS.

7070707070707070

Introdução ao conceito de algoritmo e programação

• Estruturas de Dados• As características(atributos) dos objetos representados

internamente em um computador, e processados através de um algoritmo representam a parte dinâmica do mesmo.

1. Se tipo_conta = “Poupança” ENTÃO2. Somar valor do depósito em saldo_poupança;3. Se tipo_conta = “Corrente” ENTÃO4. Somar valor do depósito em saldo_corrente;

•Qual é o objeto que estamos processando nesse trecho do algoritmo ?_______________________•Destaque as partes dinâmicas das estáticas e justifique a separação ._________________, _____________, ___________________, _____________, ________•O que significa uma palavra estar entre aspas duplas igual a “Poupança” e “Corrente”.__________________________________________________________________________

7171717171717171

Introdução ao conceito de algoritmo e programação

• Estruturas de Dados• Desafio 06 – valor xx pontos – Fazer dentro de sala.

• Descreva através das suas características o objeto “ALUNO”;• Descreva através das suas características o objeto “PROFESSOR”;• Descreva através das suas características o objeto “FILME”• Descreva através das suas características o objeto “LIVRO”• Dentro de um algoritmo as suas características são tratadas como ______________e

representam a parte ______________ do mesmo.• Porquê usamos o termo “DINÂMICA” para as variáveis ?• Os objetos, as coisas do mundo real sao representados dentro do computador atraves

das suas _____________.

Entregar via e-mail na data xx/xx/xx

7272727272727272

PORTUGOL

• Introdução− Até momento usamos a língua portuguesa para expressar os algoritmos− A liberdade de expressão é essencial para o desenvolvimento da criatividade− A língua portuguesa dá margem para:

− Dupla interpretação (imprecisão): Precisamos que um algoritmo tenha previsibilidade ou seja, toda vez que for executado ele nos leve ao mesmo resultado.− Permite textos extensos: Precisamos de textos concisos

e consistentes− Impasse:

Liberdade de expressão x Notação formal

− Solução: Uma linguagem que não restrinja a liberdade de expressão e que seja formal para eliminar

ambiguidades.

7373737373737373

PORTUGOL

• Introdução

O Portugol (simbiose de Português com Pascal ou Algol) é uma pseudolinguagem de programação (usada para descrever padrões de comportamentos - algoritmos) que permite projetos de algoritmos independentes da tecnologia, além de ser concisa e determinística.

Sintaxe x Semântica:

Sintaxe é a regra para a formação de uma frase;Semântica é o sentido que a frase possui.

7474747474747474

PORTUGOL

• Declaração de variáveis

Identificador: Nome dado aos comandos e as variáveis.

Sintaxe para formação de identificadores

LETRA

LETRA

DÍGITO

7575757575757575

PORTUGOL

Declaração de variáveis• Desafio 07 – valor xx pontos – Fazer dentro de sala.

• Através do diagrama para formação de nomes de comandos e atributos, siga o diagrama para formar tês nomes de sua sugestão.

• Marque dentre as opções abaixo quais os identificadores que ferem a regra através do diagrama proposto.

• Abcdefgijklmenopzrqz124589advadladaldasldaddla1• Xicara• 1pessoa• #conta_bancária• Com ta• Peça• NOME• NúmerO

Entregar via e-mail na data xx/xx/xx

7676767676767676

PORTUGOL

• Declaração de variáveis

Tipos básicos: É o conjunto domínio dos valores que cada variável simbolizada por um identificador pode receber.

Domínios permitidos

Inteiro: Conjunto dos números inteiros, isso quer dizer que o identificador declarado com este tipo, só pode conter valores do seu domínio.Real: Conjunto dos números reais (inteiros negativos, números

racionais negativos, zero, inteiros positivos, números racionais positivos)Lógico: Só permite conter os valores “verdadeiro” ou “falso”

7777777777777777

PORTUGOL

• Declaração de variáveis

SINTAXE PARA DECLARAÇÃO DE VARIÁVEIS

IDENTIFICADORinteiro

real

caracter

lógico

: ;

,

7878787878787878

PORTUGOL

• Declaração de variáveis• Desafio 08 – valor xx pontos – Fazer dentro de sala.

• Declare os identificadores abaixo de acordo com a declaração de tipos, atribuindo a eles os tipos mais adequados. Siga o rigor da sintaxe para declaração de tipos.

• Nome-aluno - Tipo-conta(poupança ou corrente)• Número-matrícula - Sexo(feminino ou Masculino)• sexo• Nota• Peso• Altura• Código-disciplina• Carteira-Identidade• Cpf• Endereço;

• Declare como vari[aveis as caracteristicas dos objetos do desafio 06• Declare as variáveis que existem em uma folha de cheque

Entregar via e-mail na data xx/xx/xx

7979797979797979

PORTUGOL

• Comandos Básicos

• Comandos imperativos

• Comandos que determinam uma ação independente de qualquer condição.

8080808080808080

PORTUGOL

• Comandos Básicos

• Comandos imperativos

• Comando de atribuição

• Para atribuirmos o valor de expressão a uma variável.

IDENTIFICADOR ;EXPRESSÃO

O QUE É UMA EXPRESSÃO ?

8181818181818181

PORTUGOL

• Comandos Básicos

• Comandos imperativos

• Comando de atribuição

• EXPRESSÃO é uma combinação de variáveis, símbolos, operadores (aritméticos, lógicos, relacionais), números, símbolos gráficos (“(“,”)”,”[“,”]”,”{“,”}”) que se transforma em valor.

O QUE É UMA EXPRESSÃO ?

8282828282828282

PORTUGOL

• Comandos Básicos• Desafio 09 – valor xx pontos – Fazer dentro de sala.

• Quais são os operadores aritméticos ?• Quais são os operadores lógicos ?• Quais são os operadores relacionais ?• Indique abaixo aquelas que podem ser consideradas expressões e classifique-as:

• Tipo-conta - Tipo-conta não saldo (*)• Saldo + 1; - Saldo > 100,00• 1 + 1; - Saldo +>- 200,00• (4 + saldo +[ nota * 5] – altura) - Tipo-conta = 200,00• Saldo, nota, altura - nota2 ÷ faltas• {1,2,3,4,5,7} - faltas = 0,25 * frequência• √2 - Tipo-conta ∧ sexo• Tipo-conta e sexo - Tipo-conta ∨ sexo• Tipo-conta ou sexo - Tipo-conta ∟ sexo

Entregar via e-mail na data xx/xx/xx

8383838383838383

PORTUGOL

• Comandos Básicos• Desafio 10 – valor xx pontos – Fazer dentro de sala.

• Considere as seguintes variáveis:• Saldo• Nota• Número-acadêmico• Nome• Telefone• Sexo (lógico - verdade se mulher, falso se homem)• Tipo-conta (lógico – verdade corrente, falso poupança)• Qtde-estoque• Tipo-material• frequência

Entregar via e-mail na data xx/xx/xx

8484848484848484

PORTUGOL

• Comandos Básicos• Desafio 10 – valor xx pontos – Fazer dentro de sala.

• Marque os identificadores inválidos se houver;• Declare cada uma das variáveis do slide anterior;• Elabore uma expressão (aritmética, lógica e relacional) com cada uma das variáveis;• Atribua à variável saldo o valor dela mesmo mais 10;• Atribua à variável nota o valor de 10;• Atribua à variável número-acadêmico o valor de 12345;• Atribua à variável nome a constante literal “José Antônio”;• Atribua à variável telefone a constante literal “33-35395827”;• Atribua à variável sexo o valor verdadeiro;• Atribua à variável tipo-conta o valor falso;• Atribua à variável qtde-estoque a raiz quadrada de 300;• Atribua à variável tipo material a letra A;• Atribua à variável frequência o número 20;

Entregar via e-mail na data xx/xx/xx

8585858585858585

PORTUGOL

• Blocos• Um bloco é um conjunto de comandos com uma função bem definida.

• Ele serve também para definir os limites onde as variáveis declaradas em seu interior são reconhecidas.

• Inicialmente, um bloco corresponderá a um programa ou a um algoritmo ou a uma descrição de comportamento.

• Pode haver blocos dentro de blocos

Sintaxe para a definição de um bloco

Inicio Declaração de variáveis comandosfim

8686868686868686

PORTUGOL

• Blocos• Exemplo1 de um algoritmo

• Elaborar um algoritmo que realiza a soma dos números de 1 a 10.

iniciointeiro : soma;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;

fim

8787878787878787

PORTUGOL

• Exemplo 1• Desafio 11 – valor xx pontos – Fazer dentro de sala.

• Siga o algoritmo dado no slide anterior e informe qual será o valor da variável soma quando o mesmo chegar ao fim.

• O valor da variável soma é o que foi proposto no enunciado do algoritmo ? Explique.

• Proponha uma alteração no algoritmo de forma que ele cumpra o proposto no seu enunciado.

Entregar via e-mail na data xx/xx/xx

8888888888888888

PORTUGOL

• Blocos• Execução do exemplo1 (Teste de Mesa)

• Elaborar um algoritmo que realiza a soma dos números de 1 a 10.

iniciointeiro : soma;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;soma ← 1;

fim

soma1

8989898989898989

PORTUGOL

• Blocos• Execução do exemplo1 (Teste de mesa)

• Elaborar um algoritmo que realiza a soma dos números de 1 a 10.

somaSoma ← 1 ;

Inteiro : soma;

Soma ← 2 ;

Soma ← 3 ;

Soma ← 4 ;

Soma ← 5 ;

Soma ← 6 ;

Soma ← 7 ;

Soma ← 8 ;

Soma ← 9 ;

Soma ← 10 ;

1 ;

Inteiro : soma;

Soma ←

9090909090909090

PORTUGOL

• Blocos• Execução do exemplo1 correto (Teste de mês)

• Elaborar um algoritmo que realiza a soma dos números de 1 a 10.

somaSoma ←

Inteiro : soma;

1 ;

Inteiro : soma;

Soma + 1

Soma ← 2 ;Soma + 3

Soma ← 3 ;Soma + 6

Soma ← 4 ;Soma + 10

Soma ← 5 ;Soma + 15

Soma ← 6 ;Soma + 21

Soma ← 7 ;Soma + 28

Soma ← 8 ;Soma + 36

Soma ← 9 ;Soma + 45

Soma ← 10 ;Soma + 55

9191919191919191

PORTUGOL

• Comandos Básicos• Comandos condicionais

• Alternativa Simples

Se <condição> Então c1; c2; c3;Fim se;c4;c5;

A condição é qualquer expressão(relacional ou lógica) que devolva o valor verdadeiro ou falso.

Se o valor da expressão for verdadeiro os comandos entre as palavras “Então” e “Fim se” serão executados continuando a execução dos comandos depois da palavra “fim se”

Caso o valor da expressão seja “falso” a execução é desviada para o primeiro comando que segue a palavra “fim se”

9292929292929292

PORTUGOL

• Comandos Básicos• Desafio 12 – valor xx pontos – Fazer dentro de sala.

• Seja o seguinte trecho do algoritmo

Entregar via e-mail na data xx/xx/xx

Inicio

Inteiro A, B;

A ← 10;

B ← 15;

Se A > B Então

c1;

c2;

Fim se;

c3;

Fim.

Responda:1) Quais os comandos que serão executados?2) Se o valor de A fosse 16 e B fosse 15, quais os

comandos que seriam executados ?3) Quando o comando c3 será executado ?4) Que tipo de expressão é “A > B” ?5) Se a expressão fosse “A + b”, quais os comandos seriam

executados ? Explique.6) A variável “A” pode receber o valor 15,5 ? Explique.7) Os comandos c1 e ou c2 podem ser outros comandos

condicionais ?8) Os comandos c1 e c2 serão sempre executados ?

9393939393939393

PORTUGOL

• Comandos Básicos• Desafio 13 – valor xx pontos – Fazer dentro de sala.

• Seja o seguinte trecho do algoritmo

Entregar via e-mail na data xx/xx/xx

Inicio

Lógico B1, B2; B3;

Se B1 Então

c1;

Se B2 então

Se B3 então

c2;

c3

Fim se;

Fim se;

Fim se;

Fim.

Responda:1) Se B1=Verdadeiro, B2=Verdadeiro e B3=Verdadeiro, quais comandos serão

executados ?2) Se B1=Verdadeiro, B2=Verdadeiro e B3=Falso, quais comandos serão

executados ?3) Se B1=Verdadeiro, B2=Falso e B3=Falso, quais comandos serão executados ?4) Se B1=Falso, B2=Falso e B3=Falso, quais comandos serão executados ?5) Se B1=Falso, B2=Verdadeiro e B3=Verdadeiro, quais comandos serão

executados ?6) Se B1=Falso, B2=Falso e B3=Verdadeiro, quais comandos serão executados ?7) Quais os valores de B1, B2, B3 para que nenhum comando seja executado ?8) Quais os valores de B1, B2, B3 para que somente c1 seja executado ?

9494949494949494

PORTUGOL

• Comandos Básicos• Comandos condicionais

• Alternativa Composta

Se <condição> Então c1; c2; c3;SE não c4; c5;Fim se;c6;c7

A condição é qualquer expressão(relacional ou lógica) que devolva o valor verdadeiro ou falso.

Se o valor da expressão for verdadeiro os comandos entre as palavras “Então” e “Se não” serão executados continuando a execução dos comandos depois da palavra “fim se”Caso o valor da expressão seja

“falso” a execução é desviada para o primeiro comando que segue a palavra “Se não”

Seqüência simples que é independente da condicional. Sempre será executada depois que for encontrado o “Fim se”

9595959595959595

PORTUGOL

• Comandos Básicos• Desafio 14 – valor xx pontos – Fazer dentro de sala.

• Seja o seguinte trecho do algoritmo

Entregar via e-mail na data xx/xx/xx

Inicio

Lógico B1, B2; B3;

Se B1 Então

c1;

Se n’ao

Se B2 então

Se B3 então

c2;

Se n’ao

c3;

Fim se;

Fim se;

Fim se;

c4;

Fim.

Responda:1) Se B1=Verdadeiro, B2=Verdadeiro e B3=Verdadeiro, quais comandos serão

executados ?2) Se B1=Verdadeiro, B2=Verdadeiro e B3=Falso, quais comandos serão

executados ?3) Se B1=Verdadeiro, B2=Falso e B3=Falso, quais comandos serão executados ?4) Se B1=Falso, B2=Falso e B3=Falso, quais comandos serão executados ?5) Se B1=Falso, B2=Verdadeiro e B3=Verdadeiro, quais comandos serão

executados ?6) Se B1=Falso, B2=Falso e B3=Verdadeiro, quais comandos serão executados ?7) Quais os valores de B1, B2, B3 para que nenhum comando seja executado ?8) Quais os valores de B1, B2, B3 para que somente c1 seja executado ?9) Qual comando será sempre executado independente das condições ?

9696969696969696

PORTUGOL

• Comandos Básicos• Desafio 15 – valor xx pontos – Fazer dentro de sala.

• Seja o seguinte trecho do algoritmo

Entregar via e-mail na data xx/xx/xx

Inicio

Lógico : A,B,C;

real : X,Y;

Inteiro : V, L;

A ← Falso; B ← Verdadeiro;

C ← Falso;

X ← 1,5; Y ← 32; X ← X+1;

Se C ou ( (X + Y > 5) ou (não A e B) ENTÃO

L ← 0;

Se não

L ← 1;

Fim se;

Fim.

Responda:1) Qual o valor de L depois da execução do algoritmo ?

9797979797979797

PORTUGOL

• Comandos Básicos• Comandos condicionais

• Repetição

Enquanto <condição> Faça c1; c2; c3; c4; c5;Fim enquanto;c6;c7

A condição é qualquer expressão(relacional ou lógica) que devolva o valor verdadeiro ou falso.

Se o valor da expressão for verdadeiro os comandos entre as palavras “Faça” e “Fim enquanto” serão executados continuando a execução dos comandos depois da palavra “fim enqu”

Seqüência simples que é independente da condicional. Sempre será executada depois que for encontrado o “Fim enquanto”

9898989898989898

PORTUGOL

• Comandos Básicos• Desafio 16 – valor xx pontos – Fazer dentro de sala.

• Elaborar os seguintes algoritmos:• Soma dos números inteiros de 1 a 1.000.000• Soma dos números inteiros pares de 1 a

1.000.000• Soma dos números inteiros ímpares de 1 a

1.000.00• Some os números inteiros múltiplos de 3 de 1 a

1.000.000Entregar via e-mail na data xx/xx/xx

9999999999999999

PORTUGOL

• Comandos Básicos

• Comandos imperativos

• Comandos de entrada e saída

• Elaborar um algoritmo que receba dois números inteiros e faça a soma dos números inteiros contidos entre esses dois números. No final, imprimir o valor somado.

100100100100100100100100

PORTUGOL

• Comandos Básicos

• Comandos imperativos

• Comandos de entrada e saída

• Até o momento elaboramos programas que utilizaram informações geradas ou codificadas internamente. É necessário que a linguagem dê condições de que o programa receba informações do mundo externo e apresente os seus resultados ao mundo externo de forma simples.

• Lembre-se que o PORTUGOL é uma pseudolinguagem, logo simulamos o comportamento de um computador real.

101101101101101101101101

PORTUGOL

• Comandos Básicos

• Comandos imperativos

• Comandos de entrada e saída

• Comando para leitura:

IDENTIFICADORLeia (

,

;)

102102102102102102102102

PORTUGOL

• Comandos Básicos

• Comandos imperativos

• Comandos de entrada e saída

• Comando para saída:

IDENTIFICADORImprima (

,

;)

EXPRESSÃO

CARACTER

103103103103103103103103

PORTUGOL

• Comandos de entrada e saída• Desafio 17 – valor xx pontos – Fazer dentro de sala.

• Elaborar os seguintes algoritmos:• Ler três números simultaneamente e imprimir a soma dos três números;• Ler um número de cada vez, e imprimir a soma desses números. O

último número deverá ser 999 que indicará o fim do fornecimento dos números e não deverá fazer parte da soma.

• Ler dez palavras e imprimir de uma só vez na ordem inversa que foram informadas.

Entregar via e-mail na data xx/xx/xx

104104104104104104104104

PORTUGOL

• Teste de mesa• Desafio 18 – valor xx pontos – Fazer dentro de sala.

• Seja o seguinte algoritmo:

Entregar via e-mail na data xx/xx/xx

Iníciointeiro VALOR, SOMA;SOMA ← 0;Leia (VALOR);enquanto VALOR ≠ -1 faça

SOMA ← SOMA + VALOR; Leia (VALOR);Fim enquanto;Imprima (“O valor da soma é:”, SOMA);fim

Realizar o teste de mesa para os seguintes valores:1, -4, 5, 8, 17, 21, -1. E informar qual será o resultado final a partir do algoritmo ao lado. Definir qual é o objetivo do algoritmo.

105105105105105105105105

PORTUGOL

• Teste de mesa• Desafio 19 – valor xx pontos – Fazer dentro de sala.

• Seja o seguinte algoritmo:

Entregar via e-mail na data xx/xx/xx

Iníciointeiro VALOR, MENOR;Leia (VALOR);MENOR ← VALOR;enquanto VALOR ≠ -1 faça

se VALOR < MENOR então MENOR ← VALOR; fim se;

Leia (VALOR);Fim enquanto;Imprima (“O menor valor é:”, MENOR);Fim.

Realizar o teste de mesa para os seguintes valores:1, -4, 5, 8, 17, 21, -1. Informar qual será o resultado final a partir do algoritmo ao lado. Definir qual é o objetivo do algoritmo.

106106106106106106106106

PORTUGOL

• Teste de mesa• Desafio 20 – valor xx pontos – Fazer dentro de sala.

• Seja o seguinte algoritmo:

Entregar via e-mail na data xx/xx/xx

Iníciointeiro VALOR, MENOR,MAIOR;Leia (VALOR);MENOR ← VALOR;

MAIOR← VALOR;enquanto VALOR ≠ -1 faça

se VALOR >MAIOR então MAIOR ← VALOR; senão se VALOR < MENOR então

MAIOR ← VALOR; fim se; fim se;

Leia (VALOR);Fim enquanto;Imprima (“O menor valor é:”, MENOR,”O maior valor é:”,MAIOR);Fim.

Realizar o teste de mesa para os seguintes valores:1, -4, 5, 8, 17, 21, -1. Informar qual será o resultado final a partir do algoritmo ao lado. Definir qual é o objetivo do algoritmo.

107107107107107107107107

PORTUGOL

• Teste de mesa• Desafio 21 – valor xx pontos – Fazer dentro de sala.

• Seja o seguinte algoritmo:

Entregar via e-mail na data xx/xx/xx

Iníciointeiro VALOR, MENOR,MAIOR;Leia (VALOR);MENOR ← VALOR;

MAIOR← VALOR;enquanto VALOR ≠ -1 faça

se VALOR >MAIOR então MAIOR ← VALOR; senão se VALOR < MENOR então

MAIOR ← VALOR; fim se; fim se;

Leia (VALOR);Fim enquantoImprima (“O menor valor é:”, MENOR,”O maior valor é:”,MAIOR);Fim.

Realizar o teste de mesa para os seguintes valores:1, -4, 5, 8, 17, 21, -1. Informar qual será o resultado final a partir do algoritmo ao lado. Definir qual é o objetivo do algoritmo.

108108108108108108108108

PORTUGOL

• Teste de mesa• Desafio 22 – valor xx pontos – Fazer dentro de sala.

• Seja o seguinte algoritmo:

Entregar via e-mail na data xx/xx/xx

Iníciointeiro A,B,C;Leia (A,B,C);se A < B +C e B < A + C e C < A + B emtão se A = B e B = C emtão imprima (“TRIÂNGULO EQUILÁTERO”); se não

se A = B ou A = C ou C = B emtão

imprima (“TRIÂNGULO ISÓCELES”); se não imprima (“TRIÂNGULO ESCALENO”); fim se; fim se; imprima(“NÃO É TRIÂNGULO”);fim se;Fim.

Dados três valores A, B, C, verificar se eles podem ser valores dos lados de um triângulo e, se for, se é triângulo eqüilátero, isóceles ou escaleno. Definir qual é o objetivo do algoritmo.

109109109109109109109109

PORTUGOL

• Teste de mesa• Desafio 23 – valor xx pontos – Fazer dentro de sala.

• Seja o seguinte algoritmo:

Entregar via e-mail na data xx/xx/xx

Inícioreal VOLUME, PI,R;PI ← 3,1416PI ← 3,1416Enquanto R < 6 faça VOLUME ← 4/3 * PI * (R ** 3); imprima (R, VOLUME); R ← R + 2;Fim enquanto;

Complemente os valores que serão impressos:

R VOLUME0 02 33,51

Qual é o objetivo do algoritmo ?

110110110110110110110110

PORTUGOL

• Teste de mesa• Desafio 23 – valor xx pontos – Fazer dentro de sala.

• Seja o seguinte algoritmo:

Entregar via e-mail na data xx/xx/xx

Inícioreal VOLUME, PI,R;PI ← 3,1416PI ← 3,1416Enquanto R < 6 faça VOLUME ← 4/3 * PI * (R ** 3); imprima (R, VOLUME); R ← R + 2;Fim enquanto;

Complemente os valores que serão impressos:

R VOLUME0 02 33,51

Qual é o objetivo do algoritmo ?

111111111111111111111111

PORTUGOL

• Teste de mesa• Desafio 24 – valor xx pontos – Fazer dentro de sala.

• Seja o seguinte algoritmo:

Entregar via e-mail na data xx/xx/xx

Inícioreal VOLUME, PI,R;PI ← 3,1416PI ← 3,1416Enquanto R < 6 faça VOLUME ← 4/3 * PI * (R ** 3); imprima (R, VOLUME); R ← R + 2;Fim enquanto;

Complemente os valores que serão impressos:

R VOLUME0 02 33,51

Qual é o objetivo do algoritmo ?

112112112112112112112112

PORTUGOL

• Operadores• Operadores são símbolos ou palavras que representam ações a serem aplicadas entre um ou mais de seus operandos, obtendo um único resultado, permitindo dessa forma a formação de expressões.

• +, Simboliza a operação de adição sobre os dois operandos (números ou variáveis);

• -, Simboliza a operação de subtração sobre os dois operandos (números ou variáveis);

113113113113113113113113

PORTUGOL

• Operadores• Operadores:

• div, retorna o resultado da operação de divisão entre dois inteiros. Esses inteiros podem ser constantes numéricas ou variáveis.

• Ex:sejam A e B duas variáveis inteiras com os valores 5 e 2 respectivamente.

C = A div B retornará 2 em C que é o resultado da divisão de 16 por 6.

114114114114114114114114

PORTUGOL

• Operadores• Operadores:

• mod, retorna o resto inteiro da operação de divisão entre dois inteiros. Esses inteiros podem ser constantes numéricas ou variáveis.

• Ex:sejam A e B duas variáveis inteiras com os valores 16 e 6 respectivamente.

C = A mod B retornará 4 em C que é o resto da divisção de 5 por 2.

115115115115115115115115

PORTUGOL

• Teste de mesa• Desafio 25 – valor xx pontos – Fazer dentro de sala.

• Determine os valores que serão impressos depois da execução do algoritmo abaixo:

Entregar via e-mail na data xx/xx/xx

Iníciointeiro NÚMERO,D1, D2, D3, D4;NÚMERO ← 1.362D4 ← NÚMERO mod 10;D3 ← (NÚMERO div 100) mod 10;D2 ← NÚMERO mod 10;D1 ← (NÚMERO div 1000) mod 10;Imprima(D4,D3,D2,D1);Fim enquanto;

D1D2D3D4

116116116116116116116116

PORTUGOL

• Teste de mesa• Desafio 26 – valor xx pontos – Fazer dentro de sala.

• Quais os resultados produzidos pelo algoritmo que se segue ?

Entregar via e-mail na data xx/xx/xx

Iníciológico X;inteiro Y;Y ← 0;X ← falso;enquanto Y ≠ 6 faça

X ← não X;Y ← y + 1;se X então imprima(Y);Se não imprima( - Y);Fim se

Fim enquanto; Fim;

XY

117117117117117117117117

PORTUGOL

• Teste de mesa• Desafio 27 – valor xx pontos – Fazer dentro de sala.

• O que está de errado no algoritmo abaixo ?

Entregar via e-mail na data xx/xx/xx

Iníciointeiro N, PAR, X;leia(N);X ← N mod 2;Se x = 0 então PAR ← verdadeiro;Se não PAR ← falso;Fim;

NPARX

118118118118118118118118

PORTUGOL

• Teste de mesa• Desafio 28 – valor xx pontos – Fazer dentro de sala.

• O que será impresso depois do algoritmo ?

Entregar via e-mail na data xx/xx/xx

Iníciocaracter QUALE;inteiro NUM;leia(NUM);Se NUM > 0 então QUALE ← “Número positivo;Se não QUALE ← “Zero”;Fim seFim;

NUMQUALE

Fazer para NUM 10, 0 e -45

119119119119119119119119

PORTUGOL

• Teste de mesa• Desafio 28 – valor xx pontos – Fazer dentro de sala.

• Elaborar um algoritmo em portugol par fazer a soma de vários valores positivos lidos a partir do teclado o último valor será -1 para indicar o fim dos valores lidos.

• Construir um algoritmo em portugol para calcular a média de um conjunto de valores inteiros que serão fornecidos a partir do teclado um de cada vez, o último valor terá o valor de 9999 e não deverá ser incluído no cálculo.

• Construir um algoritmo em portugol para calcular as raízes de uma equação de segundo grau, sendo que os valores dos coeficientes A, B, C serão fornecidos pelo teclado todos de uma única vez.

• Sendo ,fazer um algoritmo em portugol para gerar o número H. O número N será lido a partir do teclado.

Para cada algoritmo fazer o teste de mesa e entregar com no mínimo 10 interações.

Entregar via e-mail na data xx/xx/xx

nH

1...

5

1

4

1

3

1

2

11

120120120120120120120120

PORTUGOL

• Teste de mesa• Desafio 29 – valor xx pontos – Fazer dentro de sala.

• Calcular o Imposto de renda de um grupo de contribuintes considerando:• Os dados de cada contribuinte será informado via teclado com as seguintes

informações: cpf, número de dependentes, renda anual.• Os dados do último contribuinte terá cpf igual a zero e não deve ser

considerado.• Para cada contribuinte será feito um desconto de R$6.000,00 por dependente.• Imprimir cpf, renda, número de dependentes e o imposto de renda.• Os valores da alíquota para cálculo do imposto são:

Fazer o teste de mesa e entregar com no mínimo 2 exemplos para cada faixa.

Entregar via e-mail na data xx/xx/xx

Renda líquida alíquotaAté R$ 20.000,00 isentoDe R$ 20.000,01 a R$ 50.000,00 5%De R$ 50.000,01 a R$ 100.000,00 10%Acima de R$ 100.000,00 15%

121121121121121121121121

PORTUGOL

• Teste de mesa• Desafio 30 – valor xx pontos – Fazer dentro de sala.

• Escrever um algoritmo em portugol que calcule o fatorial de um número informado pelo teclado e o imprima na tela;

• Elaborar um algoritmo que leia um número real via teclado e calcule o somatório dos 20 primeiros termos da série

• Elaborar um algoritmo em portugol para um programa que leia os seguintes dados do teclado, código (1= Masc e 2=Feminino) e a altura da pessoa, e no final, quando for informado o código 0 que indica o final, imprimir:

• A maior e a menor altura da turma;• A média da altura das mulheres;• A média da altura dos homens;• A média da altura da turma;• Número de mulheres na turma;• Número de homens na turma;• Total de alunos da turma.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

!20...

!4!3!2!1

XXXXXXS

122122122122122122122122

PORTUGOL

• Teste de mesa• Desafio 31 – valor xx pontos – Fazer dentro de sala.

• Escrever um algoritmo que leia a partir do teclado o número do aluno e a sua nota, o último aluno terá o seu número 99 que não deve ser incluído no processamento. Depois imprimir na tela para aquele aluno que obteve a maior nota o seu número com a respectiva nota o mesmo para o aluno que obteve a menor nota.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

123123123123123123123123

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – VETORES

Elabore um algoritmo em portugol que leie o nome e o telefone de uma pessoa a partir do teclado e imprima o nome e telefone.

InicioCharacter: NomeInteiro: TelefoneLeia(Nome, Telefone)Enquanto Telefone <> 0 faça imprima (“Nome:”,Nome,” Telefone: Telefone);Fimenquantofim

124124124124124124124124

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – VETORES

• Altere o algoritmo anterior para ler 2 números de telefones para a mesma pessoa ao invés de apenas 1;

• Agora altere o mesmo algoritmo para ler 5 números;• Agora altere para ler 10 números;• Agora altere para ler 50 números;• Agora altere para ler 100 números;• Agora altere para ler 500 números;

• Quais os inconvenientes que surgiram com as alterações acima ?

__________________________________________________

125125125125125125125125

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – VETORES

• O quê as 500 variáveis criadas no algoritmo anterior têm em comum ?

• _________________;

• _________________.

• Qual é então o grande desafio ?

• O Desafio é arrumar uma maneira sintética (que se escreva pouco) para representar todas estas variáveis de forma que mantenha a mesma semântica e permita a manipulação das variáveis de uma forma natural.

126126126126126126126126

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – VETORES

• Vetores:

• É uma coleção (uma quantidade) de uma determinada variável do mesmo tipo (primitiva ou composta) com a mesma semântica e que é referenciada por um único nome com a utilização de um índice.

Telefone                           

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

127127127127127127127127

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – VETORES

• Vetores:

• Cada quadrado representa uma variável que por sua vez representa um telefone• Pode-se ter tantos telefones quanto forem necessários• Cada variável telefone é do mesmo tipo• Cada variável carrega a mesma semântica “número do telefone”• Pode-se ter uma única variável representando vários tipos ao mesmo tempo, esta

estrutura será vista mais adiante.

                           

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

telefone

128128128128128128128128

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – VETORES

• Vetores:

• Como seria a definição da variável telefone no portugol ?

                           

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

telefone

129129129129129129129129

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – VETORES

• Vetores:

• Como seria a definição da variável telefone no portugol para definir os 500 telefones do algoritmo ?

Tipo v = vetor[1:500] inteiro v: telefone

                           

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

telefone

Definição de novos tiposIndica a definição de um tipo de dados chamado vetor com 500 ocorrências

Representação gráfica de como a variável iria ficar na memória

do computador

130130130130130130130130

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 32 – valor xx pontos – Fazer dentro de sala.

• Definir os seguintes vetores:• Um vetor telefone do tipo inteiro de 1000 ocorrências• Um vetor Nome do tipo caracter de 10 ocorrências• Um vetor NúmeroDiaDaSemana• Um vetor NomeDoDiaDaSemana• Um vetor NomeDosMeses• Um vetor NúmeroDosMeses• Um vetor Nota do tipo real de 12 ocorrências• Um vetor Lógico de 10 ocorrências (Verdadeiro ou Falso)• Faça 4 sugestões de vetores informando o seu nome, tipo e número de

ocorrências. Defina cada uma das sugestões usando a sintaxe do portugol.

Entregar via e-mail na data xx/xx/xx

131131131131131131131131

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – VETORES

• Vetores:

• Como seria a manipulação(atribuir, fornecer, participar em expressões matemáticas e lógicas) da variável telefone no portugol?

• Tipo telefone = vetor[1:500] inteiro

                           

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

Este é um telefone

telefone

Indica a quantidade de variáveis telefone do tipo inteiro

Representação gráfica de como a variável iria ficar na memória

do computador

132132132132132132132132

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – VETORES

• Vetores:

Tipo v = vetor[1:500] inteiro v: telefone

• Como seria a manipulação(atribuir, fornecer, participar em expressões matemáticas e lógicas) da variável telefone no portugol?

• Atribuição

var1 <- telefone(1);

var1 <- telefone(indice);

Atribuindo a primeira ocorrência do vetor telefone para a variável var1. A variável var1 tem que te o mesmo tipo do vetor telefone.

Atribuindo a ocorrência indicada pelo valor da variável índice do vetor telefone para a variável var1. A variável var1 tem que ter o mesmo tipo do vetor telefone.

133133133133133133133133

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – VETORES

• Vetores:

Tipo v = vetor[1:500] inteiro v: telefone

• Atribuição

var1 <- telefone(índice);

telefone(5) <- var1;

telefone(x) <- var2;

A variável índice tem que ser obrigatoriamente do tipo inteiro. Não existe indexador fracionário.

Atribuindo o valor da variável var1 para a quinta ocorrência do vetor telefone.

134134134134134134134134

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – VETORES

• Vetores:

Tipo v = vetor[1:500] inteiro v: telefone

• Condição

Se telefone(3) = var1 entãoc1;c2;

Senãoc3;c4;

Fimse;

enquanto telefone(índice) = var1 façac1;c2;c3;c4;

Fimenquanto;

135135135135135135135135

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 33 – valor xx pontos – Fazer dentro de sala.

• Dado o seguinte vetor:

• Responda:• A variável nota deve ser definida com qual tipo ?• A variável nota é um array ? Explique a sua resposta• Se for um array qual é o número de ocorrências da

variável nota ?• A variável nota pode ser envolvida em uma expressão ?

Entregar via e-mail na data xx/xx/xx

                           nota

136136136136136136136136

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 34 – valor xx pontos – Fazer dentro de sala.

• Dado o seguinte vetor:• Faça o que se pede:

• Defina a variável nota como um vetor;• Atribua o valor 5 a última ocorrência para a variável nota;• Defina uma variável xpto com o mesmo tipo da variável nota;• Atribua a ocorrência 5 do vetor nota para a variável xpto;• Verifique se a ocorrência 1 da variável nota é igual à variável

definida;• Elabore um algoritmo para ler dois valores do teclado de cada vez,

o primeiro é o índice indicando em qual ocorrência o segundo valor será colocado. A entrada dos valores deverá terminar quando todo o vetor estiver preenchido. Depois de entrar os últimos valores o algoritmo deverá imprimir o conteúdo do vetor, indicando a ocorrência e o valor da ocorrência.

Continua na próxima transparência.

Entregar via e-mail na data xx/xx/xx

137137137137137137137137

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 34 – valor xx pontos – Fazer dentro de sala.

Entrada:

1, 2 (o valor 2 deverá ser colocado na ocorrência 1 do vetor)5, 3 (o valor 3 deverá ser colocado na ocorrência 5 do vetor)

Saída:

ocorrência 1 – valor 2 ocorrência 2 - valor x

Entregar via e-mail na data xx/xx/xx

138138138138138138138138

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• REPETIÇÃO COM TESTE NO FINAL

• Comando repita:

repitac1;c2;...cn;

Até <condição>cx;Cy;

Comando de repetição com teste no final. Os comandos c1, c2,...,cn serão executados pelo menos uma vez. O teste é feito e se a condição for verdadeira o controle é retornado para o comando repita, repetindo os comandos, caso o teste seja falso o programa continua a execução no comando cx.

139139139139139139139139

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• REPETIÇÃO COM TESTE NO FINAL

repitac1;c2;...cn;

Até <condição>cx;cy;

Estes comandos serão executados pelo menos uma única vez.

A condição é testada no final dos comandos, caso seja verdadeira o controle é retornado ao comando repita e os comandos são executados novamente.

Estes comandos serão executados quando a condição for falsa.

140140140140140140140140

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• REPETIÇÃO COM TESTE NO FINAL

Exemplo: Considere o algoritmo do desafio 33inicio

tipo v = vetor [1:10] real;v: notas;inteiro: indice, valorrepita

leia(indice, valor)se indice > 10 ou indice < 1 ou indice =/= -1

então escreva “indice fora do intervalo do vetor”; escreva “entre novamente”;

senão nota(indice)<- valor;

fimseaté indice =/= -1

fim

Faça um teste de mesa no algoritmo ao lado de forma que o teste preencha todas as ocorrências dos vetor. Observe e anote as anomalias apresentadas pelo algoritmo.

141141141141141141141141

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• REPETIÇÃO COM TESTE NO FINAL

• Em relação ao exemplo do slide anterior responda:• Qual vetor temos definido no algoritmo ?• Qual o tipo do vetor ?• Quantas ocorrências ?• Qual é a condição para que o algoritmo termine ?• Foi necessário fazer uma leitura antes para fazer o processamento,

como era feito no comando enquanto ?• O que poderia acontecer se não houvesse a consistência no algoritmo

perguntando se o índice está entre 1 e 10 e diferente de -1 ?• O algoritmo preenche o vetor de uma forma uniforme, ou seja, uma

ocorrência após a outra ? Explique a sua resposta.• O vetor é obrigatoriamente preenchido ? Explique sua resposta.• Pode-se sobrepor ocorrências do vetor ? Explique.• Pode-se usar o comando enquanto no lugar do comando repita ?

142142142142142142142142

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• REPETIÇÃO COM VARIÁVEL DE CONTROLE

• Comando para

Para v de i até l passo p façac1;c2;...cn;

Fim paracx;cy;

Comando de repetição com variável de controle. A repetição se iniciará colocando a variável v com o mesmo valor de i, a variável v variará de i até l sendo incrementada ou decrescida de 1. Na primeira interação do loop, é feito o teste para verificar se a variável v chegou em l, caso não seja verdadeiro, os comandos serão executados até fim para, quando o controle é retornado ao comando para, da segunda vez em diante a variável v é decrescida ou incrementada pela variável p, o teste volta a ser feito, se o teste for falso, ou seja, p não atingiu l, os comandos são executados novamente, caso v tenha chegado até l, o programa pula para após fo fim para.

143143143143143143143143

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• REPETIÇÃO COM VARIÁVEL DE CONTROLE

Para v de i até l passo p façac1;c2;...cn;

Fim paracx;cy;

“v” deve ser obrigatóriamente uma variável do tipo inteira e é a variável sob a qual está baseado o controle do loop. O ideal, é que esta variável não seja modificada nos comandos c1, c2, ..., cn. Caso isso ocorra, corre-se o risco de v nunca atingir l.

“i” pode ser uma variável ou uma constante numérica inteira ou uma expressão. Ela indica o valor com o qual a variável v será iniciada. Só é utilizada na primeira interação da repetição.

“l” é uma variável ou constante ou uma expressão numérica que indica o valor final que a variável “v” deve atingir para que a repetição seja finalizada. Em toda a interação um teste é feito para ver se o valor de “v” chegou até o valor de “l”, se o teste for verdadeiro a repetição é terminada, caso contrário a repetição continua.

“p” variável ou constante numérica ou uma expressão que indica o valor que será adicionado ou subtraído da variável de controle.Esta variável não é usada na primeira interação da repetição.

144144144144144144144144

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• REPETIÇÃO COM VARIÁVEL DE CONTROLE

144144144144144144144144

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

Para v de i até l passo p façac1;c2;...cn;

Fim paracx;cy;

Comandos a serem executados caso o teste da variável “v” sobre a variável “l” seja falso, ou seja, se a variável “v” não atingiu o valor da variável “l”

Separador ou terminador do comando de repetição “para”. Quando o teste da variável de controle for falso, os comandos internos a estrutra de repetição “para” são executados até este marcador, quando o teste for verdadeiro a execução do algoritmo continua com os comandos após o marcador.

145145145145145145145145

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• REPETIÇÃO COM VARIÁVEL DE CONTROLE

• Considere o seguinte algoritmo:

InicioInteiro: x;Para x de 1 até 10 passo 1 faça

c1;c2;...cn;

Fim paracx;cy;

1. Quais os valores que fazem o papel das seguintes variáveis ?a. v;b. i;c. l;d. p;

2. Explique como funcionará a estrutura de repetição “para”.

3. Quando os comandos cx e cy serão executados ?

4. Quando os comandos c1,c2,...,cn serão executados ?

5. Quantas vezes a estrutura de repetição será executada ?

146146146146146146146146

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• REPETIÇÃO COM VARIÁVEL DE CONTROLE

• Considere o seguinte algoritmo:

InicioInteiro: x;w,z,yPara x de z até w passo y faça

c1;c2;...cn;

Fim paracx;cy;

1. Quais as variáveis que fazem o papel das seguintes variáveis ?a. v;b. i;c. l;d. p;

2. Explique o papel de cada uma das variáveis no comando “para”.

3. Considere os seguintes valores para as varia´veis x,w,z e y. Explique como funcionará o comando “para” para cada uma das configurações.a. x=100,z=1,w=5,y=1;b. x=0,z=6,w=5,y=1;c. x=?,z=5,w=5,y=-1;d. x=?,z=0,w=-5,y=-1;e. x=?,z=-6,w=-7,y=1;f. x=?,z=-6,w=-6,y=-1;g. x=0,z=6,w=5,y=-1;h. x=0,z=0,w=10,y=2;

147147147147147147147147

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• REPETIÇÃO COM VARIÁVEL DE CONTROLE

• Considere o seguinte algoritmo:

InicioInteiro: x;w,z,yPara x de z até w passo y faça

c1;c2;...cn;

Fim paracx;cy;

1. Indique os valores de x,w,y,z para atender as seguintes especificações de como deve funcionar a repetição descrita no comando “para” ao lado.a. Os comandos dentro do comando

“para” não devem ser executados nenhuma vez;

b. O comando “para” deve ser executado 20 vezes e terminar com o valor de “x” em 100 executando os comandos internos ao “para” 5 vezes;

c. Os comandos dentro do comando “para” devem ser executados apenas uma única vez;

d. O comando “para” deve ser executado 20 vezes e terminar com o valor de “x” em 100 e come;ar em 200 executando os comandos internos ao “para” 5 vezes.

148148148148148148148148

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• O COMANDO ABANDONE

• O comando “abandone” é um comando imperativo que pode ser usado dentro de qualquer estrutura de repetição “enquanto”, “para” e “repita” ou ate mesmo dentro do bloco “inicio e fim” de um algoritmo. Ele forca o termino da estrutura de repetição incondicionalmente. Quando encontrado fora de uma estrutura de repetição mas dentro de um bloco “inicio e fim” ele termina o programa.

InicioInteiro: x;w,z,yPara x de z até w passo y faça

c1;c2;.abandone;.cn;

Fim paracx;cy;

149149149149149149149149

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 35 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

InicioInteiro: i;Tipo v = vetor [1:6] inteiro;Tipo c = vetor [1:6] caracter;v:VE; c:CAVE[1]<-1;VE[2]<-2;VE[3]<-3;VE[4]<-4;VE[5]<-5;CA[1]<-”SEG”;CA[1]<-”TER”;CA[1]<-”QUA”;CA[1]<-”SEX”;CA[1]<-”SAB”;Para i de 1 até 6 paso 2 faça imprima(CA[VE[i]])Fim para;Imprima(CA[VE[VE[3]]]);fim

Faça o teste de mesa no algoritmo ao lado e mostre o que será impresso.

150150150150150150150150

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 36 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

Inicioreal: X;tipo v = vetor [1:6] real;v: V;inteiro: i;V[1]<-1;V[2]<-2;V[3]<-3;V[4]<-4;V[5]<-5;X <- V[1] + V[5];imprima(X);X <- V[2] – V[5];imprima(X);X <- V[4] * V[1]-X;imprima(X);I <-3;X<-V[i];imprima(X);X <- V[i] /V[V[1]];imprima(X);fim

Faça o teste de mesa no algoritmo ao lado e mostre o que será impresso.

151151151151151151151151

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 37 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

Um professor tem uma turma de 80 alunos e deseja calcular e imprimir a nota de cada aluno seguida da média da turma. O número do aluno juntamente com as notas são fornecidos em cartão, um por aluno.

Entrada:NotaNotaNota...Nota (octagésima)

Faça o teste de mesa no algoritmo ao lado e mostre o que será impresso.

SaídaNúmero aluno, Nota, média...Número aluno, Nota, média

152152152152152152152152

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 38 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

Dado o vetor de caracteres abaixo, qual será a sua configuração depois de executados os comandos ?

Faça o teste de mesa no algoritmo ao lado e mostre o que será impresso.

U! TO ER AC

para i de 2 até 4 passo 1 façaAUX <- CRR[i];CRR[8- i + 1];CRR[8 – i + 1] <- AUX;

fim paraAUX <- CRR[1];CRR [1] <- CRR[8];CRR[8] <- AUX;

153153153153153153153153

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 39 – valor xx pontos – Fazer dentro de sala.

Dados dois vetores R[1:10] e S[1:20], escreva um algoritmo que:

Leia os vetores R e S a partir de cartões e:• Gere o vetor X correspondente à união dos vetores R e

S;• Gere o vetor Y com os elementos comuns de R e S;• Gere o vetor Z com os elementos de R que não estão

em S;

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

154154154154154154154154

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 40 – valor xx pontos – Fazer dentro de sala.

Um armazém trabalha com 100 mercadorias diferentes identificadas pelos números inteiros de 1 a 100. O dono do armazém anota a quantidade de cada mercadoria vendida durante o mês. Ele tem uma tabela que indica para cada mercadoria o preço de venda. Escreva o algoritmo para calcular o faturamento mensal do armazém, isto é:

FATURAMENTO =

As tabelas de preço e de quantidade são fornecidas separadamente e deverão ser lidas a partir do teclado.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

100

1

)*( PREÇOQUANTIDADE

155155155155155155155155

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 40 – valor xx pontos – Fazer dentro de sala.

ENTRADA:

QUANTIDADE

PRECO

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

3

2,00 30,00 5,00 15,00 1,00 25

20 35 100 3 21 25

156156156156156156156156

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 41 – valor xx pontos – Fazer dentro de sala.

Elaborar um algoritmo para classificar um vetor numérico de 20 elementos em ordem crescente.

A idéia e comparar os elementos dois a dois e ir jogando os elementos de mais alto valor para as ultimas posições do vetor ate obter o vetor classificado.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

157157157157157157157157

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 41 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

5 4 3 2 6 1

4 5 3 2 6 1

4 3 5 2 6 1

4 3 2 5 6 1

Stop no 5

4 3 2 5 1 6

4 3 2 5 6 1

3 4 2 5 1 6

4 2 3 5 1 6

158158158158158158158158

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 41 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

4 2 3 5 1 6

4 2 3 1 5 6

2 4 3 1 5 6

2 4 3 1 5 6

2 3 1 4 5 6

2 3 4 1 5 6

2 1 3 4 5 6

1 2 3 4 5 6

159159159159159159159159

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 42 – valor xx pontos – Fazer dentro de sala.

1. Dar o número de elementos de cada um dos vetores dados abaixo:a) VET [-5: +5]b) NOME [0:10]c) OC [1:10]d) ARR [0:N]

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

160160160160160160160160

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 43 – valor xx pontos – Fazer dentro de sala.

Dado o vetor VET definido por:tipo v = vetor[1:100] inteiro;v = VET;

1. Elabore um algoritmo para preencher o vetor com o valor inteiro 30 e depois imprimir as ocorrências pares com o indicador da ocorrência e o valor contido nela.

2. Preenche-lo com os valores inteiros 1 a 100 e depois imprimir cada ocorrência ímpar com o índice da ocorrência e o seu conteúdo.

3. Preencher o vetor VET[i] se i for um quadrado perfeito e com zero nos demais casos.

4. Preencher o vetor VET[i] com 0 se i for par, nos demais casos preencher com 1.Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

161161161161161161161161

PORTUGOL

• Teste de mesa – Tipos de dados Vetores• Desafio 44 – valor xx pontos – Fazer dentro de sala.

• Qual será a configuração do vetor acima depois de executados os seguintes comandos ?

Entregar via e-mail na data xx/xx/xx

3 2 4 1 2 5 8 3

para i de 8 até 5 passo -1 faça AUX <- VET[i]; VET[I] <- VET[8-i+1]; VET[8-i+1] <- AUX;fim para;VET[3] <- VET[1];VET[VET[3]]<-VET[VET[2]];

162162162162162162162162

PORTUGOL• Teste de mesa – Tipos de dados

Vetores• Desafio 44 – valor xx pontos – Fazer dentro de sala.

• Construir um algoritmo para imprimir a soma de dois vetores do mesmo tamanho e do mesmo tipo.

• O que pode estar errado com o algoritmo a seguir ?

Entregar via e-mail na data xx/xx/xx

Iníciointeiro: A,B,I,L,P,C;A <- 1;B <- 1;leia(L,P);Para I de 1 até L passo P faça

C <- A + B;

imprima(C);A <- B;B <- C;

fim para;fim

163163163163163163163163

PORTUGOL• Teste de mesa – Tipos de dados

Vetores• Desafio 45 – valor xx pontos – Fazer dentro de sala.

• Escreva um algoritmo, em portugol, para um programa que:• Leia um conjunto A de 100 elementos reais;• Construa e imprima um outro conjunto B

formado da seguinte maneira:• Os elementos de ordem (índice) par são os

correspondentes de A dividido por 2;• Os elementos de ordem ímpar são os

correspondentes de A multiplicados por 3.

Entregar via e-mail na data xx/xx/xx

164164164164164164164164

PORTUGOL• Teste de mesa – Tipos de dados

Vetores• Desafio 46 – valor xx pontos – Fazer dentro de sala.

• Dado o seguinte vetor de caracteres:

Qual será a sua configuração após serem executados os comandos a seguir ?

Entregar via e-mail na data xx/xx/xx

T R X S E O B A !

AUX <- VET[6];VET[6] <- VET[9];VET[9] <- <- AUX;Para I de 1 até 4 passo 1 faça AUX <- VET [I]; VET[I] <- VET[9-i]; VET[9-i] <- AUX;fim paraVET[6] <- VET [2];

165165165165165165165165

PORTUGOL• Teste de mesa – Tipos de dados

Vetores• Desafio 47 – valor xx pontos – Fazer dentro de sala.

• Elaborar um algoritmo para calcular o número de alunos que tiveram nota acima da média da turma. As notas são fornecidas em cartão e são 40 alunos na turma.

Entregar via e-mail na data xx/xx/xx

166166166166166166166166

PORTUGOL• Teste de mesa – Tipos de dados

Vetores• Desafio 48 – valor xx pontos – Fazer dentro de sala.

• Escreva um algoritmo em portugol que:• Leia um conjunto A de 20 elementos, um de cada

vez. • Calcule e imprima o valor de S onde:

Entregar via e-mail na data xx/xx/xx

21011

2183

2192

2201 )(...)()()( AAAAAAAAs

221

10

1)( ii i AAS

167167167167167167167167

PORTUGOL• Teste de mesa – Tipos de dados

Vetores• Desafio 49 – valor xx pontos – Fazer dentro de sala.

• Escreva um algoritmo em portugol que:• Leia um conjunto A de 20 elementos, um de cada

vez. • Calcule e imprima o valor de S onde:

Entregar via e-mail na data xx/xx/xx

21011

2183

2192

2201 )(...)()()( AAAAAAAAs

221

10

1)( ii i AAS

168168168168168168168168

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS - MATRIZES

169169169169169169169169

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – MATRIZES

As aulas da disciplina de fundamentos de Programação acontecem no primeiro semestre letivo do Curso de Ciência da Computação. Todos os dias de cada mês do semestre são ministradas duas aulas e em todos os dias é aplicada uma avaliação valendo 10 pontos. Elabore um algoritmo para ler as notas de cada das avaliações aplicadas e depois imprima a média das notas de cada mês.

170170170170170170170170

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – MATRIZES• Definição do Tipo Matriz

171171171171171171171171

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – MATRIZES• Definição de uma variável do tipo Matriz

172172172172172172172172

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – MATRIZES• Representação de uma variável associada a um tipo Matriz na

memória do computador

173173173173173173173173

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – MATRIZES• Usando uma variável do tipo matriz em uma estrutura de repetição

condicional com variável de controle “para”

174174174174174174174174

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – MATRIZES• Acesso aos elementos de uma variável do tipo matriz

175175175175175175175175

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – MATRIZES• Colocando informações dentro de uma variável do tipo matriz

176176176176176176176176

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – MATRIZES• Atribuindo informações de dentro de uma variável do tipo matriz

para uma variável qualquer

177177177177177177177177

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – MATRIZES• Usando uma variável do tipo matriz em uma estrutura condicional

178178178178178178178178

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• COMANDO ESCOLHA

179179179179179179179179

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• COMANDO ESCOLHA

180180180180180180180180

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• COMANDO ESCOLHA

181181181181181181181181

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• COMANDO ESCOLHA

182182182182182182182182

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• COMANDO ESCOLHA

183183183183183183183183

PORTUGOL

• Teste de mesa – Tipos de dados Matrizes• Desafio 50 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

184184184184184184184184

PORTUGOL

• Teste de mesa – Tipos de dados Matrizes• Desafio 51 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

185185185185185185185185

PORTUGOL

• Teste de mesa – Tipos de dados Matrizes• Desafio 52 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

186186186186186186186186

PORTUGOL

• Teste de mesa – Tipos de dados Matrizes• Desafio 53 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

187187187187187187187187

PORTUGOL

• Teste de mesa – Tipos de dados Matrizes• Desafio 54 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

188188188188188188188188

PORTUGOL

• Teste de mesa – Tipos de dados Matrizes• Desafio 55 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

189189189189189189189189

PORTUGOL

• Teste de mesa – Tipos de dados Matrizes• Desafio 56 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

190190190190190190190190

PORTUGOL

• Teste de mesa – Tipos de dados Matrizes• Desafio 57 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

191191191191191191191191

PORTUGOL

• Teste de mesa – Tipos de dados Matrizes• Desafio 58 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

192192192192192192192192

PORTUGOL

• Teste de mesa – Tipos de dados Matrizes• Desafio 59 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

193193193193193193193193

PORTUGOL

• Teste de mesa – Tipos de dados Matrizes• Desafio 60 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

194194194194194194194194

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – REGISTRO

As aulas da disciplina de fundamentos de Programação acontecem no primeiro semestre letivo do Curso de Ciência da Computação. Todos os dias de cada mês do semestre são ministradas duas aulas e em todos os dias é aplicada uma avaliação valendo 10 pontos. Elabore um algoritmo para ler as notas de cada das avaliações aplicadas e depois imprima a média das notas de cada mês.

195195195195195195195195

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – REGISTRO• Definição do Tipo Registro

196196196196196196196196

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – REGISTRO• Definição de uma variável do tipo Registro

197197197197197197197197

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – REGISTRO• Representação de uma variável associada a um tipo Registro na

memória do computador

198198198198198198198198

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – REGISTRO• Lendo uma variável do tipo registro

199199199199199199199199

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – REGISTRO• Acesso aos elementos de uma variável do tipo registro

200200200200200200200200

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – REGISTRO• Colocando informações dentro de uma variável do tipo registro

201201201201201201201201

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – REGISTRO• Atribuindo informações de dentro de uma variável do tipo registro

para uma variável qualquer

202202202202202202202202

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS – REGISTRO• Usando uma variável do tipo registro em uma estrutura

condicional

203203203203203203203203

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• Teste de mesa – Tipos de dados Registro• Desafio 60 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

204204204204204204204204

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• Teste de mesa – Tipos de dados Registro• Desafio 61 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

205205205205205205205205

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• Teste de mesa – Tipos de dados Registro• Desafio 62 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

206206206206206206206206

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• Teste de mesa – Tipos de dados Registro• Desafio 63 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

207207207207207207207207

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• Teste de mesa – Tipos de dados Registro• Desafio 64 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

208208208208208208208208

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• Teste de mesa – Tipos de dados Registro• Desafio 65 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

209209209209209209209209

PROCEDIMENTOS E FUNÇÕES

• BLOCOS

210210210210210210210210

PROCEDIMENTOS E FUNÇÕES

• BLOCOS

211211211211211211211211

PROCEDIMENTOS E FUNÇÕES

• BLOCOS

212212212212212212212212

PROCEDIMENTOS E FUNÇÕES

• BLOCOS

213213213213213213213213

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• Teste de mesa – Blocos• Desafio 66 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

214214214214214214214214

PROCEDIMENTOS E FUNÇÕES

• ESCOPO DE VARIÁVEIS

215215215215215215215215

PROCEDIMENTOS E FUNÇÕES

• ESCOPO DE VARIÁVEIS

216216216216216216216216

PROCEDIMENTOS E FUNÇÕES

• ESCOPO DE VARIÁVEIS

217217217217217217217217

PROCEDIMENTOS E FUNÇÕES

• ESCOPO DE VARIÁVEIS

218218218218218218218218

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• Teste de mesa – Escopo de Variáveis• Desafio 67 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

219219219219219219219219

PROCEDIMENTOS E FUNÇÕES

• PROCEDIMENTOS

220220220220220220220220

PROCEDIMENTOS E FUNÇÕES

• PROCEDIMENTOS

221221221221221221221221

PROCEDIMENTOS E FUNÇÕES

• PROCEDIMENTOS

222222222222222222222222

PROCEDIMENTOS E FUNÇÕES

• PROCEDIMENTOS

223223223223223223223223

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• Teste de mesa – Procedimentos• Desafio 68 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

224224224224224224224224

PROCEDIMENTOS E FUNÇÕES

• FUNÇÃO

225225225225225225225225

PROCEDIMENTOS E FUNÇÕES

• FUNÇÃO

226226226226226226226226

PROCEDIMENTOS E FUNÇÕES

• FUNÇÃO

227227227227227227227227

PROCEDIMENTOS E FUNÇÕES

• FUNÇÃO

228228228228228228228228

PROCEDIMENTOS E FUNÇÕES

• FUNÇÃO

229229229229229229229229

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• Teste de mesa – Função• Desafio 69 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx

230230230230230230230230

PROCEDIMENTOS E FUNÇÕES

• FUNÇÃO RECURSIVA

231231231231231231231231

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• Teste de mesa – Recursividade• Desafio 70 – valor xx pontos – Fazer dentro de sala.

Apresentar o teste de mesa para cada algoritmo..

Entregar via e-mail na data xx/xx/xx