/133
1 /126
ì
BC-0505: Processamento da Informação
/133
2 /126
Contatos
IMPORTANTE!!!!
Não respondo e-mails pedindo revisão do
conceito final.
1
20/02/18
3 /126
Apresentação da Disciplina
/133
4 /126
Motivação
ì Programar computadores é uma competência importante
para um Bacharel em Ciência e Tecnologia:
ì Pode auxiliar a resolver vários problemas durante a
vida acadêmica e também profissional;
ì Essa disciplina irá contribuir na formação dos alunos
em programação, com conceitos teóricos e práAcos.
ì ObjeAvos:
ì Apresentar os fundamentos sobre manipulação e
tratamento da informação, principalmente por meio
da explicação e experimentação dos conceitos e do
uso práAco da lógica de programação.
2
20/02/18
/133
5 /126
Objetivos da Disciplina
ì Competências:
ì Que o aluno seja capaz de compreender os conceitos
fundamentais a respeito da manipulação e tratamento
da Informação;
ì Que o aluno entenda a lógica de programação de
computadores e adquira a habilidade práAca de
desenvolver algoritmos básicos para modelar e
solucionar problemas de natureza:
ì Técnico-cien]fica, independentemente de uma
linguagem ou de um paradigma de programação
específico.
6 /126
3
20/02/18
/133
7 /126
PROGRAMANDO!!!
/133
8 /126
4
20/02/18
/133
9 /126
/133
10 /126
ì Consultar os monitores;
5
20/02/18
11 /126
PraMcar o desenvolvimento
dos algoritmos no “PAPEL”.
12 /126
Conteúdo da Disciplina
6
20/02/18
13 /126
/133
14 /126
BC0505-18.1: DIURNO-Wagner
BC0505-18.1: NOTURNO-Wagner
7
20/02/18
15 /126
Avaliação
/133
16 /126
Avaliação - Conceito
ì A: desempenho excepcional, demonstrando excelente
compreensão dos conceitos;
ì B: bom desempenho, demonstrando boa capacidade de uso
dos conceitos;
ì C: desempenho adequado, demonstrando capacidade de uso
dos conceitos e capacidade para seguir em estudos mais
avançados;
ì D: aproveitamento mínimo dos conceitos da disciplina, com
familiaridade parcial do assunto, mas demonstrando
deficiências que exigem trabalho adicional para prosseguir em
estudos avançados;
ì F: reprovado por conceito;
ì O: reprovado por falta.
8
20/02/18
/133
17 /126
ì Parte práAca:
ì O outro professor irá definir.
/133
18 /126
Prova: SUB
ì Todos os alunos podem fazer a SUB:
ì Perdeu uma prova (moAvo de saúde, etc);
ì Quer melhorar o conceito final.
ì Conteúdo:
ì Toda a matéria.
9
20/02/18
/133
19 /126
Prova: Recuperação
ì Conceito final será lançado 72h antes da prova;
ì Conteúdo:
ì Toda a matéria.
/133
20 /126
Prova: REC
ì Só pode fazer a REC quem fez pelo Pré-Rec Rec Final
menos DUAS PROVAS: D A C
ì Por exemplo: D B C
D C C
ì Faltou a P2 mas fez a SUB,
D D D
então pode fazer a REC;
D F D
ì Se só fez a P1, não tem direito
F A C
de fazer a REC.
F B C
F C D
F D F
F F F
10
20/02/18
/133
21 /126
Prova: Recuperação
/133
22 /126
11
20/02/18
/133
23 /126
/133
24 /126
Bibliografia
ì Bibliografia Básica:
ì Forbellone, A. L. V.; Eberspächer, H. F.; Lógica de Programação -
A Construção de Algoritmos e Estruturas de Dados; 3ª edição,
Editora Pearson PrenAce-Hall, 2005
ì Sebesta, R. W.; Conceitos de Linguagens de Programação; 5ª
edição, Editora Bookman, 2003
ì Bibliografia Complementar:
ì Ascensio, A.F.; Campos, E.A., Fundamentos da Programação de
Computadores, Pearson, 3a edição, 2012.
ì Puga, S., Lógica de programação e estruturas de dados com
aplicações em Java, Pearson PrenAce Hall, 2a edição, 2009.
12
20/02/18
25 /126
IDE e Linguagem
/133
26 /126
ì Exemplos:
ì NetBeans (hyp://netbeans.org/);
ì Eclipse (hyp://www.eclipse.org/);
ì Etc.
13
20/02/18
/133
27 /126
NetBeans
/133
28 /126
Onde Baixar?
NetBeans
https://netbeans.org/
14
20/02/18
/133
29 /126
Importante!!!
30 /126
Hardware e Software
15
20/02/18
/133
31 /126
/133
32 /126
Tipos de Software
ì So)ware de sistema, ou sistema operacional:
ì Windows, Linux, etc.
ì So)ware aplicaMvo:
ì Editores de texto: Word, WordPerfect, etc;
ì Planilhas eletrônicas: Excel, Lotus 123, QuatroPro, etc;
ì Apresentação: PowerPoint, etc;
ì Desenho: PaintBrush, CorelDraw, etc.
16
20/02/18
/133
33 /126
Sistema Operacional
Um Sistema Operacional (SO)
é uma camada de
soJware colocada entre o
hardware e os programas/
aplicaAvos e o usuário. Editor de Texto
Sua função principal é Planilha Eletrônica Jogos
controlar o funcionamento Compiladores
do computador, como um
gerente dos diversos
recursos disponíveis no Sistema Operacional
sistema.
Hardware
/133
34 /126
Sistema Operacional
Sistema Operacional
- Programa para Impressão
Hardware
17
20/02/18
/133
35 /126
Definição de Programa
Programa é uma sequência de instruções (comandos) que, a
parAr de dados inseridos, obtêm um resultado que será
disponibilizado por algum disposiAvo de saída.
Processamento dos
Entrada de comandos de um Saída de
Dados programa Dados
2+5 7
36 /126
Linguagens de programação
são uAlizadas para a
construção de programas em
computadores
36
18
20/02/18
37 /126
Linguagem de Programação
/133
38 /126
Linguagem de Programação
ì Uma linguagem de programação pode ser definida
como:
ì Conjunto limitado de símbolos e comandos,
uAlizados para criar programas;
ì Método padronizado para expressar instruções
para um computador;
ì Por meio dela se estabelece uma comunicação
com o computador, fazendo com que ele
compreenda e execute o que o programador
determinar.
19
20/02/18
/133
39 /126
Linguagem de Programação
ì Uma linguagem de programação pode ser de baixo nível
(linguagem de máquina);
Linguagem Assembler
/133
40 /126
Linguagem de Programação
ì Usam palavras reservadas extraídas do vocabulário
corrente (int, public, if, else, while, ...);
ì O que faz o programa abaixo (em linguagem java) ?
class HelloWorld {
public static void main (String[] args) {
System.out.println (“Alô mundo!”);
}
}
20
20/02/18
/133
41 /126
Linguagem de Programação
ì Os programas escritos em linguagens de alto nível são
converMdos para a linguagem de máquina através de
um programa compilador, ou de um interpretador:
Compilador ou
Linguagem de interpretador Linguagem
Alto Nível de Máquina
/133
42 /126
Linguagem de Programação
ì Para começar:
ì Um dos objetivos específicos da Disciplina:
Aprender e praticar a escrita de PROGRAMAS;
ì Qual é a “cara” de um programa de computador?
21
20/02/18
/133
43 /126
Linguagem de Programação
ì Exemplo: Um programa em JAVA.
/133
44 /126
Linguagem de Programação
ì Um programa tem várias partes:
22
20/02/18
/133
45 /126
Linguagem de Programação
ì Um programa tem várias partes:
Variáveis
/133
46 /126
Linguagem de Programação
ì Um programa tem várias partes:
Entrada de Dados
23
20/02/18
/133
47 /126
Linguagem de Programação
ì Um programa tem várias partes:
Processamento
/133
48 /126
Linguagem de Programação
ì Um programa tem várias partes:
Saída
24
20/02/18
/133
49 /126
Linguagem de Programação
ì Um programa tem várias partes:
Variáveis
Entrada de Dados
Processamento
Saída
50 /126
Aprendendo a Programar
Computadores: Por onde começar?
25
20/02/18
/133
51 /126
/133
52 /126
26
20/02/18
53 /126
Algoritmos
/133
54 /126
Algoritmo - Definição
ì Algoritmo: Uma sequência finita de instruções,
ordenada de forma lógica para a resolução de uma
determinada tarefa ou problema.
27
20/02/18
/133
55 /126
Lógica - Definição
ì No dia-a-dia, entendemos a palavra lógica como:
Razão Ciência
ì Estuda o raciocínio/pensamento humano;
ì Estudo de argumentos:
ì Argumento é uma sequência de enunciados, na qual um
dos enunciados é a conclusão, derivado a parAr dos outros
enunciados premissas.
/133
56 /126
Silogismo - Exemplos
Todo homem é mortal (premissa 1)
Os brasileiros são homens (premissa 2)
Logo, os brasileiros são mortais (conclusão)
28
20/02/18
/133
57 /126
Lógica de Programação
/133
58 /126
Solução de Problemas
ì A habilidade mais importante para um
cienAsta da computação é a solução de
problemas;
ì A solução de problemas é a habilidade de
formular questões, pensar criaAvamente
sobre soluções possíveis e expressar uma
solução de forma clara e precisa;
ì Aprender a programar é uma excelente
oportunidade de praMcar as habilidades da
solução de problemas.
29
20/02/18
/133
59 /126
Solução de Problemas
ì Exemplos de problemas:
ì DiagnosAcar a doença de um paciente que
descreva os seus sintomas, e medicá-lo;
ì Criar um sistema de informação que permita
gerir as entradas/saídas (cargas/descargas) de
navios em um porto maríAmo;
ì Desenvolver um programa para controle da
movimentação de um robô.
60 /126
30
20/02/18
61 /126
/133
62 /126
Algoritmo
Um algoritmo é uma forma de representar a
solução de um problema através de uma
sequência de passos
ì São exemplos de algoritmos:
ì Receitas de bolos;
ì Manuais técnicos;
ì Guias de montagem;
ì Programas de computadores.
31
20/02/18
63 /126
Exemplo de Construção de
Algoritmo
/133
64 /126
Problema
32
20/02/18
/133
65 /126
Passos
/133
66 /126
Algoritmo - Exemplo
33
20/02/18
/133
67 /126
Passos
/133
68 /126
Algoritmo - Exemplo
ì Ingredientes:
ì 5 ovos;
ì 250 gramas de margarina cremosa;
ì 2 xícaras (chá) de açúcar;
ì 1 xícara (chá) de farinha de trigo;
ì 1 xícara (chá) de chocolate;
ì 200 gramas de côco ralado;
ì 1 copo de leite;
ì 1 colher (sopa) de fermento.
34
20/02/18
/133
69 /126
Passos
/133
70 /126
Algoritmo - Exemplo
ì Modo de Preparo:
ì Bata a margarina, as gemas e o açúcar até ficar
cremoso;
ì Junte o leite, o côco e a farinha e continue
batendo;
ì Acrescente o fermento e, por último, as claras
em neve;
ì Junte uma forma com manteiga e leve ao forno
para assar.
35
20/02/18
71 /126
Outro Exemplo
/133
72 /126
36
20/02/18
/133
73 /126
u Subir na escada
/133
74 /126
Algoritmo
ì Pode haver vários algoritmos para
resolver um mesmo problema;
ì Afinal, cada pessoa pensa e age de forma
diferente.
O desenvolvimento CriaAvidade
de algoritmos é
um exercício de
Experiência
37
20/02/18
/133
75 /126
Algoritmo
Diferentes algoritmos podem estar
corretos, se levarem ao alcance do
objeAvo final.
Entretanto, deve-se
procurar desenvolver
algoritmos que resolvam o
problema com menos
esforço e maior
objeMvidade
/133
76 /126
ì Exemplo:
ì Bata (Bater) duas claras em neve;
ì Ligue (Ligar) os faróis;
ì Some (Somar) dois números;
ì Imprima (Imprimir) resultado da soma.
38
20/02/18
/133
77 /126
Algoritmo - Exemplo
ì O que faz o programa a seguir?
Observa a célula da
esquerda e, se ela esAver
pintada de branco, repinta
a célula de preto, voltando
a sua posição
78 /126
39
20/02/18
/133
79 /126
Pseudolinguagem
Formalizar a
Escrita na forma
escrita de
de pseudocódigo
algoritmos
Problema
Pseudolingua Linguagem de Linguagem
gem programação de máquina
se...
Java, C, Zeros e
então... uns...
Pascal, etc
senão...
/133
80 /126
Linguagem de Programação
ì Uma linguagem (natural ou de programação) é
formada por:
ì Sintaxe;
ì SemânAca.
40
20/02/18
/133
81 /126
Frase
Os seguintes países fazem parte do sintaAcamente
Mercosul: Brasil, ArgenAna, correta
Paraguai, Uruguai e Venezuela.
Frase
A cidade de Santo André está sintaAcamente
localizados no estado de SP. incorreta
/133
82 /126
41
20/02/18
/133
83 /126
/133
84 /126
42
20/02/18
/133
85 /126
/133
86 /126
43
20/02/18
/133
87 /126
88 /126
Construção de Algoritmos
44
20/02/18
/133
89 /126
/133
90 /126
45
20/02/18
/133
91 /126
Algoritmo - Exemplo
Escreva um algoritmo para somar dois números quaisquer
1. Leia o número X
2. Leia o número Y
3. Some X e Y
4. Mostre o resultado da soma
Entrada Processamento Saída
Número X Resultado
Somar X e Y
Número Y da soma
/133
92 /126
Compilação
Análise Código
Código
sintáMca Executável
Fonte
e semânMca Zeros e uns...
Estas análises são feitas em todo o código fonte, para depois gerar o
código executável
class HelloWorld
{
public static void main(String[]args)
{
System.out.println(“UFABC”);
}
}
46
20/02/18
93 /126
Exercícios de Algoritmos
/133
94 /126
Exercícios
ì Descreva a sequência de passos necessária
para:
ì Fritar um ovo;
ì Trocar um pneu furado;
ì Colocar um carro em movimento;
ì Jogar o jogo da velha.
47
20/02/18
/133
95 /126
/133
96 /126
Exercício
ì Escreva um algoritmo para fazer uma ligação
telefônica.
48
20/02/18
97 /126
98 /126
Exemplo 01
49
20/02/18
/133
99 /126
Algoritmo – Exemplo 1
IdenMficando a Solução:
ENTRADA, PROCESSAMENTO e SAÍDA
/133
100 /126
Algoritmo – Exemplo 1
[quais os insumos necessários
Qual a ENTRADA de para produzir a saída?]
dados? Memória do Computador
num_1
num_2
num_1 num_2
VARIÁVEIS
50
20/02/18
/133
101 /126
Algoritmo – Exemplo 1
Memória do
Qual o PROCESSAMENTO Computador num_1
necessário?
num_2
soma
num_1 + num_2
Como armazenar o Criar uma nova VARIÁVEL
resultado na MEMÓRIA (soma) para ARMAZENAR
do computador? o resultado
/133
102 /126
Algoritmo – Exemplo 1
[que resultado o algoritmo
dever produzir?]
Qual a SAÍDA? Memória do
Computador
num_1
+
num_2
num_1 num_2
soma
Variável
soma
51
20/02/18
103 /126
Exemplo 02
/133
104 /126
Algoritmo – Exemplo 2
IdenMficando a Solução:
ENTRADA, PROCESSAMENTO e SAÍDA
52
20/02/18
/133
105 /126
Algoritmo – Exemplo 2
Qual a ENTRADA de [quais os insumos necessários para
produzir a saída?]
dados?
Memória do
Computador
num_1
num_1 num_2 num_3 num_2
num_3
106 /126
Memória do
Qual o PROCESSAMENTO Computador
num_1
necessário?
num_2
num_3
num_1
+ num_2
+ num_3
soma
média
média=
média = soma/3 (num_1+num_2+num_3)/3
53
20/02/18
/133
107 /126
Algoritmo – Exemplo 2
[que resultado o algoritmo
dever produzir?]
Qual a SAÍDA?
Memória do
Computador
num_1
num_2
num_3
média
soma
média
108 /126
54
20/02/18
/133
109 /126
Pseudolinguagem - Variáveis
As linguagens de programação permitem que os usuário
atribuam nomes (idenMficadores) para as posições de
memória da máquina
Armário ↔ Memória nome
do computador
idade
As gavetas hora guardam um
conteúdo, hora guardam outro nacionalidade
conteúdo;
Pode-se dizer que os conteúdos profissao
das gavetas podem se alterar no
decorrer do programa.
/133
110 /126
Pseudolinguagem-Variáveis
Uma variável é um endereço da memória nome
RAM, representada por um idenMficador
(nome da variável), criado pelo usuário,
cujo conteúdo pode se alterar no decorrer
da execução do programa.
55
20/02/18
/133
111 /126
Pseudolinguagem-Variáveis
Variável nome nome
112 /126
56
20/02/18
/133
113 /126
114 /126
Processamento - Operadores
Básicos
57
20/02/18
/133
115 /126
Processamento - Operações
ì O processamento de dados geralmente são realizados com o uso de
operadores;
/133
116 /126
58
20/02/18
117 /126
Saída de Dados
/133
118 /126
class Alo{
public static void main(String args[ ])
{
System.out.println(“Alo Mundo!!!!!”);
}
}
Lembre-se! String vem entre aspas!
59
20/02/18
/133
119 /126
Saída de Dados
120 /126
Exemplo 01
60
20/02/18
/133
121 /126
Exemplo 1
/133
122 /126
Exemplo 1
61
20/02/18
123 /126
Exercícios
/133
124 /126
Exercício 1
62
20/02/18
/133
125 /126
Exercício 2
ì Implementar os seguintes cálculos no JAVA:
a b x
xßa+b 5 10 15
y
y ß (a * 4) + b 30
z
zßy/x 2
/133
126 /126
Exercício 3
ì Escreva um algoritmo que:
ì Leia a cotação do dólar;
ì Converta esse valor para Real;
ì Mostre o resultado da conversão.
63