22/08/2015 ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com [email protected] Conhecer os princípios e conceitos que envolvem o aprendizado em construção de algoritmos e programação e a sua importância para o universo do desenvolvimento de sistemas. Expressões literais, lógicas e aritméticas Tipos de dados, variáveis e constantes CONCEITOS INICIAIS DE ALGORITMOS OBJETIVO DE APRENDIZAGEM Conhecer os tipos e as formas de representação de algoritmos através da elaboração do fluxograma e do pseudocódigo. 1 22/08/2015 APRENDIZAGEM RESULTADO Pretende-se que os alunos, além de saber identificar a sequência de ações que o sistema precisará executar, elaborem algoritmos em pseudocódigo e em fluxogramas e saibam representar as expressões aritméticas, lógicas e literais, além dos tipos de dados (compreendendo quando utilizar cada um destes). APRENDIZAGEM CONHECIMENTO PRÉVIO • Linguagem binária; • Unidades componentes do computador; • Diferença entre programação e algoritmos; • Saber representar uma sequência de ações, ou seja, o passo a passo para a realização de uma determinada atividade ou tarefa. OPERADORES ARITMÉTICOS OPERAÇÃO OPERADOR SIGNIFICADO SOMA SUBTRAÇÃO + - Efetuar soma de duas ou mais variáveis Efetuar a subtração de variáveis MULTIPLICAÇÃO * O produto entre variáveis DIVISÃO / EXPONENCIAÇÃO ** RESTO mod Realiza a divisão de duas variáveis Utilizada para fazer calcular de potenciação, como em 3**2 Usada para encontrar o resto de uma divisão DIVISÃO INTEIRA div Este operador exibe o resultado inteiro de uma divisão 2 22/08/2015 OPERAÇÕES COMPLEXAS OPERAÇÕES FUNÇÕES EXPLICAÇÃO Raiz quadrada raizq(x) Raiz quadrada Exponenciação exp(x,y) x elevado a y Valor absoluto abs(x) Valor absoluto de x Arco seno arccos(x) Ângulo em radianos cujo seno é x Arco cosseno arcsen(x) Ângulo em radianos cujo cosseno é x Arco tangente arctan(x) Ângulo em radianos Cosseno cos(x) Cosseno em radianos do ângulo x Cotangente cotan(x) Retorna o ângulo x em radianos Logaritmo log(x) Retorna o logaritmo de x na base 10 Valor de pi pi Retorna o valor 3,141592 Valor aleatório rand Randômico entre 0 e 1 OPERADORES RELACIONAIS OPERADOR SIGNIFICADO > Maior < >= Menor Maior ou igual <= <> Menor ou igual Diferente = Igual OPERADORES LÓGICOS OPERADOR SÍMBOLO Exclusivo Disjunção XOU OU (V) Conjunção E (^) Negação NÃO (~) SIGNIFICADO PRIORIDADE Resulta verdadeiro se seus dois operandos forem diferentes 4 Pelo menos uma das variáveis tem que ser verdadeira As duas variáveis envolvidas no cálculo precisam ser verdadeiras 3 Operação que inverte o valor de uma variável 1 2 3 22/08/2015 EXEMPLO 1 Suponha que uma concessionária tenha uma meta por vendedor de 18 carros por mês e o mínimo de R$ 58.000,00 de valor bruto de vendas. Se esse vendedor atingir a meta, então, ele recebera 10% de comissão. Se não, o vendedor recebe apenas 0,08% do total como participação nas vendas. Seja A o valor da comissão, B o total de carros vendidos e D o valor mínimo de vendas, elabore a expressão logica que atenda essa operação. EXEMPLO 1 Suponha que uma concessionária tenha uma meta por vendedor de 18 carros por mês e o mínimo de R$ 58.000,00 de valor bruto de vendas. Se esse vendedor atingir a meta, então, ele recebera 10% de comissão. Se não, o vendedor recebe apenas 0,08% do total como participação nas vendas. Seja A o valor da comissão, B o total de carros vendidos e D o valor mínimo de vendas, elabore a expressão logica que atenda essa operação. A= ((B>=18) e (D>= 58.000)) EXEMPLO 2 Considere agora que para o vendedor ganhar a comissão total, precisa atingir ou o valor da meta de vendas que é de 18 carros por mês, ou o valor mínimo em reais que é de R$ 58.000,00. Elabore a expressão que representa essa condição. 4 22/08/2015 EXEMPLO 2 Considere agora que para o vendedor ganhar a comissão total, precisa atingir ou o valor da meta de vendas que é de 18 carros por mês, ou o valor mínimo em reais que é de R$ 58.000,00. Elabore a expressão que representa essa condição. A= ((B>=18) ou (D>=58.000)) EXERCÍCIOS Considerando p = V e q = F, resolva as seguintes expressões lógicas. PROPOSIÇÃO PROPOSIÇÃO a) ~p f) (~p) v q b) ~q c) p ^ q g) p ^ (~q) h) p v (~q) d) p v q e) (~p) ^ q i) (~p) ^ (~q) j) (~p) v (~q) VARIÁVEIS VARIÁVEL = Espaço de memória do computador que pode receber algum valor para ser armazenado, como variáveis primitivas temos: • • • • Inteiro Real Caractere Lógico 5 22/08/2015 VARIÁVEIS Como próprio nome diz, uma variável pode ser modificada, consultado ou mesmo apagado durante a execução de um algoritmo. Mas que nomes usar para representar variáveis? • • • • Sempre iniciar o nome com uma letra; Não deixar espaços entre caracteres; Caracteres especiais não devem ser usados (!, ?, *, @, #); Palavras reservadas não podem ser utilizadas. NOMES DE VARIÁVEIS a A var altura2 media_idade maior valor b@ x*y se inicio media fim media_idade: real altura2: real A: caractere ATRIBUIÇÃO DE VALORES As atribuições de valores são comandos usados para armazenar valores em uma variável. Para isso o caractere <é utilizado, vejamos • numero: inteiro • numero<-5 6 22/08/2015 ENTRADA DE DADOS Função que serve para receber os dados do usuário, e armazená-los em uma variável, esses dados serão utilizados na etapa do processamento do algoritmo, utilizamos um comando do tipo leia. numero: inteiro leia(numero) SAÍDA DE DADOS Comando do tipo escreva possuem duas utilidades: • Solicitar para que um usuário informe dados de entrada escreva (“Digite um valor: “) • Imprimir mensagens na tela escreva (“Estou estudando algoritmo.”) EXEMPLO algoritmo "soma dois numeros" var x, y: inteiro inicio escreval("Digite o primeiro numero: ") leia(x) escreval("Digite o segundo numero: ") leia(y) escreva("A soma dos numeros e: ",x+y) fimalgoritmo 7 22/08/2015 EXEMPLO – LINGUAGEM C #include <stdio.h> #include <stdlib.h> main() { int a, b, soma; printf("Informe o primeiro numero:\n"); scanf("%d", &a); printf("Informe o segundo numero:\n"); scanf("%d", &b); soma = a + b; printf("A soma dos numeros e: %d”, soma); fflush (stdin); } ABSTRAINDO DADOS PROBLEMA Formule um algoritmo que leia e apresente as seguintes informações sobre uma pessoa: nome, idade, peso, altura e telefone. ENTRADA? PROCESSAMENTO? SAÍDA? PRATICANDO Nas turmas da 6ª série da escola “Estudar Faz Bem”, a professora estava reforçando com os alunos as operações matemáticas. Para integrar as tecnologias de informação e comunicação nas aulas para essa turma, a professora solicitou o desenvolvimento de um aplicativo simples que permitisse aos alunos testar em uma calculadora amigável e interativa tais operações. O intuito é fazer com que os alunos, desde as primeiras etapas de seu ensino, compreendam a lógica computacional e, dessa forma, realizem a prova real manuscrita e também visualizem outras possibilidades de se realizar essas operações. Sua missão é desenvolver o algoritmo que apresente as operações adição, subtração, multiplicação e divisão, e de forma que a interface apresentada seja fácil para esse público compreender. 8 22/08/2015 SOLUÇÃO algoritmo “Operações matemáticas” var x, y: real início escreva(“Digite o primeiro número: “) leia(x) escreva(“Digite o segundo número: “) leia(y) escreval(“A soma e: “,x+y) escreval(“A subtracao e: “,x-y) escreval(“A multiplicacao e: “,x*y) escreval(“A divisao e: “,x/y) fimalgoritmo EXERCÍCIOS 1. Um quadrado é uma figura geométrica com quatro lados de mesmo comprimento e quatro ângulos retos. elabore um algoritmo para calcular a área e o perímetro de um quadrado. sendo a área de um quadrado (lado x lado) e o perímetro a soma dos lados do quadrado. 2. Elabore um algoritmo que leia um número inteiro, e apresente o seu antecessor e seu sucessor. EXERCÍCIOS 3. Construa um algoritmo que leia o preço de um produto, o percentual de desconto e calcule o valor a pagar e o valor do desconto. 4. Elabore um algoritmo que leia um número inteiro e apresente o valor deste número elevado ao quadrado. 9 22/08/2015 PRÓXIMA AULA.... • Formas de representação de algoritmos. 10