Você está na página 1de 16

ENGENHARIA DE SOFTWARE

ALANA RAYSSA DE REZENDE DUARTE - 3229948102

PORTFÓLIO – RELATÓRIO DE AULA PRÁTICA:

LINGUAGEM DE PROGRAMAÇÃO: RELATÓRIO DE CRIAÇÃO DE UM


ALGORITMO DE CÁLCULO DE IMC EM LINGUAGEM DE
PROGRAMAÇÃO PYTHON

LONDRINA/PR
2022
ALANA RAYSSA DE REZENDE DUARTE - 3229948102

PORTFÓLIO – RELATÓRIO DE AULA PRÁTICA

LINGUAGEM DE PROGRAMAÇÃO: RELATÓRIO DE CRIAÇÃO DE UM


ALGORITMO PARA O CÁLCULO DE IMC NA LINGUAGEM DE
PROGRAMAÇÃO PYTHON

Portfólio de aula prática apresentada a disciplina


de Linguagem de Programação em Engenharia de
Software, da Universidade Pitágoras Unopar,
como parte dos requisitos necessários à obtenção
de pontos para a média semestral.

Orientador: Wesley Viana


Co-orientador: Jessica Fernandes Lopes

LONDRINA/PR
2022
SUMÁRIO

1 INTRODUÇÃO 3
2 DESENVOLVIMENTO 4
2.1 MÉTODO 5
2.2 RESULTADOS OBTIDOS 8
3 CONCLUSÃO 16
REFERÊNCIAS 17
1 INTRODUÇÃO

O presente trabalho aborda sobre a parte prática referente aos estudos


realizados na matéria de Linguagem de Programação relacionando a prática com
alguns dos conteúdos abordados como: bibliotecas, variáveis, tipos básicos de
dados, estrutura de dados (sequência de caracteres), estrutura lógica, condicionais,
operadores, repetição e controle de repetição.

Justifica-se pela importância da relação entre a prática e as teorias estudadas,


para uma maior compreensão do conteúdo. Com a simulação da construção de um
algoritmo de cálculo de IMC, pode-se interagir com os conceitos da linguagem de
programação em Python. Levando em consideração a intensidade de utilização de
tal linguagem, torna-se de suma importância a capacidade de construção de
algoritmos.

Assim, o objetivo principal deste trabalho é a criação de um algoritmo de


cálculo de IMC utilizando a linguagem de programação Python e a ferramenta
Google Cloud Shell Editor e descrever como é o funcionamento nesse modelo em
um relatório.

O relatório pretende abordar como foi criado o algoritmo, na ferramenta


Google Cloud Shell Editor, descrevendo os comandos utilizados no algoritmo,
explicando como foi realizada toda construção e os testes efetuados ao final do
projeto.

Para tanto, será necessário como recurso, a ferramenta Google Cloud Shell
Editor, o acesso a um computador e o acesso à internet. O referencial teórico que
auxiliou na construção do trabalho aborda sobre temas referente à algoritmo em
Python.
2 DESENVOLVIMENTO

Os conteúdos abordados na disciplina de Linguagem De Programação,


necessitam de uma abordagem que proporcione o desenvolvimento de um algoritmo
que relaciona os conhecimentos teóricos e que também possibilite uma experiência
prática enriquecendo ainda mais os conhecimentos adquiridos.

Nesse sentido, e levando em consideração a intensidade da utilização da


linguagem Python na atualidade, a experiência prática é de extrema importância,
apenas para profissionais da área de tecnologia da informação.

A linguagem de programação Python é muito importante atualmente, pois o


sistema Python permite o desenvolvimento e a criação de diversos programas. Além
disso, é uma das linguagens de programação mais utilizadas no mundo e no Brasil.
Englobando utilização em 3 grandes áreas aplicações: automações, análise de
dados e ciência de dados e desenvolvimento web (construções de sites, jogos e
programas em geral).

Outro ponto muito importante é que o mesmo código funciona em Windows,


Linux e macOS, sem que sejam necessários ajustes nos códigos. Entretanto, as
bibliotecas podem sofrer alguma alteração por conta do sistema operacional.

