Baixe o app para aproveitar ainda mais
Prévia do material em texto
Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES Sumário I Parte - Lógica.....................................................................................................................................2 II Parte - Estrutura Seqüencial..............................................................................................................3 III Parte - Estrutura Condicional..........................................................................................................5 IV Parte - Estrutura de Repetição.........................................................................................................8 V Parte - Exercícios com laços de repetição encadeados...................................................................12 VI Parte - Variáveis Compostas Homogêneas Unidimensionais (Vetores).......................................16 VII Parte - Variáveis Compostas Homogêneas Multidimensionais (Matrizes).................................17 VIII Parte - Cadeia de caracteres (Strings).........................................................................................19 IX Parte - Modularização: Funções....................................................................................................20 X Parte - Modularização: Subrotinas/Procedimentos.........................................................................22 XI Parte - Modularização: Funções e Subrotinas para tratamento de strings.....................................23 XII Parte - Registros...........................................................................................................................24 Adicionais 1........................................................................................................................................26 Adicionais 2........................................................................................................................................27 Adicionais 3........................................................................................................................................28 1 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES I Parte - Lógica 1. João tem que comprar 3 coisas para sua casa: i) frutas e verduras; ii) pães e iii) produtos de limpeza. Cada um desses tipos de produtos são vendidos em locais diferentes: frutas e verduras na frutaria, pão na panificadora e produtos de limpeza no supermercado. O supermercado fica a 300m à direita da sua casa. A panificadora é vizinha da casa e a frutaria fica a 100m à esquerda a casa. Comandos válidos: virar à direita, virar à esquerda, dar a volta (gira 180°), caminhar n metros e comprar produtos. Condições: i) os produtos de limpeza são os mais pesados e resistentes podendo-se transportá-los abaixo dos demais dentro da sacola; ii) frutas e verduras correm o risco de serem amassadas, então não devem ter nada pesado em cima deles; iii) os pães são os produtos mais leves e devem chegar em casa quentinhos, ou seja, deve-se demorar o menor tempo possível para se chegar em casa, e são os mais leves. Escreva um algoritmo estruturado, utilizando as regras e condições acima, para resolver o problema do João. 2 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES II Parte - Estrutura Seqüencial Rastreie (teste de mesa) os algoritmos abaixo e informe quais valores são escritos. 1. {Suponha que serão lidos os valores 95 e 108 para as variáveis VLVISTA, VLPPRAZO} Algoritmo Declare VLVISTA, VLPRAZO, DIF numérico Leia VLVISTA, VLPRAZO DIF ← VLPRAZO - VLVISTA Escreva DIF Fim-algoritmo 2. {Suponha que será lido o valor 5 para a variável LADO} Algoritmo Declare LADO, VOLUME numérico Leia LADO VOLUME ← LADO3 Escreva LADO, VOLUME Fim-algoritmo 3. {Suponha que serão lidos os valores 10, 5 para as variáveis L e H respectivamente} Algoritmo Declare L, H, A numérico Leia L, H A ← L * H Escreva L, H, A Fim-algoritmo 4. {Suponha que será lido o valor 1920,85 para a variável NUM} Algoritmo Declare NUM numérico Leia NUM Escreva ARREDONDA ( NUM ) Escreva TRUNCA ( NUM ) Fim-algoritmo 5. {Suponha que serão lidos os valores 20 e 5 para as variáveis X e Y respectivamente} Algoritmo Declare X, Y numérico Leia X, Y Escreva RESTO ( X, Y) Escreva QUOCIENTE ( X, Y) Fim-algoritmo 6. {Suponha que serão lidos os valores 7,00 e 9,00 para as variáveis B1 e B2 respectivamente} Algoritmo Declare B1, B2, MEDIA numérico Leia B1 Leia B2 MEDIA ← (B1 + B2) / 2 Escreva“A media aritmética é:” , MEDIA Fim-algoritmo 7. {Suponha que será lido o valor 25 para a variável X} Algoritmo Declare X, Y numérico Leia X Y ← 2 * X Escreva X, Y Fim-algoritmo 8. {Suponha que serão lidos 10 e 20 para as variáveis A e B respectivamente} Algoritmo Declare A, B, C numérico Leia A, B C ← (A + B) * B Escreva C Fim-algoritmo 9. {Suponha que serão lidos os valores “PILLAR” e “PATRICIA” para as variáveis SOBRE e NOME respectivamente} Algoritmo Declare NOME, SOBRE literal Declare NOMCOMP literal Leia NOME Leia SOBRE NOMCOMP ← NOME | SOBRE Escreva “O nome completo é :” , NOMCOMP Fim-algoritmo 10. {Suponha que será lido o valor 12 para a variável NUM} Algoritmo Declare NUM, NUMINV numérico Leia NUM NUMINV ← RESTO ( NUM,10 ) * 10 + QUOCIENTE ( NUM, 10 ) Escreva “O numero lido é : ” , NUM Escreva “O número invertido é : ” , NUMINV Fim-algoritmo 11. Faça um algoritmo/programa que leia dois números, calcule e escreva a soma deles. 12. Faça um algoritmo/programa que leia três números, calcule e escreva a multiplicação deles. 13. Faça um algoritmo/programa que leia a idade do pai e a idade do filho, calcule e escreva a diferença de idade dos dois. 14. Faça um algoritmo/programa que leia a idade de uma pessoa em anos, calcule e escreva quantos dias ele viveu, considerar o ano com 365,25 dias. 15. Faça um algoritmo/programa que leia três números, calcule e escreva a media aritmética. 3 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES 16. Faça um algoritmo/programa que leia as medidas de um retângulo (comprimento e largura), calcule e escreva sua área. 17. João faz economias em dólar e deseja saber quanto vale em reais, faça um algoritmo/programa que leia a quantidade de dólares que ele possui e a cotação do dólar em real, calcule e escreva o valor convertido. 18.Uma pessoa construindo sua residência resolveu colocar em sua casa uma caixa para servir como reservatório de água. Considerando que a caixa seja retangular, faça um algoritmo/programa que leia as dimensões da caixa (comprimento, altura e largura), calcule e escreva o volume de água que pode ser armazenado. 19.O critério de notas semestrais numa faculdade consiste em dois bimestres, sendo que, cada nota varia de 0 a 10 e tem os respectivos pesos 4 e 6. Elabore um algoritmo/programa que leia as notas bimestrais,calcule e escreva a nota final do semestre (média semestral = (Nota 1º bim. * 0,4) + (Nota 2º bim. * 0,6)). 20.Um canal de notícias internacionais previa temperatura máxima para Brasília de 85 graus Farenheit. Escrever um programa que lhe permita converter esta temperatura (e qualquer outra) para graus Celsius, sabendo que a relação entre elas é C = 5 / 9 * ( F – 32 ). 21.A conta de água de uma residência e o resultado da soma da tarifa de água com tarifa de esgoto. Faça um algoritmo/programa que leia a tarifa de água, calcule a tarifa de esgoto (80% da tarifa de água) e escreva o valor da conta a ser paga. 22.O valor do ICMS pago pelo comerciante ao governo na venda de um produto é de 12%. Faça um algoritmo/programa que leia o valor do produto vendido, calcule e escreva o ICMS pago. 23.O percentual de comissão pago ao vendedor na venda de um produto é de 15%. Faça um algoritmo/programa que leia o valor do produto vendido, calcule e escreva a comissão do vendedor. 24.Maria e José resolveram abrir uma poupança conjunta, os dois têm economias guardadas, faça um algoritmo/programa que leia o valor da economia de cada um, calcule e escreva a porcentagem de participação de cada sócio. 25. Luciana distribui sua renda mensal da seguinte forma: 10% saúde, 25% educação, 30% alimentação, 10% vestuário; 5% lazer, 20% outros. Faça um algoritmo/programa que leia a renda mensal líquida de Luciana, calcule e escreva o valor aplicado em cada item acima citado. 26. Faça um algoritmo/programa que leia quantos minutos por dia uma pessoa pode estudar LTP, calcule e escreva ao final de 90 dias quanto tempo em horas ela estudou. 27. Faça um algoritmo/programa que leia a distância em centímetros entre duas Universidades, calcule e escreva a distância em KM. 28. Faça um algoritmo/programa que leia o salário mensal de um funcionário e o percentual de reajuste a ser aplicado. Calcule e escreva o valor do novo salário. 29.Uma instituição de ensino realizou uma pesquisa sobre os eleitores de um município que participaram da ultima eleição. Faça um algoritmo/programa que leia o total de votos brancos, nulos e válidos. Calcule e escreva o percentual que cada um representa em relação ao total de eleitores. 4 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES III Parte - Estrutura Condicional Rastreie (tese de mesa) os algoritmos abaixo e informe quais valores são escritos. 1. {Suponha que serão lidos os valores 5 e 10 para as variáveis A e B respectivamente} Algoritmo Declare A, B, C numérico Leia A, B C ← B Se A > B Então C ← A Fim-se Escreva C Fim-algoritmo 2. {Suponha que será lido o valor 21 para a variável IDADE} Algoritmo Declare IDADE numérico Declare MSG literal MSG ← “MENOR DE IDADE” Leia IDADE Se idade > 18 Então MSG ← “ MAIOR DE IDADE” Fim-se Escreva IDADE, MSG Fim-algoritmo 3. {Suponha que serão lidos os valores “LAÍS” e 7,00 para as variáveis NOME e MEDIA respectivamente} Algoritmo Declare MEDIA numérico Declare NOME literal Leia MEDIA Se MEDIA >= 7,00 Entao escreva NOME, MEDIA, “Aprovado” Fim-se Fim-algoritmo 4. {Suponha que será lido os valores 15 e 25 para as variáveis NUM1 e NUM2 respectivamente} Algoritmo Declare NUM1, NUM2 numérico Leia NUM1, NUM2 Se NUM1 = NUM2 Então Escreva “Os números são iguais” Senão escreva “Os números são diferentes” Fim-se Fim-algoritmo 5. {Suponha que será lido o valor –1 para a variável X} Algoritmo Declare X numérico Declare MSG literal Leia X Se X > 0 Então MSG ← “POSITIVO” Senão MSG ← “NEGATIVO” Fim-se Escreva “O Numero é :”, MSG Fim-algoritmo 6. {Suponha que serão lidos os valores 7 e 15 para as variáveis N1 e N2 respectivamente} Algoritmo Declare NUM1, NUM2, AUX numérico Leia NUM1, NUM2 Escreva “ N1 : ”, NUM1 Escreva “ N2 : ”, NUM2 AUX ← NUM2 NUM2 ← NUM1 NUM1 ← AUX Escreva “ N1 : ”, NUM1 Escreva “ N2 : ”, NUM2 Fim-algoritmo 7. Faça um algoritmo que leia a idade de duas pessoas, determine e escreva a idade do mais velho. Observação: suponha que não haja empate. 8. Faça um algoritmo que leia a idade de três pessoas, determine e escreva a idade do mais velho. Observação: suponha que não haja empate. 9. Faça um algoritmo que leia o peso de três livros, calcule e escreva a soma dos dois mais pesados. 10. Faça um algoritmo que leia um número, determine e escreva se ele é par ou impar. 11. Faça um algoritmo que leia um número, determine se é quadrado perfeito. 12. Faça um algoritmo que leia um número, determine se é múltiplo de 3 e múltiplo de 5 ao mesmo tempo. 13. Faça um algoritmo que leia as notas bimestrais, (duas) de 0 a 10, calcule e escreva a média. Escreva também se o aluno foi aprovado ou não. Considere como aprovação à média > = 7,0. 5 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES 14.A empresa X resolveu conceder um aumento salarial para seus funcionários (10% para as mulheres e 9% para os homens). Faça um algoritmo que leia o salário antigo e o sexo do funcionário, calcule e escreva o valor do novo salário. 15.A empresa X resolveu conceder um bônus para seus vendedores que venderam acima da meta estipulada. Faça um algoritmo que leia o salário do vendedor e o valor do volume de vendas no mês, calcule e escreva o valor do bônus adicional e o salário final, considere: Vendas até RS 10.000,00, bônus de 15% sobre o salário; Vendas acima de RS 10.000,00 até 50.0000,00, bônus de 20% sobre o salário; Vendas acima de 50.0000,00, bônus de 30% sobre o salário. 1. Faça um algoritmo que: Leia três valores (A,B,C); Verifique se A,B,C podem ser lados de um triângulo, caso seja escreva qual é o tipo de triângulo? (escaleno, eqüilátero, isósceles). Obs.: (Para A, B, C serem lados de um triângulo a soma de dois lados deve ser maior que o terceiro). (A + B > C e A + C > B e B + C > A) 1. Uma faculdade atribui menções aos alunos, faça um algoritmo que leia a nota do aluno e escreva a menção correspondente conforme a tabela abaixo: 2. Uma empresa resolveu informatizar o calculo do imposto de renda. Faça um algoritmo que leia a renda mensal do funcionário, calcule e escreva o valor do imposto a ser pago de acordo com a seguinte tabela: 3. Elaborar um algoritmo que leia os coeficientes A, B, C de uma equação de segundo grau. Calcule o delta da equação e de X de acordo com o valor encontrado siga as instruções abaixo: Valor do Delta Instruções Delta < 0 Não tem solução real Delta = 0 Determine e escreva a única raiz encontrada Delta > 0 Determine e escreva as duas raízes encontradas Delta = b2 – 4 * A * C X = A*2 Delta ±B- 6 / 31 Nota Menção 9,0 a 10 SS – Superior 7,0 a 8,9 MS – Médio Superior 5,0 a 6,9 MM – Médio 0,0 a 4,9 MI - Inferior Salário Mensal Alíquota(%) e Dedução (R$) Até R$ 900,00 Isento Acima de R$ 900,00 até R$ 1800,00 15% do salário (menos R$ 135,00) Acima de R$ 1800,00 27,5% do salário (menos R$ 360,00) Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES 1. Faça um algoritmo que leia a idade de três pessoas, calcule e escreva a médiadas idades e quantidade de pessoas que tem idade superior à média. 2. O critério de notas semestrais numa faculdade consiste em dois bimestres, sendo que, cada nota varia de 0 a 10 e tem os respectivos pesos 4 e 6. O critério de aprovação para notas iguais ou superior à 7,0, ou seja, alunos com notas inferiores a 7,0 estão reprovados. Elabore um programa que leia as duas notas bimestrais, calcule e escreva a nota final do semestre (média semestral = (Nota 1º bim. * 0,4) + (Nota 2º bim. * 0,6)) e imprima na tela do computador se o aluno está aprovado ou reprovado. 7 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES IV Parte - Estrutura de Repetição Rastreie (tese de mesa) os algoritmos abaixo e informe quais valores são escritos. 1. Algoritmo Declare CONT numérico CONT ← 1 Repita Se CONT > 5 Então interrompa Fim-se Escreva CONT CONT ← CONT + 1 Fim-repita Fim-algoritmo 2. Algoritmo Declare CONT numérico CONT ← 1 Repita Se CONT > 3 Então interrompa Fim-se Escreva “Vila Nova” , CONT , “X”, “ 0 GOIAS” CONT ← CONT + 1 Fim-repita Fim-algoritmo 3. Algoritmo Declare N, SOMA numerico SOMA ← 0 N ← 10 Repita Se N > 20 Então interrompa Fim-se SOMA ← SOMA + N N ← N + 2 Fim-repita Escreva Soma Fim-algoritmo 4. Algoritmo Declare A, Q, TERMO numérico A ← 1 Q ← 3 TERMO ← A Repita Se TERMO >= 20 Então interrompa Fim-se Escreva TERMO TERMO ← TERMO * Q Fim-repita Fim-algoritmo 5. Algoritmo Declare K Numérico K ← 1 Repita Escreva K , K * K Se K > 5 Então interrompa Fim-se K ← K + 1 Fim-repita Fim-algoritmo 6. Algoritmo Declare N, QUADRADO numérico N ← 10 Repita QUADRADO ← N * N Escreva QUADRADO Se N = 1 Então Interrompa Fim-se N ← N – 1 Fim-repita Fim-algoritmo 8 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES 7. Algoritmo Declare D, K, NUMERO, SOMA numérico Leia NUMERO SOMA ← NUMERO + 1 K ← QUOCIENTE ( NUMERO, 2) D ← 2 Repita Se D > K Então interrompa Fim-se Se RESTO ( NUMERO, D ) = 0 Então SOMA ← SOMA + D Fim-se D ← D + 1 Fim-repita Escreva SOMA Fim-algoritmo 8. Algoritmo Declare X Lógico Declare Y numerico X ← falso Y ← 0 Repita Se Y = 6 Então interrompa Fim-se X ← não X Y ← Y + 1 Se X Então Escreva Y Senao Escreva -Y Fim-se Fim-repita Fim-algoritmo Rastreie (tese de mesa) os algoritmos abaixo e informe quais valores são escritos. 9. {A interrupção da estrutura de repetição é controlada por um contador. Algoritmo que leia três números determine e escreva o menor}. Algoritmo Declare MENORNUM, CONT, NUM numérico CONT ← 1 MENORNUM ← 9999 Repita Se CONT > 3 Então interrompa Fim-se Leia NUM Se NUM < MENORNUM Então MENORNUM ← NUM Fim-se CONT ← CONT + 1 Fim-repita Escreva MENORNUM Fim-algoritmo 10. {A interrupção da estrutura de repetição é controlada por um Flag ( - 1). Algoritmo que leia uma quantidade indeterminada de números determine e escreva o menor}. Algoritmo Declare MENORNUM, CONT, NUM numérico CONT ← 1 MENORNUM ← 9999 Repita Leia NUM Se NUM = -1 Então interrompa Fim-se Se NUM < MENORNUM Então MENORNUM ← NUM Fim-se Fim-repita Escreva MENORNUM Fim-algoritmo 11. {A interrupção da estrutura de repetição é controlada por um contador. Algoritmo que leia três números determine e escreva o maior}. Algoritmo Declare MAIORNUM, CONT, NUM numérico CONT ← 1 MAIORNUM ← -9999 Repita Se CONT > 3 Então interrompa Fim-se Leia NUM Se NUM > MAIORNUM Então MAIORNUM ← NUM Fim-se CONT ← CONT + 1 Fim-repita Escreva MAIORNUM Fim-algoritmo 12. {A interrupção da estrutura de repetição é controlada por um Flag ( - 1). Algoritmo que leia uma quantidade indeterminada de números determine e escreva o maior}. Algoritmo Declare MAIORNUM, CONT, NUM numérico CONT ← 1 MAIORNUM ← -9999 Repita Leia NUM Se NUM = -1 Então interrompa Fim-se Se NUM > MAIORNUM Então MAIORNUM ← NUM Fim-se Fim-repita Escreva MAIORNUM Fim-algoritmo 13. {A interrupção da estrutura de repetição é controlada por um contador. Algoritmo que leia três números determine e escreva a média}. Algoritmo 14. {A interrupção da estrutura de repetição é controlada por um Flag( -1 ). Algoritmo que leia uma quantidade indeterminada de números determine e escreva a média}. 9 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES Declare NUM,CONT, SOMA, MEDIA numérico CONT ← 1 Repita Se CONT > 3 Então interrompa Fim-se Leia NUM SOMA ← SOMA + NUM CONT ← CONT + 1 Fim-repita MEDIA ← SOMA / 3 Escreva MEDIA Fim-algoritmo Algoritmo Declare NUM, CONT, SOMA, MEDIA numérico CONT ← 0 Repita Leia NUM Se NUM = -1 Então interrompa Fim-se SOMA ← SOMA + NUM CONT ← CONT + 1 Fim-repita MEDIA ← SOMA / CONT Escreva MEDIA Fim-algoritmo 15.Reescreva os algoritmos anteriores utilizando a estrutura de repetição ENQUANTO. 16. Faça um algoritmo que escreva os números compreendidos entre 150 e 175 inclusive. 17. Faça um algoritmo que calcule e escreva a soma de todos os números inteiros compreendidos entre 1 e 10 inclusive. 18. Faça um algoritmo que escreva a seguinte série: 1,3,5,7,9,11,.... Para os 200 primeiros termos. 19. Faça um algoritmo que calcule e escreva o somatório de todos os números pares compreendidos entre 100 e 200 inclusive. 20. Faça um algoritmo que imprima os 10 primeiros números ordem decrescente. 21. Faça um algoritmo que imprima os números compreendidos entre 100 e 200 incrementado de 10 em 10. 22. Faça um algoritmo que leia 25 números determine e escreva os dois maiores. Exercícios do Livro: Algoritmos Estruturados, Harry Farrer 1.12.3 1.12.10 1.12.17 1.12.26 1.12.34 1.12.4 1.12.11 1.12.18 1.12.271.12.42 1.12.5 1.12.12 1.12.21 1.12.28 1.12.48 1.12.6 1.12.13 1.12.24 1.12.29 1.12.61 1.12.8 1.12.16 1.12.25 1.12.33 1.12.66 48. Faça um algoritmo que leia 10 números. Para cada número calcule e escreva seu fatorial. Ex’s: 3! = 3 x 2 x 1 = 6 4! = 4 x 3 x 2 x 1 = 24 5! = 5 x 4 x 3 x 2 x 1 = 120. 49. Faça um algoritmo que escreva a série Fibonacci para os 20 primeiros termos. Série: 1,1,2,3,5,8,13,21 ... 50. Faça um algoritmo que leia 25 números quaisquer, verifique e escreva para cada número se o número é primo. OBS.: (Número Primo é aquele que só é divisível por ele e pela a unidade (um)) Exemplos Divisores Primo 3 1, 3 V 4 1, 2, 4 F 5 1, 5 V 6 1, 2, 3, 6 F 7 1, 7 V 51. Faça um algoritmo que leia 50 números, verifique e escreva para cada número se é número perfeito. 10 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES OBS: (Número Perfeito é aquele cuja soma de seus divisores, exceto ele próprio, é igual ao número). Exemplos Divisores Perfeito 4 1, 2, (exceto 4 ) F 6 1, 2, 3, (exceto 6 ) V 7 1, (exceto 7 ) F 8 1, 2, 4, (exceto 8 ) F 52. Faça um algoritmo que leia dois números, calcule e escreva seu MDC. Ex: 27 e 18 o MDC é 9; Ex: 20 e 9 o MDC é 1. N1 N2 N1 N2 N1 N2 N1 N2 N1 N2 27 18 18 9 20 9 9 2 2 1 9 1 0 2 2 2 1 4 0 2 11 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES V Parte - Exercícios com laços de repetição encadeados Tipo 1 1. Um comerciante precisa controlar o estoque de seu comércio. Para tanto ele deseja informar a um programa o código numérico de um produto, sua quantidade anterior em estoque e em seguida informar uma sequencia de valores (negativos ou positivos que correspondem a entradas e saídas no estoque) com as quantidades vendidas ou compradas do produto. Para interromper o lançamento valores no estoque, pede-se que o programa solicite ao comerciante que informe se deseja ou não continuar informando dados. Esse processo se repetirá para 100 produtos. Pede-se que o algoritmo/programa emita o seguinte relatório: ○ Quantidade em estoque de cada produto ao final do lançamento de suas entradas e saídas; ○ Emita um aviso toda vez que um produto ficar com quantidade inferior a dez em estoque. 2. Faça um algoritmo/programa que receba o número de 50 agências de um banco e 500 números de contas cada agência. Para cada número de conta será informado o saldo inicial e em seguida serão informados cinco valores de movimentação que podem ser negativos ou positivos. Calcule e imprima na tela do computador: ○ o número da agência, o número da conta e o saldo final da conta; ○ o número da agência e o saldo total da agência (soma dos saldos de todas as contas). 3. Faça um algoritmo/programa que receba o número referente a um estado, num total de 5. Para cada estado serão informados 10 números sequenciais referentes a mesma quantidade de municípios. Para cada município será informada a quantidade de eleitores do candidato A a presidência e a quantidade de eleitores do candidato B a presidência. Pede-se que calcule e escreva: ○ a quantidade absoluta e a porcentagem de votos de cada candidato para cada estado; ○ a quantidade absoluta e a porcentagem de votos de cada candidato no total dos estados. 4. Faça um algoritmo/programa que receba o código numérico de quatro concessionárias de carros e para cada uma um número sequencial referente a um dos quatro modelos de carros (os modelos são os mesmos para todas as concessionárias). Em seguida, será informada a quantidade vendida do modelo. Calcule e escreva: ○ a porcentagem de carros vendidos para cada modelo em cada concessionária; ○ a quantidade de carros vendidos para cada modelo no todo; ○ a porcentagem de vendas de cada modelo no todo. 5. Faça um algoritmo/programa que receba o código numérico de quatro lojas de discos e, para cada uma, um número sequencial referente a um dos dez DVDs de artistas diferentes. Em seguida, será informada a quantidade vendida do DVD (os mesmos DVDs/artistas serão informados em todas as lojas seguido de seu total de venda). Calcule e escreva: ○ a porcentagem de DVDs vendidos para cada artista em cada loja; ○ a quantidade de DVDs vendidos para cada artista no todo; ○ a porcentagem de vendas de cada DVD no todo. 6. Faça um algoritmo/programa que receba o código numérico de quatro lojas de livros e para cada uma um matrícula numérica referente a um dos cinco vendedores da loja. 12 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES Em seguida, será informada a quantidade vendas em um mês do vendedor. Calcule e escreva: ○ a porcentagem de vendas para cada um dos vendedores em cada loja; ○ a quantidade de vendas de cada loja; ○ porcentagem de vendas de cada loja. 7. O professor de educação física do Campus Inhumas precisa de um algoritmo/programa para ajudá-lo no seu trabalho de registro de estudantes para a prática de exercícios físicos. Para tanto ele precisa informar o número da turma (no total de 3 turmas) e para cada turma as matrículas numéricas dos atletas (30 atletas para cada turma), o seus pesos e suas alturas e os sexos ('M' ou 'F'). Pede-se: ○ A matrícula e o índice de massa corpórea de cada estudante (IMC = Peso / Altura22)); ○ Se o IMC do aluno estiver: ▪ abaixo de 18,5, imprima uma mensagem que diga que o seu peso está abaixo do ideal; ▪ entre 25 e 30, escreva que ele está acima do peso ideal; ▪ acima de 30, escreva que ele está obeso; ○ O peso médio de cada turma; ○ O número da turma de maior peso médio. 8. O professor de educação física do Campus Inhumas precisa de um algoritmo/programa para ajudá-lo no seu trabalho de registro de estudantes para a prática de exercícios físicos. Para tanto ele precisa informar o número da turma (no total de 3 turmas) e para cada turma as matrículas numéricas dos atletas (30 atletas para cada turma), o seus pesos e suas alturas e os sexos ('M' ou 'F'). Pede-se: ○ A matrícula e o índice de massa corpórea de cada estudante (IMC = Peso / Altura22)); ○ Se o IMC do aluno estiver: ▪ abaixo de 18,5, imprima uma mensagem que diga que o seu peso está abaixo do ideal; ▪ entre 25 e 30, escreva que ele está acima do peso ideal; ▪ acima de 30, escreva que ele está obeso; ○ O peso médio de cada turma; ○ A turma mais pesada ○ O homem mais pesado; ○ A mulher mais leve. 9. O professor de educação física do Campus Inhumas precisa de um algoritmo/programa para ajudá-lo no seu trabalho de registro de estudantes para a prática de exercícios físicos. Para tanto ele precisa informar o número da turma (no total de 3 turmas) e para cada turma as matrículas numéricas dos atletas (30 atletas para cada turma), o seus pesos e suas alturas e os sexos ('M' ou 'F'). Pede-se: ○ A matrícula e o índice de massa corpórea de cada estudante (IMC = Peso / Altura22)); ○ Se o IMC do aluno estiver: ▪ abaixo de 18,5, imprima uma mensagem que diga que o seu peso está abaixo do ideal; ▪ entre 25 e 30, escreva que ele está acima do peso ideal; ▪ acima de 30, escreva que ele está obeso; ○ O peso médio de cada turma; ○ O peso médio dos homens; 13 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES ○ O peso médio das mulheres; ○ Ohomem mais pesado; ○ A mulher mais leve. Tipo 2 1. Faça um algoritmo/programa que receba o número de 50 agências de um banco e quantidade indefinida de números contas cada agência (pergunte antes de solicitar uma nova agência se o operador do programa deseja continuar ou parar). Para cada número de conta será informado o saldo inicial e em seguida serão informados uma quantidade variada de valores de movimentação que podem ser negativos ou positivos. Para indicar final de movimentações será informado um valor zerado que não entra nos cálculos. Calcule e imprima na tela do computador: ○ o número da agência, o número da conta e o saldo final da conta; ○ o número da agência e o saldo total da agência (soma dos saldos de todas as contas). 2. Faça um algoritmo/programa que receba o número referente a um estado da nação. A quantidade de estados não é sabida a priori, o operador deve ser interrogado se deseja informar mais um estado a cada iteração. Para cada estado será informada a quantidade de municípios e serão informados os seus números de identificação. Para cada município será informada a quantidade de eleitores do candidato A a presidência e a quantidade de eleitores do candidato B a presidência. Pede-se que calcule e escreva: ○ a quantidade absoluta e a porcentagem de votos de cada candidato para cada estado; ○ a quantidade absoluta e a porcentagem de votos de cada candidato no total dos estados. 3. Faça um algoritmo/programa que receba primeiramente a quantidade de modelos de carros vendidos em uma rede concessionárias. Em seguida será informado o código numérico de uma certo número de concessionárias de carros (para indicar fim da entrada de dados será informado o código 0 – zero) e para cada concessionária será informado um número sequencial referente a um dos modelos de carros e sua quantidade vendida. Calcule e escreva: ○ a porcentagem de carros vendidos para cada modelo em cada concessionária; ○ a quantidade de carros vendidos para cada modelo no todo; ○ a porcentagem de vendas de cada modelo no todo. 4. Faça um algoritmo/programa que receba primeiramente a quantidade de DVDs que uma rede de lojas do ramo trabalha. Depois será informado o código numérico de uma quantidade desconhecida de lojas de discos (antes de informar uma nova loja o operador deve ser arguido se deseja continuar inserindo dados) e, para cada uma, um número sequencial referente a um dos DVDs de artistas diferentes. Em seguida, será informada a quantidade vendida do DVD (os mesmos DVDs/artistas serão informados em todas as lojas seguido de seu total de venda). Calcule e escreva: ○ a porcentagem de DVDs vendidos para cada artista em cada loja; ○ a quantidade de DVDs vendidos para cada artista no todo; ○ a porcentagem de vendas de cada DVD no todo. 5. Faça um algoritmo/programa que receba primeiramente a quantidade de lojas de livros de uma rede. Em seguida serão informados os códigos numéricos das lojas e para cada uma um matrícula numérica referente a um dos vendedores da loja. Para cada vendedor deve-se arguir ao final da entrada de dados se existe mais vendedores . Em 14 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES seguida, será informada a quantidade vendas em um mês do vendedor. Calcule e escreva: ○ a porcentagem de vendas para cada um dos vendedores em cada loja; ○ a quantidade de vendas de cada loja; ○ porcentagem de vendas de cada loja. 15 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES VI Parte - Variáveis Compostas Homogêneas Unidimensionais (Vetores) 1. Faça um algoritmo/programa que leia 365 valores referentes a temperaturas médias em cada um dos dias de uma cidade qualquer. Pede-se: ○ calcule e imprima a temperatura média do ano; ○ quantos dias do ano tiveram suas temperaturas acima da média. 2. Faça um algoritmo/programa que tenha a mesma funcionalidade do exercício acima complementando que o mesmo deve dessa vez estar preparado para receber a mesma quantidade de temperaturas porém para dez anos consecutivos organizados de 1 a 10 (não será informado o identificador do ano durante o processo). Pede-se o mesmo relatório do exercício acima mais: ○ média de temperatura geral de todas os anos; ○ número do ano (de 1 a 10) com temperatura média anual acima da média geral das cidades. 3. Crie um algoritmo que utilize um vetor de 100 posições para armazenar a leitura do consumo de água de 100 condôminos em um período. Cada unidade representa um condômino, ou seja, primeira posição do vetor representa o condômino 1, a segunda o condômino 2 e assim por diante. Pede-se que calcule e escreva a média de consumo do condomínio, qual o condômino que mais consumiu e o que menos consumiu e quais os condôminos ficaram acima da média. 4. Faça um algoritmo/programa que receba o número de 50 agências de um banco e 500 números contas cada agência. Para cada número de conta será informado o saldo inicial e em seguida serão informados cinco valores de movimentação que podem ser negativos ou positivos. Calcule e imprima na tela do computador: ○ o número da agência, o número da conta e o saldo final da conta; ○ o número da agência e o número das contas com saldo devedor com uma mensagem apropriada; ○ o número da agência e o saldo total da agência (soma dos saldos de todas as contas); ○ o saldo médio das agências; ○ o número das agências com saldo superior à média. 5. Faça um algoritmo/programa que leia 100 valores correspondentes a notas de estudantes de uma disciplina. Pede-se que: ○ identifique e escreva as duas maiores notas do grupo; ○ calcule e escreva a média dessa turma na disciplina; ○ calcule e escreva a porcentagem de notas acima da média da turma. 6. Faça um algoritmo/programa que receba o código numérico de quarenta concessionárias de carros e para cada uma, um número sequencial referente a um dos vinte modelos de carros (os modelos são os mesmos para todas as concessionárias). Em seguida, será informada a quantidade vendida do modelo. Calcule e escreva: ○ a porcentagem de carros vendidos para cada modelo em cada concessionária; ○ a quantidade de carros vendidos para cada modelo no todo; ○ a porcentagem de vendas de cada modelo no todo. 16 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES VII Parte - Variáveis Compostas Homogêneas Multidimensionais (Matrizes) 1. Faça um algoritmo/programa que receba o número referente a um estado, num total de 5. Para cada estado serão informados 10 números sequenciais referentes a mesma quantidade de municípios. Para cada município será informada a quantidade de eleitores do candidato A a presidência e a quantidade de eleitores do candidato B a presidência. Pede-se que calcule e escreva: ○ a porcentagem de votos dos candidatos para cada município; ○ a quantidade absoluta e a porcentagem de votos de cada candidato para cada esta- do; ○ a quantidade absoluta e a porcentagem de votos de cada candidato no total dos es- tados; ○ identificador dos candidatos e dos municípios cuja a porcentagem de votos do candi- dato no mesmo seja maior que a porcentagem do país. Observação: neste exercício deve-se trabalhar com vetores e matrizes ao mesmo tempo. 2. Faça um algoritmo/programa que receba o código numérico de quatro concessionárias de carrose para cada uma um número sequencial referente a um dos quatro modelos de carros (que são os mesmos para todas as concessionárias). Em seguida, será informada a quantidade vendida do modelo. Calcule e escreva: ○ a porcentagem de carros vendidos para cada modelo em cada concessionária; ○ a quantidade de carros vendidos para cada modelo no todo; ○ a porcentagem de vendas de cada modelo no todo; ○ os modelos e as concessionárias onde a porcentagem de carros vendidos nessa te- nha sido superior a porcentagem total. Observação: neste exercício deve-se trabalhar com vetores e matrizes ao mesmo tempo. 3. Faça um algoritmo/programa que receba o código numérico de quatro lojas de discos e, para cada uma, um número sequencial referente a um dos dez DVDs de artistas diferentes. Em seguida, será informada a quantidade vendida do DVD (os mesmos DVDs/artistas serão informados em todas as lojas seguido de seu total de venda). Calcule e escreva: ○ a porcentagem de DVDs vendidos para cada artista em cada loja; ○ a quantidade de DVDs vendidos para cada artista no todo; ○ a porcentagem de vendas de cada DVD no todo; ○ o número dos artistas e das lojas cuja porcentagem vendida na loja seja superior a do todo. Observação: neste exercício deve-se trabalhar com vetores e matrizes ao mesmo tempo. 4. Faça um algoritmo/programa que receba o código numérico de quatro lojas de livros e para cada uma um matrícula numérica referente a um dos cinco vendedores da loja. Em seguida, será informada a quantidade vendas em um mês do vendedor. Calcule e escreva: ○ a porcentagem de vendas para cada um dos vendedores em cada loja; ○ a quantidade de vendas de cada loja; ○ a quantidade de vendas total de todas as lojas; 17 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES ○ porcentagem de vendas de cada loja; ○ a matrícula dos vendedores cujos percentuais individuais de venda sejam superiores ao percentual de sua loja. Observação: neste exercício deve-se trabalhar com vetores e matrizes ao mesmo tempo. 5. Faça um algoritmo/programa que leia um tabela de inteiros com 30 linhas e quatro colunas, a ser fornecida pelo usuário, onde cada linha conterá os dados de um estudante diferente e cada coluna representará os seguintes dados: I) matrícula; II) primeira nota de avaliação (de 0 a 50); III) segunda nota de avaliação (de 0 a 50). Calcule e escreva: ○ a soma das duas notas de cada aluno, guardando na quarta coluna da tabela (essa é a média do semestre); ○ a média da turma; ○ as matrículas de todos os estudantes com média acima da média da turma. 6. Elabore um algoritmo/programa para receber o nome de 30 estudantes e suas medias finais e calcular e escrever a média da turma e identificar e escrever os nomes dos alunos com médias acima da média acima da média da turma. 7. Faça um algoritmo/programa que leia o nome de 5 candidatos à prefeitura de um município e, para cada candidato, 50 valores absolutos referentes a quantidade de votos apurados em cada uma das urnas da cidade. Pede-se que: ○ o total absoluto de votos apurados de cada candidato em todas as urnas da cidade; ○ o percentual de votos de cada candidato; ○ imprima os nomes dos candidatos com o maior número de votos e com segundo maior números de votos; ○ se a porcentagem de votos do primeiro foi maior do que 50% escreva a mensagem “Não haverá segundo turno”. Caso contrário escreva a seguinte mensagem: “Haverá segundo turno”. 18 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES VIII Parte - Cadeia de caracteres (Strings) 1. Faça um algoritmo/programa que receba uma cadeia de caracteres com no máximo 100 caracteres e que calcule e escreva quantos caracteres (incluindo espaços em branco) de fato foram digitados. 2. Faça um algoritmo/programa que receba uma cadeia de caracteres com no máximo 100 caracteres e que imprima essa mesma cadeia em ordem inversa da que foi informada. 3. Faça um algoritmo/programa que receba uma cadeia de caracteres com no máximo 100 caracteres e que identifique se a palavra é palíndroma, ou seja, na forma informada ou invertida a cadeia é a mesma. Observação: supor que todos os caracteres estarão no mesmo caixa – maiúsculo ou minúsculo – e que será informada uma palavra somente sem espaços em branco. 4. Faça um algoritmo/programa que receba uma cadeia de caracteres e imprima-o de novo todo em maiúsculo independente de que forma que foi informada. Observação: podem ser informados caracteres alfanuméricos quaisquer, inclusive espaços em branco. 5. Faça um algoritmo/programa que receba uma cadeia de caracteres e imprima-o de novo todo em minúsculo independente de que forma que foi informada. Observação: podem ser informados caracteres alfanuméricos quaisquer, inclusive espaços em branco. 6. Faça um algoritmo/programa que receba o nome completo de uma pessoa – com no máximo 45 caracteres – e imprima-o de novo com as primeiras letras do nome e dos sobrenomes em maiúsculo e as demais em minúsculo. Observação: o nome poderá ser informado com suas letras alternando entre maiúsculo e baixo. Cuidado com os espaços em branco. 7. Faça um algoritmo/programa que receba o endereço eletrônico de uma pessoa – com no máximo 45 caracteres – e imprima-o de novo separando o prefixo que vem antes do @ e do domínio que vem depois. Observação: não é para imprimir o @. 8. Faça um algoritmo/programa que receba separadamente o prefixo e o domínio do endereço eletrônico de uma pessoa e imprima-o de novo concatenado. Observação 1: acrescente o @ que não é informado. Observação 2: o prefixo será de no máximo 17 posições e o domínio de no máximo 28 posições. 9. Faça um algoritmo/programa que seja capaz de ler uma frase de no máximo 150 caracteres. Calcule e/ou escreva: ○ quantos caracteres de fato foram informados pelo usuário no total; ○ quantos espaços em branco foram informados; ○ a frase novamente só que de trás para frente, ou seja, do último caractere para o primeiro. 10. Faça um algoritmo/programa que receba o nome de 20 modelos de carros e depois o nome de 40 concessionárias de carros e, para cada uma a quantidade vendida de cada modelo. Calcule e escreva: ○ a porcentagem de carros vendidos para cada modelo em cada concessionária. Imprima junto o nome da concessionária e do modelo; ○ a quantidade de carros vendidos para cada modelo no todo. Imprima junto o nome de cada modelo; ○ a porcentagem de vendas de cada modelo no todo. Imprima junto o nome de cada modelo. 19 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES IX Parte - Modularização: Funções 1. Crie uma função que calcule o somatório de dois números quaisquer passados por parâmetros. 2. Crie uma função que calcule um número inteiro elevado à sua potência (xy) e retorne o resultado. X e Y serão informados por parâmetros. 3. Crie uma função que calcule o fatorial de um número informado por parâmetro. 4. Crie uma função que retorne verdadeiro se um número inteiro informado por parâmetro é par e falso se não. 5. Crie uma função que retorne verdadeiro se um número inteiro informado por parâmetro é primo e falso se não. 6. Crie uma função que transforme um valor em graus Farenheit para centígrados ( C=5 9 ×F−32 ). O valor em Farenheit é passadocomo parâmetro. 7. Crie uma função que transforme um valor em Reais para Dólares. O valor em Reais e a cotação do dólar são passados como parâmetros. 8. Crie uma função que transforme um valor em Dólares para Reais. O valor em Dólares e a cotação do dólar são passados como parâmetros. 9. Crie uma função que transforme uma distância informada em metros para quilômetros. A distância em metros é informada como parâmetro. 10.Crie uma função que transforme uma distância informada em quilômetros para metros. A distância em quilômetros é informada como parâmetro. 11.Crie uma função que transforme um horário composto por horas, minutos e segundos em uma quantidade de segundos. Hora, minuto e segundos são parâmetros de entrada. 12.Crie um módulo de programa (função) para reserva de poltronas de teatro: 13.O teatro possui 400 lugares dispostos em 20 fileiras com 20 poltronas cada. O operador irá informar o número da Carteira de Identidade (CI) do cliente, que deverá ser armazenado na poltrona a ser reservada, também informará a fileira (linha) e a poltrona (coluna) solicitada pelo cliente. Dicas: ○ dê o nome cadastraReserva à função do tipo lógica; ○ se a reserva for realizada com sucesso a função deve retornar verdadeiro, caso con- trário deve retornar falso; ○ a função receberá como parâmetros de entrada a fileira (linha) e a poltrona (coluna) para a reserva, que são posições de uma matriz; a CI e a matriz de reservas; ○ a matriz de reservas é uma varável global já declarada no módulo principal com o nome “reservas”; ○ a reserva é feita inserindo o nº da CI na posição escolhida; ○ lembre-se de checar se a poltrona não está reservada antes realizar a reserva. Para checar se a poltrona está vaga basta verificar se não há nada na posição, ou seja, se a posição contiver o número de uma CI então está reservada.. 14.Crie uma função que receba como parâmetros de entrada um vetor de inteiros, um valor inteiro e o tamanho do vetor. A função deve retornar a posição do vetor que contém o valor passado ou -1 caso o valor não exista no vetor. 15.Crie uma função do tipo numérico inteiro que receba um vetor contendo as notas de um grupo de estudantes e o tamanho desse vetor como parâmetros de entrada somente e retorne a primeira posição livre desse vetor. Se não houver posição livre a função deve retornar -1. 16.Crie uma função do tipo lógica (que retorne verdadeiro ou falso dependendo do sucesso da operação) que receba: 20 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES ○ como parâmetro de entrada e saída um vetor de notas; ○ como parâmetro de entrada o valor de uma nota a ser inserida no vetor após todas as notas já cadastradas; ○ como parâmetro de entrada o tamanho do vetor. A subrotina deve verificar a última posição livre do vetor – utilizando-se da função do exercício anterior (número 14) – e inserir a nota nessa posição. Observação: caso a nota seja inserida a função deve retornar verdadeiro, caso contrá- rio, a função deve retornar falso. 21 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES X Parte - Modularização: Subrotinas/Procedimentos 1. Crie uma subrotina/procedimento que receba como parâmetro um texto e imprima-o na tela do computador como uma mensagem de alerta. 2. Escreva uma subrotina que escreva/imprima todos os divisores de um dado número (passado como parâmetro). 3. Crie uma subrotina que receba: ○ como parâmetro de entrada e saída um vetor de notas; ○ como parâmetro de entrada o valor de uma nota a ser inserida no vetor após todas as notas já cadastradas; ○ como parâmetro de entrada o tamanho do vetor. 4. A subrotina deve verificar a primeira posição do vetor livre e inserir a nota nessa posição. 5. Observação: supor que nunca será informado um vetor de notas já totalmente preenchido. 6. Escreva uma subrotina que receba um vetor de inteiros como parâmetro de entrada e saída, o seu tamanho e dois valores inteiros como parâmetros de entrada. A subrotina deve inserir no vetor o primeiro valor inteiro passado como parâmetro na posição do segundo valor inteiro. 7. Escreva uma subrotina que receba três parâmetros de entrada e saída contendo cada um um valor qualquer e ordene estes valores em ordem crescente. 8. Reescreva a subrotina anterior usando um vetor como parâmetro de entrada e saída e o seu tamanho como parâmetro de entrada. A subrotina deve ordenar o vetor em ordem crescente. 22 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES XI Parte - Modularização: Funções e Subrotinas para tratamento de strings 1. Crie uma função que receba duas strings e compare-as. Se as strings forem idênticas – mesmo tamanho e caracteres – retorne 0 (zero), senão retorne 1 (um). 2. Para o mesmo exercício acima acrescente a funcionalidade de retornar 0 para strings idênticas, -1 (um negativo) quando a primeira string for menor do que a segunda ou 1 (um positivo) quando a primeira string for maior do que a segunda. 3. Crie uma função para implementar o que é solicitado no 1. da VIII Parte - . 4. Crie um módulo que leia uma string com tamanho definido via parâmetro. 5. Elabore um algoritmo/programa para receber o nome de 30 estudantes e suas medias finais e calcular e escrever a média da turma e identificar e escrever os nomes dos alunos com médias acima da média acima da média da turma. Observação: Para a leitura dos nomes dos estudantes utiliza a subrotina do exercício 4. 23 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES XII Parte - Registros 1. Crie a declaração de um registro para identificação de estudantes de uma instituição de ensino com os campos descritos abaixo: ○ MATRÍCULA – tipo alfanumérico ou literal; ○ NOME – tipo alfanumérico ou literal; ○ TURMA – tipo alfanumérico ou literal; ○ PERÍODO – tipo alfanumérico ou literal (matutino, vespertino ou noturno); ○ DATA DE INGRESSO – tipo numérico. 2. Dê o nome ALUNO para o registro. 3. Crie um registro com o nome de ESPECIFICACAO que armazenará dados de pedidos e compras de clientes em uma loja com os campos descritos abaixo: ○ CPF – CPF do cliente do tipo numérico; ○ CODIGO – código do pedido do tipo numérico; ○ SEQUENCIA – sequencia numérica do pedido (para cada código de pedido pode-se ter vários itens de produtos organizados sequenciamente); ○ PRODUTO – código do produto do tipo numérico; ○ QUANTIDADE – quantidade do produto especificada do tipo numérico; ○ VALOR – valor do produto especificado. 4. Crie um registro com o nome de CONTATO que armazenará dados de pessoas e empresas para uma agenda com os campos descritos abaixo: ○ NOME – nome do contato do tipo literal ou alfanumérico; ○ LOGARADOURO – tipo do logradouro (avenida, alameda, rua, sítio, etc.) alfanumérico ou literal; ○ DECRICAO – descrição do logradouro (endereço) do tipo literal ou alfanumérico; ○ FONE1 – espaço para o primeiro telefone do tipo numérico; ○ FONE2 – espaço para o segundo telefone do tipo numérico; ○ FONE3 – espaço para o terceiro telefone do tipo numérico. 5. Crie um registro com o nome de ROTEIROS que armazenará dados de viagens interurbanas de uma empresa de transporte coletivo terrestre com os campos descritos abaixo:○ CPF – CPF do cliente do tipo numérico; ○ CODIGO – código da reserva do cliente; ○ SEQUENCIA – sequencia da reserva (no caso do cliente reservar mais de um assento); ○ ASSENTO – número do assento do cliente do tipo numérico; ○ DATA – data da viagem do tipo numérico; ○ HORARIO – horário da vigem do tipo numérico; ○ ITINERARIO – código do itinerário (itinerário marcam início e o fim do percurso do veículo e é obtido dum outro registro) do tipo numérico; ○ CIDADE_ORIGEM – cidade de partida do passageiro; ○ CIDADE_DESTINO – cidade de destino do passageiro; ○ VALOR – valor da passagem especificado. 24 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES 6. Elabore um algoritmo/programa para receber o nome de 30 estudantes e suas medias finais e calcular e escrever a média da turma e identificar e escrever os nomes dos alunos com médias acima da média acima da média da turma. Observação 1: para a leitura dos nomes dos estudantes utilize de preferência uma subrotina para leitura de literais com tamanhos parametrizados. Observação 2: os nomes e notas devem ser armazenados em um registro e este deve ser um vetor de 30 posições. 25 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES Adicionais 1 1. Elabore o seguinte algoritmo/programa: ○ Uma companhia de energia deseja que seja feito um programa que calcule o valor da conta de seus clientes. Para isso serão informados os seguintes dados: ○ código do consumidor; ○ preço do KW; ○ quantidade de KW consumida; Pede-se que calcule e escreva o total a pagar do consumidor juntamente com o seu código. Observação: supor que este programa será executado uma vez para cada consumidor. 2. Faça um algoritmo/programa que leia três números inteiros quaisquer e escreva-os em ordem crescente. 3. Elabore o seguinte algoritmo/programa: ○ em uma fazenda existem duas raças (1 e 2) de bois. O proprietário da fazenda deseja saber a quantidade de bois de cada raça assim como de qual raça é o boi mais pesado. Para tanto será informada primeiramente a quantidade total de bois da fazenda e logo em seguida as raças e pesos dos animais. Faça um programa que calcule e escreve o que é solicitado. 4. Elabore o seguinte algoritmo: ○ Leia NOME, ENDEREÇO, TELEFONE, E-MAIL de um conjunto de pessoas. Pede-se: ▪ calcule a quantidade de pessoas informadas; ▪ escreva os dados de cada pessoas; ▪ escreva a quantidade de pessoas informadas, que foi calculada no item 1. Observação: para interromper o processo de leitura o operador informará a palavra “vazio” no lugar do nome. 5. Em uma fazenda existem 2000 bois divididos em duas raças (1 e 2). O proprietário da fazenda deseja saber a quantidade de bois de cada raça e a media de peso de todos os animais. Além disso é solicitado também calcular e escrever quantos bois estão acima da media de peso. Para tanto será informado a raça e o peso de cada boi. Faca um programa que calcule e escreva o solicitado. 6. Crie um programa que reserve poltronas de teatro: ○ O teatro possui 400 lugares dispostos em 20 fileiras com 20 poltronas cada. O operador irá informar o número da CI do cliente, que deverá ser armazenado na poltrona a ser reservada, também informará a fileira e coluna solicitada pelo cliente. Dicas: ▪ use no seu programa uma tabela de tamanho (20 x 20) do tipo unsigned long int; ▪ limpe (inicie) a sua tabela com zeros antes de começar o programa. 26 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES Adicionais 2 1. Crie uma variável global chamada tabReservas e com 20 linha por 20 colunas. 2. Crie um módulo de programa (função) para reserva de poltronas de teatro: O teatro possui 400 lugares dispostos em 20 fileiras com 20 poltronas cada. O opera- dor irá informar o número da CI do cliente, que deverá ser armazenado na poltrona a ser reservada, também informará a fileira e coluna solicitada pelo cliente. Dicas: a. dê ao seu módulo o nome cadastraReserva (void cadastraReserva()); b. use no seu módulo tabela de tamanho (20 x 20) do tipo unsigned long int, com o nome tabReservas criada anteriormente; c. lembre-se de checar se a poltrona não está reservada antes realizar a reserva. Se a poltrona já se encontra reservada não realize a reserva e imprima mensagem adequada para o usuário. 1. Crie um módulo de programa (função) para alteração de reservas de poltronas de tea- tro: O teatro possui 400 lugares dispostos em 20 fileiras com 20 poltronas cada. O opera- dor irá informar o número da CI do cliente, a fileira (linha) e assento (coluna) da reser- va a ser alterada; informará também a fileira e o assento que da nova poltrona a ser reservada pelo cliente. Dicas: a. dê ao seu módulo o nome alteraReserva (void alteraReserva()); b. use no seu módulo tabela de tamanho (20 x 20) do tipo unsigned long int, com o nome tabReservas criada anteriormente; c. verifique se a CI confere com a da poltrona reservada a ser alterada. Caso contrá- rio, imprima mensagem adequada para o usuário e não realize a alteração de re- serva; d. lembre-se de checar se a poltrona não está reservada antes realizar a reserva. Se a poltrona já se encontra reservada não realize a reserva e imprima mensagem adequada para o usuário. 1. Crie o módulo principal do programa (função main), com as seguintes funcionalidades: a. um laço de repetição no início para mover zeros para toda a matriz de reservas (20 linhas por 20 colunas) declarada como global no exercício 4. A matriz é uma variá- vel declarada no programa como global. Para efeito de padronização utilize o nome tabReservas em seu módulo; b. chamada às funções criadas anteriormente na mesma ordem (5 e 6). 27 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES Adicionais 3 Exercício 1 - Faça um programa que leia a idade de três pessoas, determine e escreva a idade do mais velho. Exercício 2 - Uma empresa qualquer resolveu conceder um aumento salarial para seus funcionários (15% para as mulheres e 7,5% para os homens). Faça um programa que leia o salário antigo e o sexo do funcionário, calcule e escreva o valor do novo salário. Exercício 3 - Luciana distribui sua renda mensal da seguinte forma: 10% saúde, 25% educação, 30% alimentação, 10% vestuário; 5% lazer, 20% outros. Faça um programa que leia a renda mensal líquida de Luciana, calcule e escreva o valor aplicado em cada item acima citado. Exercício 4 - Faça um programa que leia o peso de três livros, calcule e escreva a soma dos dois mais pesados. Exercício 5 - Faça um programa que leia a idade de uma pessoa em anos, calcule e escreva quantos dias ele viveu. Observação: Considerar o ano com 365,25 dias para efeito de cálculo. Exercício 6 - Faça um programa que leia a idade de três pessoas, determine e escreva a idade do mais velho em dias. Observação: Considerar o ano com 365,25 dias para efeito de cálculo. Exercício 7 - Faça um programa que leia a idade do pai e a idade do filho, calcule e escreva a diferença de idade dos dois em dias. Observação: Considerar o ano com 365,25 dias para efeito de cálculo. Exercício 8 - Faça um programa que leia a idade de duas pessoas, determine e escreva qual dos dois é o mais velho e qual é o mais novo. Observação: suponha que não haja empate. Exercício 9 - O critériode notas semestrais numa faculdade consiste em dois bimestres, sendo que, cada nota varia de 0 a 10 e tem os respectivos pesos 4 e 6. Elabore um algoritmo/programa que leia as notas bimestrais, calcule e escreva a nota final do semestre (média semestral = (Nota 1º bim. * 0,4) + (Nota 2º bim. * 0,6)). Exercício 10 - O critério de notas semestrais numa faculdade consiste em dois bimestres, sendo que, cada nota varia de 0 a 10 e tem os respectivos pesos 4 e 6. O critério de aprovação para notas iguais ou superior à 7,0, ou seja, alunos com notas inferiores a 7,0 estão reprovados. Elabore um programa que leia as duas notas bimestrais, calcule e escreva a nota final do semestre (média semestral = (Nota 1º bim. * 0,4) + (Nota 2º bim. * 0,6)) e imprima na tela do computador se o aluno está aprovado ou reprovado. Exercício 11 - Faça um programa que leia a média bimestral de um número indeterminado (serão no máximo 50) de estudantes de uma escola e calcule e escreva: a média geral dos aprendizes; quantos estudantes tiveram média bimestral abaixo da média geral. Considere que o operador do seu programa informará a última média como sendo 11,0 para sinalizar que se encerraram as entradas de dados. Exercício 12 - Numa certa faculdade é considerado aprovado o estudante que obtém média semestral igual ou superior a 7,0, ou seja, estudantes com média inferiores a 7,0 estão reprovados. Para se obter a média semestral o estudante primeiramente precisa obter duas notas bimestrais, sendo que cada nota varia de 0,0 a 10,0 e tem os pesos 4 e 6 respectivamente para cada nota. Assim, para obtenção da média semestral deve-se multiplicar a primeira nota por 0,4 e a segunda por 0,6 e somar as duas, da seguinte maneira: média semestral = (Nota 1º bim. * 0,4) + (Nota 2º bim. * 0,6). Elabore um programa que leia as duas notas bimestrais de diversos estudantes (serão no máximo 50), calcule e escreva a média semestral de cada aprendiz e imprima na tela do computador se ele está aprovado ou reprovado. Considere que o operador do seu programa informará as duas notas bimestrais iguais a 11,0 para sinalizar que se encerraram as entradas de dados. Exercício 13 - Numa certa faculdade é considerado aprovado o estudante que obtém média semestral igual ou superior a 7,0, ou seja, estudantes com média inferiores a 7,0 estão reprovados. Para se obter a média semestral o estudante primeiramente precisa obter duas notas bimestrais, sendo que cada nota varia de 0,0 a 10,0 e tem os pesos 4 e 6 respectivamente para cada nota. Assim, para obtenção da média semestral 28 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES deve-se multiplicar a primeira nota por 0,4 e a segunda por 0,6 e somar as duas, da seguinte maneira: média semestral = (Nota 1º bim. * 0,4) + (Nota 2º bim. * 0,6). Elabore um programa que: • leia as duas notas bimestrais de diversos estudantes (serão no máximo 50) e escreva a média semestral de cada aprendiz e imprima na tela do computador se ele está aprovado ou reprovado; •calcule e escreva a média geral dos estudantes. Observação: considere que o operador do seu programa informará as duas notas bimestrais iguais a 11,0 para sinalizar que se encerraram as entradas de dados e estas notas não entram nos cálculos. Exercício 1 - Numa certa faculdade é considerado aprovado o estudante que obtém média semestral igual ou superior a 7,0, ou seja, estudantes com média inferiores a 7,0 estão reprovados. Para se obter a média semestral o estudante primeiramente precisa obter duas notas bimestrais, sendo que cada nota varia de 0,0 a 10,0 e tem os pesos 4 e 6 respectivamente para cada nota. Assim, para obtenção da média semestral deve-se multiplicar a primeira nota por 0,4 e a segunda por 0,6 e somar as duas, da seguinte maneira: média semestral = (Nota 1º bim. * 0,4) + (Nota 2º bim. * 0,6). Elabore um programa que: • leia as duas notas bimestrais de diversos estudantes (serão no máximo 50), calcule e escreva a média semestral de cada aprendiz e imprima na tela do computador se ele está aprovado ou reprovado; •calcule e escreva a média geral dos estudantes; •calcule e escreva quantos estudantes tiveram pelo menos uma das notas acima da média geral. Observação: considere que o operador do seu programa informará as duas notas bimestrais iguais a 11,0 para sinalizar que se encerraram as entradas de dados. Exercício 1 - Numa certa faculdade é considerado aprovado o estudante que obtém média semestral igual ou superior a 7,0, ou seja, estudantes com média inferiores a 7,0 estão reprovados. Para se obter a média semestral o estudante primeiramente precisa obter duas notas bimestrais, sendo que cada nota varia de 0,0 a 10,0 e tem os pesos 4 e 6 respectivamente para cada nota. Assim, para obtenção da média semestral deve-se multiplicar a primeira nota por 0,4 e a segunda por 0,6 e somar as duas, da seguinte maneira: média semestral = (Nota 1º bim. * 0,4) + (Nota 2º bim. * 0,6). Elabore um programa que: • leia as duas notas bimestrais de diversos estudantes (serão no máximo 50), calcule, guarde em um vetor e escreva a média semestral de cada aprendiz e imprima na tela do computador se ele está aprovado ou reprovado; •calcule e escreva a média geral dos estudantes; •calcule e escreva quantos estudantes tiveram média semestral abaixo da média geral. Observação: considere que o operador do seu programa informará as duas notas bimestrais iguais a 11,0 para sinalizar que se encerraram as entradas de dados. Exercício 1 - Faça o que é pedido abaixo: •Faça uma função em C para calcular e retornar a potenciação de um número que será informado via parâmetro de entrada. Para tanto serão informados dois parâmetros de entrada. Observação 1: considere o primeiro dos parâmetros de entrada como sendo o número a ser elevado e o segundo como sendo a potência a elevar o primeiro. Observação 2: todos os parâmetros (de entrada e saída) devem ser considerados do tipo double, exceto o segundo parâmetro de entrada, que contêm a potência, deve ser inteiro (int). •Faça uma função main para calcular e escrever o valor de S: S = 21 + 22 + 23 + 24 + ... + 249 + 250. Para tanto você deve usar a função que você criou acima para efetuar a operação de potenciação da fórmula. Exercício 1 - Faça o que é pedido abaixo: 29 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES •Faça uma função em C para calcular e retornar a potenciação de um número que será informado via parâmetro de entrada. Para tanto serão informados dois parâmetros de entrada. Observação 1: considere o primeiro dos parâmetros de entrada como sendo o número a ser elevado e o segundo como sendo a potência a elevar o primeiro. Observação 2: todos os parâmetros (de entrada e saída) devem ser considerados do tipo double, exceto o segundo parâmetro de entrada, que contêm a potência, deve ser inteiro (int). •Faça uma função main para calcular e escrever o valor de S: S = 21/50 + 22/49 + 23/48 + 24/47 + ... + 249/2 + 250/1. Para tanto você deve usar a função que você criou acima para efetuar a operação de potenciação da fórmula. Exercício 1 - Faça o que é pedido abaixo: •Faça uma função em C para calcular e retornar a soma de dois números que serão informados via parâmetros de entrada. Observação: todos os parâmetros (de entrada e saída) devem ser considerados do tipo double. •Faça uma função em C para calcular e retornar a divisão de dois números que serão informados via parâmetros de entrada. Observação: todos os parâmetros (de entrada e saída) devem ser consideradosdo tipo double. •Faça uma função em C para calcular e retornar a potenciação de dois números que serão informados via parâmetros de entrada. Observação 1: considere o primeiro dos parâmetros de entrada como sendo o número a ser elevado e o segundo como sendo a potência a elevar o primeiro. Observação 2: todos os parâmetros (de entrada e saída) devem ser considerados do tipo doublé, exceto o segundo parâmetro de entrada, que contêm a potência, deve ser inteiro (int). •Faça uma função main para calcular e escrever o valor de S: S = 21/50 + 22/49 + 23/48 + 24/47 + ... + 249/2 + 250/1. Para tanto você deve usar as funções que você criou acima para efetuar as operações de potenciação, divisão e soma da fórmula. Exercício 1 - Faça o que é pedido abaixo: •Faça uma função em C para calcular e retornar o fatorial de um número que será informado via parâmetro de entrada. Observação: todos os parâmetros (de entrada e saída) devem ser considerados do tipo inteiro (int). •Faça uma função main para calcular e escrever a soma dos 20 (vinte) primeiros termos da série: S = 0! + 1! + 2! + 3! + ... + 19! Observação: para calcular o fatorial você deve usar na fórmula a função que criou acima. Exercício 1 - Faça o que é pedido abaixo: •Faça uma função em C para calcular e retornar o fatorial de um número que será informado via parâmetro de entrada. Observação: todos os parâmetros (de entrada e saída) devem ser considerados do tipo inteiro positivo (int). •Faça um uma função main para calcular e escrever a soma dos 20 (vinte) primeiros termos da série: S = 100/0! + 99/1! + 98/2! + 97/3! + ... . Para tanto você deve usar a função que você criou acima para efetuar o fatorial do denominador na fórmula. Exercício 1 - Faça o que é pedido abaixo: •Faça uma função em C para calcular e retornar a soma de dois números que serão informados via parâmetros de entrada. 30 / 31 Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia de Goiás Campus Inhumas Departamento de Ensino ATIVIDADES Observação: todos os parâmetros (de entrada e saída) devem ser considerados do tipo double. •Faça uma função em C para calcular e retornar a divisão de dois números que serão informados via parâmetros de entrada. Observação: todos os parâmetros (de entrada e saída) devem ser considerados do tipo double. •Faça uma função em C para calcular e retornar o fatorial de um número que será informado via parâmetro de entrada. Observação: todos os parâmetros (de entrada e saída) devem ser considerados do tipo inteiro positivo (int). •Faça uma função main para calcular e escrever a soma dos 20 (vinte) primeiros termos da série: S = 100/0! + 99/1! + 98/2! + 97/3! + ... . Para tanto você deve usar as funções que você criou acima para efetuar as operações de divisão, fatorial e soma da fórmula. 31 / 31
Compartilhar