técnicas de programação 1

30
Técnicas de Programação

Upload: uillian-braga

Post on 06-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 1/30

Page 2: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 2/30

Page 3: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 3/30

Material Teórico

Responsável pelo Conteúdo:

Profa. Esp. Margarete Eliane da Silva Almendro

Revisão Textual:

Profa. Eliane Tavelli Alves

Conceito de Lógica Aplicada a Programas

Page 4: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 4/30

Page 5: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 5/30

5

• 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 deprogramação, bem como suas facetas, para entender o pensamento deprogramação computacional.

Para que você possa obter um bom aproveitamento nesta unidade vamos conferir a estruturada mesma:

 Atividade de Sistematização: os exercícios disponibilizados são de autocorreção e visampermitir a você praticar o que aprendeu na disciplina e a identificar os pontos em que precisaprestar mais atenção, ou pedir esclarecimentos a seu tutor. Além disso, as notas atribuídas aosexercí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 prazoestabelecido para cada unidade, dessa forma, você evitará que o conteúdo se acumule e que você tenhaproblemas ao final do semestre.

Uma última recomendação, caso tenha problemas para acessar algum item da disciplina, ou dúvidascom relação ao conteúdo, não deixe de entrar em contato com seu professor tutor através do botãomensagens ou fóruns.

Conceito de Lógica Aplicada a Programas

Page 6: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 6/30

6

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áriade acontecimentos, de coisas ou fatos; ou a maneira de raciocínio particular que cabe a umindivíduo ou a um grupo. Então, podemos dizer que lógica é a ciência que estuda as leis ecritérios de validade que regem o pensamento e a demonstração, ou seja, ciência dos princípiosformais do raciocínio.

Muitos desenvolvedores “desenham” o processo do programa antes do desenvolvimento do código, essaté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ãosob a supervisão de um programador sênior ou chefe.

Page 7: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 7/30

7

Introdução

Lógica

Para os profissionais da área de tecnologia, o uso da lógica é um fator importante a serconsiderado, porque a todo tempo os programadores e analistas e precisam resolver problemasdo seu cotidiano. Saber lidar com problemas de ordem administrativa, de controle, deplanejamento 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 desenvolvimentodo código. O que é chamado de ‘desenho’ são as etapas que o programa deveria realizar euma forma de testar os pontos chaves do programa verificando se não existe nenhum errode lógica de programação. Esses desenhos são chamados de diagramas de blocos que, apósa conclusão, poderão ser interpretados por qualquer desenvolvedor e ser desenvolvidos emqualquer linguagem disponível no mercado.

A técnica mais importante no projeto da lógica de programas denomina-se programaçãoestruturada, 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ãosobre a supervisão de um programador sênior ou chefe.

Page 8: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 8/30

8

Unidade:  Conceito de Lógica Aplicada a Programas

Nomenclaturas

Muitos profissionais utilizam a linguagem para denominação de símbolos que representam alinha de raciocínio lógico de fluxogramas, diagramas de blocos e algoritmos. Vejam a definiçãode cada um.

Fluxograma Ferramenta utilizada pelos profissionais de análise de sistemas para descrevero fluxo de ação de uma atividade automatizada ou manual. Usa símbolosdenominados pela norma ISO 5807:1985, e é representado por algunsdesenhos geométricos

 Diagrama de blocos Também conhecido como diagrama de fluxo (diferente de fluxograma), umaferramenta utilizada pelo programador com o objetivo de descrever o métodoe a sequência de ações ou eventos a serem executadas pelo computador.Também é utilizada diversas formas geométricas para representar asatividades. Esses símbolos são conhecidos mundialmente e definidos pelanorma ISO 5807:1985(E). Após a criação do diagrama de blocos, apróxima etapa será a codificação do programa na linguagem escolhida peloprogramador.

Algoritmo Conjunto de regras formais que serão utilizados para a resolução doproblema. Nessa solução pode-se dizer que estão embutidos as fórmulas deexpressões aritméticas.

Os algoritmos podem ser representados por meio da escrita ou representados por meio deformas geométricas. Em suma, o algoritmo pode ser definido como a resolução do problema e atransformação desse problema em um programa que possa ser executado por um programador.

Page 9: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 9/30

9

Na ciência da computação, eles podem ser definidos como uma sequência de instruções ouoperaçõ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 deraciocínio lógico de um programador para demonstrar o resultado final de um programa.

média =

(nota1 + nota 2)/2média =

(nota1 + nota 2)/2

média > 6

vai para exame vai para exame

