Programação de Computadores

Documentos relacionados
1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma. subtração, multiplicação e a divisão dos números lidos.

1ª LISTA DE EXERCÍCIOS - Extra

CADERNO DE EXERCÍCIOS ALGORITMOS

Programação de Redes de Computadores

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Lista de exercícios 01 de Computação Aplicada

Algoritmos e estrutura de dados I. Profa. Lara Popov Z. B. Oberderfer

Estruturas de Decisão e Estruturas de Repetição

Informática Aplicada I Lista: Fluxograma

Operadores e instruções

Prof. Jorge Cavalcanti

Portugol. Tiago Alves de Oliveira

Exercícios de Programação

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

Oficina de Python Prof. Me. José Carlos Perini

Lógica de Programação Módulo I Prof.: Ricardo Lokchin. Fazer os exercícios abaixo na Linguagem C ou em ALGORITMOS.

Técnicas de Programação

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

Oficina de Python Prof. Me. José Carlos Perini

Algoritmos e Lógica de Programação. Prof. Marcos Antonio Estremoe. 1 - Faça um programa que imprima a frase: Bem Vindo à Engenharia Firb 2014.

69) Acrescentar uma mensagem de VALOR INVÁLIDO no exercício [68], caso o segundo valor informado seja ZERO.

CAPÍTULO 3 INSTRUÇÕES BÁSICAS

Introdução à Lógica de Programação. Adaptação de Luis Otavio Alvares

Exercícios Repetição

Parte I - Expressões lógicas e operadores

Algoritmos e Programação

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LISTA DE EXERCÍCIOS. 2) Explique a diferença entre algoritmo computacional e não computacional.

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Algoritmos e Programação

Introdução a Lógica de Programação

Disciplina: Algoritmos e Programação Professor: Paulo César Fernandes de Oliveira, BSc, PhD

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Introdução à Programação de Computadores Fabricação Mecânica

Programação Estruturada Aula VisualG

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Programação

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Exercícios: comandos condicionais

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

Introdução a programação Controle de Fluxo

LINGUAGEM DE PROGRAMAÇÃO

Linguagem de Descrição de algoritmos

Conceitos Básicos de Algoritmos

Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel

Estruturas de Repetição

1ª LISTA DE EXERCÍCIOS

ALGORITMOS AULA 2. Profª Amanda Gondim

AEDI Fundamentos Revisão 1

Professor Mauricio Lederer Algoritmos. Entrada e saída de dados

Instituto Federal de Minas Gerais - Campus avançado de Ponte Nova - IFMG Disciplina: Introdução a programação Professor: Saulo Henrique Cabral Silva

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Programação Estruturada

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Início Enquanto - GABARITO Professor: Danilo Giacobo

Programação II. Victor Amorim dos Santos

Fundamentos de Programação Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte 15 de maio de 2018.

LISTA DE ATIVIDADES ...

Noções de algoritmos - Aula 1

1 ESTRUTURA SEQUENCIAL

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

LISTA DE EXERCÍCIOS 5 Algoritmos Estruturas de Controle - Seleção

Conceitos básicos de algoritmos

EXERCÍCIOS e Respostas de Lógica de Programação - ALGORITMOS -

Informática Fundamentos em C++ Revisão 1

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

SSC Introdução à Programação para Engenharias. Lista 01 Entrega em 06/04/ h10

Lista de Exercícios Estrutura de Repetição

Algoritmo e Introdução a Programação. Prof. Josino Rodrigues

Aula 4 Oficina de Programação Algoritmos - Parte 3. Profa. Elaine Faria UFU

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

2ª Lista de Exercícios de Programação I

para / for (com teste numérico) enquanto / while (com teste lógico no início) repita até que / do...while (com teste lógico no fim)

3ª Lista de Exercícios de Programação I

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

Estrutura Condicional

I - CONCEITOS INICIAIS

Lista de Exercícios Linguagem C#

Apostila de EXERCÍCIOS e Respostas Algoritmos e Programação

Estruturas de Repetição

(53)

Introdução à Lógica de Programação Aula 2. Adaptação de Luis Otavio Alvares

Maratona de Programação

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

Aula 4 Estruturas Condicionais

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

1ª LISTA DE EXERCÍCIOS

Transcrição:

Programação de Computadores Curso Engenharia Civil Modalidade Superior Modificado por Professora Michelle Nery Créditos: Professor Luis Antonio Tavares

