Prévia do material em texto
<p>Prof.ª Me Elda Nunes de Carvalho</p><p>elda.carvalho@uninorte.com.br</p><p>LÓGICA DE PROGRAMAÇÃO</p><p>Aula 03 - Operadores</p><p>Conteúdo Programático</p><p>2</p><p>2. INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO</p><p>2.1. Tipos de Processamento:</p><p>2.1.1. Variáveis;</p><p>2.1.2. Constantes;</p><p>2.1.3. Expressões Aritméticas e Lógicas.</p><p>2.2. Operadores: Matemáticos, Funções</p><p>Matemáticas.</p><p>2.3. Tabela-verdade (Operadores Lógicos)</p><p>2.4. Estrutura Sequencial</p><p>Objetivos de Aprendizagem</p><p>3</p><p>1. Identificar os princípios teóricos referentes ao</p><p>desenvolvimento de algoritmos</p><p>2. Utilizar as ferramentas básicas para a construção de</p><p>algoritmos</p><p>Tipos de Processamento</p><p>• Dados (variáveis e constantes).</p><p>• Tipos de dados</p><p>• Operadores</p><p>• Comandos</p><p>• Funções</p><p>• Comentários</p><p>Introdução à Lógica de Programação</p><p>5</p><p>Variável</p><p>• Um dado é classificado como variável quando tem a</p><p>possibilidade de ser alterado em algum instante no</p><p>decorrer do tempo, ou seja, durante a execução do</p><p>algoritmo em que é utilizado, o valor do dado sofre</p><p>alteração ou o dado é dependente da execução em um</p><p>certo momento ou circunstância.</p><p>Introdução à Lógica de Programação</p><p>6</p><p>Constantes</p><p>• Um dado é constante quando não sofre nenhuma</p><p>variação no decorrer do tempo, ou seja, seu valor é</p><p>constante desde do início até o fim da execução do</p><p>algoritmo, assim como é constante para execução</p><p>diferentes no tempo.</p><p>Introdução à Lógica de Programação</p><p>7</p><p>Expressões Aritméticas</p><p>• Denominamos expressões aritméticas aquela cujos</p><p>operadores são aritméticos e cujos operando são</p><p>constantes ou variáveis do tipo numérico (inteiro ou</p><p>real).</p><p>Operadores Aritméticos</p><p>• Chamamos de operadores aritméticos o conjunto de</p><p>símbolos que representa as operações básicas</p><p>Operadores Aritméticos</p><p>• Dados de entrada: tipo numérico (inteiro ou real).</p><p>• Resultado: tipo numérico (inteiro ou real).</p><p>• Exemplo:</p><p>Operadores Aritméticos</p><p>• Para representar as operações de radiciação e</p><p>potenciação, usamos as palavras-chaves rad e pot.</p><p>Operadores Aritméticos</p><p>• Resto da divisão e o quociente da divisão inteira</p><p>Prioridades</p><p>• Na resolução das expressões aritméticas, as operações</p><p>guardam uma hierarquia entre si.</p><p>• Em caso de operadores de mesma prioridade, devemos resolver</p><p>da esquerda para a direita.</p><p>Exercício de Fixação</p><p>1. Suponha que A, B e C são variáveis de tipo inteiro, com valores</p><p>iguais a 5, 10 e -8, respectivamente, e uma variável real D, com</p><p>valor de 1,5, quais os resultados das expressões aritméticas a</p><p>seguir?</p><p>a) 2 * A mod 3 – C</p><p>b) rad(-2 * C) div 4</p><p>c) ((20 div 3) div 3) + pot(8,2)/2</p><p>d) (30 mod 4 * pot(3,3)) * -1</p><p>e) pot(-C,2) + (D * 10)/A</p><p>f) rad(pot(A,B/A) + C * D</p><p>Resposta:</p><p>a) 9</p><p>b) 1</p><p>c) 34</p><p>d) -54</p><p>e) 67</p><p>f) -7</p><p>Expressões Lógicas</p><p>• Denominamos expressão lógicas aquela cujos operadores são</p><p>lógicos ou relacionais e cujos operando são relações ou</p><p>variáveis ou constantes do tipo lógico</p><p>Operadores Relacionais</p><p>• Utilizamos os operadores relacionais para realizar</p><p>comparações entre dois valores de mesmo tipo primitivo.</p><p>Operadores Relacionais</p><p>• Dados de entrada: tipo numérico (inteiro ou real).</p><p>• Resultado: valor lógico.</p><p>• Exemplo:</p><p>Operadores Lógicos</p><p>• Dados de entrada: tipo lógico.</p><p>• Resultado: valor lógico.</p><p>• Exemplo:</p><p>Tabela Verdade</p><p>Tabela Verdade</p><p>Precedência de Operadores</p><p>Exercícios sobre Operadores</p><p>Exercícios de Fixação</p><p>1. Considerando as variáveis abaixo, indique o resultado de cada</p><p>uma das expressões a seguir:</p><p>a) (2 * (5 MOD 3) + Y + W * 2) > Z ou (Y < Z -1) e Não((Z * (Y – 1) + Y) < 100)</p><p>b) X ou V) ou (Z * 2 % Y < W * Y)</p><p>c) F e X = Não(V) ou Y < Z</p><p>d) Y + 4 * (Z MOD 3 + 1)</p><p>e) (3 + W – (Y + 1) / 2) + 1,5</p><p>Operador Atribuição</p><p>• Utilizado para atribuir valor a uma variável.</p><p>• Notação</p><p>•X1 ← 23;</p><p>•X1 = 23 (Linguagem C)</p><p>Funções</p><p>• Pré-definidas</p><p>• Definidas pelo programador</p><p>• Exemplos:</p><p>•seno(angulo)</p><p>•pow(x,y)</p><p>•sqrt(resto)</p><p>•exp(tempo)</p><p>•ler(var1,var2,...)</p><p>•escrever(resul1, resul2)</p><p>Comentário</p><p>• Utilizado para descrever o algoritmo esclarecendo trecho</p><p>do código.</p><p>• Definidas pelo programador</p><p>• Notação em Linguagem C:</p><p>//</p><p>/* <comentário> */</p><p>Algoritmo com qualidade</p><p>• Escreva os comentários no momento em que estiver</p><p>escrevendo o algoritmo</p><p>• Os comentários devem acrescentar alguma coisa, e não</p><p>frasear o comando.</p><p>Algoritmo com qualidade</p><p>• Use comentários no prólogo:</p><p>Algoritmo com qualidade</p><p>• Use espaço em branco para melhorar a</p><p>compreensão.</p><p>Algoritmo com qualidade</p><p>• Escolha nome representativos para as variáveis.</p><p>Algoritmo com qualidade</p><p>• Utilize um comando por linha.</p><p>• Utilize parênteses para melhorar a compreensão e</p><p>evitar erros.</p><p>• Utilize identação (recuo de texto)</p><p>Linguagem Estruturada</p><p> É uma forma de Programação de Computadores que</p><p>recomenda que todos os programas possíveis podem ser</p><p>reduzidos a apenas três estruturas.</p><p> Sequência</p><p> Decisão</p><p> Iteração</p><p>Introdução à Lógica de Programação</p><p>32</p><p>1. Estrutura Sequencial</p><p>• As instruções são executadas uma</p><p>após a outra, sem que haja desvio</p><p>na sequência das instruções, sendo</p><p>cada instrução executada uma</p><p>única vez.</p><p>Estrutura Sequencial</p><p>33</p><p>Modelo Geral</p><p>Linguagem Estruturada</p><p>34</p><p>Exemplo</p><p>Tipos de Processamento</p><p>35</p><p>Exemplo</p><p>Verificando o Entendimento</p><p>36</p><p>I Lista de Exercícios :: Algoritmo Estrutura Sequencial</p><p>• Fazer em Pseudocódigo;</p><p>• A atividade valerá uma nota extra como parte da nota</p><p>parcial;</p><p>• Deverá ser defendida em sala:</p><p>• A lista está disponível no TEAMS;</p><p>37</p><p>BIBLIOGRAFIA BÁSICA</p><p>• FORBELLONE, André Luiz Villar. Lógica de programação - A</p><p>construção de algoritmos e estruturas de dados. 3ª Edição. São</p><p>Paulo – Prentice Hall, 2005.</p><p>• MANZANO, J. A. N. G; OLIVEIRA, J. F.; Algoritmos: Logica para</p><p>Desenvolvimento de Programação de Computadores. 2. ed. São</p><p>Paulo Erica, 2008.</p><p>• GUIMARÃES, A. M; LAGES, A. C.; Algoritmos e Estruturas de Dados.</p><p>Rio de Janeiro: LTC, 1994.</p><p>• LOPES, A.; GARCIA, G. Introdução a Programação: 500 Algoritmos</p><p>Resolvidos. São Paulo: Campus, 2002.</p><p>38</p><p>BIBLIOGRAFIA COMPLEMENTAR</p><p>• SALVETTI, D. D.; Algoritmos. 1998, 273p.</p><p>• DEITEL, M.H; DEITEL, P. J. C++ Como Programar. Porto Alegre:</p><p>Bookman, 2006.</p><p>• SOUZA, M.A.F.; GOMES, M.M.; SOARES, M.V. Algoritmos e Logica</p><p>de Programação. São Paulo: Pioneira Thomson Learning, 2008.</p><p>• VILARIM, G. O.; Algoritmos: Programação para Iniciantes. 2004,</p><p>270p.</p><p>• CHAPMAN, S.J. Matlab programming for engineers. 4th ed.</p><p>Toronto: Pioneira Thomson Learning, 2008.</p><p>Então é isso ...</p><p>39</p><p>O QUE HOUVER...</p>