curso engenharias elÉtrica e mecÂnica algoritmo e programaÇÃo

231
1 CURSO ENGENHARIAS ELÉTRICA E MECÂNICA ALGORITMO E PROGRAMAÇÃO Mardem Barbosa de Anchieta Rosa PITÁGORAS/CONTAGEM AGO/2012

Upload: gusty

Post on 24-Jan-2016

31 views

Category:

Documents


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

Page 1: 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

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

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

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

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

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

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.

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

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.

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

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.

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

77

AVALIAÇÃO

• Algoritmo e Programação

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

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

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

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

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

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

10101010

AVALIAÇÃO

• Algoritmo e Programação

• Nota do bimestre

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

2

)( BimestresegundodoNotaBimestreprimeirodoNotaFinalNota

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

1111111111

AVALIAÇÃO

2

)( finalexameNotabimestralMédiaFinalNota

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

121212121212

AVALIAÇÃO

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

131313131313

AVALIAÇÃO

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

141414141414

AVALIAÇÃO

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

15151515151515

PROGRAMAÇÃO DAS AULAS

• Algoritmo e Programação

• programação

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

16 16

ENTREGA DE DESAFIOS•Entrega de trabalhos

•Trabalhos entregues por [email protected]

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

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

Qual a missão desta ferramenta?

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

AR

VENTO

CALOR

FRIO

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

Comos esses objetos são representados no computador?

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

AR

VENTO

CALOR

FRIO

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

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.

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

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.

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

NIVELAMENTO CONCEITOS BÁSICOS

• 1ª lei Mardeniana.

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

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

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.

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

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 ? _____________

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

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

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

25

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

• Conceitos Básicos

____ ____ ____

____ ____ ____

____ ____ ____

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

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

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.

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

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______________________________________________________________________________________________________________

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

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

_______________________________________________________________________________________________________________________

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

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

_______________________________________________________________________________________________________________________

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

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.

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

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”

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

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.

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

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

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

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.

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

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

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

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;

Page 37: CURSO ENGENHARIAS ELÉTRICA E MECÂNICA  ALGORITMO E PROGRAMAÇÃ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;

Page 38: CURSO ENGENHARIAS ELÉTRICA E MECÂNICA  ALGORITMO E PROGRAMAÇÃ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.

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

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

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

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;

Page 41: CURSO ENGENHARIAS ELÉTRICA E MECÂNICA  ALGORITMO E PROGRAMAÇÃ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...?

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

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

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

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

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

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

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

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)

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

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

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

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)

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

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)

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

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)

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

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)

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

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.

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

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)

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

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)

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

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

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

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)

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

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;

____________________________________________________________________________________________________________________________

Page 57: CURSO ENGENHARIAS ELÉTRICA E MECÂNICA  ALGORITMO E PROGRAMAÇÃ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)

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

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)

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

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)

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

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)

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

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;

Page 62: CURSO ENGENHARIAS ELÉTRICA E MECÂNICA  ALGORITMO E PROGRAMAÇÃ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)

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

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;

Page 64: CURSO ENGENHARIAS ELÉTRICA E MECÂNICA  ALGORITMO E PROGRAMAÇÃ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)

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

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

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

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

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

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 ?

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

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 ?

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

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.

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

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”.__________________________________________________________________________

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

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

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

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.

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

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.

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

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

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

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

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

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”

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

7777777777777777

PORTUGOL

• Declaração de variáveis

SINTAXE PARA DECLARAÇÃO DE VARIÁVEIS

IDENTIFICADORinteiro

real

caracter

lógico

: ;

,

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

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

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

7979797979797979

PORTUGOL

• Comandos Básicos

• Comandos imperativos

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

Page 80: CURSO ENGENHARIAS ELÉTRICA E MECÂNICA  ALGORITMO E PROGRAMAÇÃ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 ?

Page 81: CURSO ENGENHARIAS ELÉTRICA E MECÂNICA  ALGORITMO E PROGRAMAÇÃ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 ?

Page 82: CURSO ENGENHARIAS ELÉTRICA E MECÂNICA  ALGORITMO E PROGRAMAÇÃ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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 ←

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

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

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

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”

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

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 ?

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

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 ?

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

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”

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

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 ?

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

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 ?

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

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”

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

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

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

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.

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

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.

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

101101101101101101101101

PORTUGOL

• Comandos Básicos

• Comandos imperativos