Conteúdo Programático Problemas de Lógica Conceitos Básicos Algoritmo cotidiano vs computacional Fluxograma Pseudocódigo Estrutura de um Programa Tipos e Variáveis Instruções Básicas Linearização de Expressões Estruturas de Condições Estruturas de Repetição Funções 2

Introdução 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. 3

Introdução 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. 4

Introdução 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. 5

Programação 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. 6

Por que Algoritmo? LINGUAGEM NATURAL PORTUGUÊS, INGLÊS... INSTRUÇÕES ALTO NÍVEL ALGORITMO ADAPTAÇÃO CÓDIGO-FONTE EM LINGUAGEM DE PROGRAMAÇÃO COMPILAÇÃO BAIXO NÍVEL TRADUÇÃO 01000101001... (EXECUTÁVEL) LINGUAGEM DE MÁQUINA

Por que criamos algoritmos? 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. 8

Regras para fazer um algoritmo 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. 9

Analogia com o Homem

Representações de um Algoritmo Fluxograma ou Diagrama de Blocos. SUBJETIVIDADE Pseudocódigo, Português Estruturado ou Portugol. PRECISÃO 11

Fluxograma ou Diagrama de Blocos 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. 12

Fluxograma 13

Exemplo de um Fluxograma Inicio soma = num1 + num2 Escreva o 1º número: num1 soma Fim Escreva o 1º número: num2 14

Exemplo de um Fluxograma Entrada (s): Saída (s): 15

Pseudocódigo 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. 16

Exemplo de Pseudocódigo Algoritmo PROGRAMA_EXEMPLO Variá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 17

Instruções Básicas do Pseudocódigo 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. 18

Operadores Aritméticos Operações Operadores Exemplo Soma + a + b Subtração - a - b Divisão / a / b Multiplicação * a * b Potência ^ a ^ b 19

Operador de Atribuição Operação Operador Exemplo Atribuição = resultado = preço * quantidade 20

Variáveis 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. 21

Tipos de Variáveis Inteiros Aplicabilidade: armazenar idade, quantidade, etc Ex.: 1 2 3 4-5 -90 (números sem casa decimal) Reais Aplicabilidade: preço, altura, etc Ex.: 2.5-9.32-11.1 (números com casa decimal) Caracteres (Ex. de uso: nomes, endereços, CPF) Aplicabilidade: nomes, endereço, etc Ex.: IFSULDEMINAS, Rua da Casas, nº 25 (valores literais) 22

Regras para Nomes de Variáveis 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). 23

Convenções de Variáveis É 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. 24

Exercícios 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) a e) casa f) 1000.35 g) 10 h) 4.0 25

Exercícios 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) _sim e) _A f) A123 g) N_a_o h) y_2 i) y-2 j) 00fim k) \meu l) 6y2 m) n n) nota2 o) n4t p) &casa q) nummatricula r)numero1 s)matriculaaluno Escreva um programa usando o fluxograma que leia duas notas dos alunos e calcule a média dessas notas. 26

Linearização de Expressões 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 27

Linearização de Expressões 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; 28

Linearização de Expressões 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) 40 80/40+(2*3) expressão matemática expressão linearizada 29

Linearização de Expressões Ordem de precedência dos operadores: 1º () Parênteses 2º ^ Potência 3º */ Multiplicação ou Divisão (o que aparecer primeiro) 4º +- Adição ou Subtração (o que aparecer primeiro) 30

Exercícios 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 31

Exercícios 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. 32

Exercícios 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 33

Exercícios 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. 34

Estrutura de Condição 35

Condições 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. 36

37

Formas Usadas no Fluxograma 38

Fluxograma: Encontrar o Maior Número Início Verdadeiro Escreva o 1º número: a > b a a Falso Escreva o 2º número: b b 39 Fim

Algortimo: Encontrar o Maior Número Algoritmo PROGRAMA_EXEMPLO Variaveis 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 40

Fluxograma: Encontrar a Média entre Duas Notas Início media Escreva o 1º número: a Escreva o 2º número: media >= 60 Falso Verdadeiro Aprovado b media = (a+b) / 2 Reprovado Fim 41

Pseudocódigo: Encontrar a Média entre Duas Notas Algoritmo PROGRAMA_EXEMPLO Variaveis 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 42

Operadores Relacionais Exemplo: SE ( num == 20 ) ENTAO 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 ESCREVA ( O NUMERO INFORMADO EH O NUMERO 20! ); 43

Operadores Lógicos 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) 44

