curso engenharia civil modalidade superior instituto federal do sul de minas, câmpus pouso alegre...
TRANSCRIPT
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Curso Engenharia CivilModalidade Superior
Instituto Federal do Sul de Minas, câmpus Pouso AlegreModificado por Professora Michelle NeryCréditos: Professor Luis Antonio Tavares
Programação de Computadores
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Conteúdo Programático
2
Problemas de LógicaConceitos BásicosAlgoritmo cotidiano vs computacionalFluxogramaPseudocódigo
Estrutura de um ProgramaTipos e VariáveisInstruções BásicasLinearização de ExpressõesEstruturas de CondiçõesEstruturas de RepetiçãoFunções
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Introdução
3
O QUE É LÓGICA? Estudo das leis do raciocínio e do modo de aplicá-las corretamente na demonstração da verdade.
Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.
A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas, ela permite definir a sequência lógica de operação do programa.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Introdução
4
O QUE É ALGORITMO? Sequência de passos que visam atingir um objetivo pré-definido e bem definido.
O algoritmo formado e bem definido que pode ser seguido por qualquer pessoa, e o objetivo será alcançado com certeza.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Introdução
5
Cada linha de um algoritmo é uma instrução.
Instruções são um conjunto de regras ou normas definidas para a realização ou emprego de algo.
Em informática, é o que indica a um computador uma ação elementar a executar.
Um programa é, nada mais, que um conjunto de instruções que executadas cumprem uma finalidade.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Programação
6
O que é Programação? Processo de escrita, teste e manutenção de um programa de computador.
Os programas de computadores nada mais são do que algoritmos escritos numa linguagem de computador (Pascal, C, Delphi, Java, PHP entre outras) e que são interpretados e executados por um computador.
O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação.
Por que Algoritmo?
ALGORITMOCÓDIGO-FONTE EM
LINGUAGEM DEPROGRAMAÇÃO
ADAPTAÇÃO
LINGUAGEMNATURAL
INSTRUÇÕES
COMPILAÇÃO
(EXECUTÁVEL)LINGUAGEMDE MÁQUINA
TRADUÇÃO
01000101001....
PORTUGUÊS, INGLÊS...
ALTO NÍVEL
BAIXO NÍVEL
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Por que criamos algoritmos?
8
Linguagem natural não pode ser interpretada por um computador;
Porém a linguagem algorítmica é similar a uma linguagem de programação e próxima à linguagem natural;
Logo, aprendendo a criar algoritmos, teremos facilidade em aprender uma linguagem de programação.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Regras para fazer um algoritmo
9
Para montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais:
ENTRADA: São os dados de entrada do algoritmo.PROCESSAMENTO: São os procedimentos
utilizados para chegar ao resultado final.SAÍDA: São os dados já processados.
Analogia com o Homem
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Representações de um Algoritmo
11
Fluxograma ou Diagrama de Blocos.
Pseudocódigo, Português Estruturado ou Portugol.
SUBJETIVIDADE
PRECISÃO
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Fluxograma ou Diagrama de Blocos
12
Fluxograma é um tipo de diagrama, e pode ser entendido como uma representação esquemática de um processo.
Podemos entendê-lo, na prática, como a documentação dos passos necessários para a execução de um processo qualquer.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Fluxograma
13
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exemplo de um Fluxograma
14
Inicio
num1
num2
Escreva o 1º
número:
Escreva o 1º
número:
soma = num1 + num2
soma
Fim
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exemplo de um Fluxograma
15
Entrada (s): Saída (s):
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Pseudocódigo
16
O pseudocódigo é uma maneira intermediária entre a linguagem natural e uma linguagem de programação de representar um algoritmo.
Ela utiliza um conjunto restrito de palavras-chave, em geral na língua nativa do programador.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exemplo de Pseudocódigo
17
Algoritmo PROGRAMA_EXEMPLOVariáveis
num1, num2, soma: Inteiros; Inicio
ESCREVA("Digite o primeiro número:"); LEIA(num1); ESCREVA("Digite o segundo número:"); LEIA(num2); soma = num1 + num2;ESCREVA (“A SOMA É: “, soma);
Fim
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Instruções Básicas do Pseudocódigo
18
ESCREVA(); - Responsável por escrever uma mensagem na tela.
LEIA(); - Responsável por ler um valor do teclado e armazenar numa variável, ou seja, num espaço em memória.
VARIÁVEIS – Responsável por definir todos as variáveis que serão necessárias no programa.
Início e Fim – Delimitam o corpo do programa.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Operadores Aritméticos
19
Operações Operadores Exemplo
Soma + a + b
Subtração - a - b
Divisão / a / b
Multiplicação * a * b
Potência ^ a ^ b
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Operador de Atribuição
20
Operação Operador Exemplo
Atribuição = resultado = preço *
quantidade
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Variáveis
21
As variáveis do exemplo anterior são num1, num2 e soma.
Variáveis são espaços em memória usados para armazenar valores. num1, num2 e soma são somente o nome desses espaços.
No programa, as variáveis num1 e num2 estão, por exemplo, usando um espaço em memória para armazenar os valores lidos do teclado. Assim, sempre que os nomes num1 e num2 forem
mencionados, estarão fazendo referência a esses valores lidos.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Tipos de Variáveis
22
InteirosAplicabilidade: armazenar idade, quantidade, etcEx.: 1 2 3 4 -5 -90 (números sem casa decimal)
Reais Aplicabilidade: preço, altura, etcEx.: 2.5 -9.32 -11.1 (números com casa decimal)
Caracteres (Ex. de uso: nomes, endereços, CPF)Aplicabilidade: nomes, endereço, etcEx.: “IFSULDEMINAS”, “Rua da Casas, nº 25” (valores
literais)
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Regras para Nomes de Variáveis
23
1. Não se pode utilizar o Ç.2. Não se pode utilizar letras acentuadas.3. Não se pode utilizar algarismos de 0 a 9 no
inicio de uma variável.4. Dos caracteres especiais, só pode ser
utilizado o sublinhado ou underscore ( _ ).5. Não pode haver espaço em branco.6. Não se pode utilizar palavras reservadas, ou
seja, palavras que significam comandos (escreva, leia, inteiro, real).
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Convenções de Variáveis
24
É boa prática escolher nomes que significam alguma coisa no contexto do programa e indiquem a função da variável;
Recomenda-se que os nomes de variáveis sejam em letras minúsculas, se tiver apenas uma palavra, como idade, ou então, as primeiras letra das demais palavras em maiúsculas, como idadePessoa.
A variável sempre deve começar por uma letra.
Não se deve misturar letras maiúsculas e minúsculas.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
25
O que é uma variável?Classifique os conteúdos abaixo em [C]
caractere, [I] inteiro ou [R] real:a) 258.23 b) yuri c) 127 d) ae) casa f) 1000.35 g) 10 h) 4.0
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
26
Classifique as variáveis como, válida (1), válida e convencional (2), válida e não convencional (3) e inválida (4):
a) 3ab b) inteiro c) X**X d) _sime) _A f) A123 g) N_a_o h) y_2i) y-2 j) 00fim k) \meu l) 6y2m) n n) nota2 o) n4t p) &casaq) numMatricular)numero1 s)MatriculaAluno
Escreva um programa usando o fluxograma que leia duas notas dos alunos e calcule a média dessas notas.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Linearização de Expressões
27
As linguagens de programação não entendem uma expressão matemática da maneira que nós escrevemos.
Portanto é necessário converter uma expressão matemática para uma expressão de computador.
Por exemplo, converter “resultado = n1 x n2”:resultado = n1 * n2
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Linearização de Expressões
28
Para construção de algoritmos que realizam cálculos matemáticos, TODAS expressões aritméticas devem ser linearizadas;
Linearizadas = Colocadas em uma únicas linha;
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Linearização de Expressões
29
Numa expressão para computador, não deve haver {} ou []. Somente parênteses. Exemplos:{80-[(5x4+1)÷3]} expressão matemática(80-((5*4+1)/3)) expressão linearizada
80 + (2 x 3) expressão matemática 40
80/40+(2*3) expressão linearizada
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Linearização de Expressões
30
Ordem de precedência dos operadores:1º () Parênteses2º ^ Potência3º */ Multiplicação ou Divisão (o que aparecer
primeiro)4º +- Adição ou Subtração (o que aparecer
primeiro)
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
31
Passe as expressões abaixo para forma computacional:
a) {5 + [3x2 – (4+1)]}
b) 5 x { [(4 + 2) x 2] – 3 x 2}
c) 80 – 7 x 3 + [(5 – 1) + 8] x 3
d) [5 + (8+4 – 4x2)] 2
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
32
1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma.
2. Escrever um algoritmo que leia o seu salário fixo de um vendedor e o total de vendas efetuadas por ele no mês (em dinheiro). Sabendo que este vendedor ganha 15% de comissão sobre suas vendas efetuadas, informar o salário no final do mês.
3. Ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit. A fórmula de conversão é: F = (9*C+160) / 5, sendo F a temperatura em Fahrenheit e C a temperatura em Celsius.
4. Escrever um algoritmo que leia as notas de três provas que o aluno obteve no semestre. No final informar a sua média (aritmética).
5. Elaborar um algoritmo que efetue a apresentação do valor da conversão em real (R$) de um valor lido em dólar (US$). O algoritmo deverá solicitar o valor da cotação do dólar e também a quantidade de dólares disponíveis com o usuário.
6. Elaborar um algoritmo que leia 4 números, calcule o quadrado de cada número, depois some os quadrados calculados e apresente na tela a soma.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
33
7. Elaborar um algoritmo que leia um valor para X e apresente o resultado da seguinte expressão: 4 + 3 * (8 – x)
8. Criar um algoritmo que leia a altura, a largura e o comprimento de um paralelepípedo e calcule seu volume de acordo com a seguinte fórmula: volume = altura * largura * comprimento
9. Faça um programa que receba um valor que é o valor pago, um segundo valor que é o preço do produto e retorne o troco a ser dado.
10. Faça um programa que receba o valor do quilo de um produto e a quantidade de quilos do produto consumida calculando o valor final a ser pago.
11. O preço de um automóvel é calculado pela soma do preço de fabrica com o preço dos impostos (45% do preço de fabrica) e a percentagem do revendedor (28% do preço). Faça um programa que leia o preço de fabrica e mostre na tela o preço final.
8. Fórmula: imposto = precoFabrica * (0,45 + 0,28) 9. preco_final = precoFabrica + imposto
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
34
12. Gere um pseudocódigo que aplique um desconto de 30% sobre o valor de um produto, recebido como entrada, e retorne o resultado na saída do programa.
13. Elabore um algoritmo que calcule a área de um círculo. area = 3,14 * raio * raio
14. Escreva um algoritmo que receba o lado de um quadrado e calcule sua área.
15. Escreva um algoritmo que receba os lados (comprimento e altura) de um retângulo e calcule sua área.
16. Escreva um algoritmo que receba o lado ( L ) de um quadrado e calcule a área de um retângulo de base ( 4L ) e altura ( L ).
17. Tendo como dado de entrada a altura de uma pessoa do sexo feminino, construa um algoritmo que calcule seu peso ideal, utilizando a seguinte fórmula: peso_ideal = (62.1 * altura) - 44.7
18. Escreva um algoritmo que converta um valor em quilômetros para metros.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Estrutura de Condição
35
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Condições
36
Condições serão usadas sempre que precisarmos testar o valor de uma variável.
Desta forma podemos definir instruções que serão executadas caso uma condição seja verdadeira e instruções alternativas, caso a condição não seja verdadeira.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
37
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Formas Usadas no Fluxograma
38
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Fluxograma: Encontrar o Maior Número
39
Início
Escreva o 1º
número:
a
Escreva o 2º
número:
b
a > b
b
a
Fim
Verdadeiro
Falso
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Algortimo: Encontrar o Maior Número
40
Algoritmo PROGRAMA_EXEMPLOVariaveis
a, b: REAIS; Inicio
ESCREVA ("Digite o primeiro numero: "); LEIA ( a ); ESCREVA ("Digite o segundo numero: "); LEIA ( b ); SE ( a > b ) ENTAO
ESCREVA (“O maior numero eh: ”, a);SENAO
ESCREVA (“O maior numero eh: ”, b);FIM_SE
Fim
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Fluxograma: Encontrar a Média entre Duas Notas
41
Início
Escreva o 1º
número:
a
Escreva o 2º
número:
b
media = (a+b) / 2
media
media >= 60
Reprovado
Aprovado
Fim
Verdadeiro
Falso
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Pseudocódigo: Encontrar a Média entre Duas Notas
42
Algoritmo PROGRAMA_EXEMPLOVariaveis
a, b, media: REAIS; Inicio
ESCREVA ("Digite a nota da primeira prova:"); LEIA ( a ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( b ); media = (a + b) / 2;ESCREVA (“A MEDIA EH: “, media);SE (media >= 60) ENTAO
ESCREVA (“APROVADO!”);SENAO
ESCREVA (“REPROVADO!”);FIM_SE
Fim
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Operadores Relacionais
43
Exemplo:
SE ( num == 20 ) ENTAOESCREVA (“O NUMERO INFORMADO EH O NUMERO 20!”);
FIM_SE
Operações Operadores Exemplo
Maior > a > b
Maior Igual >= a >= b
Menor < a < b
Menor Igual <= a <= b
Diferente != a != b
Igual == a == b
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Operadores Lógicos
44
Operadores Operadores Exemplo
E & a > 60 & b > 40
E E && a > 60 && b > 40
Ou | a > 60 | b > 40
Ou Ou || a > 60 || b > 40
Não ! !(a > 60)
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Operadores Lógicos&: Se uma das condições for falsa, todo o resto será falso. Todas as condições são analisadas.
&&: Se uma das condições for falsa, todo o resto será falso. Se a primeira condição for falsa, não analisa o restante.
45
V & V = VV & F = FF & V = FF & F = F
V && V = VV && F = FF && V = FF && F = F
false && ? sempre false (não
avalia o segundo operando).
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Operadores Lógicos|: Se uma das condições for verdadeira, todo o resto será verdadeiro. Todas as condições são analisadas.
||: Se uma das condições for verdadeira, todo o resto será verdadeiro. Se a primeira condição for verdadeira, não analisa o restante.
46
V | V = VV | F = VF | V = VF | F = F
V || V = VV || F = VF || V = VF || F = F
true || ? sempre true (não
avalia o segundo operando).
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Operadores Lógicos
47
Exemplo Operador E:SE ( ( num > 20 ) && ( num < 30 ) ) ENTAO
ESCREVA (“O NUMERO EH MAIOR QUE 20 E MENOR QUE 30!”);
FIM_SE
Exemplo Operador OU:SE ( ( num > 20 ) || ( num < 30 )) ENTAO
ESCREVA (“O NUMERO EH MAIOR QUE 20 OU MENOR QUE 30!”);
FIM_SE
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Algoritmo: Calcular se a Média das Notas e verificar se o aluno está aprovado.
48
Algoritmo PROGRAMA_EXEMPLOVariaveis
a, b, media: REAIS; Inicio
ESCREVA ("Digite a nota da primeira prova:"); LEIA ( a ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( b ); media (a + b) / 2;ESCREVA (“A MEDIA EH: “, media);SE ( media >= 60 ) ENTAO
ESCREVA (“Aprovado!”);SENAO
SE ( media >= 30 ) ENTAO ESCREVA (“Recuperação!”);
SENAO ESCREVA (“Reprovado!”);
FIM_SEFim
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
49
Sabendo que A = 3, B = 7 e C = 4, informe se as expressões abaixo são verdadeiras ou falsas:
a) (A + C) > B _______________b) B >= (A + 2) _______________c) C == (B – A) _______________d) (B + A) <= C _______________e) (C + A) > B _______________
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
50
Sabendo que A = 5, B = 4, C = 3 e D = 6, informe se as expressões abaixo são verdadeiras ou falsas:
a) (A > C) && (C <= D) _______________b) (A + B) == (C + D) _______________c) (A < B) || (D <= C) _______________d) (A < B) || (D >= C) _______________e) (C < 10) && (D > A) _______________f) (B > C) && (C >= A) _______________g) (B > C) || (C >= A) _______________
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
51
1.Escrever um algoritmo que leia as notas de três provas que o aluno realizou no semestre. No final informar a sua média (aritmética) e verificar se a sua média foi superior ou igual a 70, caso positivo a mensagem “Você foi aprovado!” deverá ser escrita na tela, caso contrário a mensagem “Você foi reprovado!” deverá ser escrita na tela.
2.Elaborar um algoritmo que leia um número qualquer e exiba uma mensagem informando se ele é negativo ou positivo. (Para ser positivo o número tem de ser maior que 0).
3.Crie um algoritmo que leia 2 valores numéricos e apresente a diferença do maior pelo menor.
4.Elaborar um algoritmo que leia 3 números e apresente na tela o maior deles.
5.Elaborar um algoritmo que leia 3 valores numéricos e apresente os 3 em ordem decrescente.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
52
6. João Pescador comprou um microcomputador para controlar o rendimento diário de seu trabalho. Toda vez que ele traz um peso de peixes maior que o estabelecido pelo regulamento de pesca do estado de Minas Gerais (50 kg) ele deve pagar um multa de 4 reais por kg excedente. Ajude João, crie o diagrama de blocos e o pseudocódigo para um aplicativo que leia o peso dos peixes e, se houver excesso, calcular a quantidade de quilos excedida e a multa correspondente a essa quantidade em reais.
7. Faça um programa que leia um número inteiro e verifique se ele é par ou ímpar. Para saber se o número é par ou ímpar use a seguinte condição:
SE ( num % 2 == 0 ) ENTAOESCREVA (“O número é par!”);
SENAOESCREVA (“O número é ímpar!”);
FIM_SEO operador % devolve o resto da divisão de num por 2. Quando um número é divido por 2 e tem resto 0, este número é par.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
53
8. Faça um programa que leia o número de horas trabalhadas de um empregado e calcule seu salário final. Sabendo que cada hora corresponde a 20 reais e quando o número de horas exceder 50 o valor de cada hora excedida corresponde a 40 reais.
9. Faça um algoritmo que receba um número e mostre uma mensagem caso este número seja maior que 10.
10. Faça um algoritmo que receba um número e diga se este número está no intervalo entre 100 e 200.
11. Escrever um algoritmo que leia o nome e as três notas obtidas por um aluno durante o semestre. Calcular a sua média (aritmética), informar o nome e sua menção aprovado (media >= 7), Reprovado (media <= 5) e Recuperação.
12. Faça um algoritmo que receba a idade de uma pessoa e mostre mensagem informando “maior de idade” e “menor de idade”. Considere a idade a partir de 18 anos como maior de idade.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
54
13. Faça um algoritmo que receba o preço de custo e o preço de venda de um produto. Despois o programa deve mostrar como resultado se houve lucro, prejuízo ou empate para o produto.
14. Faça um algoritmo que leia dois números e identifique se são iguais ou diferentes.
15. Faça um algoritmo que leia um número de 1 a 5 e escreva por extenso. Caso o usuário digite um número que não esteja neste intervalo, exibir mensagem: número inválido.
16. A escola “APRENDER” faz o pagamento de seus professores por hora/aula. Faça um algoritmo que leia o nível do professor e as horas trabalhadas, calcule e exiba o salário do professor. Sabe-se que o valor da hora/aula é de acordo com a tabela seguinte:
Professor Nível 1 - R$12,00 por hora/aulaProfessor Nível 2 - R$17,00 por hora/aulaProfessor Nível 3 - R$25,00 por hora/aula
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
55
17.As maçãs custam R$ 1,30 cada se forem compradas menos de uma dúzia, e R$ 1,00 se forem compradas pelo menos 12 unidades. Escreva um programa que leia o número de maçãs compradas, calcule e escreva o custo total da compra.
18.Ler o ano atual e o ano de nascimento de uma pessoa. Escrever uma mensagem que diga se ela poderá ou não votar na próxima eleição (não é necessário considerar o mês em que a pessoa nasceu).
19.Ler a hora de início e a hora de fim de um jogo de Xadrez (considere apenas horas inteiras, sem os minutos) e calcule a duração do jogo em horas, sabendo-se que o tempo máximo de duração do jogo é de 24 horas e que o jogo pode iniciar em um dia e terminar no dia seguinte.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Estruturas de Repetição
56
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Estruturas de Repetição
57
As estruturas de repetição se encarregam de repetir determinado bloco de instruções enquanto uma condição for verdadeira.
Essa repetição pode ser chamada de laços e também de loops.
Temos basicamente dois tipos de loops: O para e o enquanto.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Laço de Repetição ENQUANTO
58
O primeiro loop que vamos conhecer é o enquanto. Pois se trata do loop mais simples.
Funcionamento: O bloco de código definido no loop enquanto fica em execução enquanto uma determinada condição for verdadeira. Cada vez que o bloco é iniciado, a condição é novamente testada, quando não for mais verdadeira, o loop é encerrado.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Sintaxe do loop ENQUANTO
59
ALGORITMO LOOP_ENQUANTOVARIAVEIS
cont : INTEIRO;INICIO
cont = 1;ENQUANTO ( cont < 5 ) FAÇA
ESCREVA (“Numero: ”, cont);cont = cont + 1;
FIM_ENQUANTOFIM
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exemplo Loop ENQUANTO
60
ALGORITMO PROGRAMA_MEDIA_COM_LOOPVARIAVEIS
media, n1, n2: REAIS;opcao: INTEIRO;
INICIOopção = 1;ENQUANTO ( opção == 1 ) FAÇA
ESCREVA (“Informe a primeira nota: ”); LEIA ( n1 ); ESCREVA (“Informe a segunda nota: ”); LEIA ( n2 ); media = ( n1 + n2 ) / 2; ESCREVA (“Sua media eh: ”, media); ESCREVA (“Digite 1 se deseja continuar no
programa”); LEIA ( opcao );
FIM_ENQUANTOFIM
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercício
61
1. Escrever um algoritmo que leia a idade de 5 pessoas. A cada idade lida, verifique se a pessoa é maior de idade ou menor de idade, apresentando essa informação na tela.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Lista de Exercícios: ENQUANTO
62
1. Escrever um algoritmo que leia o sexo de 10 pessoas (1 para masculino e 2 para feminino) e no final informe o total de homens e de mulheres.
2. Faça um algoritmo que leia a quantidade de KW/h consumida por uma pessoa e calcule o valor da conta de luz. Sabe-se que o cálculo da conta de luz segue a tabela abaixo:
Acrescente o loop enquanto, de forma que o programa pergunte ao usuário se deseja continuar no programa (para isso deve informar um número 1).
Tipo de Cliente
Valor do KW/h
1 (Residência)
0,60
2 (Comércio) 0,483 (Indústria) 1,29
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Lista de Exercícios: ENQUANTO
63
3. Sabendo que o primeiro múltiplo de 5 é o zero e que acrescentando cinco unidades a cada múltiplo você encontra o próximo múltiplo. Crie o algoritmo que apresenta os múltiplos do número 5 na faixa de 0 a 100 usando o loop enquanto.
4. Crie um algoritmo usando o loop enquanto que apresente a tabuada completa do número 3.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Estrutura de Repetição PARA
64
O loop para trabalha de uma forma um pouco diferente do loop enquanto.
Funcionamento: No loop para, uma variável pode ser inicializada com um valor qualquer, e o bloco de código definido neste loop vai ser executado até que a variável atinja um determinado valor. No loop também são definidos passos, ou seja, é um valor que será incrementado na variável cada vez que o loop rodar.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
A sintaxe do loop PARA
65
ALGORITMO LOOP_PARAVARIAVEIS
cont : INTEIRO;INICIO
PARA ( cont = 1; cont <= 5; PASSO 1 ) FAÇAESCREVA (“IF Sul de Minas”);
FIM_PARAFIM
A cada execução do loop dá-se o nome de iteração (iteração sem o N mesmo, não confunda com interação.)
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exemplo 1 Loop PARA
66
ALGORITMO ESCREVE_ATE_5VARIAVEIS
cont: INTEIRO;INICIO
PARA ( cont = 1; cont <= 5; PASSO 1 ) FAÇA
ESCREVA (“Numero: ”, cont);FIM_PARA
FIM
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exemplo 2 Loop PARA
67
ALGORITMO EXIBE_PARESVARIAVEIS
cont: INTEIRO;INICIO
PARA ( cont = 1; cont <= 10; PASSO 2 ) FAÇA
ESCREVA (“Numero: ”, cont);FIM_PARA
FIM
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exemplo 3 Loop PARA
68
ALGORITMO SOMA_NUMEROS_ATE_DEZVARIAVEIS
cont, soma: INTEIRO;INICIO
soma = 0;PARA ( cont = 1; cont <= 10; PASSO 1 ) FAÇA
soma = soma + cont;FIM_PARAESCREVA (“A soma dos numeros eh: ”,
soma);FIM
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exemplo 4 Loop PARA
69
Algoritmo PROGRAMA_MEDIA
Variaveis
a, b, media: REAIS;
cont: INTEIRO;
Inicio
PARA ( cont = 1; cont <= 5; PASSO 1 ) FAÇA
ESCREVA ("Digite a nota da primeira prova:");
LEIA ( a );
ESCREVA("Digite a nota da segunda prova:");
LEIA ( b );
media = (a + b) / 2;
ESCREVA (“A MEDIA EH: “, media);
SE ( media >= 60 ) ENTAO
ESCREVA (“Aprovado!”);
SENAO
SE ( media >= 30 ) ENTAO
ESCREVA (“Recuperação!”);
SENAO
ESCREVA (“Reprovado!”);
FIM_SE
FIM_PARA
Fim
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercício
70
1. Faça o algoritmo para um aplicativo que apresenta todos os números de 0 a 100 em ordem decrescente.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Lista de Exercícios: PARA
71
1. Desenvolva um algoritmo que apresente os números de 1 até 100 na tela.
2. Desenvolva um algoritmo que some todos os números de 1 até 100 e apresente o resultado na tela.
3. Sabendo que o primeiro múltiplo de 5 é o zero e que acrescentando cinco unidades a cada múltiplo você encontra o próximo múltiplo. Crie o algoritmo que apresenta os múltiplos do número 5 na faixa de 0 a 100 usando o loop para.
4. Crie um algoritmo usando o loop para que apresente a tabuada completa do número 3.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Estrutura de Repetição FAÇA ENQUANTO
72
O loop faça... enquanto é uma derivação do loop enquanto. A diferença é que com esse loop o bloco de código é executado uma vez antes da condição ser verificada.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
A sintaxe do loop FAÇA... ENQUANTO
73
ALGORITMO LOOP_FACA_ENQUANTOVARIAVEIS
cont: INTEIRO;INICIO
cont = 0;FAÇA
ESCREVA (“Numero: ”, cont);cont = cont + 1;
ENQUANTO ( cont < 5 ) FIM
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exemplo 1 Loop FAÇA... ENQUANTO
74
Algoritmo MAIOR_NUMERO
Variaveis
a, b: REAIS;
opcao: INTEIRO;
Inicio
FAÇA
ESCREVA ("Digite o primeiro numero: ");
LEIA ( a );
ESCREVA ("Digite o segundo numero: ");
LEIA ( b );
SE ( a > b ) ENTAO
ESCREVA (“O maior numero eh: ”, a);
SENAO
ESCREVA (“O maior numero eh: ”, b);
FIM_SE
ESCREVA (“Para continuar digite o numero 1: ");
LEIA (opcao);
ENQUANTO(opcao == 1)
Fim
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exemplo 2 Loop FAÇA... ENQUANTO
75
Algoritmo PROGRAMA_MEDIAVariaveis
a, b, media: REAIS;opcao: INTEIRO;
Inicio FAÇA
ESCREVA ("Digite a nota da primeira prova:"); LEIA ( a ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( b ); media = (a + b) / 2;ESCREVA (“A MEDIA EH: “, media);SE (media >= 60) ENTAO
ESCREVA (“APROVADO!”);SENAO ESCREVA (“REPROVADO!”);FIM_SEESCREVA("Digite o numero 1 para continuar:"); LEIA (opcao);
ENQUANTO (opcao == 1)Fim
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercício
76
1. Crie um algoritmo usando o loop faça...enquanto que apresente a tabuada completa do número 3.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Operadores Relacionais
77
Exemplo:ENQUANTO ( num <= 20 ) FAÇA
ESCREVA (“O NUMERO INFORMADO EH MENOR QUE 20!”);ESCREVA (“INFORME NOVAMENTE UM NUMERO: ”);LEIA ( NUM );
FIM_ENQUANTO
Operações Operadores Exemplo
Maior > a > b
Maior Igual >= a >= b
Menor < a < b
Menor Igual <= a <= b
Diferente != a != b
Igual == a == b
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Operadores Lógicos
78
Exemplo Operador E:ENQUANTO ( ( num > 20 ) && ( num < 30 ) ) FAÇA
ESCREVA (“O NUMERO EH MAIOR QUE 20 E MENOR QUE 30!”);ESCREVA (“INFORME NOVAMENTE UM NUMERO: ”);LEIA ( NUM );
FIM_ENQUANTO
Exemplo Operador OU:ENQUANTO ( ( num < 20 ) || ( num > 30 ) ) FAÇA
ESCREVA (“O NUMERO EH MENOR QUE 20 OU MAIOR QUE 30!”);ESCREVA (“INFORME NOVAMENTE UM NUMERO: ”);LEIA ( NUM );
FIM_ENQUANTO
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Lista de Exercícios: FAÇA ... ENQUANTO
79
1. Tendo como dados de entrada a altura e o sexo de uma pessoa (valor 1 para masculino e valor 2 para feminino), construa um algoritmo que calcule seu peso ideal, utilizando as seguintes fórmulas:
para homens: (72.7 * h) – 58;para mulheres: (62.1 * h) – 44.7.
Acrescente o loop faça.. enquanto, de forma que o programa pergunte ao usuário se deseja continuar no programa (para isso deve informar o número 1).
2. Escrever um algoritmo que leia a idade de “N” pessoas e informe se a pessoa é obrigada ou não a votar. LOOP FAÇA... ENQUANTO.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Lista de Exercícios: FAÇA ... ENQUANTO
80
3. Elabore um algoritmo que, dada a idade de um nadador. Classifique-o em uma das seguintes categorias:
Infantil A = 5 - 7 anosInfantil B = 8 - 10 anosJuvenil A = 11 - 13 anosJuvenil B = 14 - 17 anosSênior = 18 - 25 anos
Apresentar mensagem “idade fora da faixa etária” quando for outro ano não contemplado.Acrescente o loop faça... enquanto, de forma que o programa pergunte ao usuário se deseja continuar no programa (para isso deve informar um número 1).
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Lista de Exercícios: FAÇA ... ENQUANTO
81
4. Elabore um algoritmo que leia um número de entrada que indicará a quantidade de números a serem lidos. Em seguida, leia n números (conforme o valor informado anteriormente) e imprima o triplo de cada um. LOOP FAÇA... ENQUANTO
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios: escolha o loop que melhor se adapta ao exercício
82
1. Elaborar um programa que efetue a leitura de valores positivos inteiros até que um valor negativo seja informado. Ao final devem ser apresentados o maior e menor valor informado pelo usuário.
2. Desenvolva um programa que faça a leitura de 5 valores numéricos e apresente o dobro de cada valor lido.
3. Desenvolva um algoritmo que leia N valores e, ao final, apresente a média dos valores lidos.
4. Crie um algoritmo que apresente números de 0 a 1000, passando de 10 em 10.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
83
5. Faça a simulação (ou teste de mesa) do programa a seguir:
ALGORITMO EXERCICIO_10VARIAVEIS
num : INTEIRO;INICIO
num = 3;ENQUANTO (num <= 30) FAÇA
ESCREVA(num);num = num * 2;
FIM_ENQUANTOFIM
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios: escolha o loop que melhor se adapta ao exercício
84
6. Elabore um algoritmo que imprima a tabuada de um número que será informado pelo usuário.
7. Elabore um algoritmo que leia 15 números, e imprima quantos números maiores que 10 foram digitados.
8. Escrever um algoritmo que apresente na tela todos os números pares de 0 a 100.
9. Desenvolva um programa que leia dez números e verifique a cada número digitado, se o valor trata-se de um número positivo, negativo ou se é o número 0.
10. Elaborar um algoritmo que calcule o quadrado do número inserido e somente termine quando for inserido o número 0.
11. Faça um algoritmo que leia 10 números inteiros retornando no final qual foi o maior valor lido.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios: escolha o loop que melhor se adapta ao exercício
85
12. Faça um programa de entrevista de emprego que lê a idade e formação escolar (1 para médio, 2 para técnico e 3 para superior) e determina o cargo a que a pessoa pode se candidatar, de acordo com a tabela:
Por exemplo, para se candidatar ao cargo de recepcionista a pessoa deve ter idade maior ou igual a 16 e formação de ensino médio. Caso a idade e a formação não se enquadre em nenhum dos cargos listados, a mensagem “Perfil incompatível” deve ser apresentada na tela.
Idade Formação Cargo>=16 Médio Recepcionista>=18 Técnico Desenvolvedor
Web>=20 Superior Auxiliar de RH
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios: escolha o loop que melhor se adapta ao exercício
86
13. Faça um programa que pegue um número do teclado e calcule a soma de todos os números de 1 até ele. Ex.: o usuário entra 7, o programa vai mostrar 28, pois 1+2+3+4+5+6+7=28.
14. Insira o código do exercício anterior em um laço enquanto, de forma que você pergunte ao usuário se ele deseja continuar ou sair do programa.
15. Desafio: Usando laços de repetição, desenvolva um algoritmo para escrever os números da série numérica apresentada a seguir. Apresente apenas os valores menores que 300. Série: 0, 1, 3, 7, 15, 31, 63, 127, .?.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Funções
87
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Funções
88
São utilizadas para dividir um algoritmo maior (mais complexo) em partes menores (mais simples).
Quando uma mesma tarefa é realizada várias vezes em um programa, não é necessário duplicar o código, apenas faz-se a chamada da função que contém o código da tarefa.
Este processo é conhecido como modularização.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Vantagens
89
Reduzem o tamanho do algoritmo.
Melhoram a legibilidade do algoritmo.
Reaproveitamento de código.
Facilitam a manutenção.
Facilitam a divisão de trabalho.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Sintaxe de uma função
90
FUNÇÃO ANALISA_NUMERO (num : INTEIRO)INICIO
SE (num > 0) ENTAOESCREVA (“Numero Positivo”);
SENAO SE (num < 0) ENTAOESCREVA (“Numero Negativo”);
SENAOESCREVA (“Numero Zero”);
FIM_SEFIM_FUNÇÃO
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Chamada de função
91
ALGORITMO PROGRAMA_EXEMPLOVARIAVEIS
num: INTEIRO;INICIO
ESCREVA (“Informe um numero: ”);LEIA ( num );ANALISA_NUMERO ( num );
FIM
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Sintaxe de função com retorno
92
FUNÇÃO SOMA (a, b : REAIS)VARIAVEIS
result : REAIS;INICIO
result = a + b;RETORNE result;
FIM_FUNÇÃO
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Chamada de função
93
ALGORITMO PROGRAMA_SOMAVARIAVEIS
result, a, b: REAIS;INICIO
ESCREVA (“Informe o primeiro numero: ”);LEIA ( a );ESCREVA (“Informe o segundo numero: ”);LEIA ( b );result = SOMA ( a, b );ESCREVA (“A soma eh: ”, result);
FIM
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Alguns pontos importantes
94
Na chamada de uma função, os valores que são passados para esta função devem vir entre parênteses após o nome da mesma. Exemplo:
ANALISA_NUMERO ( num );
Esses valores passados para a função são chamados de argumentos ou parâmetros.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Alguns pontos importantes
95
A linha de definição da função deve declarar os valores recebidos e o tipo dos mesmos. Exemplo:
FUNÇÃO SOMA (a, b : REAIS)
Não há a necessidade das variáveis passadas para uma função terem os mesmos nomes dos argumentos declarados na função. Exemplo de chamada para a função do exemplo anterior:
result = SOMA (n1, n2);
Mas os parâmetros devem ser do mesmo tipo e estar em mesma quantidade que os valores passados.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Alguns pontos importantes
96
Analisando os exemplos, podemos observar que uma função pode retornar um valor ou não retornar nenhum valor.
Mas uma função nunca retorna mais de um valor.
Quando um função retorna um valor, em sua chamada deve haver uma variável recebendo esse valor, por exemplo:
result = SOMA ( a, b );
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Alguns pontos importantes
97
Quando necessário, é possível criar variáveis internas à função, ou seja, que serão acessadas somente internamente no escopo da função. Como é o caso da variável result no exemplo abaixo:
FUNÇÃO SOMA (a, b : REAIS)VARIAVEIS
result : REAIS;INICIO
result = a + b;RETORNE result;
FIM_FUNÇÃO
ALGORITMO PROGRAMA_MEDIAVARIAVEIS
a, b, result, cont : REAIS; INICIO
PARA ( cont = 1; cont <= 5; PASSO 1 ) FAÇA
ESCREVA ("Digite a nota da primeira prova:"); LEIA ( a ); ESCREVA ("Digite a nota da segunda prova:"); LEIA ( b ); result = CALCULA_MEDIA ( a, b );ESCREVA (“A MEDIA EH: “, result);
FIM_PARAFIMFUNÇÃO CALCULA_MEDIA ( a, b : REAIS)VARIAVEIS
result, soma : REAIS;INICIO
soma = a + b;result = soma / 2;RETORNE result;
FIM_FUNÇÃO
Programa que calcula a média de 5 pessoas usando o loop para e função.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercício
99
Elaborar um programa que efetue a leitura de um valor numérico. Após lido, este valor será passado para uma função que irá apresentar o quadrado do número e, depois, será passado para uma outra função que irá exibir o cubo do valor.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
100
1. Crie um algoritmo que leia dois números e passe estes dois números como parâmetros para uma função. A função será responsável por calcular e escrever na tela a soma e a subtração desses valores.
2. Crie um algoritmo que leia dois números e passe estes dois números como parâmetros para uma função. A função será responsável por calcular a multiplicação desses valores e retornar o resultado para o escopo principal, que apresentará o resultado na tela.
3. Faça uma função que recebe por parâmetro o raio de uma esfera e calcula o seu volume (v = 4/3 . π . R3).
4. Desenvolva um programa que leia dez números e a cada número digitado, chame uma função que verifica se o valor trata-se de um número positivo, negativo ou se é o número 0.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
101
5. Faça um algoritmo para um aplicativo que leia a média final de um aluno e passe este valor para uma função. A função recebe a média final do aluno por parâmetro e escreve o seu conceito, conforme a tabela abaixo:
Nota Conceitode 0,0 a 4,9 Dde 5,0 a 6,9 Cde 7,0 a 8,9 B
de 9,0 a 10,0 A
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
102
6. Elaborar um algoritmo que leia a medida de 3 possíveis lados de um triângulo e passa esses valores como parâmetros para uma função que irá verificar se é possível formar um triângulo com essas medidas. Para formar um triângulo, as somas dos tamanhos de dois lados tem de ser maior que o tamanho lado oposto.
7. Faça um algoritmo que leia as medidas dos lados de um retângulo. Após ler esses valores, o algoritmo deve chamar uma função que recebe a medida dos dois lados, calcula o perímetro do retângulo e retorna o resultado. Na sequência o algoritmo deve passar esses valores como parâmetros para uma função que calcula a área do retângulo e retorna o resultado.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
103
8. Crie uma função chamada intervalo que recebe dois parâmetros e apresenta na tela todos os números que compreende o intervalo entre os dois valores.
9. Crie uma função chamada triplo. A função deve receber um valor como argumento e retornar seu triplo.
10. Crie uma função com o nome de maior. Esta função deve receber dois valores e retornar o maior deles.
11. Fazer a função POW (base, expoente) que recebe base e expoente como parâmetros e retorna o valor de base elevado a expoente.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Exercícios
104
12. Faça a simulação (ou teste de mesa) do programa a seguir:
FUNÇÃO PROCESSA_VALORES (A: INTEIRO)VARIAVEISr : INTEIRO;
INICIOSE ( (a >= 5 ) && ( a != 10) ) ENTAOr = a – 5;SENAOr = a * 2;FIM_SERETORNA r;
FIM_FUNÇÃO
Para A igual a
Valor Retornado
5 11 10 8 3
BibliográficaBibliografia BásicaBibliografia Complementar
Regras1. Proibido uso de celular em sala de aula.
1. Acessórios como os fones de ouvido também são proibidos durante a aula.
2. O horário de aula, ou seja, o tempo em sala de aula, está descrito no plano pedagógico do curso, portanto sair mais cedo ou chegar mais tarde, somente a critério do professor.