Técnicas de Programação

Documentos relacionados
ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Programação Básica. Estrutura de um algoritmo

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Lógica de Programação: aula 2. Dariel Mazzoni Maranhão. Uninove: Universidade Nove de Julho. 22 de agosto de 2010

Variáveis, Tipos de Dados e Operadores

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

JavaScript (Elementos de Programação e Programação Básica)

Capítulo 2 Operadores. A função scanf()

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Noções de Algoritmos

Ambientação com a Sintaxe de Java: parte 1

Estrutura de Programas e Tipos de Dados Simples

Aula 4 Expressões e Operadores Cleverton Hentz

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

Introdução a Programação de Jogos

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

PROGRAMAÇÃO I. Introdução

Estrutura do programa

Introdução a Programação

ALGORITMOS AULA 1. Profª Amanda Gondim

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

Algoritmos e Estruturas de Dados

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

CAPÍTULO 4 - OPERADORES E EXPRESSÕES

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Apostila de Portugol

EXERC EXAME DISCIPLINA: ALG ESTRUTURA DE DADOS I

Programação de Computadores III

EXPRESSÕES ARITMÉTICAS PARTE 2

CAPÍTULO 3 INSTRUÇÕES BÁSICAS

Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada e Saída básica

Introdução. 17-out-08 Leandro Tonietto 2

Disciplina: Arquitetura de Computadores

Linguagem C. Prof.ª Márcia Jani Cícero

Sistemas de numeração e conversão de bases Decimal e binário

Working 03 : Conceitos Básicos II

INTRODUÇÃO A LINGUAGEM C

FACULDADE PITÁGORAS PRONATEC

Capítulo 2. Ambiente de Desenvolvimento. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Aula 02. Algoritmos e Pseudocódigo

Algoritmos e Técnicas de Programação

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Computação I: Linguagem de Programação Python

Algoritmos e Linguagem de Programação I

ESTRUTURAS DE REPETIÇÃO - PARTE 1

Linguagem de Programação

Introdução à Algoritmos INF 1005 e INF Programação I

Fundamentos de Programação. Diagrama de blocos

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

3ª Lista de Exercícios de Programação I

Modularização ou Subrotinas Parte I

Exercícios: Comandos de Repetição

Introdução à Computação

Apresentação da ferramenta de programação. Comandos de entrada e saída. Prof. Alex Camargo

ÁLGEBRA BOOLEANA E LÓGICA DIGITAL AULA 04 Arquitetura de Computadores Gil Eduardo de Andrade

Introdução a Computação

FUNÇÃO SE. = SE ([condição]; [valor se verdadeiro]; [valor se falso]). A condição pode ser efetuada usando sinais matemáticos comparativos:

Lógica Aula 3. Definição. Estrutura de decisão

Programação de Computadores Profa Jacqueline 1

Programação de Computadores para GI

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Algoritmia e Programação APROG. Algoritmia 1. Lógica Proposicional (Noções Básicas) Nelson Freire (ISEP DEI-APROG 2013/14) 1/12

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA COMANDOS DE DESVIO

Prof. Leonardo Augusto Casillo

Universidade Federal de Uberlândia

Existem dois tipos básicos de subrotinas: a) Procedimentos; b) Funções.

9. Comando de repetição com variável de controle (para.. de.. até.. faça)

Unidade 3: Linguagem de programação

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

INFORMÁTICA APLICADA AULA 05 ALGORITMOS

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010

Lista de Exercícios Estruturas: Linear, Condicional e Exclusão Múltipla Algoritmos e Linguagens de Programação

Apostila de Excel 2007

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo

Estruturas de Controle de Fluxo

Python - Variáveis e expressões

AULA: Introdução à Informática I

Lista de Exercícios Glossário Básico

TECNOLOGIA WEB. Formação: o Bacharel em Sistemas de Informações (SI); o MBA em Tecnologia da Informação e Comunicação (TIC).

Introdução à Programação. 3ª aula. Prof. José Honorato F. Nunes

Aula 11 Introdução ao Java Script

Conceitos Básicos INTRODUÇÃO À COMPUTAÇÃO E SUAS APLICAÇÕES