Operadores Lógicos &: Se uma das condições for falsa, todo o resto será falso. Todas as condições são analisadas. V & V = V V & F = F F & V = F F & F = F &&: Se uma das condições for falsa, todo o resto será falso. Se a primeira condição for falsa, não analisa o restante. V && V = V V && F = F F && V = F F && F = F false &&? sempre false (não avalia o segundo operando). 45

Operadores Lógicos : Se uma das condições for verdadeira, todo o resto será verdadeiro. Todas as condições são analisadas. V V = V V F = V F V = V F F = F : Se uma das condições for verdadeira, todo o resto será verdadeiro. Se a primeira condição for verdadeira, não analisa o restante. V V = V V F = V F V = V F F = F true? sempre true (não avalia o segundo operando). 46

Operadores Lógicos 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 47

Algoritmo: Calcular se a Média das Notas e verificar se o aluno está aprovado. Algoritmo PROGRAMA_EXEMPLO Variaveis 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_SE Fim 48

Exercícios 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 49

Exercícios 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) 50

Exercícios 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. 51

Exercícios 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 ) ENTAO ESCREVA ( O número é par! ); SENAO ESCREVA ( O número é ímpar! ); FIM_SE O 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. 52

Exercícios 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. 53

Exercícios 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/aula Professor Nível 2 - R$17,00 por hora/aula Professor Nível 3 - R$25,00 por hora/aula 54

Exercícios 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. 55

Estruturas de Repetição 56

Estruturas de Repetição 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. 57

Laço de Repetição ENQUANTO 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. 58

Sintaxe do loop ENQUANTO ALGORITMO LOOP_ENQUANTO VARIAVEIS cont : INTEIRO; INICIO cont = 1; ENQUANTO ( cont < 5 ) FAÇA ESCREVA ( Numero:, cont); cont = cont + 1; FIM_ENQUANTO FIM 59

60 Exemplo Loop ENQUANTO ALGORITMO PROGRAMA_MEDIA_COM_LOOP VARIAVEIS media, n1, n2: REAIS; opcao: INTEIRO; INICIO opçã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_ENQUANTO FIM

Exercício 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. 61

Lista de Exercícios: ENQUANTO 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: Tipo de Cliente Valor do KW/h 1 (Residência) 0,60 2 (Comércio) 0,48 3 (Indústria) 1,29 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). 62

Lista de Exercícios: ENQUANTO 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. 63

Estrutura de Repetição PARA 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. 64

A sintaxe do loop PARA ALGORITMO LOOP_PARA VARIAVEIS cont : INTEIRO; INICIO PARA ( cont = 1; cont <= 5; PASSO 1 ) FAÇA ESCREVA ( IF Sul de Minas ); FIM_PARA FIM 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.) 65

Exemplo 1 Loop PARA ALGORITMO ESCREVE_ATE_5 VARIAVEIS INICIO FIM cont: INTEIRO; PARA ( cont = 1; cont <= 5; PASSO 1 ) FAÇA ESCREVA ( Numero:, cont); FIM_PARA 66

Exemplo 2 Loop PARA ALGORITMO EXIBE_PARES VARIAVEIS INICIO FIM cont: INTEIRO; PARA ( cont = 1; cont <= 10; PASSO 2 ) FAÇA ESCREVA ( Numero:, cont); FIM_PARA 67

Exemplo 3 Loop PARA ALGORITMO SOMA_NUMEROS_ATE_DEZ VARIAVEIS cont, soma: INTEIRO; INICIO soma = 0; PARA ( cont = 1; cont <= 10; PASSO 1 ) FAÇA soma = soma + cont; FIM_PARA ESCREVA ( A soma dos numeros eh:, soma); FIM 68

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 Fim ESCREVA ( Aprovado! ); SENAO SE ( media >= 30 ) ENTAO ESCREVA ( Recuperação! ); SENAO ESCREVA ( Reprovado! ); FIM_SE FIM_PARA

Exercício 1. Faça o algoritmo para um aplicativo que apresenta todos os números de 0 a 100 em ordem decrescente. 70

Lista de Exercícios: PARA 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. 71

Estrutura de Repetição FAÇA ENQUANTO 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. 72

A sintaxe do loop FAÇA... ENQUANTO ALGORITMO LOOP_FACA_ENQUANTO VARIAVEIS cont: INTEIRO; INICIO cont = 0; FAÇA ESCREVA ( Numero:, cont); cont = cont + 1; ENQUANTO ( cont < 5 ) FIM 73

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

Exemplo 2 Loop FAÇA... ENQUANTO 75 Algoritmo PROGRAMA_MEDIA Variaveis 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_SE ESCREVA("Digite o numero 1 para continuar:"); LEIA (opcao); ENQUANTO (opcao == 1) Fim