nota

exame

nota

exame

Resultado =

(média + exame)/2

Resultado =

(média + exame)/2

Resultado ≥ 5 Resultado ≥ 5

Aprovado

Aprovado

AprovadoReprovado

S

S

N

N

Aprovado

média > 6 AprovadoSN

Page 10: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 10/30

10

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 emconsideraçã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 decima para baixo;

 » Não deve ocorrer, em hipótese alguma, cruzamentos de linhas de fluxo de dados entreos símbolos.

Os diagramas de blocos podem ser representados de várias formas, o que não impede quea solução seja entregue e sem erros. Vejamos alguns exemplos:

Linear A técnica linear é conhecida como ummodelo tradicional de desenvolvimentoe resolução de problemas.

Estruturada Essa técnica é mais utilizada pelos profissionais de processamentode dados. A sequência, a seleção e a interação são as três estruturasbásicas para a construção do diagrama de bloco.

Modular A técnica da lógica modular deve ser elaborada como uma

estrutura de partes independentes, denominadas de módulos, cujoprocedimento é controlado por um conjunto de regras.

Representação emPseudocódigo

Essa técnica é baseada no Program Design Language  – PDL,onde a linguagem é apresentada e codificada na língua portuguesa.Ela foi desenvolvida com o propósito de ser uma ferramentacomercial que poderia ser utilizada com qualquer linguagem. Porser uma escrita didática, começou a ser utilizada para o ensino deprogramação. Por exemplo:

algoritmo <Nome do algoritmo>

<declaração de variáveis>

início<corpo do algoritmo>

Fim

Page 11: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 11/30

11

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çõesa serem processadas) que serão processados e as instruções (ou comandos; que comandamo funcionamento da máquina e determinam como devem ser manipulados os dados) que vãooperar 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 Informações que não possuem componente decimal ou fracionário, podendo

ser positivo ou negativo.

Real Informações que podem possuir componentes decimais ou fracionários;podem ser positivos ou negativos. A simples existência do ponto decimaldiferencia 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 decaracteres 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

Caracter LógicoNumérico

RealInteiro

Page 12: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 12/30

12

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, quecorresponde à informação a ela atribuída.

12num1

num2

Nomes

Memória

3

Nos algoritmos, cada variável corresponde a uma posição de memória, cujo conteúdo podeser alterado em algum instante no decorrer do tempo, ou seja, durante a execução de umalgoritmo. Embora uma variável possa assumir diferentes valores, ela só pode armazenar umvalor a cada instante.

Uma variável possui três atributos: um nome (ou identificador), um tipo de dado e ainformação por ela guardada.

Todo nome de uma variável tem a função de diferenciá-la das demais. Cada linguagem deprogramaçã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 asseguintes 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.

Declaração de Variáveis

Todas as variáveis utilizadas nos algoritmos devem ser definidas antes de serem utilizadas. Isto sefaz 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 partirdo momento da declaração das variáveis, é feita uma associação do nome escolhido, com arespectiva posição de memória.

Page 13: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 13/30

13

Exemplo:

inteiro number1,number2

real arquivo

caracter nomelógico escolha

Inicialização de Variáveis

Existem várias maneiras de atribuir valores a variáveis:

Dizendo no algoritmo qual o valor avariável deve assumir:

real preço

preço = 12.99Definir que uma variável assuma o valor

de uma outra variável:

inteiro n1,n2

n1 = 10

n2 = n1

Atribuir uma variável ao resultado deuma expressão:

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 porconta 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 emsequência de caracteres.

 » Variáveis do tipo lógico assumem somente valores true ou false.

Page 14: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 14/30

14

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 paraefetuarem 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 textoou 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 02Algoritmo 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 * aescreva “O volume do cilindro é” + v

fim

Page 15: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 15/30

15

Características Gerais de Java

Java possui uma coleção de APIs (bibliotecas) padrão que podem ser usadas paraconstruir 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 desenvolvimentode aplicações:

 Java 2 Standard Edition (J2SE): Ferramentas e APIs essenciais para qualquer aplicação Java(inclusive GUI).

 Java 2 Enterprise Edition (J2EE): Ferramentas e APIs para o desenvolvimento de aplicaçõesdistribuídas.

 Java 2 Micro Edition (J2ME): Ferramentas e APIs para o desenvolvimento de aplicaçõespara 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)

Classes ( .class)

Interpretador Java java

Execução do código

Bytecodes

Instruções Java Virtual

Machine - JVM

Compilador Java