Transcrição:

Técnicas de Programação

Material Teórico Conceito de Lógica Aplicada a Programas Responsável pelo Conteúdo: Prof. a Esp. Margarete Eliane da Silva Almendro Revisão Técnica: Prof. Me. Douglas Almendro Revisão Textual: Prof. a Eliane Tavelli Alves

Conceito de Lógica Aplicada a Programas Introdução Nomenclaturas Resolução de problemas Tipos de Dados Variáveis Comandos de Entrada e Saída (Input/Output) Características Gerais de Java Operadores Expressões Aritméticas Nesta unidade o aluno terá uma visão do que vem a ser algoritmos de programação, bem como suas facetas, para entender o pensamento de programação computacional. Para que você possa obter um bom aproveitamento nesta unidade vamos conferir a estrutura da mesma: Atividade de Sistematização: os exercícios disponibilizados são de autocorreção e visam permitir a você praticar o que aprendeu na disciplina e a identificar os pontos em que precisa prestar mais atenção, ou pedir esclarecimentos a seu tutor. Além disso, as notas atribuídas aos exercícios farão parte de sua média final na disciplina. Atividade de Aprofundamento: é uma atividade dissertativa ou de pesquisa. Material Complementar e Referências Bibliográficas: nestes links você poderá ampliar seus conhecimentos. Videoaula: neste link serão apresentadas algumas ferramentas e a utilização delas na prática; também se apresenta a resolução de alguns exercícios de forma prática. Lembramos a você da importância de realizar todas as atividades propostas dentro do prazo estabelecido para cada unidade, dessa forma, você evitará que o conteúdo se acumule e que você tenha problemas ao final do semestre. Uma última recomendação, caso tenha problemas para acessar algum item da disciplina, ou dúvidas com relação ao conteúdo, não deixe de entrar em contato com seu professor tutor através do botão mensagens ou fóruns. 5

Unidade: Conceito de Lógica Aplicada a Programas Contextualização Pela definição do Dicionário Aurélio, lógica é a sequência coerente, regular e necessária de acontecimentos, de coisas ou fatos; ou a maneira de raciocínio particular que cabe a um indivíduo ou a um grupo. Então, podemos dizer que lógica é a ciência que estuda as leis e critérios de validade que regem o pensamento e a demonstração, ou seja, ciência dos princípios formais do raciocínio. Muitos desenvolvedores desenham o processo do programa antes do desenvolvimento do código, essa técnica tem como objetivo:» Agilizar a codificação da escrita da programação;» Facilitar a depuração da sua leitura;» Permitir a verificação de possíveis falhas apresentadas pelos programas. Deve ser composta por quatro passos fundamentais:» Facilitar as alterações e atualizações dos programas;» Escrever as instruções em sequências ligadas entre si apenas por estruturas sequenciais, repetitivas ou de seleção;» Escrever instruções em grupos pequenos e combiná-las;» Distribuir módulos do programa entre os diferentes programadores que trabalharão sob a supervisão de um programador sênior ou chefe. 6

Introdução Lógica Para os profissionais da área de tecnologia, o uso da lógica é um fator importante a ser considerado, porque a todo tempo os programadores e analistas e precisam resolver problemas do seu cotidiano. Saber lidar com problemas de ordem administrativa, de controle, de planejamento e de estratégia requer atenção e boa técnica para representar esses problemas. Lógica aplicada no desenvolvimento de softwares ou programas Muitos desenvolvedores desenham o processo do programa antes do desenvolvimento do código. O que é chamado de desenho são as etapas que o programa deveria realizar e uma forma de testar os pontos chaves do programa verificando se não existe nenhum erro de lógica de programação. Esses desenhos são chamados de diagramas de blocos que, após a conclusão, poderão ser interpretados por qualquer desenvolvedor e ser desenvolvidos em qualquer linguagem disponível no mercado. A técnica mais importante no projeto da lógica de programas denomina-se programação estruturada, a qual consiste em uma metodologia de projeto objetivando:» Agilizar a codificação da escrita da programação;» Facilitar a depuração da sua leitura;» Permitir a verificação de possíveis falhas apresentadas pelos programas. Ela deve ser composta por quatro passos fundamentais:» Facilitar as alterações e atualizações dos programas;» Escrever as instruções em sequência ligadas entre si apenas por estruturas sequenciais, repetitivas ou de seleção;» Escrever instruções em grupos pequenos e combiná-las;» Distribuir módulos do programa entre os diferentes programadores que trabalharão sobre a supervisão de um programador sênior ou chefe. 7

