Documente Academic
Documente Profesional
Documente Cultură
FUNDAMENTOS DE PROGRAMAO
Objetivo do Curso Objetivo da Disciplina Introduo ao conceito de algoritmo e programao
Conceitos bsicos Conceito de Algoritmo Estruturas Bscias de Controle Estruturas de Dados As Melhores prticas na construo de programas
Manutenibilidade Flexibilidade Documentao A fora e destruio do GOTO
Portugol
Introduo Declarao de Variveis Tipos Bsicos Comandos Bsicos Blocos Comandos de Entrada e Sada
Procedimentos e Funes
Modularizao
2
Objetivo Curso
ENGENHARIAS:
MECNICA O curso de Engenharia Mecnica tem como objetivo formar profissionais com uma slida formao tcnico-cientfica e profissional geral que o capacite a absorver e desenvolver tecnologias, estimulando a sua atuao crtica e criativa na identificao e resoluo de problemas de Engenharia Mecnica, considerando seus aspectos poltico-econmicos, sociais, ambientais e culturais, com viso tica e humanstica, em atendimento s demandas da sociedade. O engenheiro mecnico responsvel pelo projeto, produo, operao e manuteno de mquinas, equipamentos e componentes mecnicos. Ele responde pela segurana, qualidade e eficincia operacional e energtica de tais equipamentos e componentes. Alm disso, gerencia equipes de trabalho, acompanha custos, prazos, cumprimento das normas de segurana, sade e meio ambiente e ainda os padres de 4 qualidade.
Objetivo Curso
ENGENHARIAS:
ELTRICA
O Curso de Engenharia Eltrica tem como objetivo formar engenheiros eletricistas capacitados a atender s diferentes solicitaes profissionais, com uma viso crtica, criativa e inovadora, atravs de uma slida formao bsica, geral e humanstica, associada sua formao profissional especfica.
Objetivo da Disciplina
Algoritmo e Programao Desenvolver nos alunos a competncia e as habilidades necessrias para a concepo de solues computacionais aplicadas aos problemas relativos engenharia.
AVALIAO
Algoritmo e Programao
AVALIAO
Algoritmo e Programao
Valor das avaliaes: Parcial 0 a 10 pontos Oficial (1 por bimestre) 0 a 10 pontos Composio:
(Terico/prtico)
Avaliao oficial = 70% da nota bimestral Avaliao parcial = 30% da nota bimestral
8
AVALIAO
Algoritmo e Programao
Composio:
(Prtica)
AVALIAO
Algoritmo e Programao
Nota do bimestre
Notadobimestre (avaliao oficialx 0,7) avaliaoparcialx 0,3
10
AVALIAO
Algoritmo e Programao
Exame final Nota final < 6
( Mdiabimestral Nota exame final ) Nota Final 2 Reprovao Mdia bimestral < 4 Mdia com exame final < 6 11
AVALIAO
Algoritmo e Programao
12
AVALIAO
Algoritmo e Programao
Frequncia 75% de frequncia 60 horas aulas Mximo de 15 faltas.
13
AVALIAO
Algoritmo e Programao
2 chamada Vlida para as avaliaes oficiais 1 por semestre Falta nas duas avaliaes oficiais Primeira = 0 Segunda = Nota da 2 chamada (Toda a disciplina vista no semestre) 14
Algoritmo e Programao
programao
15
ENTREGA DE DESAFIOS
Entrega de trabalhos Trabalhos entregues por e-mail mardem.barbosa@pitagoras.com.br No campo ASSUNTO DO E-MAIL digitar as seguintes informaes:
PIT-EW-AP-2012s1-DESAFIO XXDD/DD/AAAA-SEU NOME Onde: W: M Mecnica, E Eltrica XX: Nmero do desafio; DD: dia em que foi aplicado o desafio; MM: Ms em que foi aplicado o desafio; AAAA: Ano em que foi aplicado o desafio;
16 16
FRIO CALOR
FRIO CALOR
Comos esses objetos so representados no computador? Como esses conceitos so tratados no computador?
Carro Pessoa Fogo
AR
VENTO
A luz Sol
Comos esses objetos so tratados no computador? Como esses conceitos so tratados no computador?
Carro Pessoa Fogo
AR
VENTO
A luz Sol
Conceitos Bsicos
Concreto
Algo que tem existncia prpria
Abstrato
Algo que tem dependncia de existncia
Abstrao
Foco na essncia
Ao
um evento que ocorre num perodo de tempo finito, estabelecendo um efeito intencionado e bem definido.
Exemplo: -Levantar o p;
-Deslocar o p levantado para frente; -Abaixar o p levantado.
22
Conceitos Bsicos
Atividade
a execuo de uma tarefa ou ao.
Tarefa
Conjunto de aes. (Veja definio de ao) No exemplo sobre ao 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 ? _____________
23
Conceitos Bsicos
Problema
um resultado indesejado
24
Conceitos Bsicos
Relacione as Figuras com Atividade, Ao, tarefa e Processo.
Conceito de Algoritmo
O que um algoritmo ?
a DESCRIO de um PADRO de COMPORTAMENTO, expresso em termos de um repertrio BEM DEFINIDO e FINITO de AES primitivas , das quais damos por certo que elas podem ser executadas.
26
Conceito de Algoritmo
Identifique os padres de comportamento abaixo que os objetos sugerem. Sugestes dos alunos
Fritar Ovos________ _________________ _________________ _________________ _________________ _________________ _________________
27
Conceito de Algoritmo
Identifique os padres de comportamento abaixo que os objetos sugerem. 1,5,9,13,17,21 Sugestes dos alunos
_________________ _________________ _________________ _________________ _________________ _________________ _________________
28
Conceito de Algoritmo
Identifique os padres de comportamento abaixo que os objetos abaixo sugerem. Sugestes dos alunos
_________________ _________________ _________________ _________________ _________________ _________________ _________________
29
Conceito de Algoritmo
Responda as perguntas abaixo: 1.Os padres de comportamentos identificados nos slides anteriores so algoritmos ? Explique. 2.O que necessrio para que sejam um algoritmo ? 3.Tudo que est ao nosso redor pode ser entendido como tendo um padro de comportamento ? Explique.
30
Conceito de Algoritmo
Boas lembranas
1.Um objeto no um padro de comportamento, mas ele sofre ou sugere um padro de comportamento 2.Padro 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
31
Conceito de Algoritmo
Descrever o padro de comportamento FRITAR OVOS
1. 2. 3. 4. Abrir a geladeira; Pegar ovo na geladeira; Fechar a geladeira; Colocar o ovo em cima da mesa; 5. Abrir o armrio; 6. Pegar uma frigideira; 7. Fechar o armrio; 8. Abrir a dispensa; 9. Pegar o sal; 10. Pegar o leo; 11. Ascender o fogo; 13. Colocar a frigideira no fogo; 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.
a DESCRIO de um PADRO de COMPORTAMENTO, expresso em termos de um repertrio bem DEFINIDO e FINITO de AES primitivas , das quais damos por certo que elas podem ser executadas.
Conceito de Algoritmo
Desafio 01 valor xx pontos Fazer dentro de sala. Escolha dois dos padres 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 Padro de comportamento Bem definido Finito 33
Conceito de Algoritmo
Baseando-se no exemplo de descrio do padro 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) ao(es) que no (so) bem definida(s) ? Indique qual(is). 4. Existe(m) alguma(s) ao(es) que no (so) finita(s) ? Indique qual(is). 5. 6. Indique no exemplo onde temos atividades. Como pode ser classificada Fritar ovos ? Como uma ao ? Como uma tarefa ? Como um processo ? Como uma atividade ? Explique a sua resposta.
34
Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO
ASPECTO ESTTICO
Analisando o exemplo de algoritmo FRITAR OVOS, identifique elementos que so ESTTICOS, ou seja, independente da execuo do algoritmo, eles nunca mudaro. O texto que descreve os comandos A ordem dos comandos
35
Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO ASPECTO ESTTICO Se alterarmos um dos verbos (no pelo seu sinnimo) que esto no incio do comando mudamos o _____________, mudando tambm o seu resultado final, o seu efeito.
1. Abrir a geladeira; (arredar, arrumar) 3. Fechar a geladeira;(virar, limpar) 5. Abrir o armrio;(fechar, tirar) 7. Fechar o armrio;(abrir, pintar) 9. Pegar o sal;(comprar, ensacar) 11. Ascender o fogo;(ligar, lavar) 2. Pegar um ovo na geladeira; 4. Colocar o ovo em cima da mesa; 6. Pegar uma frigideira; 8. Abrir a dispensa; 10. Pegar o leo; 12.Colocar a frigideira no fogo;
36
Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO ASPECTO ESTTICO Se alterarmos a ordem dos comandos tambm mudamos o _____________, mudando o seu resultado final, o seu efeito.
1. Fechar a geladeira; 3. Colocar o ovo em cima da mesa; 5. Abrir o armrio; 7. Fechar o armrio; 9. Pegar o sal; 11. Ascender o fogo; 2. Pegar um ovo na geladeira; 4. Pegar uma frigideira; 6.Abrir a geladeira; 8. Abrir a dispensa; 10. Pegar o leo; 12.Colocar a frigideira no fogo;
37
Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO ASPECTO ESTTICO Concluindo, o texto sob o qual o algoritmo criado, representa a parte esttica do mesmo. Este texto composto pelos comandos e a ordem em que eles esto dispostos.
38
Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO ASPECTO DINMICO Analisando o exemplo de algoritmo FRITAR OVOS, identifique elementos que so DINMICOS, ou seja, podem mudar entre as execues dos algoritmos que o efeito desejado do mesmo no muda. Os objetos sob os quais os comandos agem sobre eles
39
Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO ASPECTO DINMICO Se alterarmos os objetos (por objetos da mesma classe) que esto no incio do comando no mudamos o _____________, que continua produzindo o mesmo efeito desejado.
1. Abrir a geladeira; (arredar, arrumar) 3. Fechar a geladeira;(virar, limpar) 5. Abrir o armrio;(fechar, tirar) 7. Fechar o armrio;(abrir, pintar) 9. Pegar o sal;(comprar, ensacar) 11. Ascender o fogo;(ligar, lavar) 2. Pegar um ovo na geladeira; 4. Colocar o ovo em cima da mesa; 6. Pegar uma frigideira; 8. Abrir a dispensa; 10. Pegar o leo; 12.Colocar a frigideira no fogo;
40
Conceito de Algoritmo
OS DOIS ASPECTOS IMPORTANTES DE UM ALGORITMO
ASPECTO DINMICO
Concluindo, os objetos tratados, usados no algoritmo constituem a parte dinmica do mesmo. Ou seja, a cada execuo do algoritmo os objetos podem ser diferentes e as aes sobre eles mudam as suas caractersticas o seu estado, que no modifica o efeito final desejado. Um exemplo disso o ovo, uma vez frito, o prximo ovo a ser fritado, no o mesmo da vez anterior, e o efeito esperado o mesmo OVO FRITO......sacaram...?
41
Conceito de Algoritmo
Considere o seguinte RELATO de uma pessoa observando uma dona de casa: (EVENTO 1) DESCASCAR BATATAS PARA O JANTAR
1. 2. (R1) 3. 4. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Descascar as batatas; Devolver a cesta ao poro
42
Conceito de Algoritmo
No outro dia a dona de casa novamente realiza outro evento, relatado pelo mesmo observador: (EVENTO 2) DESCASCAR BATATAS PARA O JANTAR
1. 2. (R1) 3. 4. Trazer a cesta com batatas do poro; Trazer a panela do armrio; Descascar as batatas; Devolver a cesta ao poro
43
Conceito de Algoritmo
Desafio 02 valor xx pontos Fazer dentro de sala.
Os dois eventos Descascar batatas para o jantar so os mesmos ? Explique Os dois relatos descrevem os mesmos eventos ? Os dois relatos so os mesmos ? Explique usando o conceito de ESTTICO e DINMICO. O qu os dois eventos tem em comum ? Logo, os dois relatos descrevem o mesmo evento ? Ento os dois relatos podem ser transformados em um _____________.
44
(A1)
1. 2. 3. 4.
Trazer a cesta com batatas do poro; Trazer a panela do armrio; Descascar as batatas; Devolver a cesta ao poro;
45
(A1)
1. 2. 3. 4. 5.
Trazer a cesta com batatas do poro; Trazer a panela do armrio; Descascar as batatas; Devolver a cesta ao poro;
47
(A1)
1. 2. 3. 4. 5.
Trazer a cesta com batatas do poro; Trazer a panela do armrio; Colocar o Avental; Descascar as batatas; Devolver a cesta ao poro;
48
(A2)
Se a condio for verdadeira, os comandos imediatamente aps a palavra ENTO sero executados.
51
(A3)
53
54
(A4)
1. 2. 3. 4. 5. 6.
Trazer a cesta com batatas do poro; Trazer a panela do armrio; Se roupa for clara Ento Colocar avental; Descascar uma batata; Devolver a cesta ao poro;
55
56
(A4)
(A5)
58
59
(A6)
6. 7.
61
(A7)
62
(A7)
63
(A8)
64
Estruturas de Dados
O que vamos aprender a fazer nessa disciplina representar objetos do mundo real dentro do computador e descrever os padres de comportamento que agem sobre estes objetos.
Temos ento um enorme desafio. Como representar os objetos abaixo dentro de um computador ?
67
Estruturas de Dados
Como reconhecemos estes objetos no nosso mundo real ? ___________
Carro
Mas computadores no entendem formas
Ento como faramos para representar estes objetos de forma que o computador pudesse reconhec-los ?
68
Estruturas de Dados
Reconhea os objetos abaixo:
Nmero da conta corrente Saldo Agncia Banco
Usamos as caractersticas (atributos) dos objetos para represent-los dentro do computador. Como para cada objeto as mesmas caractersticas mudam(dinmica), chamaremos estas 69 caractersticas de VARIVEIS.
Estruturas de Dados
As caractersticas(atributos) dos objetos representados internamente em um computador, e processados atravs de um algoritmo representam a parte dinmica do mesmo. 1. Se tipo_conta = Poupana ENTO 2. Somar valor do depsito em saldo_poupana; 3. Se tipo_conta = Corrente ENTO 4. Somar valor do depsito em saldo_corrente;
Qual o objeto que estamos processando nesse trecho do algoritmo ? _______________________ Destaque as partes dinmicas das estticas e justifique a separao . _________________, _____________, ___________________, _____________, ________ O que significa uma palavra estar entre aspas duplas igual a Poupana e Corrente. 70 __________________________________________________________________________
Estruturas de Dados
Desafio 06 valor xx pontos Fazer dentro de sala.
Descreva atravs das suas caractersticas o objeto ALUNO; Descreva atravs das suas caractersticas o objeto PROFESSOR; Descreva atravs das suas caractersticas o objeto FILME Descreva atravs das suas caractersticas o objeto LIVRO Dentro de um algoritmo as suas caractersticas so tratadas como ______________e representam a parte ______________ do mesmo. Porqu usamos o termo DINMICA para as variveis ? Os objetos, as coisas do mundo real sao representados dentro do computador atraves das suas _____________.
PORTUGOL
Introduo
At momento usamos a lngua portuguesa para expressar os
algoritmos A liberdade de expresso essencial para o desenvolvimento da criatividade A lngua portuguesa d margem para: Dupla interpretao (impreciso): 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 expresso x Notao formal
Soluo: Uma linguagem que no restrinja a liberdade de expresso e que seja formal para eliminar ambiguidades.
72
PORTUGOL
Introduo
O Portugol (simbiose de Portugus com Pascal ou Algol) uma pseudolinguagem de programao (usada para descrever padres de comportamentos - algoritmos) que permite projetos de algoritmos independentes da tecnologia, alm de ser concisa e determinstica.
Sintaxe x Semntica: Sintaxe a regra para a formao de uma frase; Semntica o sentido que a frase possui.
73
PORTUGOL
Declarao de variveis
Identificador: Nome dado aos comandos e as variveis.
Sintaxe para formao de identificadores
LETRA LETRA
DGITO
74
PORTUGOL
Declarao de variveis
Desafio 07 valor xx pontos Fazer dentro de sala.
Atravs do diagrama para formao de nomes de comandos e atributos, siga o diagrama para formar ts nomes de sua sugesto. Marque dentre as opes abaixo quais os identificadores que ferem a regra atravs do diagrama proposto. Abcdefgijklmenopzrqz124589advadladaldasldaddla1 Xicara 1pessoa #conta_bancria Com ta Pea NOME NmerO
75
PORTUGOL
Declarao de variveis
Tipos bsicos: o conjunto domnio dos valores que cada varivel simbolizada por um identificador pode receber. Domnios permitidos
Inteiro: Conjunto dos nmeros inteiros, isso quer dizer que o identificador declarado com este tipo, s pode conter valores do seu domnio. Real: Conjunto dos nmeros reais (inteiros negativos, nmeros racionais negativos, zero, inteiros positivos, nmeros racionais positivos) Lgico: S permite conter os valores verdadeiro ou falso
76
PORTUGOL
Declarao de variveis
SINTAXE PARA DECLARAO DE VARIVEIS
IDENTIFICADOR
77
PORTUGOL
Declarao de variveis
Desafio 08 valor xx pontos Fazer dentro de sala.
Declare os identificadores abaixo de acordo com a declarao de tipos, atribuindo a eles os tipos mais adequados. Siga o rigor da sintaxe para declarao de tipos. Nome-aluno - Tipo-conta(poupana ou corrente) Nmero-matrcula - Sexo(feminino ou Masculino) sexo Nota Peso Altura Cdigo-disciplina Carteira-Identidade Cpf Endereo; Declare como vari[aveis as caracteristicas dos objetos do desafio 06 Declare as variveis que existem em uma folha de cheque
78
PORTUGOL
Comandos Bsicos
Comandos imperativos
Comandos que determinam uma ao independente de qualquer condio.
79
PORTUGOL
Comandos Bsicos
Comandos imperativos
Comando de atribuio
Para atribuirmos o valor de expresso a uma varivel. EXPRESSO ;
IDENTIFICADOR
PORTUGOL
Comandos Bsicos
Comandos imperativos
Comando de atribuio
O QUE UMA EXPRESSO ?
EXPRESSO uma combinao de variveis, smbolos, operadores (aritmticos, lgicos, relacionais), nmeros, smbolos grficos ((,),[,],{,}) que se transforma em valor.
81
PORTUGOL
Comandos Bsicos
Desafio 09 valor xx pontos Fazer dentro de sala.
Quais so os operadores aritmticos ? Quais so os operadores lgicos ? Quais so os operadores relacionais ? Indique abaixo aquelas que podem ser consideradas expresses e classifique-as: Tipo-conta - Tipo-conta no 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 * frequncia 2 - Tipo-conta sexo Tipo-conta e sexo - Tipo-conta sexo Tipo-conta ou sexo - Tipo-conta sexo
82
PORTUGOL
Comandos Bsicos
Desafio 10 valor xx pontos Fazer dentro de sala.
Considere as seguintes variveis: Saldo Nota Nmero-acadmico Nome Telefone Sexo (lgico - verdade se mulher, falso se homem) Tipo-conta (lgico verdade corrente, falso poupana) Qtde-estoque Tipo-material frequncia
PORTUGOL
Comandos Bsicos
Desafio 10 valor xx pontos Fazer dentro de sala.
Marque os identificadores invlidos se houver; Declare cada uma das variveis do slide anterior; Elabore uma expresso (aritmtica, lgica e relacional) com cada uma das variveis; Atribua varivel saldo o valor dela mesmo mais 10; Atribua varivel nota o valor de 10; Atribua varivel nmero-acadmico o valor de 12345; Atribua varivel nome a constante literal Jos Antnio; Atribua varivel telefone a constante literal 33-35395827; Atribua varivel sexo o valor verdadeiro; Atribua varivel tipo-conta o valor falso; Atribua varivel qtde-estoque a raiz quadrada de 300; Atribua varivel tipo material a letra A; Atribua varivel frequncia o nmero 20;
84
PORTUGOL
Blocos
Um bloco um conjunto de comandos com uma funo bem definida.
Ele serve tambm para definir os limites onde as variveis declaradas em seu interior so reconhecidas. Inicialmente, um bloco corresponder a um programa ou a um algoritmo ou a uma descrio de comportamento. Pode haver blocos dentro de blocos Sintaxe para a definio de um bloco
85
PORTUGOL
Blocos
Exemplo1 de um algoritmo
Elaborar um algoritmo que realiza a soma dos nmeros de 1 a 10. inicio inteiro : soma; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; fim
86
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 varivel soma quando o mesmo chegar ao fim. O valor da varivel soma o que foi proposto no enunciado do algoritmo ? Explique. Proponha uma alterao no algoritmo de forma que ele cumpra o proposto no seu enunciado.
87
PORTUGOL
Blocos
Execuo do exemplo1 (Teste de Mesa)
Elaborar um algoritmo que realiza a soma dos nmeros de 1 a 10. inicio inteiro : soma; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; soma 1; fim
soma
1
88
PORTUGOL
Blocos
Execuo do exemplo1 (Teste de mesa)
Elaborar um algoritmo que realiza a soma dos nmeros de 1 a 10.
Inteiro : soma; Soma 1 Soma 2 Soma 3 Soma 4 Soma 5 Soma 6 Soma 7 Soma 8 Soma 9 Soma 10
; ; ; ;
soma
;
; ; ; ; ;
89
PORTUGOL
Blocos
Execuo do exemplo1 correto (Teste de ms)
Elaborar um algoritmo que realiza a soma dos nmeros de 1 a 10.
Inteiro : soma; Soma Soma Soma Soma Soma Soma Soma Soma Soma Soma
Soma Soma Soma Soma Soma Soma Soma Soma Soma Soma + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 10 ; ; ; ; ; ; ; ; ; ; 55
1
3 6 10
soma
15
21 28 36 45 90
PORTUGOL
Comandos Bsicos
Comandos condicionais
Alternativa Simples
A condio qualquer expresso(relacional ou lgica) que devolva o valor verdadeiro ou falso.
Caso o valor da expresso seja falso a execuo desviada para o primeiro comando que segue a palavra fim se
Se o valor da expresso for verdadeiro os comandos entre as palavras Ento e Fim se sero executados continuando a execuo dos comandos depois da palavra fim se
91
PORTUGOL
Comandos Bsicos
Desafio 12 valor xx pontos Fazer dentro de sala.
Seja o seguinte trecho do algoritmo Responda: Inicio 1) Quais os comandos que sero executados? Inteiro A, B; 2) Se o valor de A fosse 16 e B fosse 15, quais os A 10; comandos que seriam executados ? B 15; 3) Quando o comando c3 ser executado ? Se A > B Ento 4) Que tipo de expresso A > B ? 5) Se a expresso fosse A + b, quais os comandos seriam c1; executados ? Explique. c2; 6) A varivel A pode receber o valor 15,5 ? Explique. Fim se; 7) Os comandos c1 e ou c2 podem ser outros comandos c3; condicionais ? Fim. 8) Os comandos c1 e c2 sero sempre executados ?
92
PORTUGOL
Comandos Bsicos
Desafio 13 valor xx pontos Fazer dentro de sala.
Seja o seguinte trecho do algoritmo
Inicio
Lgico B1, B2; B3; Se B1 Ento c1; Se B2 ento Se B3 ento c2; c3 Fim se; Fim se; Fim se; Responda: 1) Se B1=Verdadeiro, B2=Verdadeiro e B3=Verdadeiro, quais comandos sero executados ? 2) Se B1=Verdadeiro, B2=Verdadeiro e B3=Falso, quais comandos sero executados ? 3) Se B1=Verdadeiro, B2=Falso e B3=Falso, quais comandos sero executados ? 4) Se B1=Falso, B2=Falso e B3=Falso, quais comandos sero executados ? 5) Se B1=Falso, B2=Verdadeiro e B3=Verdadeiro, quais comandos sero executados ? 6) Se B1=Falso, B2=Falso e B3=Verdadeiro, quais comandos sero 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 ?
Fim.
93
PORTUGOL
Comandos Bsicos
Comandos condicionais
Alternativa Composta
Se <condio> Ento c1; c2; c3; SE no c4; c5; Caso o valor da expresso Fim se; seja falso a execuo desviada para o primeiro c6; comando que segue a palavra Se no c7
A condio qualquer expresso(relacional ou lgica) que devolva o valor verdadeiro ou falso.
Seqncia simples que independente da condicional. Sempre ser executada depois que for encontrado o Fim se
Se o valor da expresso for verdadeiro os comandos entre as palavras Ento e Se no sero executados continuando a execuo dos comandos depois da palavra fim se
94
PORTUGOL
Comandos Bsicos
Desafio 14 valor xx pontos Fazer dentro de sala.
Seja o seguinte trecho do algoritmo
Inicio
Lgico B1, B2; B3; Se B1 Ento c1; Se nao Se B2 ento Se B3 ento c2; Se nao c3; Fim se; Fim se; Fim se;
Responda: 1) Se B1=Verdadeiro, B2=Verdadeiro e B3=Verdadeiro, quais comandos sero executados ? 2) Se B1=Verdadeiro, B2=Verdadeiro e B3=Falso, quais comandos sero executados ? 3) Se B1=Verdadeiro, B2=Falso e B3=Falso, quais comandos sero executados ? 4) Se B1=Falso, B2=Falso e B3=Falso, quais comandos sero executados ? 5) Se B1=Falso, B2=Verdadeiro e B3=Verdadeiro, quais comandos sero executados ? 6) Se B1=Falso, B2=Falso e B3=Verdadeiro, quais comandos sero 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 condies ?
c4;
Fim.
95
PORTUGOL
Comandos Bsicos
Desafio 15 valor xx pontos Fazer dentro de sala.
Seja o seguinte trecho do algoritmo
Inicio Lgico : 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 (no A e B) ENTO L 0; Se no L 1; Fim se; Fim.
96
PORTUGOL
Comandos Bsicos
Comandos condicionais
Repetio
Enquanto <condio> Faa c1; c2; c3; c4; c5; Fim enquanto; c6; c7
A condio qualquer expresso(relacional ou lgica) que devolva o valor verdadeiro ou falso.
Seqncia simples que independente da condicional. Sempre ser executada depois que for encontrado o Fim enquanto
Se o valor da expresso for verdadeiro os comandos entre as palavras Faa e Fim enquanto sero executados continuando a execuo dos comandos depois da palavra fim enqu
97
PORTUGOL
Comandos Bsicos
Desafio 16 valor xx pontos Fazer dentro de sala.
Elaborar os seguintes algoritmos: Soma dos nmeros inteiros de 1 a 1.000.000 Soma dos nmeros inteiros pares de 1 a 1.000.000 Soma dos nmeros inteiros mpares de 1 a 1.000.00 Some os nmeros inteiros mltiplos de 3 de 1 a 1.000.000 98 Entregar via e-mail na data xx/xx/xx
PORTUGOL
Comandos Bsicos
Comandos imperativos
Comandos de entrada e sada
Elaborar um algoritmo que receba dois nmeros inteiros e faa a soma dos nmeros inteiros contidos entre esses dois nmeros. No final, imprimir o valor somado.
99
PORTUGOL
Comandos Bsicos
Comandos imperativos
Comandos de entrada e sada
At o momento elaboramos programas que utilizaram informaes geradas ou codificadas internamente. necessrio que a linguagem d condies de que o programa receba informaes 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.
100
PORTUGOL
Comandos Bsicos
Comandos imperativos
Comandos de entrada e sada
Comando para leitura: , Leia ( IDENTIFICADOR
101
PORTUGOL
Comandos Bsicos
Comandos imperativos
Comandos de entrada e sada
Comando para sada: , Imprima ( IDENTIFICADOR EXPRESSO CARACTER
102
PORTUGOL
PORTUGOL
Teste de mesa
Desafio 18 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio inteiro VALOR, SOMA; SOMA 0; Leia (VALOR); enquanto VALOR -1 faa 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.
104
PORTUGOL
Teste de mesa
Desafio 19 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio inteiro VALOR, MENOR; Leia (VALOR); MENOR VALOR; enquanto VALOR -1 faa se VALOR < MENOR ento 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.
105
PORTUGOL
Teste de mesa
Desafio 20 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio inteiro VALOR, MENOR,MAIOR; Leia (VALOR); MENOR VALOR; MAIOR VALOR; enquanto VALOR -1 faa se VALOR >MAIOR ento MAIOR VALOR; seno se VALOR < MENOR ento 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.
106
PORTUGOL
Teste de mesa
Desafio 21 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio inteiro VALOR, MENOR,MAIOR; Leia (VALOR); MENOR VALOR; MAIOR VALOR; enquanto VALOR -1 faa se VALOR >MAIOR ento MAIOR VALOR; seno se VALOR < MENOR ento 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.
107
PORTUGOL
Teste de mesa
Desafio 22 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio inteiro A,B,C; Leia (A,B,C); se A < B +C e B < A + C e C < A + B emto se A = B e B = C emto imprima (TRINGULO EQUILTERO); se no se A = B ou A = C ou C = B emto imprima (TRINGULO ISCELES); se no imprima (TRINGULO ESCALENO); fim se; fim se; imprima(NO TRINGULO); fim se; Fim.
Dados trs valores A, B, C, verificar se eles podem ser valores dos lados de um tringulo e, se for, se tringulo eqiltero, isceles ou escaleno. Definir qual o objetivo do algoritmo.
108
PORTUGOL
Teste de mesa
Desafio 23 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio real VOLUME, PI,R; PI 3,1416 PI 3,1416 Enquanto R < 6 faa VOLUME 4/3 * PI * (R ** 3); imprima (R, VOLUME); R R + 2; Fim enquanto;
Complemente os valores que sero impressos: R VOLUME 0 0 2 33,51 Qual o objetivo do algoritmo ?
109
PORTUGOL
Teste de mesa
Desafio 23 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio real VOLUME, PI,R; PI 3,1416 PI 3,1416 Enquanto R < 6 faa VOLUME 4/3 * PI * (R ** 3); imprima (R, VOLUME); R R + 2; Fim enquanto;
Complemente os valores que sero impressos: R VOLUME 0 0 2 33,51 Qual o objetivo do algoritmo ?
110
PORTUGOL
Teste de mesa
Desafio 24 valor xx pontos Fazer dentro de sala.
Seja o seguinte algoritmo:
Incio real VOLUME, PI,R; PI 3,1416 PI 3,1416 Enquanto R < 6 faa VOLUME 4/3 * PI * (R ** 3); imprima (R, VOLUME); R R + 2; Fim enquanto;
Complemente os valores que sero impressos: R VOLUME 0 0 2 33,51 Qual o objetivo do algoritmo ?
111
PORTUGOL
Operadores
Operadores so smbolos ou palavras que representam aes a serem aplicadas entre um ou mais de seus operandos, obtendo um nico resultado, permitindo dessa forma a formao de expresses.
+, Simboliza a operao de adio sobre os dois operandos (nmeros ou variveis); -, Simboliza a operao de subtrao sobre os dois operandos (nmeros ou variveis);
112
PORTUGOL
Operadores
Operadores: div, retorna o resultado da operao de diviso entre dois inteiros. Esses inteiros podem ser constantes numricas ou variveis.
Ex: sejam A e B duas variveis inteiras com os valores 5 e 2 respectivamente. C = A div B retornar 2 em C que o resultado da diviso de 16 por 6.
113
PORTUGOL
Operadores
Operadores: mod, retorna o resto inteiro da operao de diviso entre dois inteiros. Esses inteiros podem ser constantes numricas ou variveis.
Ex: sejam A e B duas variveis inteiras com os valores 16 e 6 respectivamente. C = A mod B retornar 4 em C que o resto da diviso de 5 por 2.
114
PORTUGOL
Teste de mesa
Desafio 25 valor xx pontos Fazer dentro de sala.
Determine os valores que sero impressos depois da execuo do algoritmo abaixo:
Incio inteiro NMERO,D1, D2, D3, D4; NMERO 1.362 D4 NMERO mod 10; D3 (NMERO div 100) mod 10; D2 NMERO mod 10; D1 (NMERO div 1000) mod 10; Imprima(D4,D3,D2,D1); Fim enquanto;
D1 D2 D3 D4
115
PORTUGOL
Teste de mesa
Desafio 26 valor xx pontos Fazer dentro de sala.
Quais os resultados produzidos pelo algoritmo que se segue ?
Incio lgico X; inteiro Y; Y 0; X falso; enquanto Y 6 faa X no X; Y y + 1; se X ento imprima(Y); Se no imprima( - Y); Fim se Fim enquanto; Fim;
X Y
116
PORTUGOL
Teste de mesa
Desafio 27 valor xx pontos Fazer dentro de sala.
O que est de errado no algoritmo abaixo ?
Incio inteiro N, PAR, X; leia(N); X N mod 2; Se x = 0 ento PAR verdadeiro; Se no PAR falso; Fim;
N PAR X
PORTUGOL
Teste de mesa
Desafio 28 valor xx pontos Fazer dentro de sala.
O que ser impresso depois do algoritmo ?
Incio caracter QUALE; inteiro NUM; leia(NUM); Se NUM > 0 ento QUALE Nmero positivo; Se no QUALE Zero; Fim se Fim;
NUM QUALE
118
PORTUGOL
Teste de mesa
Desafio 28 valor xx pontos Fazer dentro de sala.
Elaborar um algoritmo em portugol par fazer a soma de vrios 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 mdia de um conjunto de valores inteiros que sero fornecidos a partir do teclado um de cada vez, o ltimo valor ter o valor de 9999 e no dever ser includo no clculo. Construir um algoritmo em portugol para calcular as razes de uma equao de segundo grau, sendo que os valores dos coeficientes A, B, C sero fornecidos pelo teclado todos de uma nica1 vez. 1 1 1 1 H 1 ... 2 3 4 5 n Sendo ,fazer um algoritmo em portugol para gerar o nmero H. O nmero N ser lido a partir do teclado.
Para cada algoritmo fazer o teste de mesa e entregar com no mnimo 10 interaes.
119
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 informaes: cpf, nmero de dependentes, renda anual. Os dados do ltimo contribuinte ter cpf igual a zero e no deve ser considerado. Para cada contribuinte ser feito um desconto de R$6.000,00 por dependente. Imprimir cpf, renda, nmero de dependentes e o imposto de renda. Os valores da alquota para clculo do imposto so: Renda lquida alquota At R$ 20.000,00 isento De 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%
Fazer o teste de mesa e entregar com no mnimo 2 exemplos para cada faixa.
120
PORTUGOL
Teste de mesa
Desafio 30 valor xx pontos Fazer dentro de sala.
Escrever um algoritmo em portugol que calcule o fatorial de um nmero informado pelo teclado e o imprima na tela; Elaborar um algoritmo que leia um nmero real via teclado e calcule o somatrio dos 20 primeiros termos da srie S X X X X X ... X
1 ! 2! 3! 4! 20!
Elaborar um algoritmo em portugol para um programa que leia os seguintes dados do teclado, cdigo (1= Masc e 2=Feminino) e a altura da pessoa, e no final, quando for informado o cdigo 0 que indica o final, imprimir:
A maior e a menor altura da turma; A mdia da altura das mulheres; A mdia da altura dos homens; A mdia da altura da turma; Nmero de mulheres na turma; Nmero de homens na turma; Total de alunos da turma.
121
PORTUGOL
Teste de mesa
Desafio 31 valor xx pontos Fazer dentro de sala. Escrever um algoritmo que leia a partir do teclado o nmero do aluno e a sua nota, o ltimo aluno ter o seu nmero 99 que no deve ser includo no processamento. Depois imprimir na tela para aquele aluno que obteve a maior nota o seu nmero com a respectiva nota o mesmo para o aluno que obteve a menor nota.
122
Telefone
Este um telefone
Este um telefone
126
Este um telefone
Este um telefone
telefone
Este um telefone Este um telefone
Cada quadrado representa uma varivel que por sua vez representa um telefone Pode-se ter tantos telefones quanto forem necessrios Cada varivel telefone do mesmo tipo Cada varivel carrega a mesma semntica nmero do telefone Pode-se ter uma nica varivel representando vrios tipos ao mesmo tempo, esta estrutura ser vista mais adiante.
127
Este um telefone
Este um telefone
Este um telefone
Este um telefone
telefone
Este um telefone
Este um telefone
128
telefone
Representao grfica de como a varivel iria ficar na memria do computador Este um telefone
Este um telefone
129
PORTUGOL
telefone
Representao grfica de como a varivel iria ficar na memria do computador Este um telefone
Este um telefone
131
Atribuio
var1 <- telefone(1);
Atribuindo a ocorrncia indicada pelo valor da varivel ndice do vetor telefone para a varivel var1. A varivel var1 tem que ter o mesmo tipo do vetor telefone.
132
A varivel ndice tem que ser obrigatoriamente do tipo inteiro. No existe indexador fracionrio. Atribuindo o valor da varivel var1 para a quinta ocorrncia do vetor telefone.
PORTUGOL
135
PORTUGOL
136
PORTUGOL
repita
c1; c2; . . . cn; At <condio> cx; Cy;
Comando de repetio com teste no final. Os comandos c1, c2,...,cn sero executados pelo menos uma vez. O teste feito e se a condio for verdadeira o controle retornado para o comando repita, repetindo os comandos, caso o teste seja falso o programa continua a execuo no comando cx.
138
repita
c1; c2; . . . cn; At <condio> cx; cy;
Estes comandos sero executados pelo menos uma nica vez. A condio testada no final dos comandos, caso seja verdadeira o controle retornado ao comando repita e os comandos so executados novamente.
Estes comandos sero executados quando a condio for falsa.
139
Para v de i at l passo p faa c1; c2; . . . cn; Fim para cx; cy;
142
Para v de i at l passo p faa c1; c2; . . . cn; Fim para cx; cy;
i pode ser uma varivel ou uma constante numrica inteira ou uma expresso. Ela indica o valor com o qual a varivel v ser iniciada. S utilizada na primeira interao da repetio. l uma varivel ou constante ou uma expresso numrica que indica o valor final que a varivel v deve atingir para que a repetio seja finalizada. Em toda a interao um teste feito para ver se o valor de v chegou at o valor de l, se o teste for verdadeiro a repetio terminada, caso contrrio a repetio continua. p varivel ou constante numrica ou uma expresso que indica o valor que ser adicionado ou subtrado da varivel de controle.Esta varivel no usada na primeira interao da repetio. 143
Para v de i at l passo p faa c1; c2; . . . cn; Fim para cx; cy;
Comandos a serem executados caso o teste da varivel v sobre a varivel l seja falso, ou seja, se a varivel v no atingiu o valor da varivel l
Separador ou terminador do comando de repetio para. Quando o teste da varivel de controle for falso, os comandos internos a estrutra de repetio para so executados at este marcador, quando o teste for verdadeiro a execuo do algoritmo continua com os comandos aps o marcador.
144
2. 3. 4.
5.
2. 3.
148
PORTUGOL
149
PORTUGOL
150
PORTUGOL
151
PORTUGOL
Dado o vetor de caracteres abaixo, qual ser a sua configurao depois de executados os comandos ?
U O T R E C A
para i de 2 at 4 passo 1 faa AUX <- CRR[i]; CRR[8- i + 1]; CRR[8 i + 1] <- AUX; fim para AUX <- CRR[1]; CRR [1] <- CRR[8]; CRR[8] <- AUX;
152
PORTUGOL
153
PORTUGOL
* PREO )
As tabelas de preo e de quantidade so fornecidas separadamente e devero ser lidas a partir do teclado.
154
PORTUGOL
3 20
PRECO
35
100 30,00
3 5,00
21 15,00
25 1,00 25
2,00
PORTUGOL
A idia e comparar os elementos dois a dois e ir jogando os elementos de mais alto valor para as ultimas posies do vetor ate obter o vetor classificado.
Apresentar o teste de mesa para cada algoritmo..
156
PORTUGOL
4 5 3 2 6 1 4 3 5 2 6 1 4 3 2 5 6 1 Stop no 5
157
PORTUGOL
4 2 3 1 5 6 2 4 3 1 5 6 2 4 3 1 5 6
158
PORTUGOL
PORTUGOL
1.
2. 3. 4.
Elabore um algoritmo para preencher o vetor com o valor inteiro 30 e depois imprimir as ocorrncias pares com o indicador da ocorrncia e o valor contido nela. Preenche-lo com os valores inteiros 1 a 100 e depois imprimir cada ocorrncia mpar com o ndice da ocorrncia e o seu contedo. Preencher o vetor VET[i] se i for um quadrado perfeito e com zero nos demais casos. Preencher o vetor VET[i] com 0 se i for par, nos demais casos preencher com 1.
PORTUGOL
PORTUGOL
PORTUGOL
PORTUGOL
PORTUGOL
PORTUGOL
10
( A A21i ) i i 1
PORTUGOL
10
( A A21i ) i i 1
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
PORTUGOL
183
PORTUGOL
184
PORTUGOL
185
PORTUGOL
186
PORTUGOL
187
PORTUGOL
188
PORTUGOL
189
PORTUGOL
190
PORTUGOL
191
PORTUGOL
192
PORTUGOL
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
PROCEDIMENTOS E FUNES
BLOCOS
209
PROCEDIMENTOS E FUNES
BLOCOS
210
PROCEDIMENTOS E FUNES
BLOCOS
211
PROCEDIMENTOS E FUNES
BLOCOS
212
213
PROCEDIMENTOS E FUNES
ESCOPO DE VARIVEIS
214
PROCEDIMENTOS E FUNES
ESCOPO DE VARIVEIS
215
PROCEDIMENTOS E FUNES
ESCOPO DE VARIVEIS
216
PROCEDIMENTOS E FUNES
ESCOPO DE VARIVEIS
217
218
PROCEDIMENTOS E FUNES
PROCEDIMENTOS
219
PROCEDIMENTOS E FUNES
PROCEDIMENTOS
220
PROCEDIMENTOS E FUNES
PROCEDIMENTOS
221
PROCEDIMENTOS E FUNES
PROCEDIMENTOS
222
223
PROCEDIMENTOS E FUNES
FUNO
224
PROCEDIMENTOS E FUNES
FUNO
225
PROCEDIMENTOS E FUNES
FUNO
226
PROCEDIMENTOS E FUNES
FUNO
227
PROCEDIMENTOS E FUNES
FUNO
228
229
PROCEDIMENTOS E FUNES
FUNO RECURSIVA
230
231