“Python é uma linguagem de uso geral, projetada especificamente para


tornar os programas bastante legíveis. Python também possui uma rica
biblioteca, tornando possível criar aplicações sofisticadas usando código de
aparência relativamente simples. Por esses motivos, Python tornou-se uma
linguagem de desenvolvimento de aplicações popular e também uma
preferência como “primeira” linguagem de programação.” (LJUBOMIR,
2016, p. 27).

Além do entendimento sobre a linguagem Python e suas funcionalidades é


importante conhecer um algoritmo. Sendo que o algoritmo é uma sequência de
raciocínios, instruções ou operações para alcançar um objetivo, sendo necessário
que os passos sejam finitos e operados sistematicamente. Um algoritmo, portanto,
conta com a entrada (input) e saída (output) de informações mediadas pelas
instruções.
2.1 MÉTODOS

Com o intuito de atender aos objetivos propostos será estudado a ferramenta


Google Cloud Shell Editor. A fim da construção de um algoritmo em Python, baseado
na necessidade apresentada pela criação do algoritmo de Cálculo de Índice de
Massa Corporal (IMC).

Para a criação do algoritmo, primeiro será necessário entender o


funcionamento da ferramenta Google Cloud Shell Editor. O Google Cloud Shell é
uma máquina virtual com ferramentas de desenvolvimento. Ele conta com um
diretório principal permanente de 5 GB e é executado no Google Cloud. O Google
Cloud Shell permite acesso de linha de comando aos seus recursos do GCP.

“Cloud Shell é um ambiente de desenvolvimento e operações on-line


acessível pelo navegador em qualquer lugar. É possível gerenciar os
recursos com este terminal on-line pré-carregado com utilitários como a
ferramenta de linha de comando gcloud, kubectl e muito mais. Você também
pode desenvolver, criar, depurar e implantar aplicativos nativos da nuvem
usando o Editor do Cloud Shell on-line.” [1]

Para a construção do algoritmo, primeiro será necessário entender como é


feito o cálculo do Índice de Massa Corporal. Sabendo que foi solicitado que o
programa apenas faça cálculo do IMC, retornando apenas se a pessoa está ou não
no seu peso ideal.

O Índice de Massa Corporal, também conhecido pela sigla IMC, foi criado no
século 19 pelo então matemático Lambert Quételet, o cálculo permite medir se
alguém está ou não com o peso ideal, o cálculo é muito simples utiliza-se apenas 2
variáveis, peso e altura. Assim, aponta se o peso está adequado ou se está abaixo
ou acima do peso.

Para o cálculo do IMC, basta dividir o peso (em quilograma) pela altura (em
metros) ao quadrado. O número resultante representa o quanto a pessoa tem de
massa muscular, óssea e gordura.

𝐼𝑀𝐶 = 𝑝 / ℎ ²
Com o resultado obtido através da divisão entre peso 𝑝 e altura ℎ ao
quadrado, o próximo passo é interpretar esses valores. Para a interpretação de tais
valores precisamos utilizar o Quadro 1 com a classificação de índice de massa
corporal (IMC) segundo a Organização Mundial da Saúde (OMS).

Quadro 1 – Classificação do Índice de Massa Corporal


Menor que 16 Magreza grave

Entre 16 e 16,9 Magreza moderada

Entre 17 e 18,4 Magreza leve

Entre 18,5 e 24,9 Saudável

Entre 25,0 e 29,9 Sobrepeso

Entre 30,0 e 34,9 Obesidade Grau I

Entre 35,0 e 39,9 Obesidade Grau II (considerada severa)

Acima de 40 Obesidade Grau III (considerada mórbida)

Fonte: Elaborada pela autora

Para a criação do programa em Python, que calcula o índice de massa


