Baixe o app para aproveitar ainda mais
Prévia do material em texto
CENTRO UNIVERSITÁRIO ANHANGUERA PITÁGORAS AMPLI ÁLVARO MARCELO KAIM LINGUAGEM DE PROGRAMAÇÃO JANDAIA DO SUL 2022 2 INTRODUÇÃO No decorrer do trabalho iremos abordar assuntos como o Google Cloud Shell e a linguagem de programação Python, então passaremos uma breve descrição de cada um, para que entenda do que se trata, sendo que a ferramenta será utilizada para o desenvolvimento de um programa de cálculo de ICM. O Google Cloud Shell é uma ferramenta da Google Cloud Plataform (GCP), sendo um ambiente de desenvolvimento online que você pode acessar de qualquer lugar e com qualquer navegador. O Cloud Shell possui diversas ferramentas de desenvolvimento prontas para serem utilizadas, como por exemplo Java, Python, Node.JS, Git, Ruby, Go, entre outros, que facilitam e muito as nossas vidas em tarefas diárias, sendo que neste trabalho iremos utiliza-lo juntamente com a linguagem de programação Python. O Python é uma linguagem com a filosofia de ser intuitiva e com código de fácil leitura e entendimento em geral, sendo assim, inclusiva por ser mais fácil de aprender. Trata-se, portanto, de uma tecnologia que pode ser usada para diversos fins, como construção de sites e plataformas web, criação de aplicativos e sistemas móveis, análise de dados com inteligência artificial, machine learning e muito mais. MÉTODOS Para o desenvolvimento no Google Cloud Shell é necessário ter uma conta da Google, acesse https://cloud.google.com/ para poder acessar os serviços da GCP, faça o login na plataforma e logo será apresentado o ícone para acessar o Cloud Shell, conforme Figura 2. Figura 1 - Ícone do Cloud Shell Fonte: Do Autor https://cloud.google.com/ 3 Figura 2 - Painel com ícone do Cloud Shell Fonte: Do Autor Caso ainda não tenha acessado o Cloud Shell em nenhum momento anterior, será exibido uma mensagem no inferior da tela, informando a funcionalidade do recurso e solicitando a ativação, conforme Figura 3. Figura 3 - Tela de mensagem ao acessar o Cloud Shell pela primeira vez Fonte: Do Autor Como será utilizado para fins didáticos e curto período, recomenda-se que selecione a opção ”Faça um teste sem custos financeiros”, em seguida será redirecionado para algumas etapas de informação da conta, duas no total, onde na primeira serão solicitadas informações sobre as necessidades do uso da plataforma, que no caso em questão é Projeto escolar e também exibido alguns termos de serviços que devem obrigatoriamente serem aceitos. Já na próxima etapa, será solicitado documento pessoal, endereço e dados de faturamento, porém é informado na mesma tela que os dados de cobrança é solicitado somente para ter certeza de que você não é um robô. No caso você não será cobrado, a menos que atualize manualmente para uma conta paga. 4 Encerrado o cadastro e etapas para ativar o Cloud Shell, ele passa a ser exibido no canto inferior da tela, conforme Figura 4. Figura 4 - Apresentação do Cloud Shell Fonte: Do Autor Ao acessar, além da mensagem de boas-vindas, caso já tenha algum projeto criado, é informado que a sessão dele está ativado, ou seja, os recursos a serem geridos serão do projeto em questão, caso contrário, como por exemplo a conta seja nova, o console informa que é possível selecionar um projeto com uma linha de comando gcloud config set project [PROJECT_ID]. Também é possível adicionar outros terminais, clicando no “+“, ou clicando na opção que lista todos os projetos disponíveis. Selecionando um projeto, um novo terminal é adicionado, já com o ID do projeto escolhido ativo na sessão. Figura 5 - Terminal adicionar aba e alterar projeto 5 Fonte: Do Autor Mas o objetivo do presente trabalho é a utilização do editor de código para desenvolvimento em Python. No painel do terminal há diversas opções de botões, e há um botão com o título de Abrir Editor (Figura 5), ao selecioná-lo, será redirecionado para uma página do Cloud Shell Editor, também tem uma maneira mais ágil de iniciar uma sessão do Cloud Shell e abrir diretamente o editor, que é através da url ide.cloud.google.com. Figura 6 - Opções do painel do terminal Fonte: Do Autor O Cloud Shell vem com um editor de código interno que permite navegar nos diretórios de arquivos, além de exibir e editar arquivos, com acesso contínuo ao Cloud Shell. O editor do Cloud Shell está disponível por padrão em todas as instâncias do Cloud Shell e é baseado em Theia, uma plataforma IDE (ambiente de desenvolvimento integrado) de nuvem e desktop aberta. Na tela inicial, no painel esquerdo, são encontrados os seguintes itens: • Explorer: Exibe as pastas e arquivos no espaço de trabalho atual; • Search: Pesquise um texto ou uma expressão regular nos arquivos; • Source Control: gerenciador de versão de arquivos com suporte ao GIT; • Debug: depurador do aplicativo definindo os pontos de interrupção e também inspecionando variáveis; • Existem outras opções do Cloud Code como Cloud Run, APIs do Cloud, Secret Manager e Kubernetes, mas que não vem ao caso do presente projeto, caso tenha interesse em saber mais sobre estas ferramentas acesse o link cloud.google.com/shell/docs/getting-started-with-cloud- code para mais informações. https://ide.cloud.google.com/ https://cloud.google.com/shell/docs/getting-started-with-cloud-code https://cloud.google.com/shell/docs/getting-started-with-cloud-code 6 Também na tela inicial, no painel central, encontramos as opções Open Folder..., que é para abrir um projeto já existente em uma pasta especifica do editor, e também tem a opção Open Home Workspace, que é o espaço de trabalho raiz, contendo todas as pastas e arquivos já criados no Cloud Shell. Figura 7 - Tela inicial do Cloud Shell Editor Fonte: Do Autor Ao ser selecionado a opção Open Home Workspace, o editor abrirá seu espaço de trabalho pronto para iniciar seus projetos. No Explorer será apresentado os projetos existentes, no caso de novas contas, somente será encontrado um arquivo com o nome de README-cloudshell.txt, onde há uma mensagem de boas-vindas, uma explanação sobre ajuda do Cloud Shell. Caso tenha interesse em mudar o tema do Editor, como por exemplo, para um tema Dark, selecione a sequência de opções - File > Preferences > Color Theme, mas isto é somente para curiosidade e uma possível melhora na qualidade visual para o desenvolvimento de código. Para iniciarmos o desenvolvimento do projeto solicitado, iremos criar uma pasta clicando em File > New Folder, e criaremos uma pasta chamada IMC, no Explorer com 7 o cursor sobre a pasta criada, clique com o botão direito do mouse, selecionando a opção New File e insira um nome para o arquivo seguido de ponto e a extensão, no caso em questão, que é uma calculadora de IMC, coloca-se o título de imc com a extensão py, ficando imc.py, sendo esta a extensão para arquivos Python, conforme Figura 8. Figura 8 – Criar um novo arquivo no espaço de trabalho Fonte: Do Autor Sendo que no Explorer irá constar os arquivos e pastas criados, no painel central é onde será desenvolvido o código. Para executar o código que está inserido no arquivo imc.py, basta clicar no botão com o ícone de player (Run Python File in Terminal), o código será executado e aparecerá o resultado no terminal, conforme Figura 9. Figura 9 - Execução do código Python via Terminal Fonte: Do Autor 8 Inicialmente são estes recursos que iremos utilizar para a produção de nosso projeto, uma calculadora de IMC. Como já citado anteriormente, a linguagem de programação utilizada será Python, sendo que para verificar qual a versão disponível no Cloud Shell, basta digitar o comando python3 --version conforme Figura 10, no caso, temos a versão 3.9.2. Figura 10- Comando para exibir versão do Python Fonte: Do Autor Dando em conta que já se tem noção sobre programação e algoritmo, vamos dar passada sobre como o Python funciona e oque iremos utilizar antes de realmente irmos ao projeto. Python é uma linguagem dinamicamente tipada, o que significa que não é necessário declarar o tipo de variável ou fazer casting (mudar o tipo de variável), pois o Interpretador se encarrega disso, isso significa também que o tipo da variável poder variar durante a execução do programa. Os tipos de dados padrão do Python são: a) Inteiro (int) é um tipo composto por caracteres numéricos (algarismos) inteiros. Por exemplo, 21, 4, 0, e −2048 são números inteiros; b) Ponto Flutuante ou Decimal (float), é um tipo composto por caracteres numéricos (algarismo) decimais, usado para números racionais (números que podem ser representados por uma fração) informalmente conhecido como “número quebrado”. Por exemplo, 21.2, 7.23; c) Tipo Complexo (complex), esse tipo normalmente é usado em cálculos geométricos e científicos; d) String (str), é um conjunto de caracteres dispostos numa determinada ordem, geralmente utilizada para representar palavras, frases ou textos. e) Boolean (bool), é um tipo de dado lógico que pode assumir apenas dois valores, sendo falso (False) ou verdadeiro (True); f) Listas (list), agrupam um conjunto de elementos variados, podendo conter dados como inteiros, floats, strings, outras listas e outros tipos. São definidas utilizando colchetes para delimitar a lista e vírgulas para 9 separar os elementos, como por exemplo: [‘Joarez’, ‘Álvaro’, ‘Marcela’, ‘José’] ou [10, 8.5, 7.8, 8.0]; g) Tuplas (tuple), parecida como as listas, Tupla é um tipo que agrupa um conjunto de elementos, porém, sua forma de definição é diferente, utiliza-se parênteses ao invez de colchetes, mas a grande diferença entre Tupla e a Lista é que Tupas são imutáveis, ou seja, após a sua definição, não podem ser modificadas. Exemplo de Tuplas: (‘Joarez’, ‘Álvaro’, ‘Marcela’, ‘José’) ou (10, 8.5, 7.8, 8.0); h) Dicionários (dict), são utilizados para agrupar elementos através da estrutura de chave e valor, onde a chave é o primeiro elemento seguido por dois pontos e pelo valor. Por exemplo: {'Amanda': 1.65, 'Ana': 1.60, 'João': 1.70}. No Python para ter uma entrada de dados do usuário utilizamos a função input(), ela recebe como parâmetro uma string que será mostrada como auxilio para o usuário entender no que vai ser utilizado geralmente o informando que tipo de dado o programa está aguardando receber. Por exemplo: input("Escreva seu nome:"). Quando fazemos isso, o terminal mostrara o texto “Escreva seu nome:” na tela e ficará aguardando que o usuário digite alguma informação e aperte a tecla Enter para confirmar o final da execução do input, sendo que seu retorno é uma string que você pode trata-la como preferir, conforme Figura 11. Figura 11 - Função input() Fonte: Do Autor 10 A função para exibir dados em Python é a função print(), ela é responsável por mostrar valores em seu terminal, ela possui alguns parâmetros, sendo que um deles é o sep utilizado para definir um caractere de separação entre os argumentos, por padrão a função print utiliza espaços para separar cada saída, e o end que é utilizado para modificar o ultimo caractere que por padrão é uma quebra de linha (\n) quando este parâmetro não é utilizado. Veja exemplos de utilização na Figura 12. Figura 12 - Função print() Fonte: Do Autor Python é uma das poucas linguagens de programação que utiliza o deslocamento do texto para à direita (recuo) para marcar o início e o fim de um bloco. Agora sabendo os tipos de dados e também estas duas funções para obter dados e mostrar em tela, podemos dar início a nosso trabalho. Para o desenvolvimento da calculadora de IMC, precisa-se saber como é feito o cálculo, sendo que os dados devem ser obtidos são o Peso em quilogramas, a Altura em metros, a Idade para a classificação ser conforme as fases do curso de vida e no caso de Grávidas a Semana gestacional, IMC bruto é calculado dividindo o peso (em kg) pela altura ao quadrado (em metros), de acordo com a seguinte fórmula: IMC = peso / (altura x altura). O resultado de IMC é dado em kg/m2, mas possui algumas classificações que podem alterar os indicadores, sendo que as faixas etárias são uma delas, sendo então classificados da seguinte forma: a) Adulto: maior ou igual a 20 anos e menor que 60 anos de idade; a. Valores de IMC abaixo de 18,5: adulto com baixo peso. 11 b. Valores de IMC maior ou igual a 18,5 e menor que 25,0: adulto com peso adequado (eutrófico). c. Valores de IMC maior ou igual a 25,0 e menor que 30,0: adulto com sobrepeso. d. Valores de IMC maior ou igual a 30,0: adulto com obesidade. b) Idoso: maior ou igual a 60 anos de idade; a. Valores de IMC menor ou igual a 22,0: idoso com baixo peso. b. Valores de IMC maior que 22,0 e menor que 27,0: idoso com peso adequado (eutrófico). c. Valores de IMC maior ou igual a 27,0: idoso com sobrepeso. Vale salientar que neste projeto será trabalhado com o IMC de adultos e idosos somente, porém existem também classificações para crianças, adolescentes e gestantes. Inicialmente criamos funções para tratar as informações necessárias para obter o melhor resultado do projeto, sendo que uma função nada mais é que um trecho de código que possui uma responsabilidade específica e que damos um nome à ele. Para criar funções em Python utilizados a palavra reservada def seguido do nome atribuído a ela e por fim os parênteses (), você também pode definir parâmetros dentro dos parênteses. Na Figura 13 foi criado uma função com o nome de imc_resultado recebendo os parâmetros imc e idade, e dentro do escopo dela verificamos com a estrutura condicional if e else se a idade é maior ou igual a 65 anos, e dentro destas condicionais verificamos a classificação do imc baseado no seu valor utilizando, também a estrutura condicional if, elif (que é como se fosse um elseif), else, e assim retornamos uma string com a classificação do imc utilizando a palavra reservada return, sendo possível depois receber este valor de string e trata-lo. Caso não conheça a estrutura condicional if (se), elif (senão se) e else (senão), é uma estrutura onde se testa uma condição, por exemplo, uma variável idade com o valor de 10, pode testa-la para verificar se é menor que 50, então utiliza a seguinte expressão if idade < 50 e finaliza com os dois pontos (:). 12 Figura 13 - Função imc_resultado Fonte: Do Autor Na figura 14, temos outra função chamada get_value na linha 1, que recebe um parâmetro chamado text, na linha 2 há um while, que é parecido com o if, porém o while é uma estrutura de repetição utilizada quando queremos que determinado bloco de código seja executado ENQUANTO (do inglês while) determinada condição for satisfeita, ela somente se encerra ou quando a condição seja satisfeita ou utilizamos a palavra reservada break, como na função get_value utilizou while True, o programa entraria em um loop infinito, sendo necessário a utilização da palavra break. Para um código mais otimizado, na linha 3 utilizou-se da clausula try except, que são utilizados no tratamento de erro, onde o bloco try só é executado quando não há erros, se ocorrer qualquer erro o código entra no bloco except e continua rodando o código. A função get_value foi criada para obter os dados do usuário como altura, 13 peso e idade, todos são números, então caso seja digitado algo que não seja número, ocorrerá uma exceção (erro), exibindo a mensagem “Dados informados incorretamente, tente novamente.”, fazendo com que o loop while retorne ao inicio solicitando que seja digitado a informação novamente. Então caso o usuário digite um texto, o programa exibirá o erro e solicitará novamentea informação, caso ele digite um numero inteiro como 32, o programa converterá para float com o método float() que está encapsulando o input, caso o usuário digite um número decimal com vírgula como 1,72, o programa normalmente apresentaria um erro ao tentar converter para float, porém com o método replace(“,”, “.”), ele irá substituir a virgula por ponto, e sendo que não ocorra nenhum erro nesta conversão, o sistema retorna o dado informado pelo usuário e para a execução do while com o break. Dentro da função input() na linha 4, é possível notar o uso de f-strings, também chamadas de “strings literais formatadas” (formatted string literals), f-strings são strings com a letra f no início e chaves {} para realizar a interpolação de expressões. Figura 14 - Função get_value Fonte: Do Autor Na Figura 15, na linha 1, utilizamos o try para também realizarmos um tratamento de erro no código, caso aconteça, na linha 3 exibimos apenas uma mensagem de boas-vindas com a função print(), na linha 5 criamos uma variável com o nome de altura e usamos a função get_value() para atribuir dados a ela, esta função possui a função input() para receber dados digitados pelo usuário, como foi mostrado na Figura 14 e explanado anteriormente, na linha 7 e 9 fazemos o mesmo que fizemos com a altura, porém são para receber os dados de peso e idade. Na linha 11 criamos uma função lambda get_imc para realizar o cálculo do IMC, esta função recebe como parâmetro o peso e a altura, e a execução realiza o cálculo do peso dividido pela altura 14 multiplicada por ela mesma, também pode ser utilizado um operador aritmético de exponenciação (**) para realizar este cálculo também, mas para uma melhor compreensão utilizou-se a multiplicação simples, para uma melhor compreensão função lambda são funções anônimas que não precisam ser definidas, são utilizadas quando temos blocos de códigos curtos e simples para serem executados. Na linha 13 foi gerada a variável imc que recebe o valor retornado da função get_imc() que foi passado por parâmetro as variáveis peso e altura, como já o programa já obteve todas as informações necessárias, na linha 15 imprime o resultado utilizando a função print() com f-strings e utiliza a função round() para arredondar o valor da variável imc para 2 casas decimais apenas, visto que a divisão pode ter diversas casas decimais, e após utiliza a função imc_resultado() passando a variável imc e idade como parâmetro para exibir a classificação do imc obtido. Na linha 17 utiliza a clausula except para que caso ocorra alguma exceção (erro) no código a linha 18 seja chamada e exiba uma mensagem de erro com a função print(). Figura 15 - Codigo de execução do projeto Fonte: Do Autor E com isto temos o código do trabalho finalizado, abaixo na Figura 16, o código esta completo, é possível visualiza-lo e redimir qualquer duvida que possa existir sobre sua sequência e formação. A figura 17 exibe o resultado da execução do código sem qualquer exceção (erro). 15 Figura 16 - Código completo Fonte: Do Autor 16 Figura 17 - Resultado da execução do código Fonte: Do Autor RESULTADOS Como resultado, houve êxito em desenvolver o exercício proposto, assim como um aumento na prática da linguagem de programação Python e um conhecimento sobre a ferramenta da Google, o Cloud Shell, sendo uma ótima ferramenta para aqueles que não tem um computador preparado para o desenvolvimento de software. Sobre o Python, é uma linguagem de programação onde há bastante recurso na web para poder tirar dúvidas, pois é uma linguagem bem disseminada e aderida por muitos. CONCLUSÃO As vantagens desta linguagem de programação explicam sua valorização no mercado. Para quem está iniciando em Python, verá que é algo fácil de aprender com a curva de aprendizado relativamente baixa, apresenta sintaxe intuitiva, possui uma ampla comunidade ativa e muitas bibliotecas disponíveis. A linguagem tem uma sintaxe acessível e foi criada para proporcionar agilidade e produtividade ao usuário. 17 Por isso, é de fácil absorção. Uma linguagem gratuita, portátil, multiplataforma e extensível, o Python roda em diversos sistemas operacionais, além disso, possui propriedades extensíveis, com mais de 100 mil bibliotecas. No fim das contas, conhecer e aperfeiçoar a linguagem vai trazer uma série de benefícios a você como programador. Então, não desista e continue aprendendo, pois programador nunca para de aprender e sempre tem atualizações e novidades.
Compartilhar