FRANCISCO TESIFOM MUNHOZ #include <stdio.h #include<stdlib. Double factorial { Int I,n; Double y; For(i=1ç1<=xç i - PDF
FRANCISCO TESIFOM MUNHOZ #include <stdio.h #include<stdlib. Double factorial { Int I,n; Double y; For(i=1ç1<=xç i
Download "FRANCISCO TESIFOM MUNHOZ 2007. #include <stdio.h #include<stdlib. Double factorial { Int I,n; Double y; For(i=1ç1<=xç i"
Vítor Gabriel Garrau Avelar
1 FRANCISCO TESIFOM MUNHOZ 2007 #include <stdio.h #include<stdlib. Double factorial { Int I,n; Double y; For(i=1ç1<=xç i
2 Índice 1 INSTALAÇÃO BÁSICA DO DEV-C CONFIGURANDO O DEV-C PRIMEIRO CONTADO COM DEV-C OBJETIVO REQUISITOS HELLO WORLD ESCREVENDO O CÓDIGO SALVANDO E REUTILIZANDO OS SEUS PROGRAMAS ALGORITMOS FATORES A SEREM LEVADOS EM CONSIDERAÇÃO NA CONSTRUÇÃO DE UM ALGORITMO MÉTODO PARA CONSTRUIR UM ALGORITMO 18 2 ATIVIDADES 18 2
3 1 Instalação Básica do Dev-C++ o o o o Baixe o arquivo de instalação devcpp _setup.exe 1 [ bytes ou 9108 kb ou 8.9M] para uma pasta temporária. Esse arquivo pode ser removido depois da instalação. Para começar a instalação, basta clicar (duas vezes) no nome do arquivo usando o "Windows Explorer". Durante a instalação escolha sempre as opções sugeridas, com exceção da escolha de linguagem comentada a seguir. Escolha "Português" quando aparecer a tela abaixo e clique em "OK". 1.1 Configurando o Dev-C++ o No fim da instalação, aparecerá a tela abaixo. Você deverá clicar em "Terminar" para executar o Dev-C++. o Depois de ler uma mensagem sobre o programa, você verá a tela abaixo. Escolha a linguagem "Português (Brazil)" para a sua configuração. 1 Link para download : 3
4 o A seguir, deverá aparecer a tela abaixo. Escolha "No, I prefer to use Dev-C++ without it" e clique em "Next". o A seguir, depois de uma tela sobre o programa e depois de ler a dica do dia, clique em "Ferramantas" e depois em "Opções do Compilador", conforme indicado na figura abaixo. 4
5 o Na tela que aparecer, conforme figura abaixo, clique em "Adicionar os seguintes comandos quando chamar o compilador:" e digite "-Wall -ansi -O2". Note que a última coisa que é digitada é "menos ó maiúsculo dois". Depois clique em "OK". o FIM!!!! 5
6 1.2 Primeiro contado com Dev-C++ O que vem a ser um programa em C? Você talvez já tenha ouvido falar que um compilador é um programa ou ferramenta que transforma um programa fonte escrito em uma linguagem de programação de alto nível, como C, para uma linguagem que o computador é capaz de "entender", o chamado programa executável. Assim, um compilador é essencialmente um tradutor e este processo de tradução é chamado de compilação. Para facilitar o desenvolvimento e compilação de um programa em C, o Dev-C++ oferece um ambiente que integra um editor de textos a um compilador para linguagem C. O compilador usado pelo Dev-C++ é o famoso (Uau!) gcc (Gnu C Compiler). No Windows há basicamente dois tipos de programas de usuário: aplicações para o console (Console Applications), que são executadas numa janela de texto (também conhecida como Prompt do MS-DOS); e aplicações Gráficas (GUI Applications), que usam janelas, menus e outros elementos visuais como parte de sua interface com o programador. Todos os programas em C que faremos serão aplicações para o console. O Dev-C++ é desenvolvido por Colin Laplace, Mike Berg e Hongli Lai e é ``Free Software'' (sob GNU General Public License). Isto significa, entre outras coisas, que ele pode ser distribuído e copiado à vontade. Você pode copiar o Dev-C++, digitando o seguinte link : Objetivo O objetivo desta aula dirigida é ajudá-lo no seu primeiro contado com Dev-C++, bem como dar-lhe alguma orientação quanto ao seu uso. Este conteúdo abrange uma parte muito pequena dos recursos disponíveis nos computadores. Cabe a você consultar os manuais com informações mais detalhadas para ampliar seus conhecimentos. Ao final dessa aula, você deverá ser capaz de: escrever programas através do Dev-C++ ; compilar e executar programas com Dev-C++ ; e salvar, reutilizar e imprimir arquivos utilizados no Dev-C++. A aula consta de duas partes. A primeira lhe ensina como criar um arquivo contendo um programa, compilá-lo e executá-lo, usando um programa bem simples do tipo ``Hello World'' (como se diz na gíria). Na segunda parte parte você criará um programa um pouco mais complexo, para conhecer outros recursos do Dev-C Requisitos Se você instalou o Dev-C++ em seu computador pessoal, você pode fazer essa aula prática em casa. Neste caso, somente os nomes das pastas poderão ser diferentes Hello World 6
7 Se você está trabalhando em casa ou chegou até esse passo em um computador na sala Pró-Aluno, você está pronto para chamar o Dev-C++ clicando em. Isto é, usando o mouse, posicione o cursor do Windows sobre o botão, localizado no canto inferior esquerdo da tela, e aperte a tecla esquerda do mouse. Aparecerá, logo acima do botão, um menu de opções. Selecione a opção. Novamente aparecerá um outro menu de opções. Selecione a opção e, novamente, a opção, a qual você deve clicar com o botão esquerdo do mouse. Figura 1: Janela inicial do ambiente de programação do Dev-C++. Você estará iniciando o ambiente de programação do Dev-C++. Isso fará com que apareça no monitor uma janela semelhante à mostrada na Figura 1. Nessa janela, clique em. O Dev-C++ criará para você um esqueleto básico para o seu programa. Na janela que foi criada você vai digitar, compilar e executar seu primeiro programa em C. Digite o programa mostrado na Figura 2. Dependendo da configuração do computador que você estiver utilizando, pode ser necessário pressionar a barra de espaço após digitar o caractere " a fim de que ele apareça na tela. Você vai precisar utilizar este caractere para digitar os seus programas. 7
8 Figura: Programa fantastico.c. Certifique-se de que o texto que você acabou de digitar é igual ao texto da Figura 2. Vamos compilar o seu programa. Você pode agora clicar em. Neste momento surgirá uma pequena janela com o título Salvar Arquivo. No campo Nome do arquivo: você deve digitar um nome para o seu programa, como, por exemplo fantastico e no campo Salvar como tipo: deve ser selecionado C source files (*.c). Clique no botão situação atual pode ser vista na figura 3. da janela. A Figura 3: Janela para salvar o programa fantastico.c. 8
9 Depois de salvo, o programa fantastisco.c será compilado e surgirá um pequena janela de título Compile Progress mostrando que não foi encontrado nenhum erro de sintaxe no programa (Errors: 0), como mostra a figura 4. Clique agora em para encerrar essa janela. Figura 4: Resultado da compilação do programa fantastico.c. Para compilar o programa poderíamos, alternativamente, clicar em e salvar o arquivo antes de tentar compilá-lo. Bem, com o programa fantastico.c compilado sem erros, a pasta onde foi salvo o arquivo fantastico.c contém agora o programa executável fantastico.exe. Para executar o programa clique no botão da janela principal do Dev-C++. Deverá surgir uma nova janela, de DOS, mostrando a execução de seu programa, como pode ser visto na Figura 5. 9
10 Figura 5: Saída do programa fantastico.exe. Note que na janela do DOS aparece a mensagem Pressione qualquer tecla para continuar... Depois de conferir o resultado, pressione qualquer tecla para que a janela do DOS desapareça. Se a janela do DOS não desaparecer, para fechá-la clique no X, no canto superior direito da mesma. Agora que você sabe criar um programa, compilá-lo, salvá-lo e executá-lo, vamos tentar novamente com um programa um pouco mais complexo. Antes de continuar vamos encerrar o nosso trabalho com o programa fantastico.c. Para tanto clique em Escrevendo o código Nesse exemplo, vamos observar alguns outros recursos do Dev-C++. Para isso, crie um novo arquivo, por exemplo, chamado primprog.c, no diretório que você achar mais apropriado (vamos deixar isso ao seu encargo). Clique em exatamente como mostrado a seguir., e digite o seguinte programa, 10
11 #include <stdio.h> #include <stdlib.h> int main() { int n, par, impar, num; printf("digite o tamanho da sequencia: "); /* mostra mensagem na tela */ scanf("%d", &n); /* le informacao do teclado */ par = 0; impar = 0; cont = 0; while (cont < n) { printf("digite o %do. numero: ",cont+1); scanf("%d", &num); if (num%2 == 0) par = par + 1; else impar = impar + 1; cont = cont + 1; } printf("a sequencia e' formada por %d numeros pares e %d impares.\n\n", par,impar) system("pause"); return 0; } Procure salvar o programa com freqüência, assim você se protege contra possíveis acidentes. Não se esqueça de salvar o programa selecionando como tipo C source files (*.c). O programa pode ser salvo rapidamente pressionando as teclas CTRL e S simultaneamente. Se você digitou o programa como ele aparece acima, depois de salvá-lo e compilá-lo, a situação será, essencialmente, como a mostrada na figura 6. Figura 6: Resultado da compilação do programa primprog.c. 11
12 O compilador que é usado pelo Dev-C++, ou seja, o gcc, é capaz de identificar muitos erros de sintaxe nos programas. Preste atenção nas mensagens que aparecem na base da janela do Dev-C++. As linhas do seu programa onde foram encontrados erros estão na coluna do canto inferior esquerdo da janela do Dev-C++. Nesse exemplo, o Dev-C++ está indicando que ocorreram erros de compilação nas linhas e. Na mensagem de erro referente à linha, a mensagem que diz `cont' undeclared (first use in this function). Na figura, o editor do Dev-C++ está indicando a linha onde o erro foi detectado pelo gcc. A primeira mensagem de erro indica que na linha declarado. Para corrigir isso, altere a linha para: o identificador cont foi usado sem ter sido int n, par, impar, num, cont; A segunda mensagem de erro diz que, na linha, o compilador encontrou um erro antes de system. De fato, falta um ponto-e-vírgula (`;') no fim da linha. Para corrigir isso, acrescente um ponto-evírgula no final da linha : par,impar); Agora, salve o arquivo novamente clicando em ou simultaneamente nas teclas CTRL e S. Compile o programa novamente clicando em. O novo resultado da compilação, que pode ser visto na figura 7, mostra que não foram encontrados erros de sintaxe no programa. Figura 7: Resultado da compilação do programa primprog.c após as correções. Para executar o programa clique no botão. Uma janela do DOS aparecerá, com a mensagem Digite o tamanho da sequencia:. Digite algum número inteiro positivo 12
13 para indicar o número de elementos da seqüência, seguido por Enter. Esse número determinará a quantidade de números que deverão ser digitados a seguir. Depois de você digitar cada número da seqüência seguido de Enter, o programa mostrará quantos números ímpares e quantos números pares você digitou. Após seu programa ser executado, aparecerá a mensagem "Pressione qualquer tecla para continuar...". Um exemplo de resultado da execução do programa pode ser visto na figura 8. Depois de conferir o resultado digite qualquer tecla. Figura 8: Resultado da execução do programa primprog.c Salvando e reutilizando os seus programas A aula está quase no fim. Clique para encerrar o Dev-C++. Se você não sabe como utilizar o Windows Explorer, solicite o o auxílio de algum monitor. Com seus programas salvos no disquete, você pode querer reutilizá-los numa ocasião futura. Para isso basta utilizar o Windows Explorer para copiá-los do disquete para a pasta temp. Inicie o Dev-C++ e carregue o seu programa primprog.c clicando em. e indicando, na janela Abrir Arquivo, que a pasta a ser examinada é a temp e que o nome do arquivo a ser carregado é o primprog.c. Pronto, o seu programa primprog.c será carregado pelo Dev-C++ e estará pronto para ser reutilizado. 1.3 Algoritmos Algoritmo é a forma organizada de expressar uma seqüência de passos que visam atingir um objetivo definido. Algoritmo é a lógica necessária para o desenvolvimento de um programa. Apesar do nome estranho, os algoritmos são muito comuns no nosso cotidiano, como por exemplo, em uma receita de bolo. Nela estão escritos os ingredientes necessários e a seqüências de passos ou ações a serem cumpridos para que se consiga fazer um determinado tipo de bolo. Em um modo geral, um algoritmo segue um determinado padrão de comportamento, com objetivo de alcançar a solução de um problema. Padrão de comportamento: imagine a seqüência de números: 1, 6, 11, 16, 21, 26,... Para determinar qual será o sétimo elemento dessa série, precisamos descobrir qual é a sua regra de formação, isto é, qual é o seu padrão de comportamento. Como a seqüência segue uma certa constância, facilmente determinada, somos capazes de determinar qual seria o sétimo termo ou outro termo qualquer. 13
14 Descrevemos então uma atividade bem cotidiana: trocar uma lâmpada. Apesar de parecer óbvia demais, muitas vezes fazemos este tipo de atividade inconscientemente, sem percebermos os pequenos detalhes. Vejamos como seria descrevê-la passo a passo: -pegar uma escada; -posicionar a escada embaixo da lâmpada; -buscar uma lâmpada nova; -subir na escada; -retirar a lâmpada velha; -colocar a lâmpada nova. Para se trocar a lâmpada, é seguida uma determinada seqüência de ações, representadas através desse algoritmo. Como isso pode ser seguido por qualquer pessoa, estabelece-se aí um padrão de comportamento. A sequencialização tem por objetivo reger o fluxo de execução, determinando qual ação vem a seguir. O algoritmo anterior tem um objetivo bem específico: trocar uma lâmpada. E se a lâmpada não estiver queimada? O algoritmo faz com ela seja trocada do mesmo modo, não prevendo essa situação. Para solucionar este problema, podemos efetuar um teste seletivo, verificando se a lâmpada está ou não queimada: -pegar uma escada; -posicionar embaixo da lâmpada; -buscar uma lâmpada nova; -ligar o interruptor; -se a lâmpada não acender, então: -subir na escada; -retirar a lâmpada velha; -colocar a lâmpada nova. Dessa forma, algumas ações estão ligadas à condição (lâmpada não acender). No caso da lâmpada acender, as três linhas: -subir na escada; -retirar a lâmpada velha; -colocar a lâmpada nova, não serão executadas. Em algumas situações, embora o algoritmo resolva o problema proposto, a solução pode não ser a mais eficiente. Exemplo: três alunos devem resolver um determinado problema: -O aluno A conseguiu resolver o problema executando 35 linhas de programa. -O aluno B resolveu o problema executando 10 linhas de programa -O aluno C resolveu o problema executando 54 linhas de programa. Obviamente, o algoritmo desenvolvido pelo aluno B é menor e mais eficiente que os demais. Isso significa que há código desnecessário nos demais programas. 14
15 Dessa forma, podemos otimizar o algoritmo anterior, uma vez que buscamos a escada e a lâmpada sem saber se serão necessárias: -ligar o interruptor; -se a lâmpada não acender, então: -pegar uma escada; -posicionar a escada embaixo da lâmpada; - buscar uma lâmpada nova; -subir na escada; -retirar a lâmpada velha; -colocar a lâmpada nova. Podemos considerar ainda que a lâmpada nova pode não funcionar. Nesse caso devemos trocá-la novamente, quantas vezes for necessário, até que a lâmpada acenda: -ligar o interruptor; -se a lâmpada não acender, então: -pegar uma escada; -posicionar a escada embaixo da lâmpada; -buscar uma lâmpada nova; -subir na escada; -retirar a lâmpada velha; -colocar a lâmpada nova; -se a lâmpada não acender, então: -retirar a lâmpada; -colocar outra lâmpada; -se a lâmpada não acender, então:... Observamos que o teste da lâmpada nova é efetuado por um conjunto de ações: -se a lâmpada não acender então: -retire a lâmpada - coloque outra lâmpada Em vez de escrevermos várias vezes este conjunto de ações, podemos alterar o fluxo sequencial de execução do programa, de forma que, após executar a ação coloque outra lâmpada, voltemos a executar a ação se a lâmpada não acender. Precisa-se então determinar um limite para tal repetição, para garantir que ela cesse quando a lâmpada finalmente acender: -enquanto a lâmpada não acender, faça: -retire a lâmpada 15
16 -coloque outra lâmpada Uma versão final do algoritmo, que repete ações até alcançar o seu objetivo: trocar a lâmpada queimada por uma que funcione, é apresentada abaixo. -ligar o interruptor; -se a lâmpada não acender, então: -pegar uma escada; -posicionar a escada embaixo da lâmpada; -buscar uma lâmpada nova; -subir na escada; -retirar a lâmpada velha; -colocar a lâmpada nova; -enquanto a lâmpada não acender, faça: -retirar a lâmpada; -colocar outra lâmpada. Até agora, estamos efetuando a troca de uma única lâmpada. Todo o procedimento poderia ser repetido 10 vezes, por exemplo, no caso de querermos trocar 10 lâmpadas. Inicialmente, tínhamos um pequeno conjunto de ações que deveriam ser executadas (estrutura sequencial). Através de uma condição, incluímos posteriormente uma estrutura de seleção. Na necessidade de repetir um determinado trecho do algoritmo, construiu-se no final uma estrutura de repetição Fatores a serem levados em consideração na construção de um algoritmo 1. Complexidade Percebeu-se, na medida em que colocávamos situações novas no problema a ser resolvido, que ia aumentando a complexidade do algoritmo. Esse certamente é o maior problema envolvido na construção de algoritmos. A complexidade pode ser vista como um sinônimo de variedade (quantidade de situações diferentes que um problema pode apresentar), as quais devem ser previstas na sua solução. Já que conviver com a complexidade é um mal necessário, é saudável fazer o possível para diminuí-la ao máximo, a fim de controlar o problema e encontrar sua solução. Deve-se diferenciar O que de Como. Muitos programadores aumentam a complexidade de um devido problema desnecessariamente. A forma errada de interpretação de um problema pode levar a respostas irrelevantes à solução almejada ou até mesmo a nenhuma solução, gerando algoritmos mais complexos do que o necessário. 16
17 Exemplo: digamos que se pergunte a um leigo a respeito de um relógio: -Como é um relógio?= É um instrumento com três ponteiros concêntricos. Como a descrição não é relevante, poderíamos indagar: -Um relógio com 2 ponteiros é possível?= É... pode ser! Poderíamos ainda indagar: -E um relógio com apenas 1 ponteiro não poderia ser uma possibilidade? = Bem... Pode ser com 3, 2 ou 1 ponteiro. -E sem ponteiro pode? = Ah!, Sim! Pode ser digital Já a pergunta: O que é um relógio?, poderia resultar na resposta:-é um instrumento cuja finalidade é marcar o decorrer do tempo. Ou seja, algumas variáveis podem aumentar ou diminuir a complexidade de um sistema quando forem bem ou mal utilizadas. 2. Legibilidade Mede a capacidade de compreensão de um algoritmo por qualquer observador (que não o construiu); a clareza com que sua lógica está exposta. Quanto mais legível for um algoritmo, menor será sua complexidade. 3. Portabilidade Devido a quantidade enorme de linguagens de programação existentes, não será adotada nenhuma linguagem específica para trabalhar os algoritmos (ex: C, pascal, Java, etc.). Isso porque a solução do problema fica ligada a características e recursos da linguagem na qual ela foi concebida. Utilizaremos uma pseudo-linguagem (linguagem fictícia) que visa a permitir a representação dos algoritmos através da língua portuguesa (português estruturado). Esses algoritmos poderão ser convertidos facilmente para qualquer linguagem de programação usual (Basic estruturado, C, pascal, Java). 4. Técnica de resolução por método cartesiano A famosa frase de Descartes Dividir para conquistar é muito importante dentro da programação. É um método que ataca um problema grande, de difícil solução, dividindo-o em problemas menores, de solução mais fácil. Se necessário, pode-se dividir novamente as partes não compreendidas. Esse método pode ser esquematizado em passos: 1. Dividir o problema em partes 2. Analisar a divisão e garantir a coerência entre as partes. 17
18 3. Reaplicar o método, se necessário 5. Planejamento reverso Consiste em, a partir do resultado final, determinar quais são os componentes básicos. Ou seja, a partir da saída desejada, devemos poder determinar, reversamente, quais são os componentes da entrada de dados necessários Método para construir um algoritmo Utilizando os conceitos já desenvolvidos, esquematizaremos um método para construir um algoritmo logicamente correto: 1. Ler atentamente o enunciado Deve-se reler o enunciado de um exercício quantas vezes for necessário, até compreendê-lo completamente. A maior parte da resolução de um exercício consiste na compreensão completa do enunciado. 2. Retirar a relação das entradas de dados do enunciado Através do enunciado, descobrimos quais são os dados que devem ser fornecidos ao programa, via teclado, a partir dos quais são desenvolvidos os cálculos. Obs. Pode haver algum algoritmo que não necessite da entrada de dados (pouco comum). 3. Retirar do enunciado, a relação das saídas das informações Através do enunciado podemos descobrir quais são as informações que devem ser mostradas para compor o resultado final, objetivo do algoritmo. 4. Determinar o que deve ser feito para transformar as entradas nas saídas especificadas Nessa fase é que teremos a construção do Algoritmo propriamente dito. Devemos determinar qual sequência de passos ou ações é capaz de transformar um conjunto de dados nas informações de resultado. Para isso, utilizamos os fatores descritos anteriormente, tais como legibilidade, portabilidade, método cartesiano e planejamento reverso, e finalmente podemos construir o algoritmo. 2 Atividades 1. Um homem quer atravessar um rio com um barco que pode carregar ele mesmo e apenas mais uma de suas três cargas: um lobo, um carneiro e um maço de alfafa. O que o homem deve fazer para atravessar o rio sem perder nenhuma de suas cargas? 2. Elabore um algoritmo que mova 3 discos de uma torre de Hanói, que consiste em 3 hastes (ab-c), uma das quais serve de suporte para os três discos de tamanhos diferentes (1-2-3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, sendo 18
19 que nunca deve ser colocado um disco maior sobre um menor. O objetivo é transferir os três discos da haste A para haste C. Ex: Mova <disco n> da haste <n1> para haste <n2> 3. Apresente o seguinte algoritmo: Ler 2 valores, no caso variáveis A e B. Efetuar a soma das variáveis A e B implicando seu resultado na variável X. Apresentar o valor da variável X após a soma dos dois valores indicados. 4. A fórmula para calcular a área de uma circunferência é: A = pr2. Sendo que o valor de p = basta estabelecer: Ler 1 valor para raio, no caso a variável R. Efetuar o cálculo da área, elevando o valor de R ao quadrado e multiplicando por p. Apresentar o valor da variável A. 5. Leia duas variáveis A e B. A seguir, calcule a soma entre elas e atribua à variável SOMA. A seguir escrever o valor desta variável. 6. Leia duas variáveis A e B. A seguir, calcule o produto entre elas e atribua à variável PROD. A seguir mostre a variável PROD com mensagem correspondente. 7. Leia 2 variáveis A e B, que correspondem a 2 notas de um aluno. A seguir, calcule a média do aluno,sabendo que a nota A tem peso 3,5 e a nota B tem peso 7,5. 8. Leia 3 variáveis A e B e C, que são as notas de um aluno. A seguir, calcule a média do aluno, sabendo que a nota A tem peso 2, a nota B tem peso 3 e a nota C tem peso Leia 4 variáveis A,B,C e D. A seguir, calcule e mostre a diferença do produto de A e B pelo produto de C e D (A*B-C*D). 10. Escreva um algoritmo que leia o número de um funcionário, seu número de horas trabalhadas, o valor que recebe por hora e calcula o salário desse funcionário. A seguir, mostre o número e o salário do funcionário. 11. Escrever um algoritmo que leia o nome de um vendedor, o seu salário fixo 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 seu salário no final do mês. 12. Escrever um algoritmo que calcule e mostre o fatorial de Escrever um algoritmo que escreve os números ímpares entre 10 e
20 14. Escrever um algoritmo que leia o código de uma peça 1, o número de peças 1, o valor unitário de cada peça 1, o código de uma peça 2, o número de peças 2, o valor unitário de cada peça 2 e calcula e mostra o valor a ser pago 15. Escrever um algoritmo para calcular o volume de uma esfera sendo fornecido o valor de seu raio. (4/3 *pi * R^3) 16. Escrever um algoritmo que leia três valores: A, B e C. A seguir, calcule e mostre: a) a área do triângulo que tem A por base e C por altura. b) a área do círculo de raio C. c) A área do trapézio que tem a e b por bases e c por altura. d) A área do quadrado que tem lado b. e) a área do retângulo que tem lados a e b )Escrever um algoritmo que leia 3 valores A, B e C. A seguir, encontre o maior dos três valores e o escreva com a mensagem É o maior. Utilize a fórmula: MaiorAB = (a + b + abs (a - b) ) / Escrever um algoritmo para determinar o consumo médio de um automóvel sendo fornecidos a distância total percorrida pelo automóvel e o total de combustível gasto. 19. Escrever um algoritmo que leia dois pontos quaisquer no plano, p1(x1,y1) e p2(x2,y2) e calcule a distância entre eles. d= x2 x1 2 y2 y Escrever um algoritmo que calcule e mostre a quantidade de litros de combustível gastos em uma viagem, utilizando-se um automóvel que faz 12 KM/L. Deve-se fornecer o tempo gasto na viagem e a velocidade média durante a mesma. Assim pode-se obter distância percorrida: Distancia= Tpo * vel Litros_usados = distancia/ Dois carros (x e y) saem de uma mesma cidade. O carro X sai com velocidade constante de 60 Km/h e o 2O com velocidade constante de 90 Km/h. A seguir faça a leitura de uma distância (em Quilômetros) e calcule quanto tempo leva para o carro mais veloz tomar essa distância do outro carro. 22. Considerando 3 carros (X,Y e Z) que saem de uma cidade A. A seguir, considerando que o caminho a percorrer pelo carro X é de 360 Km, pelo carro Y é de 270 Km e pelo carro Z é de 310 KM, faça a leitura da velocidade dos 3 carros e mostre o tempo em horas que cada um deles levará para percorrer seu percurso. 23. Escrever um algoritmo que leia um valor em Reais. A seguir, calcule o menor número de notas possíveis no qual o valor pode ser decomposto. As notas consideradas são de 100, 50, 20, 10, 5, 2 e 1. A seguir mostre o valor lido e a relação de notas necessárias. 24. Escrever um algoritmo que leia o tempo de duração em segundos de um determinado evento em uma fábrica e informe-o expresso no formato horas:minutos:segundos. 25. Escrever um algoritmo que leia a idade de uma pessoa em dias e informe-a em anos, meses e dias. 26. Leia a hora inicial e a hora final de um jogo. A seguir calcule a duração do jogo, sabendo que o mesmo pode começar em um dia e terminar em outro, tendo uma duração máxima de 24 horas. 20
21 27. Com relação ao exercício anterior, calcule o tempo considerando os minutos. 21
Algoritmo CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE CAMPOS Curso Técnico de Informática Industrial Apostila de Algoritmos 2007 1 EMENTA: Estudo das formas para representação do pensamento lógico através