• Comandos de entrada e saída

• Comando para leitura:

IDENTIFICADORLeia (

,

;)

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

102102102102102102102102

PORTUGOL

• Comandos Básicos

• Comandos imperativos

• Comandos de entrada e saída

• Comando para saída:

IDENTIFICADORImprima (

,

;)

EXPRESSÃO

CARACTER

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

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

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

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.

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

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.

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

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.

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

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.

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

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.

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

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 ?

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

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 ?

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

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 ?

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

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

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

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.

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

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.

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

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

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

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

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

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

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

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

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

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

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

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%

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

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

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

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

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

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

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

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 ?

__________________________________________________

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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.

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

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;

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

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

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

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

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

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

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

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.

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

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.

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

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.

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

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 ?

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

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.

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

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.

Page 144: CURSO ENGENHARIAS ELÉTRICA E MECÂNICA  ALGORITMO E PROGRAMAÇÃ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.

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

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 ?

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

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;

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

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.

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

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;

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

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.

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

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.

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

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

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

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;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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]];

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

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

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

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

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

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];

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

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

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

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

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

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

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

168168168168168168168168

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• TIPO DE DADOS - MATRIZES

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

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.

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

170170170170170170170170

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

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

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

171171171171171171171171

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

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

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

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

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

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”

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

174174174174174174174174

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

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

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

175175175175175175175175

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

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

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

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

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

177177177177177177177177

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

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

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

178178178178178178178178

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• COMANDO ESCOLHA

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

179179179179179179179179

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• COMANDO ESCOLHA

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

180180180180180180180180

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• COMANDO ESCOLHA

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

181181181181181181181181

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• COMANDO ESCOLHA

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

182182182182182182182182

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

• COMANDO ESCOLHA

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

195195195195195195195195

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

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

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

196196196196196196196196

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

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

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

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

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

198198198198198198198198

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

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

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

199199199199199199199199

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

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

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

200200200200200200200200

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

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

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

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

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

202202202202202202202202

ALGORITMOS BASEADOS EM ESTRUTURAS DE DADOS HOMOGÊNEAS

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

condicional

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

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

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

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

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

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

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

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

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

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

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

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

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

209209209209209209209209

PROCEDIMENTOS E FUNÇÕES

• BLOCOS

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

210210210210210210210210

PROCEDIMENTOS E FUNÇÕES

• BLOCOS

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

211211211211211211211211

PROCEDIMENTOS E FUNÇÕES

• BLOCOS

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

212212212212212212212212

PROCEDIMENTOS E FUNÇÕES

• BLOCOS

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

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

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

214214214214214214214214

PROCEDIMENTOS E FUNÇÕES

• ESCOPO DE VARIÁVEIS

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

215215215215215215215215

PROCEDIMENTOS E FUNÇÕES

• ESCOPO DE VARIÁVEIS

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

216216216216216216216216

PROCEDIMENTOS E FUNÇÕES

• ESCOPO DE VARIÁVEIS

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

217217217217217217217217

PROCEDIMENTOS E FUNÇÕES

• ESCOPO DE VARIÁVEIS

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

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

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

219219219219219219219219

PROCEDIMENTOS E FUNÇÕES

• PROCEDIMENTOS

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

220220220220220220220220

PROCEDIMENTOS E FUNÇÕES

• PROCEDIMENTOS

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

221221221221221221221221

PROCEDIMENTOS E FUNÇÕES

• PROCEDIMENTOS

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

222222222222222222222222

PROCEDIMENTOS E FUNÇÕES

• PROCEDIMENTOS

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

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

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

224224224224224224224224

PROCEDIMENTOS E FUNÇÕES

• FUNÇÃO

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

225225225225225225225225

PROCEDIMENTOS E FUNÇÕES

• FUNÇÃO

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

226226226226226226226226

PROCEDIMENTOS E FUNÇÕES

• FUNÇÃO

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

227227227227227227227227

PROCEDIMENTOS E FUNÇÕES

• FUNÇÃO

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

228228228228228228228228

PROCEDIMENTOS E FUNÇÕES

• FUNÇÃO

Page 229: CURSO ENGENHARIAS ELÉTRICA E MECÂNICA  ALGORITMO E PROGRAMAÇÃ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

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

230230230230230230230230

PROCEDIMENTOS E FUNÇÕES

• FUNÇÃO RECURSIVA

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

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