corporal, foi utilizado a ferramenta online Google Cloud Shell Editor, disponível no
link (https://cloud.google.com/shell?hl=pt-br).
Depois de acessar o link através de um navegador, para iniciar a construção
solicitada, foi necessário solicitar acesso ao console.

Figura 1 – Acesso ao console

Fonte: Print feito no site da ferramenta Google Cloud Shell Editor, elaborado pela autora
Para conseguir ter acesso ao console, a plataforma redirecionou para fazer o
cadastro com uma conta no Google. Com os dados básicos de Login e Senha. Com
tudo, utilizei a conta: rayssa.alana@gmail.com. Em seguida o sistema provisiona
uma máquina virtual do Cloud Shell e conecta com a instância.

Figura 2 – Provisionamento e conexão com a instância do Cloud Shell

Fonte: Print feito no site da ferramenta Google Cloud Shell Editor, elaborado pela autora

Em seguida, a ferramenta exibe uma mensagem de Boas Vindas, com a


seguinte mensagem: "Welcome to Cloud Shell! Type "help" to get started. Your Cloud
Platform project in this session is set to composed-aspect-366521. Use "gcloud
config set project [ PROJECT_ID]'' to change a different project.
rayssa_alana@cloudshell: ~ (composed-aspect-366521) $'', como consta na Figura
3.

Figura 3 – Inicialização do Cloud Shell

Fonte: Print feito no site da ferramenta Google Cloud Shell Editor, elaborado pela autora

Assim, para prosseguir ao acesso da ferramenta o usuário deve clicar no


botão Abrir editor, que responderá que está conectando o editor ao Cloud Shell,
Figura 4.
Figura 4 – Conexão do editor ao Cloud Shell

Fonte: Print feito no site da ferramenta Google Cloud Shell Editor, elaborado pela autora

Assim que a ferramenta conectar e carregar a máquina virtual do Cloud Shell,


o editor estará pronto para utilização, contudo é necessário a criação de um novo
arquivo, para tal instrução deve-se clicar em "File", esse botão encontra-se no canto
superior do console, posteriormente, deve se clicar em "New file". Sendo assim, a
ferramenta abre um novo arquivo para edição. Ao nomear esse arquivo é de suma
importância que ele esteja em .py para que o emulador reconheça que a linguagem
de programação que o usuário está programando é Python.

2.2 RESULTADOS OBTIDOS

Para a construção do algoritmo faz-se necessário a escolha da biblioteca mais


apropriada para o algoritmo em si. No caso, utiliza-se apenas os módulos: módulo
os e módulo random. O OS é um módulo built-in usado para executar comandos do
sistema operacional já o random também é um módulo built-in usado para criar
números aleatórios. O módulo built-in são módulos embutidos no interpretador, ou
seja ao se instalar o interpretador em Python também é feita a instalação de uma
biblioteca de módulos, que pode variar de um sistema operacional para outro.

“Alguns módulos estão embutidos no interpretador; estes possibilitam


acesso a operações que não são parte do núcleo da linguagem, mas estão
no interpretador seja por eficiência para permitir acesso a chamadas do
sistema operacional. (PSF, 2020b, [s, p])”

Sendo assim, com as bibliotecas/módulos escolhidos, foi-se necessário


entender qual estrutura para o algoritmo. Para ambas as variáveis peso e altura
utilizamos a função 𝑓𝑙𝑜𝑎𝑡 (), o float é usado para retornar um número de ponto
flutuante de um número ou string. A função float é um dos tipos numéricos
disponíveis na linguagem Python nativamente, outro ponto interessante na utilização
do float, ele é uma variável que representa os números reais, ou seja, valores onde
temos 1.7, 2.6 e etc. Justifica-se a sua utilização principalmente devido a variável
altura a qual é medida em metros.

Posteriormente, fez necessário a utilização da função 𝑖𝑛𝑝𝑢𝑡 (), função que faz
leitura de um valor digitado. Como no algoritmo o usuário é quem vai digitar o seu
peso e altura, esta função é indispensável para a viabilidade do programa.

# 𝐶á𝑙𝑐𝑢𝑙𝑜 𝑑𝑜 Í𝑛𝑑𝑖𝑐𝑒 𝑑𝑒 𝑀𝑎𝑠𝑠𝑎 𝐶𝑜𝑟𝑝𝑜𝑟𝑎𝑙


𝑖𝑚𝑝𝑜𝑟𝑡 𝑜𝑠
𝑖𝑚𝑝𝑜𝑟𝑡 𝑟𝑎𝑛𝑑𝑜𝑚
𝑝𝑒𝑠𝑜 = 𝑓𝑙𝑜𝑎𝑡(𝑖𝑛𝑝𝑢𝑡("𝐷𝑖𝑔𝑖𝑡𝑒 𝑠𝑒𝑢 𝑝𝑒𝑠𝑜 𝑒𝑚 𝑞𝑢𝑖𝑙𝑜𝑔𝑟𝑎𝑚𝑎𝑠 (𝑘𝑔): "))
𝑎𝑙𝑡𝑢𝑟𝑎 = 𝑓𝑙𝑜𝑎𝑡(𝑖𝑛𝑝𝑢𝑡("𝐷𝑖𝑔𝑖𝑡𝑒 𝑠𝑢𝑎 𝑎𝑙𝑡𝑢𝑟𝑎 𝑒𝑚 𝑚𝑒𝑡𝑟𝑜𝑠(𝑚): "))

Inicialmente o código do algoritmo ficou assim, apenas com a inserção das


variáveis altura e peso, e leitura dela pela função input(). Para a implementação de
fato do algoritmo foi necessário a utilização da fórmula de cálculo de Índice de
Massa Corporal.

𝑖𝑚𝑐 = 𝑝𝑒𝑠𝑜/ 𝑎𝑙𝑡𝑢𝑟𝑎 ** 2


𝑝𝑟𝑖𝑛𝑡("𝑆𝑒𝑢 𝐼𝑀𝐶 é: %. 2𝑓'' % 𝑖𝑚𝑐)

Para imprimir na tela o resultado do IMC, utilizou a função 𝑝𝑟𝑖𝑛𝑡 (), a qual tem
a função basicamente, exibir mensagens na tela ou enviá-las para outro dispositivo,
como imprimir dentro de arquivos de texto e para conseguir imprimir na tela o imc,
que no caso é um ponto flutuante, 𝑓𝑙𝑜𝑎𝑡 (), precisamos de um auxílio da %. 2𝑓, a
qual . 2𝑓 é chamado de especificação de formato, o que denota que a saída deve
mostrar apenas duas casas após o decimal. Já o % também podemos definir uma
largura fixa para um número flutuante com o uso do operador.
A proposta do roteiro da aula apenas atendia esses requisitos, com o intuito
de aprender mais sobre a linguagem de programação Python. Com o intuito de
incrementar o código, adicionou uma estrutura de condição, um laço, com as
funções 𝑖𝑓(), 𝑒𝑙𝑠𝑒 𝑖𝑓 () 𝑒 𝑒𝑙𝑠𝑒().

A estrutura condicional é uma seção que ajuda a definir condições para a


execução de determinados blocos de comandos. Em vez de executar tudo de vez,
sem nenhuma interrupção, o programa deve parar para executar um teste e decidir
qual caminho seguir. É como uma bifurcação, um momento importante para tomada
de decisão. Nesse caso, a decisão é o resultado de uma análise, de uma
comparação.

A estrutura condicional if-else no python é uma estrutura mais completa. O


ELSE complementa o IF para oferecer ainda mais robustez ao código (como
veremos adiante). Contudo, é possível ter apenas o IF, ou seja, uma condicional
simples. Sendo assim, o código ganhou uma estrutura de condição:

𝑖𝑓 𝑖𝑚𝑐 < 16:


𝑝𝑟𝑖𝑛𝑡 ("𝑀𝑎𝑔𝑟𝑒𝑧𝑎 𝑔𝑟𝑎𝑣𝑒'')
𝑒𝑙𝑠𝑒 𝑖𝑓 𝑖𝑚𝑐 < 17:
𝑝𝑟𝑖𝑛𝑡 ("𝑀𝑎𝑔𝑟𝑒𝑧𝑎 𝑚𝑜𝑑𝑒𝑟𝑎𝑑𝑎'')
𝑒𝑙𝑠𝑒 𝑖𝑓 𝑖𝑚𝑐 < 18. 5:
𝑝𝑟𝑖𝑛𝑡 ("𝑀𝑎𝑔𝑟𝑒𝑧𝑎 𝑙𝑒𝑣𝑒'')

𝑒𝑙𝑠𝑒 𝑖𝑓 𝑖𝑚𝑐 < 25:


𝑝𝑟𝑖𝑛𝑡 ("𝑆𝑎𝑢𝑑á𝑣𝑒𝑙'')
𝑒𝑙𝑠𝑒 𝑖𝑓 𝑖𝑚𝑐 < 30:
𝑝𝑟𝑖𝑛𝑡 ("𝑆𝑜𝑏𝑟𝑒𝑝𝑒𝑠𝑜'')
𝑒𝑙𝑠𝑒 𝑖𝑓 𝑖𝑚𝑐 < 35:
𝑝𝑟𝑖𝑛𝑡 ("𝑂𝑏𝑒𝑠𝑖𝑑𝑎𝑑𝑒 𝑔𝑟𝑎𝑢 𝐼'')
𝑒𝑙𝑠𝑒 𝑖𝑓 𝑖𝑚𝑐 < 40:
𝑝𝑟𝑖𝑛𝑡 ("𝑂𝑏𝑒𝑠𝑖𝑑𝑎𝑑𝑒 𝑔𝑟𝑎𝑢 𝐼𝐼'')
𝑒𝑙𝑠𝑒:
𝑝𝑟𝑖𝑛𝑡 ("𝑂𝑏𝑒𝑠𝑖𝑑𝑎𝑑𝑒 𝑔𝑟𝑎𝑢 𝐼𝐼𝐼'')

Para a verificação do código, foram utilizados alguns valores para peso e


altura e assim obteve-se os seguintes resultados: para os valores de peso 35 kg e
altura 1.6 m, obtivemos, um IMC de 13.67, considerado magreza greve segundo ao
Quadro 1.

Figura 5 – Cálculo IMC com retorno "Magreza grave"

Fonte: Print feito na ferramenta Google Cloud Shell Editor, elaborado pela autora

Na Figura 6, temos os valores de peso: 45 kg e altura 1.65 m, obtivemos, um


IMC de 16.53, considerado magreza moderada segundo ao Quadro 1.

Figura 6 – Cálculo IMC com retorno "Magreza moderada"

Fonte: Print feito na ferramenta Google Cloud Shell Editor, elaborado pela autora

Já na Figura 7, obtivemos o resultado de magreza leve, segundo o Quadro 1,


com os respectivos valores de peso: 45 kg e altura 1.6 m.
Figura 7 – Cálculo IMC com retorno "Magreza leve''

Fonte: Print feito na ferramenta Google Cloud Shell Editor, elaborado pela autora

Já na Figura 8 e 9, com os respectivos valores de peso 50 kg e altura 1.6 m,


obtivemos um IMC de 19.53 e para os respectivos valores de peso 70 kg e altura
1.7 m obtivemos um IMC ce 24.22, ambos considerados saudáveis com base no
Quadro 1.
Figura 8 – Cálculo IMC com retorno "Saudável"

Fonte: Print feito na ferramenta Google Cloud Shell Editor, elaborado pela autora

Figura 9 – Cálculo IMC com retorno "Saudável"

Fonte: Print feito na ferramenta Google Cloud Shell Editor, elaborado pela autora

Para os valores de peso 75 kg e altura 1.65 m, obtivemos, um IMC de 27.55,


considerado sobrepeso segundo o Quadro 1.

Figura 10 – Cálculo IMC com retorno "Sobrepeso"

Fonte: Print feito na ferramenta Google Cloud Shell Editor, elaborado pela autora

Sendo assim, nas Figuras 11, 12 e 13, obtivemos Obesidade Grau I,


Obesidade Grau II (severa) e Obesidade Grau III (mórbida) respectivamente. Para a
Figura 10, atribuímos os valores de peso 95 kg e altura 1.65 m, com o retorno de um
IMC de 34.89. Já para a Figura 11, os valores das variáveis peso 110 kg e altura 1.7
m, retornando assim um IMC de 38.06. Na Figura 12, atribuímos as variáveis peso
190 kg e altura 1.7 m, assim obtendo um IMC 65.74.

Figura 11 – Cálculo IMC com retorno "Obesidade Grau I"

Fonte: Print feito na ferramenta Google Cloud Shell Editor, elaborado pela autora

Figura 12 – Cálculo IMC com retorno "Obesidade Grau II (severa)"


Fonte: Print feito na ferramenta Google Cloud Shell Editor, elaborado pela autora

Figura 13 – Cálculo IMC com retorno "Obesidade Grau III (mórbida)"

Fonte: Print feito na ferramenta Google Cloud Shell Editor, elaborado pela autora
3 CONCLUSÃO

Pode-se concluir com a implementação do algoritmo na linguagem de


programação Python, a possibilidade de reproduzir um problema real, dispondo de
ferramentas virtuais que também oportunizam uma experiência enriquecedora para
um processo de aprendizado mais expressivo.
Com a simulação foi possível identificar que a ferramenta pode ser usada
para elaborar projetos desde uma complexidade simples a mais complexos. Nesse
sentido, podem-se fazer incrementos (melhorias) do código inicial, sendo assim
melhorando a interação usuário-programa.
Portanto, a elaboração do relatório não foi apenas interessante para confirmar
a importância da relação entre as teorias estudadas e a simulação da prática, mas
possibilitou o despertar para novas possibilidades de utilização da ferramenta
Google Cloud Shell Editor para iniciar novas pesquisas e elaborar novos projetos
para o aprofundamento em vários outros conteúdos relacionados com linguagem de
programação.
REFERÊNCIAS

PSF - Python Software Fundation. Modules. 2020b. Disponível em:


https://docs.python.org/pt-br/3/tutorial/modules.html. Acesso em: 07 nov. 2022.

O que é o float em Python. Disponível em:


https://pt.stackoverflow.com/questions/397225/o-que-%C3%A9-o-float-em-python.
Acesso em: 08 nov 2022.

Formatar um número flutuante em string em Python. Disponível em:


https://www.delftstack.com/pt/howto/python/python-format-float-to-string/. Acesso em:
08 nov 2022.

Estruturas condicionais no Python: como utilizá-las? Disponível em:


https://www.hashtagtreinamentos.com/estruturas-condicionais-no-python?gclid=Cj0K
CQiA1NebBhDDARIsAANiDD2V05RVy66KQigOx-AiwjBk2hh17terLP_ZBx7PvcyUp6I
oYplvkOQaAsQZEALw_wcB. Acesso em: 08 nov 2022.

O que é Python e por que aprender? Guia para iniciantes. Disponível em:
https://www.hashtagtreinamentos.com/o-que-e-python Acesso em: 07 nov 2022.

Módulos. Disponível em: https://docs.python.org/pt-br/3/tutorial/modules.html.


Acesso em: 07 nov 2022.

Documentação Python 3.11.0. Disponível em:


https://docs.python.org/3/py-modindex.html. Acesso em: 07 nov 2022.

As 10 principais bibliotecas Python para ciência de dados em 2020. Disponível


em:https://acervolima.com/as-10-principais-bibliotecas-python-para-ciencia-de-dados
-em-2020/. Acesso em: 07 nov 2022.

Biblioteca OS Python - Como sair do zero. Disponível em:


https://www.hashtagtreinamentos.com/biblioteca-os-no-python Acesso em: 07 nov
2022.

Tipos embutidos. Disponível em:


https://docs.python.org/pt-br/3/library/stdtypes.html#text-sequence-type-str. Acesso
em: 09 nov 2022.

IMC: você sabe o que o Índice de Massa Corporal diz sobre sua saúde?
Disponível em:
https://www.saude.rj.gov.br/obesidade/noticias/2019/03/imc-voce-sabe-o-que-o-indic
e-de-massa-corporal-diz-sobre-sua-saude. Acesso em 10 nov. 2022.

Você também pode gostar