Na fase de execução énecessário que haja aMáquina Virtual Java(MVJ)

A JVM interpreta os bycodesgerados pelo compilador.O objetivo da JVM é permitirque qualquer sistemaoperacional poassa executaruma aplicação Java

Pacotes javac

Page 16: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 16/30

16

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 tero mesmo na digitação da classe.

Comentando um pouco sobre o código acima:

 

Page 17: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 17/30

17

Tipo de Dados em Java

Importação de dados

Na classe JOptionPane há alguns métodos que possibilitam trabalhar com janelas. Veremosos métodos showInputDialog( ) e o showMessageDialog( ).

Para ter acesso a estas classes, deveremos importar o pacote onde ela se encontra. A classeJOptionPane 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áriodigitar será sempre uma String “conjunto de caracteres”. Mas e se precisarmos atribuir umvalor 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”) );

Page 18: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 18/30

18

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 antese depois o sinal de + para juntar com a String.

Agora vamos passar o algoritmo para linguagem de programação Java.

//Quadrado de um Númeroimport 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 quandotivermos uma expressão matemática”.

Page 19: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 19/30

19

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º

Page 20: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 20/30

20

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 seguintesoperaçõ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

Page 21: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 21/30

21

 Vamos ver outro exemplo

Escreva um algoritmo que leia a quantidade de moedas de R$ 0,25, R$ 0,10 e R$0,05armazenados em um cofre. Calcule e mostre o valor em reais (R$).

Algoritmo operaçõesAlgoritmo 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

 

Page 22: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 22/30

22

Unidade:  Conceito de Lógica Aplicada a Programas

Relacionais

Comparações só podem ser feitas entre objetos de mesma natureza, isto é, variáveis domesmo 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 VF V V F VV F V F FV 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 oresultado seja V.

Page 23: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 23/30

23

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: Considere a expressão:

2 + 8 % 7 > = 3 * 6 – 15

Mas como resolvê-la?

Exemplo:

Escreva um programa capaz de calcular o valor de ‘x’ em uma equação do segundo grauax2 + bx + c = 0. Os valores de ‘a’, ‘b’ e ‘c’ devem ser informados pelo usuário. O programanão deve tratar as raízes complexas. A equação de Bhaskara é:

 

Page 24: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 24/30

24

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

Page 25: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 25/30

25

Material Complementar

Vídeos:Comandos de Entradas e Saídas - Expressões e Operadoreshttps://youtu.be/G8haXi-EgSc - Acesso em: 20 mar. 2015.

Livros:

Capítulo 3 - Programação com Sequência

3.5 - Os Operadores Aritméticos3.6 - Expressões Aritméticas

Capítulo 4 - Programação com Decisão

4.1 - Decisões, Condições e Operadores Relacionais4.1.1 - Desvio Condicional Simples4.1.2 - Desvio Condicional Composto4.1.3 - Desvio Condicional Sequencial4.1.4 - Desvio Condicional Encadeado4.1.5 - Desvio Condicional por Seleção4.2 - Operadores Lógicos4.2.1 - Operador Lógico: E4.2.2 - Operador Lógico: OU4.2.3 - Operador Lógico: NÃO4.3 - Divisibilidade: Múltiplos e Divisores

4.4 - Exercícios de Aprendizagem4.5 - Exercícios de Fixação

MANZANO, J. A. N. G.; OLIVEIRA, J. F. Estudo Dirigido de Algoritmos. 24ª ed SãoPaulo: Érica, 2010.

WIRTH, N. Algoritmos e estruturas de dados. Rio de Janeiro: Ltc-Livros Técnicos eCientíficos, 1999.

Page 26: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 26/30

26

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 eCientí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 dealgoritmos 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ãoPaulo: Érica, 2009.

GOODRICH, M. T.; TAMASSIA, R. Estruturas de dados e algoritmos em Java. PortoAlegre: 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ãoPaulo: Érica, 2010.

OLIVEIRA, J. F.; MANZANO, J. A. N. G.  Algoritmos: lógica para desenvolvimento deprogramaçã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ênciaModerna, 2004.

Bibliografia Complementar

WIRTH, N.  Algoritmos e estruturas de dados. Rio de Janeiro: Ltc-Livros Técnicos eCientíficos, 1999.

Page 27: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 27/30

27

Anotações

Page 28: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 28/30

Page 29: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 29/30

Page 30: Técnicas de Programação 1

8/16/2019 Técnicas de Programação 1

http://slidepdf.com/reader/full/tecnicas-de-programacao-1 30/30