Computação I Apostila 2 Cá estou eu para ajudar nessa batalha contra comp. Pra quem ainda não me conhece meu nome é Edivaldo. Na última apostila, pudemos ter uma noção do que é algoritmo e a lógica de programação, nos familiarizamos com o console principal e aprendemos um pouco sobre as operações matemáticas que são fundamentais. Sem mais delongas, hoje introduziremos o conceito de Função. Mas o que é uma função? Função É um subprograma, um bloco de código criado separadamente do programa principal que só será executado quando o programador ou usuário desejar. Vocês puderam notar que utilizando apenas o console do Py é difícil estruturarmos grandes códigos. Para tarefas simples como as que foram executadas nos exercícios ele é bem poderoso e fácil, entretanto para tarefas mais complexas precisamos das funções. Uma função concentra um bloco de código bem organizado e que pode ser chamado pelo console principal pelo seu nome de forma prática. Para iniciarmos os trabalhos com as funções, clique em File depois em New File. Uma nova janela se abrirá, salve esse arquivo com o nome eng_facil.py na pasta C:\Python27. Dentro desse arquivo criaremos nossas funções com a seguinte estrutura: A função é composta pelo seu nome (que será chamado no console), os parâmetros (são informações que função usará para realizar sua tarefa) e o return (que é o valor que será retornado após a função realizar sua tarefa) Obs¹: Esse def no início é padrão do Python.
Vamos verificar como seria o nosso primeiro exemplo, a soma de dois números, utilizando esse artifício das funções. Após escrever a função no arquivo eng_facil.py, salve, clique no botão Run, e depois em Run Module (F5). Isso chamará console principal rodando o seu arquivo. Nesse caso, no console foi digitado o nome da função e dentro dos parênteses foram enviados dois números (10,2). Após fazer isso o IDLE do Python, vai atrás da função com o nome somar. A função recebe os parâmetros nas variáveis num1 e num2, e realiza o código. Observações: 1. Se o nome estiver incorreto, ou não existir uma função somar ocorre um erro. 2. Nesse caso eu escolhi num1 e num2, mas poderiam ser variáveis quaisquer como x e y. 3. As variáveis num1, num2 e resultado só podem ser utilizadas dentro da função, ou seja, se vocês tentarem acessar diretamente no console não vão conseguir nada. 4. Como no console eu apenas chamei a função somar(10,2), ele apenas mostrou o resultado e não armazenou nada, se eu quisesse armazenar escreveria soma = somar(10,2)
Estrutura Condicional Na primeira apostila, eu expliquei o conceito intuitivo da estrutura if/else, hoje vamos aplica-la no Python em um problema real. Além disso, iremos aprender outra estrutura condicional. 1. Um hectare (10.000 m2) de terra produz 150 toneladas de cana de açúcar. Calcule e exiba quantas toneladas de cana serão produzidas em um sítio cuja quantidade de hectares será informada pelo usuário. Além disso, o meio de transporte da cana de açúcar depende da quantidade de toneladas. Abaixo de 3000 toneladas, o transporte é feito em um Navio de pequeno porte, abaixo de 10000 toneladas e acima de 3000 toneladas, o transporte é feito em um Navio de médio porte e acima de 3000 toneladas, o transporte é feito em um Navio de grande porte. Informe ao usuário qual vai ser o meio de transporte. Do lado esquerdo temos a janela do console, que chama a função exemplo1 do arquivo eng_facil.py e envia como parâmetros(hectares) 7 depois 50 e depois 110. Do lado direito, temos a função em si. Fazendo uma leitura do programa, a função exemplo1 recebe o parâmetro hectares e depois a variável toneladas recebe a multiplicação dos hectares por 150, como descrita no problema. Até ai tudo bem, depois a estrutura condicional if/else é acionada. Se(if) o valor que estiver na variável toneladas for menor que 3000, então a variável resultado vai receber uma frase composta pelo número de toneladas e o tipo de embarcação. Senão(else), um novo teste if/else será feito, se(if) o valor que estiver na variável toneladas for menor que 10000, então a variável resultado vai receber uma frase composta pelo número de toneladas e o tipo de embarcação. Senão(else), um novo teste if/else será feito, se(if) o valor que estiver na variável toneladas for maior que 10000, então a variável resultado vai receber uma frase composta pelo número de toneladas e o tipo de embarcação.
Obs¹: Perceba que nesse ponto, dentro de um else(falso) existe outra estrutura if/else Obs²: Perceba que a última estrutura if/else não tem um else(falso), e não há nenhum problema nisso, até por que se o valor toneladas chegar nessa estrutura, com certeza ele é maior que 10000.
Elif No exemplo acima, vocês perceberam que eu usei estruturas if/else consecutivas, uma dentro da outra. Contudo, existe uma outra estrutura condicional que é melhor indicada para esses casos de múltiplas escolhas, elif. Para não precisarmos escrever novamente else, e depois criarmos um novo if para um novo teste, usamos apenas o elif. Após o primeiro if, podemos adicionar quantos elif quisermos. Veja o exercício resolvido com elif. Se, toneladas for menor que 3000, então resultado = toneladas, Pequeno porte. Se não, teste se toneladas é menor que 10000, se for verdade resultado = toneladas, Médio porte. Se não, teste se toneladas é maior que 10000, se for verdade resultado = toneladas, Grande porte. Retorne resultado.
Claaaro que não! O começo sempre é complicado, principalmente pra quem nunca viu essa matéria. Então, tente reler a apostila e principalmente, faça os exercícios abaixo que vai dar tudo certo! Lista de Exercícios 1. Para doar sangue é necessário ter entre 18 e 67 anos. Faça uma função que receba a idade da pessoa e diga se ela pode ou não doar sangue. 2. Escreva uma função que receba o dia, o mês e o ano do aniversário de uma pessoa e retorne se a data é válida ou não. Caso não seja diga o motivo. Suponha que todos os meses tem 31 dias e que estejamos no ano de 2015. 3. Vamos calcular a média de um aluno do Ensino Médio. Crie uma função que receba como parâmetro quatro notas e divida a soma das quatro por 4. Se o resultado for < 5 o aluno está reprovado, se estiver entre 5 e 7 ele terá chance de fazer a recuperação e se estiver acima de 7 ele está aprovado. 4. Criar uma função que receba os comprimentos dos três lados de um triângulo (l1, l2, l3) e determine que tipo de triângulo ele é, equilátero, escaleno ou isósceles.