Unidade: Conceito de Lógica Aplicada a Programas Nomenclaturas Muitos profissionais utilizam a linguagem para denominação de símbolos que representam a linha de raciocínio lógico de fluxogramas, diagramas de blocos e algoritmos. Vejam a definição de cada um. Fluxograma Ferramenta utilizada pelos profissionais de análise de sistemas para descrever o fluxo de ação de uma atividade automatizada ou manual. Usa símbolos denominados pela norma ISO 5807:1985, e é representado por alguns desenhos geométricos Diagrama de blocos Algoritmo Também conhecido como diagrama de fluxo (diferente de fluxograma), uma ferramenta utilizada pelo programador com o objetivo de descrever o método e a sequência de ações ou eventos a serem executadas pelo computador. Também é utilizada diversas formas geométricas para representar as atividades. Esses símbolos são conhecidos mundialmente e definidos pela norma ISO 5807:1985(E). Após a criação do diagrama de blocos, a próxima etapa será a codificação do programa na linguagem escolhida pelo programador. Conjunto de regras formais que serão utilizados para a resolução do problema. Nessa solução pode-se dizer que estão embutidos as fórmulas de expressões aritméticas. Os algoritmos podem ser representados por meio da escrita ou representados por meio de formas geométricas. Em suma, o algoritmo pode ser definido como a resolução do problema e a transformação desse problema em um programa que possa ser executado por um programador. 8

Na ciência da computação, eles podem ser definidos como uma sequência de instruções ou operações básicas, cuja execução, em tempo finito resolve um problema computacional. Eles podem ser representados graficamente, em pseudocódigo ou diretamente na linguagem escolhida para desenvolvimento do programa. A forma de representação gráfica, segundo ISO 5807:1985 é uma forma de representar os dados e os procedimentos a serem executados por um programa a partir da linha de raciocínio lógico de um programador para demonstrar o resultado final de um programa. média = (nota1 + nota 2)/2 média > 6 N S Aprovado N média = (nota1 + nota 2)/2 média > 6 S Aprovado vai para exame vai para exame nota exame nota exame Resultado = (média + exame)/2 Resultado = (média + exame)/2 S N Resultado 5 Aprovado Resultado 5 S N Aprovado Reprovado Aprovado 9

Unidade: Conceito de Lógica Aplicada a Programas Resolução de problemas Para que um diagrama de blocos seja desenvolvido de forma correta, deve-se levar em consideração como procedimentos prioritários as seguintes regras:» Diagramas de blocos devem ser feitos e quebrados em vários níveis;» Para o desenvolvimento correto de um diagrama de bloco, ele deve ser iniciado de cima para baixo;» Não deve ocorrer, em hipótese alguma, cruzamentos de linhas de fluxo de dados entre os símbolos. Os diagramas de blocos podem ser representados de várias formas, o que não impede que a solução seja entregue e sem erros. Vejamos alguns exemplos: Linear A técnica linear é conhecida como um modelo tradicional de desenvolvimento e resolução de problemas. Estruturada Modular Representação em Pseudocódigo Essa técnica é mais utilizada pelos profi ssionais de processamento de dados. A sequência, a seleção e a interação são as três estruturas básicas para a construção do diagrama de bloco. A técnica da lógica modular deve ser elaborada como uma estrutura de partes independentes, denominadas de módulos, cujo procedimento é controlado por um conjunto de regras. Essa técnica é baseada no Program Design Language PDL, onde a linguagem é apresentada e codifi cada na língua portuguesa. Ela foi desenvolvida com o propósito de ser uma ferramenta comercial que poderia ser utilizada com qualquer linguagem. Por ser uma escrita didática, começou a ser utilizada para o ensino de programação. Por exemplo: algoritmo <Nome do algoritmo> <declaração de variáveis> início <corpo do algoritmo> Fim 10

