Programação - Mod 1
Programação - Mod 1
Programação
Material Teórico
Conceito de Lógica Aplicada a Programas
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:
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.
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.
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.
7
Unidade: Conceito de Lógica Aplicada a Programas
Nomenclaturas
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.
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.
média =
(nota1 + nota 2)/2
média =
(nota1 + nota 2)/2
S
média > 6 Aprovado
N S
N média > 6 Aprovado
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:
10
Tipos de Dados
Lógico Informação que pode assumir apenas dois possíveis valores: verdadeiro
ou falso, sim/não, 1/0, true / false.
Tipos de dados
Inteiro Real
11
Unidade: Conceito de Lógica Aplicada a Programas
Variáveis
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.
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:
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
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
Exemplo – Algoritmo 02
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).
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.
Mecanismo de Trabalho
Na fase de execução é
necessário que haja a
Programa Java ( .java) Máquina Virtual Java
(MVJ)
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.
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?
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.
//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.
Binários Quando atuam sobre dois operandos. Exemplo: (soma, subtração; multiplicação,
divisão).
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
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
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
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
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
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.
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.
Bibliografia Complementar
WIRTH, N. Algoritmos e estruturas de dados. Rio de Janeiro: Ltc-Livros Técnicos e
Científicos, 1999.
26
Anotações
27