0% acharam este documento útil (0 voto)
164 visualizações

Programação - Mod 1

Este documento discute conceitos de lógica aplicada à programação, incluindo: 1) A lógica é importante para resolver problemas na programação de computadores. 2) Os diagramas de blocos ajudam a planejar a lógica do programa antes da codificação. 3) Fluxogramas, diagramas de blocos e algoritmos usam símbolos para representar a lógica do programa.

Enviado por

Julia Fernandes
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
164 visualizações

Programação - Mod 1

Este documento discute conceitos de lógica aplicada à programação, incluindo: 1) A lógica é importante para resolver problemas na programação de computadores. 2) Os diagramas de blocos ajudam a planejar a lógica do programa antes da codificação. 3) Fluxogramas, diagramas de blocos e algoritmos usam símbolos para representar a lógica do programa.

Enviado por

Julia Fernandes
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 30

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 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.

Algoritmo 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 =
(nota1 + nota 2)/2
S
média > 6 Aprovado
N S
N média > 6 Aprovado

vai para exame vai para exame

nota nota
exame exame

Resultado = Resultado =
(média + exame)/2 (média + exame)/2

S N S
Resultado ≥ 5 Aprovado Resultado ≥ 5

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 Essa técnica é mais utilizada pelos profissionais 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.
Modular 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.
Representação em Essa técnica é baseada no Program Design Language – PDL,
Pseudocódigo onde a linguagem é apresentada e codificada 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 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 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 12 3
num2

Memória
Nomes

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.

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.

12
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 real preço


variável deve assumir: preço = 12.99

Definir que uma variável assuma o valor inteiro n1,n2


de uma outra variável: n1 = 10
n2 = n1

Atribuir uma variável ao resultado de real a,b,c


uma expressão: 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): Ferramentas e APIs essenciais para qualquer aplicação Java
(inclusive GUI).

Java 2 Enterprise Edition (J2EE): Ferramentas e APIs para o desenvolvimento de aplicações


distribuídas.

Java 2 Micro Edition (J2ME): 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
Na fase de execução é
necessário que haja a
Programa Java ( .java) Máquina Virtual Java
(MVJ)

Pacotes javac Compilador Java

Bytecodes Classes ( .class)


Instruções Java Virtual
Machine - JVM
java Interpretador Java
A JVM interpreta os bycodes
gerados pelo compilador.
O objetivo da JVM é permitir
que qualquer sistema Execução do código
operacional poassa executar
uma aplicação Java
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 AEB 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
ax2 + 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:
Comandos de Entradas e Saídas - Expressões e Operadores
https://youtu.be/G8haXi-EgSc - Acesso em: 15 de janeiro de 2018.

Livros:
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

Você também pode gostar