Exercício 1. Crie um algoritmo usando o loop faça...enquanto que apresente a tabuada completa do número 3. 76

Operadores Relacionais Operações Operadores Exemplo Maior > a > b Maior Igual >= a >= b Menor < a < b Menor Igual <= a <= b Diferente!= a!= b Igual == a == b Exemplo: ENQUANTO ( num <= 20 ) FAÇA ESCREVA ( O NUMERO INFORMADO EH MENOR QUE 20! ); ESCREVA ( INFORME NOVAMENTE UM NUMERO: ); LEIA ( NUM ); FIM_ENQUANTO 77

Operadores Lógicos 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 78

Lista de Exercícios: FAÇA... ENQUANTO 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. 79

Lista de Exercícios: FAÇA... ENQUANTO 3. Elabore um algoritmo que, dada a idade de um nadador. Classifique-o em uma das seguintes categorias: Infantil A = 5-7 anos Infantil B = 8-10 anos Juvenil A = 11-13 anos Juvenil B = 14-17 anos Sê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). 80

Lista de Exercícios: FAÇA... ENQUANTO 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 81

Exercícios: escolha o loop que melhor se adapta ao exercício 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. 82

Exercícios 5. Faça a simulação (ou teste de mesa) do programa a seguir: ALGORITMO EXERCICIO_10 VARIAVEIS num : INTEIRO; INICIO num = 3; ENQUANTO (num <= 30) FAÇA ESCREVA(num); num = num * 2; FIM_ENQUANTO FIM 83

Exercícios: escolha o loop que melhor se adapta ao exercício 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. 84

Exercícios: escolha o loop que melhor se adapta ao exercício 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: Idade Formação Cargo >=16 Médio Recepcionista >=18 Técnico Desenvolvedor Web >=20 Superior Auxiliar de RH 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. 85

Exercícios: escolha o loop que melhor se adapta ao exercício 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,.?. 86

Funções 87

Funções 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. 88

Vantagens Reduzem o tamanho do algoritmo. Melhoram a legibilidade do algoritmo. Reaproveitamento de código. Facilitam a manutenção. Facilitam a divisão de trabalho. 89

Sintaxe de uma função FUNÇÃO ANALISA_NUMERO (num : INTEIRO) INICIO SE (num > 0) ENTAO ESCREVA ( Numero Positivo ); SENAO SE (num < 0) ENTAO ESCREVA ( Numero Negativo ); SENAO ESCREVA ( Numero Zero ); FIM_SE FIM_FUNÇÃO 90

Chamada de função ALGORITMO PROGRAMA_EXEMPLO VARIAVEIS num: INTEIRO; INICIO ESCREVA ( Informe um numero: ); LEIA ( num ); ANALISA_NUMERO ( num ); FIM 91

Sintaxe de função com retorno FUNÇÃO SOMA (a, b : REAIS) VARIAVEIS result : REAIS; INICIO result = a + b; RETORNE result; FIM_FUNÇÃO 92

93 Chamada de função ALGORITMO PROGRAMA_SOMA VARIAVEIS 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

Alguns pontos importantes 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. 94

Alguns pontos importantes 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. 95

Alguns pontos importantes 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 ); 96

Alguns pontos importantes 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 97

Programa que calcula a média de 5 pessoas usando o loop para e função. ALGORITMO PROGRAMA_MEDIA VARIAVEIS 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_PARA FIM FUNÇÃO CALCULA_MEDIA ( a, b : REAIS) VARIAVEIS result, soma : REAIS; INICIO soma = a + b; result = soma / 2; RETORNE result; FIM_FUNÇÃO

Exercício 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. 99

Exercícios 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. π. R 3 ). 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. 100

Exercícios 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 de 0,0 a 4,9 de 5,0 a 6,9 de 7,0 a 8,9 de 9,0 a 10,0 Conceito D C B A 101

Exercícios 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. 102

Exercícios 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. 103

Exercícios 12. Faça a simulação (ou teste de mesa) do programa a seguir: FUNÇÃO PROCESSA_VALORES (A: INTEIRO) VARIAVEIS r : INTEIRO; INICIO SE ( (a >= 5 ) && ( a!= 10) ) ENTAO r = a 5; SENAO r = a * 2; FIM_SE RETORNA r; FIM_FUNÇÃO Para A igual a 5 11 10 8 3 Valor Retornado 104

Bibliográfica Bibliografia Básica Bibliografia Complementar

Regras 1. 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.