Tipos de Dados Quando especificamos um algoritmo, detalhamos os dados (números binários, isto é, sequências de 0s e 1s armazenadas na memória e que correspondem à porção das informações a serem processadas) que serão processados e as instruções (ou comandos; que comandam o funcionamento da máquina e determinam como devem ser manipulados os dados) que vão operar sobre esses. O objetivo é classificar os dados de acordo com o tipo de informação contida neles. A classificação apresentada não se aplica a nenhuma linguagem de programação específica. Inteiro Real Informações que não possuem componente decimal ou fracionário, podendo ser positivo ou negativo. Informações que podem possuir componentes decimais ou fracionários; podem ser positivos ou negativos. A simples existência do ponto decimal diferencia um dado numérico do tipo inteiro de um do tipo real. Caracter É constituído por uma sequência de caracteres contendo letras, dígitos e/ ou símbolos especiais. São representados nos algoritmos pela coleção de caracteres delimitada pelas aspas ( texto ). Lógico Informação que pode assumir apenas dois possíveis valores: verdadeiro ou falso, sim/não, 1/0, true / false. A figura abaixo representa a disposição dos tipos de dados. Tipos de dados Numérico Caracter Lógico Inteiro Real 11

Unidade: Conceito de Lógica Aplicada a Programas Variáveis Uma variável é, simplesmente, um espaço, reservado e rotulado para armazenar dados. Toda variável tem um nome que a identifica univocamente (identificador) e um valor, que corresponde à informação a ela atribuída. num1 num2 12 3 Nomes Memória Nos algoritmos, cada variável corresponde a uma posição de memória, cujo conteúdo pode ser alterado em algum instante no decorrer do tempo, ou seja, durante a execução de um algoritmo. Embora uma variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante. Uma variável possui três atributos: um nome (ou identificador), um tipo de dado e a informação por ela guardada. Todo nome de uma variável tem a função de diferenciá-la das demais. Cada linguagem de programação estabelece suas próprias regras de formação de nomes de variáveis. O nome de uma variável deve ser representativo do seu conteúdo e possui as seguintes regras: 1. Não pode começar com números, apenas com letras, underscore ou $. 2. Não pode conter espaços em branco. 3. Não pode conter caracteres especiais (#,?,!, @). 4. Não pode ser palavras reservadas. 12 Declaração de Variáveis Todas as variáveis utilizadas nos algoritmos devem ser definidas antes de serem utilizadas. Isto se faz necessário para permitir que o compilador reserve um espaço na memória para as mesmas. Para indicar o tipo de uma ou mais variáveis é feita a declaração de variáveis. A partir do momento da declaração das variáveis, é feita uma associação do nome escolhido, com a respectiva posição de memória.

Exemplo: inteiro number1,number2 real arquivo caracter nome lógico escolha Inicialização de Variáveis Existem várias maneiras de atribuir valores a variáveis: Dizendo no algoritmo qual o valor a variável deve assumir: Definir que uma variável assuma o valor de uma outra variável: Atribuir uma variável ao resultado de uma expressão: real preço preço = 12.99 inteiro n1,n2 n1 = 10 n2 = n1 real a,b,c a = 12.05 b = 5.20 c = a * b Observações:» Uma variável do tipo real só poderá assumir valores com ponto flutuante ou inteiro. Caso sejam valores flutuantes, somente por meio do ([.] ponto) e não da vírgula por conta de estarmos trabalhando com o padrão inglês.» Variáveis do tipo inteiro só assumem a parte inteira de um número.» Variáveis do tipo char assumem qualquer valor, pois estará convertendo os mesmos em sequência de caracteres.» Variáveis do tipo lógico assumem somente valores true ou false. 13

Unidade: Conceito de Lógica Aplicada a Programas Comandos de Entrada e Saída (Input/Output) Os algoritmos precisam ser alimentados com dados provenientes do meio externo para efetuarem as operações e cálculos e é necessário também mostrar os resultados. Comando de entrada: LEIA tem como finalidade atribuir o dado a ser fornecido à variável identificada. leia <variável> Comando de saída: ESCREVA cuja finalidade é exibir uma mensagem. Essa mensagem pode ser um texto ou o conteúdo de uma variável, ou ambos juntos: escreva Mensagem escreva Mensagem +<variável> escreva <variável> Exemplo Algoritmo 01 Algoritmo Quadrado de um Número inteiro q,n início escreva Entre com o número leia n q = n*n escreva O quadrado de + n + é + q fim Exemplo Algoritmo 02 Algoritmo Volume de um Cilindro real a, r, v, PI PI = 3.1415 início escreva Entre com o raio leia r escreva Entre com a altura leia a v = PI * r * r * a escreva O volume do cilindro é + v fim 14

Características Gerais de Java Java possui uma coleção de APIs (bibliotecas) padrão que podem ser usadas para construir aplicações:» Organizadas em pacotes (java.*, javax.* e extensões).» Usadas pelos ambientes de execução (JRE) e de desenvolvimento (SDK). As principais APIs são distribuídas juntamente com os produtos para desenvolvimento de aplicações: Java 2 Standard Edition (J2SE): Java 2 Enterprise Edition (J2EE): Java 2 Micro Edition (J2ME): Ferramentas e APIs essenciais para qualquer aplicação Java (inclusive GUI). Ferramentas e APIs para o desenvolvimento de aplicações distribuídas. Ferramentas e APIs para o desenvolvimento de aplicações para aparelhos portáteis. Desenvolvimento e execução» Java Development Kit (JDK) Coleção de ferramentas de linha de comando para, entre outras tarefas, compilar, executar e depurar aplicações Java. Para habilitar o ambiente via linha de comando é preciso colocar o caminho $JAVA_ HOME/bin no PATH do sistema.» Java Runtime Environment (JRE) Tudo o que é necessário para executar aplicações Java. JVM Java Virtual Machine (Máquina Virtual Java). Mecanismo de Trabalho Programa Java (.java) Na fase de execução é necessário que haja a Máquina Virtual Java (MVJ) Pacotes javac Compilador Java Bytecodes Instruções Java Virtual Machine - JVM A JVM interpreta os bycodes gerados pelo compilador. O objetivo da JVM é permitir que qualquer sistema operacional poassa executar uma aplicação Java Classes (.class) java Interpretador Java Execução do código 15

Unidade: Conceito de Lógica Aplicada a Programas Classe Java Uma classe deve começar com a criação do seu nome de arquivo em maiúsculo e deve ter o mesmo na digitação da classe. Comentando um pouco sobre o código acima: 16

Tipo de Dados em Java Importação de dados Na classe JOptionPane há alguns métodos que possibilitam trabalhar com janelas. Veremos os métodos showinputdialog( ) e o showmessagedialog( ). Para ter acesso a estas classes, deveremos importar o pacote onde ela se encontra. A classe JOptionPane está no pacote javax.swing. Portanto, como primeira linha do nosso programa temos que colocar o comando import javax.swing.*; Entrada de Dados Para a entrada de dados em Java temos uma particularidade, pois tudo o que o usuário digitar será sempre uma String conjunto de caracteres. Mas e se precisarmos atribuir um valor numérico? Para isto temos os conversores de String para número.» Integer.parseInt( ); Inteiro» Float.parseFloat( ); Float» Double.parseDouble( ); Double» Long.parseLong( ); Long A linha para entrada de dados fica da seguinte forma:» nota=float.parsefloat(joptionpane.showinputdialog( Entre com a nota ) ); 17

Unidade: Conceito de Lógica Aplicada a Programas Abaixo um exemplo de uma classe em Java para apenas a entrada de uma nota. import javax.swing.*; public class EntradaSaida { public static void main(string args[ ]) { float nota; nota=float.parsefloat( JOptionPane.showInputDialog( Entre com a nota )); } } Agora que já temos uma base de algoritmo e programação, vamos colocar em prática. Programando o Algoritmo 01 Algoritmo Quadrado de um Número inteiro q,n início escreva Entre com o número leia n q = n*n escreva O quadrado de + n + é + q fim O sinal de + tem o papel de concatenar juntar palavras e valores para uma visualização interativa. As palavras sempre deverão estar entre aspas. Já as variáveis devem conter antes e depois o sinal de + para juntar com a String. Agora vamos passar o algoritmo para linguagem de programação Java. //Quadrado de um Número import javax.swing.*; public class Algoritmo01 public static void main(string [] args) { int q, n; n = Integer.parseInt(JOptionPane.showInputDialog( Entre com o número )); q = n*n; JOptionPane.showMessageDialog( null, O quadrado de + n + é + q); } } Observação Toda quebra de linha só poderá ocorrer depois de uma vírgula ou do sinal de + exceto quando tivermos uma expressão matemática. 18

Operadores São elementos funcionais que atuam sobre operandos e produzem em determinado resultado. Podem ser classificados em: Binários Quando atuam sobre dois operandos. Exemplo: (soma, subtração; multiplicação, divisão). Unários Quando atuam sobre um único operando. Exemplo: 27. Outra classificação dos operadores é feita considerando-se o tipo de dados de seus operandos e do valor resultante de sua avaliação.» Aritméticos;» Relacionais;» Lógicos. Aritméticos Operador Operação Prioridade + Soma 5º - Subtração 5º * Multiplicação 4º / Divisão 4º % ou mod Resto de uma divisão inteira 3º ^ Potência 2º + Manutenção de sinal 1º - Inversão de sinal 1º 19

Unidade: Conceito de Lógica Aplicada a Programas Exemplos Faça um algoritmo que leia dois números inteiros e calcule e mostre o resultado das seguintes operações aritméticas: soma, subtração, multiplicação, divisão e resto da divisão. Algoritmo operações int num1, num2 Inicio escreva Digite um número leia num1 escreva Digite outro número leia num2 escreva Soma: + num1+num2 escreva Subtração: + num1-num2 escreva Multiplicação: + num1*num2 escreva Divisão: + num1/num2 escreva Resto: + num1%num2 Fim Agora em Java 20

Vamos ver outro exemplo Escreva um algoritmo que leia a quantidade de moedas de R$ 0,25, R$ 0,10 e R$0,05 armazenados em um cofre. Calcule e mostre o valor em reais (R$). Algoritmo operações Algoritmo cofre int q25, q10, q5 real total Início escreva Entre com a quantidade de moedas de R$ 0,25 leia q25 escreva Entre com a quantidade de moedas de R$ 0,10 leia q10 escreva Entre com a quantidade de moedas de R$ 0,05 leia q5 total = q25*0.25+q10*0.10+q5*0.05 escreva O valor total em reais é: R$ + total Fim Agora em Java 21

Unidade: Conceito de Lógica Aplicada a Programas Relacionais Comparações só podem ser feitas entre objetos de mesma natureza, isto é, variáveis do mesmo tipo de dados. O resultado de uma comparação é sempre um valor lógico. Operador Comparação == Igual!= ou <> Diferente < Menor <= Menor ou igual > Maior >= Maior ou igual Lógicos Operador Tipo Operação ou Binário Disjunção e Binário Conjunção não Unário negação Operadores Lógicos em Java Operador Operador ou e && não! Tabela Verdade A B A OU B A E B não A F F F F V F V V F V V F V F F V V V V F» OU basta que um dos seus operandos seja V para que o resultado seja V.» E é necessário que seus dois operandos tenham o valor lógico V para que o resultado seja V. 22

Prioridade entre os operadores Operador Operador Lógicos 4º Relacionais 3º Aritméticos 2º Parênteses 1º Expressões Aritméticas As expressões aritméticas são definidas pelo relacionamento existente entre variáveis, constantes numéricas e valores, por meio da utilização dos operadores aritméticos. Exemplo: Escreva um programa capaz de calcular o valor de x em uma equação do segundo grau ax 2 + bx + c = 0. Os valores de a, b e c devem ser informados pelo usuário. O programa não deve tratar as raízes complexas. A equação de Bhaskara é: 23

Unidade: Conceito de Lógica Aplicada a Programas Vamos fazer o algoritmo lembrando que neste exemplo não iremos tratar dos números complexos. Algoritmo equação real a, b, c, x1,x2 Início escreva Digite o valor de a leia a escreva Digite o valor de b leia b escreva Digite o valor de c leia c x1=(-b+sqrt(b^2-4*a*c))/(2*a) x2=(-b-sqrt(b^2-4*a*c))/(2*a) escreva x1 é igual a: + x1 + e x2 é igual a: + x2 Fim. Em Java 24

Material Complementar Vídeos: Livros: Comandos de Entradas e Saídas - Expressões e Operadores https://youtu.be/g8haxi-egsc - Acesso em: 15 de janeiro de 2018. Capítulo 3 - Programação com Sequência 3.5 - Os Operadores Aritméticos 3.6 - Expressões Aritméticas Capítulo 4 - Programação com Decisão 4.1 - Decisões, Condições e Operadores Relacionais 4.1.1 - Desvio Condicional Simples 4.1.2 - Desvio Condicional Composto 4.1.3 - Desvio Condicional Sequencial 4.1.4 - Desvio Condicional Encadeado 4.1.5 - Desvio Condicional por Seleção 4.2 - Operadores Lógicos 4.2.1 - Operador Lógico: E 4.2.2 - Operador Lógico: OU 4.2.3 - Operador Lógico: NÃO 4.3 - Divisibilidade: Múltiplos e Divisores 4.4 - Exercícios de Aprendizagem 4.5 - Exercícios de Fixação MANZANO, J. A. N. G.; OLIVEIRA, J. F. Estudo Dirigido de Algoritmos. 24ª ed São Paulo: Érica, 2010. WIRTH, N. Algoritmos e estruturas de dados. Rio de Janeiro: Ltc-Livros Técnicos e Científicos, 1999. 25

Unidade: Conceito de Lógica Aplicada a Programas Referências ASCENCIO, A. F. G.; CAMPOS, E. A. V. Fundamentos da programação de computadores: algoritmos, Pascal, C/C++ e Java. 2ª ed. São Paulo: Pearson Education Brasil, 2010. E-BOOK. CHRISTOS, P.; UMESH, V. Algoritmos. Porto Alegre: Grupo A, 2011. E-BOOK. DEITEL, H. M. Java: como programar. 6ª ed. Porto Alegre: Bookman, 2003. E-BOOK. EDELWEISS, N.; GALANTE, R. Estruturas de dados. Porto Alegre: Grupo A, 2011. E-BOOK. FARRER, H. Algoritmos estruturados. 3ª ed. Rio de Janeiro: Ltc-Livros Técnicos e Científicos, 1999. FERREIRA, A. B. H. Dicionário aurélio da língua portuguesa. 5ª ed. Curitiba: Positivo, 2010. FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de programação: a construção de algoritmos e estrutura de dados. 3ª ed. São Paulo: Pearson Prentice Hall, 2008. FURGERI, S. JAVA 6 ensino didático: desenvolvendo e implementando aplicações. 2ª ed. São Paulo: Érica, 2009. GOODRICH, M. T.; TAMASSIA, R. Estruturas de dados e algoritmos em Java. Porto Alegre: Grupo A, 2011. E-BOOK. HORSTMANN, C. Conceitos de computação com Java. 5ª ed. Porto Alegre: Grupo A, 2009. E-BOOK. MANZANO, J. A. N. G. Algoritmos: lógica para desenvolvimento de programação. 24ª ed. São Paulo: Érica, 2010. OLIVEIRA, J. F.; MANZANO, J. A. N. G. Algoritmos: lógica para desenvolvimento de programação de computadores. 16ª ed. São Paulo: Érica, 2004. [Ver o conteúdo de Parte II Técnicas Básicas de Programação Cap. 3 Tipo de Dados e Instruções Primitivas]. VILARIM, G. O. Algoritmos: programação para iniciantes. Rio de Janeiro: Ciência Moderna, 2004. Bibliografia Complementar WIRTH, N. Algoritmos e estruturas de dados. Rio de Janeiro: Ltc-Livros Técnicos e Científicos, 1999. 26

Anotações 27