Baixe o app para aproveitar ainda mais
Prévia do material em texto
23 0 UNOPAR CURSO SUPERIOR EM GESTÃO DE TECNOLOGIA DA INFORMAÇÃO KLERYSSON WILKER FEITOSA GUEDES Portfólio Aula Prática / Semestre 2º : Sistemas Operacionais Trabalho Prático 2º semestre de 2022, Portfólio de Aula prática apresentado para o departamento do curso de Gestão de Tecnologia da Informação como parte dos requisitos para obtenção de aprovação para o semestre mencionado. Orientador/Tutor: Prof. Vanessa Cristina Silicani Brasília/DF 2022 RESUMO GUEDES, Klerysson, Portfólio Aula Prática / Semestre 2º Sistemas Operacionais, 2022.. Atividade Interdisciplinar – Gestão em Tecnologia da Informação – UNOPAR, Brasília - DF, 2022. O relatório abaixo proposto trata-se da elaboração de um projeto em formato de software que vai nos permitir permite observar através da visão do comportamento de um sistema medido em potências onde iremos monitorar o funcionamento de uma máquina durante o dia e verificar seus picos máximos e mínimos. para isso um será criado um programa em C/C++, armazenando 20 valores, obtendo o seu resultado e informando valor máximo e o mínimo atingido naquele determinado dia. Palavras-chave: Potências. Apresentação, Algoritmos e Técnicas de Programação INTRODUÇÃO – PROCURAR O MAIOR E MENOR VALOR EM UM VETOR Problema Proposto: O relatório abaixo proposto trata-se da elaboração de um projeto em formato de software que vai nos permitir permite observar através da visão do comportamento de um sistema medido em potências onde iremos monitorar o funcionamento de uma máquina durante o dia e verificar seus picos máximos e mínimos durante utilizando para isso um programa em C/C++, armazenando 20 valores, obtendo o seu resultado e informando valor máximo e o mínimo atingido naquele determinado dia. Resolução Proposta: Desenvolver um programa utilizando os fundamentos da lógica de programação de maneira estruturada, utilizando recursos básicos como estruturas de decisão e repetição e uso de variáveis, funções e recursividade. 1- Método para Obtenção do Exercício Prático Proposto Neste projeto iremos utilizar o Dev C/C++, onde criarei não somente um vetor para encontrar o maior valor, bem como o menor valor, mas também irei indicar a posição onde se encontram, traçando meio eficaz de evitar erros em valores repetidos, bem como em entradas negativas. Caso existam números iguais nós mostraremos o primeiro valor da ocorrência. Observe então o código na íntegra que já propôs as duas resoluções dessa aula prática em apenas um software que já vai indicar a partir da interação do usuário, que por sua vez informará os valores das 20 potencias, nosso script vai encontrar valor maior, o menor, e a posição em que ela se encontrava ao ser digitada pelo usuário. Analisemos o código. Disponibilizei o mesmo em meu perfil pessoal através do link: https://ideone.com/vkrvDi para verificação da autenticidade. Código Fonte 1. /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 2. /*Criar um programa para ler um vetor encontrar o seu maior e menor valor e definir sua posição.*/ 3. #include <iostream> 4. #define TAM 5 //cria uma constante com tamanho 20 5. 6. int main() { 7. int vet[TAM], i, maior, posMaior, menor, posMenor, contavalor=1; 8. 9. //preenchendo o vetor 10. for (i = 0; i < TAM; i++) { 11. printf("Digite o valor %d da potencia : ",contavalor++); 12. scanf("%i", &vet[i]); 13. } 14. 15. //encontra o maior valor 16. maior = vet[0]; 17. posMaior = 0; 18. for (i = 1; i < TAM; i++) { 19. if (vet[i] > maior) { 20. maior = vet[i]; 21. posMaior = i; 22. } 23. } 24. 25. //encontra o menor valor 26. menor = vet[0]; 27. posMenor = 0; 28. for (i = 1; i < TAM; i++) { 29. if (vet[i] < menor) { 30. menor = vet[i]; 31. posMenor = i; 32. } 33. } 34. 35. //mostra o vetor 36. printf("\nValores informados: "); 37. for (i = 0; i < TAM; i++) { 38. printf("%i - ", vet[i]); 39. } 40. 41. printf("\nMaior valor: %i - posicao: %i", maior, posMaior+1); 42. printf("\nMenor valor: %i - posicao: %i", menor, posMenor+1); 43. 44. return 0; 45. } 2- Definindo as Variáveis I. Na linha 4 defini uma variável que vai controlar o tamanho do meu vetor. Usei a diretiva de pré-processador #define, para declarar essa constante no início do meu programa como deve ser feito. I.1 Após isso eu crio as minhas variáveis que em estudo de caso defini e são as que eu vou precisar para executar o software sem erro. São elas do tipo int abaixo descritas: a - “vet” um vetor do tipo int que terá o tamanho definido pela constante TAM b – “i” para controlar minha estrutura de repetição em for, c – “maior” que receberá o valor do meu índice atual, para evitar erros caso o usuário informe um número negativo ou todos repetidos. d – posMaior para que eu guarde a posição do maior valor informado pelo usuario e – posMenor para que eu guarde a posição do menor valor informado pelo usuario f – contavalor apenas para contar valores para que eu mostre “digite o valor da potencia x incrementando em +1 até chegar na posição 20” 3- Preenchendo o Vetor Porque Utilizamos o Vetor?: O vetor é uma estrutura de dados indexada, que pode armazenar uma determinada quantidade de valores do mesmo tipo. Para localizar a posição de um item em um vetor usamos um número inteiro denominado índice do vetor. Sua vantagem é a facilidade de manipular um grande conjunto de dados do mesmo tipo declarando-se apenas uma variável. Observe o código fonte disponibilizado na seção 1 Acima: I. Nas linhas 12 a 15 o programa lê e armazena os 20 valores no vetor. 4- Encontrando o Maior Valor e Guardando Sua posição em um Variável II. Na linha 18 foi atribuída à variável “maior” onde eu inicializei com um valor já existente no índice, o valor armazenado na primeira posição do vetor (Esse passo é importante para não gerar erros de execução, caso o usuário informe todos valores iguais ou negativos). III. Para encontrar o maior valor em um vetor temos que comparar o valor do índice atual com o valor do próximo índice e guardar o valor. IV. Na linha 20 inicia-se uma nova estrutura de repetição para encontrar o maior valor de todos V. na linha 21 existe uma estrutura condicional que compara o valor da posição atual (i) com o valor da próxima posição testada e armazena o maior valor do vetor na variável “maior”. VI. Na Linha 19 guardamos a posição do maior valor digitado pelo usuário. VII. Após terem sido feitas todas as comparações na linha 43 é impresso o maior valor encontrado e a posição em que foi informado originalmente pelo usuário. 5- Encontrando o Menor Valor e Guardando Sua posição em um Variável Para encontrar o menor valor não é muito diferente, apenas inicializamos um novo laço for e armazenamos as variáveis testando a condição do vetor uma estrutura condicional e comparando se o valor vetor é menor do que o do índice atual, após isso basta guardar esse valor na variável menor como se pode observar no código. I. Na linha 28 foi atribuída à variável “menor” onde eu inicializei com um valor já existente no índice, o valor armazenado na primeira posição do vetor (Esse passo é importante para não gerar erros de execução, caso o usuário informe todos valores iguais ou negativos). II. Para encontrar o menor valor comparamos o valor do índice atual com o menor valor do próximo índice e o guardamos valor. III. Na linha 30 inicia-se uma nova estrutura de repetição para encontrar o menor valor de todos. IV. na linha 31 existe uma estrutura condicional que compara o valor da posição atual (i) com o valor da próxima posição testada e armazena o maior valor do vetor na variável “maior”. V. Perceba que na Linha 19 guardamos a posição do maior valor digitado pelo usuário com intuito de definir a posição do mesmo. VI. Após terem sido feitas todas as comparações na linha 44 é impresso o menor valorencontrado e a posição em que foi informado originalmente pelo usuário. 6- Conclusão: Vetor é uma das estruturas que existe para o armazenamento de dados. Sua utilização é vasta devido à facilidade em ler e escrever dados e à velocidade com que as operações são realizadas, pois cada valor no vetor é armazenado sequencialmente na memória (MANZANO, 2015). Mediante a observação desse exercício proposto percebemos o qual importante se torna a utilização das funções de entrada e saída como printf e scanf, bem como das estruturas condicionais e de repetição para testar situações e depurar o código evitando diversos erros de programação. No mais percebemos que através de um único software, e com a utilização dos recursos necessários conseguimos elaborar vários trechos economizando tempo e melhorando a interface para o usuário final. REFERÊNCIAS SCHILDT H. “C Completo e Total”, Makron Books. SP, 1997. MIZRAHI, V. V. “Treinamento em Linguagem C++ Módulo 1”, Makron Books, SP, 1995. FORBELLONE, A. L. V. “Lógica de Programação: A construção de algoritmos e estruturas de dados”, Prentice Hall, SP, 2005.
Compartilhar