Baixe o app para aproveitar ainda mais
Prévia do material em texto
Minicurso de Lógica de Programação Aula 1 Lógica O que é ? Por que é importante? Como é utilizada na computação? Algoritmos O que são algoritmos? Receita de bolo? Algoritmo de acordar O código ao lado está escrito em Java. Não se preocupe em compreendê-lo ainda! Ao executá-lo, o console exibirá o seguinte: “1 2 3 4 5 6 7 8 9 10” Exemplo: contar de 1 a 10 void conta10() { int num = 1; while (index <= 10) { System.out.println(num) num++; } } Variáveis O que são? Pequenas “gavetas” dentro do seu computador Possuem tipo, valor e identificador Guardam apenas um valor de cada vez Para que servem? Elas são utilizadas dentro de algoritmos sendo atualizadas conforme o código Servem de parâmetros para funções (veremos esse conceito mais para frente) Variáveis O que é tipo e identificador? Tipo é o que define o tamanho da “gaveta” dentro do seu computador Identificador é um nome que permite referenciar a variável dentro do algoritmo Como assim o tamanho da “gaveta”? Existem diversos tipos de variável: inteiros, caracteres, flutuantes, lógicos e literais Cada tipo necessita uma quantidade diferente de espaço dentro do computador para ser armazenado tipo identificador valor int numero = 10; Constantes Constantes, assim como variáveis, são “dispositivos” para guardar valores; Constantes, entretanto, são constantes (pasmem); Exemplos: π = 3,14... Constante de Avogadro = 6,02 x 1023 mol-1 Operadores Aritméticos e Incrementais Aritméticos: + operador de adição - operador subtração * operador de multiplicação / operador de divisão % operador de módulo (ou resto da divisão) Incremento / Decremento: ++ adiciona 1 na variável -- subtrai 1 na variável += soma um valor novo ao valor anterior Ambos representam o mesmo var1 += var2 var1 = var1 + var2 var1 -= var2 var1 = var1 - var2 Controle de Fluxo O que são? São estruturas de tomada de decisão dentro do seu algoritmo Para que servem? Decidir qual caminho ou ação tomar diante de um contexto especificado pelo programador Como utilizá-los? Com If, Else e Else If (“Se”, “senão” e “senão se”) Controle de Fluxo Exemplo Digamos que nós queremos saber se um número é ímpar ou par, como faríamos um algoritmo que nos respondesse isso? int num = 3; if (num % 2 == 0) { System.out.println(“É par!”) } else { System.out.println(“É ímpar!”) } O que o programa deveria imprimir na tela? E se mudássemos a variável “num” para 4? Operadores de Igualdade e Relacional Relacionais: > maior que < menor que >= maior ou igual que <= menor ou igual que Igualdade: == comparação de igualdade != comparação de diferença Representam um valor lógico (verdadeiro ou falso) Exemplos int num1 = 4; num1 > num2 (falso) int num2 = 5; num3 <= num1 (verdadeiro) int num3 = 3; num1 == num2 (falso) Operadores Lógicos && E || OU ! negação A B A && B (A e B) A || B (A ou B) !A (não A) !B (não B) V V V V F F V F F V F V F V F V V F F F F F V V Laços O que são? São estruturas de repetição de código Para que servem? Para realizar ações ou processos repetitivos sem que ocorra a repetição de código Como utilizá-los? Funcionam a partir de uma (ou mais) condição Existem três tipos de laços: while (enquanto), para (for) e para cada (for each) Contando até 10 Contando até 10 com o WHILE int num = 1; while (num <= 10) { System.out.println(num) num++; } Contando até 10 com o FOR for (int i = 0; i <= 10; i++){ System.out.println(i); } MAS E O FOR EACH?? Funções Assim como na matemática, funções dentro da computação servem para transformar um valor de entrada em um certo valor de saída; Entretanto, na computação, nem sempre é necessário um valor de entrada. Uma função que serve para imprimir sempre a mesma mensagem não precisa de um valor de entrada, resultando apenas no valor de saída. Declarando uma função Para se declarar uma função é necessário informar no código o tipo dela (o tipo que ela deve retornar como saída) e sua assinatura (os parâmetros/argumentos que ela deve receber como entrada); Em Java: int quadradoDe(int x) { return x * x; } Perceba, a função possui: Tipo, que define seu retorno Identificador, que usaremos para chamar a função Parâmetros, que são recebidos na chamada da função Chamando uma função Para utilizar uma função basta usar seu nome e fornecer seus parâmetros! int num = 4; int numQuad = quadradoDe(num); System.out.println(numQuad); Exercícios Escreva um algoritmo que armazene o valor 10 em uma variável A e o valor 20 em uma variável B. A seguir (utilizando apenas atribuições entre variáveis) troque os seus conteúdos fazendo com que o valor que está em A passe para B e vice-versa. Ao final, escrever os valores que ficaram armazenados nas variáveis. Crie uma função do tipo flutuante que receba como parâmetro dois flutuantes que representam notas de trabalho de um aluno e que retorne sua média. Exercícios Crie uma função do tipo lógico que receba um inteiro que representa o valor de uma nota final de Introdução à Programação. A função deve retornar true se a nota do aluno for satisfatória para que ele seja aprovado e false caso contrário. Crie uma função do tipo flutuante que receba três inteiros que representam provas de Introdução a Programação e retorne um flutuante representando a média, sendo que: A primeira prova vale 20% da nota A segunda prova vale 30% da nota A terceira prova vale 50% da nota Exercícios Crie uma função do tipo vazio que receba dois parâmetros do tipo flutuante representando a nota final de trabalhos e a nota final de provas de um aluno (tente fazer uso das funções anteriores para chamar essa terceira função) e imprima na tela a média final (usando a média suicida) do aluno e se ele foi aprovado, está em recuperação ou já foi reprovado. MÉDIA SUICIDA Se a nota final do trabalho e a nota final de provas forem maiores ou iguais a 5, a média final do aluno é uma média entre as duas; Caso alguma das notas finais for menor do que 5, a nota final é a menor entre as duas. Minicurso de Lógica de Programação Obrigado pela sua presença e até a próxima aula!
Compartilhar