Anda di halaman 1dari 63

20/02/18

/133
1 /126

ì
BC-0505: Processamento da Informação

Aula 01 – Apresentação da Disciplina e


Introdução a Algoritmos Computacionais

Wagner Tanaka Botelho


wagner.tanaka@ufabc.edu.br / wagtanaka@gmail.com
Universidade Federal do ABC (UFABC)
Centro de MatemáAca, Computação e Cognição (CMCC)

/133
2 /126

Contatos

Wagner Tanaka Botelho


wagtanaka@gmail.com / wagner.tanaka@ufabc.edu.br
Sala 804/Bloco B

IMPORTANTE!!!!
Não respondo e-mails pedindo revisão do
conceito final.

Não concorda com a seu conceito? Entre em


contato para conversar pessoalmente.

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

Considerações sobre Aprendizagem

3
20/02/18

/133
7 /126

Considerações sobre Aprendizagem


Como aprender a
programar????

PROGRAMANDO!!!

ì  Nas aulas teóricas são


apresentados os conceitos,
com alguns exemplos;
ì  As aulas teóricas
direcionarão as aAvidades do
estudante nas aulas práAcas.

/133
8 /126

Considerações sobre Aprendizagem


ì  Nas aulas práAcas será considerado que o estudante
treinou conceitos de programação, aprendidos na parte
teórica;

ì  Sendo assim, as aulas de laboratório NÃO têm por


objeAvo treinar conceitos básicos;

ì  O objeAvo é trabalhar de forma integrada com os


conceitos apresentados, e direcionar de forma mais
rápida a aprendizagem do estudante;

ì  Nas aulas práAcas será incenAvado a autonomia e a


independência dos estudantes;

ì  Espera-se iniciaAva e responsabilidade na execução das


tarefa.

4
20/02/18

/133
9 /126

Considerações sobre Aprendizagem


ì  Depoimento de alunos: “Eu entendo a aula teórica,
mas não consigo fazer os programas na aula prá=ca e
nas provas”;

ì  O que está faltando? PRÁTICA!

ì  É o mesmo quando se aprende uma língua


estrangeira: Primeiro você consegue entender o que
as pessoas falam, mas não consegue falar direito;
ì  Portanto, não se iludam: teoria coleAva sem práMca
INDIVIDUAL não funciona mesmo!!!

/133
10 /126

Considerações sobre Aprendizagem


ì  Estar presente nas aulas e atento ao material apresentado;

ì  Fazer os exercícios em aula e em casa;

ì  Consultar os monitores;

ì  Procurar entender, refleAr e quesAonar;

ì  Resumir o material em casa a parAr das anotações e slides;

ì  Associar o conteúdo com sua própria experiência;

ì  Associar com o conteúdo das aulas anteriores;

ì  Consultar as referências bibliográficas da próxima aula.

5
20/02/18

11 /126

PraMcar o desenvolvimento
dos algoritmos no “PAPEL”.

Sempre Mrar as dúvidas com


o monitor ou comigo!!!!!

12 /126

Conteúdo da Disciplina

6
20/02/18

13 /126

/133
14 /126

Material das Aulas no Tidia


ì  Material das aulas e informações sobre a disciplina:

h\p://Mdia4.ufabc.edu.br

ì  Ambiente da turma:

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

Composição do Conceito Final


ì  Teoria:
ì  Duas provas: F em teoria ou em
práAca o aluno está
ì  1º prova (40%) è 21/03/2018;
a u t o m a A c a m e n t e
ì  2º prova (60%) è 25/04/2018. REPROVADO.
ì  Prova subsMtuMva è 02/05/2018;
ì  Prova de recuperação è 09/05/2018;
ì  Exercícios em Sala de Aula poderão ser um “bônus”.

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

ì  O aluno pode decidir se entrega ou não a prova:


ì  Se entregar, a nota da prova será subsAtuída;
ì  Se resolver não entregar, o conceito final não muda.

ì  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;

ì  Estarão habilitados para a avaliação de recuperação os alunos que:


ì  ObAverem conceitos finais D e F, de acordo com a Resolução CONSEPE
n0. 182, de 23 de Outubro de 2014.

ì  O aluno que realizar a avaliação de recuperação poderá subir


somente um nível em seu conceito ao final do curso:
ì  Conceito D para C;
ì  Conceito F para D ou C.

ì  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

Qualquer alteração vocês serão


avisados!!!!!

/133
22 /126

Conversão Nota -> Conceito

A: nota >= 9.0


B: 7.5 <= nota < 9.0
C: 6.0 <= nota < 7.5
D: 5.0 <= nota < 6.0
F: nota < 5.0

11
20/02/18

/133
23 /126

Composição do Conceito Final


Nota Teoria Nota Prática Conceito
A A A
  B A F em TEORIA ou
  C B em PRÁTICA o
  D B
B A B
aluno está
  B B automaAcamente
  C B REPROVADO.
  D C
C A B
  B C
  C C
  D C
D A C
  B C
  C D
  D D

/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

Ambientes Integrados de Desenvolvimento


ì  Os programas em geral são desenvolvidos com a ajuda dos
chamados Ambientes Integrados de Desenvolvimento, ou
simplesmente IDE (Integrated Development Environment);
ì  Fornecem recursos importantes para auxiliar e facilitar o
trabalho do programador:
ì  IdenAficação de palavras reservadas;
ì  IdenAficação de erros de sintaxe, depuração e compilação.

ì  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!!!

A linguagem uMlizada na TEORIA


será JAVA!!!

30 /126

Hardware e Software

15
20/02/18

/133
31 /126

Hardware Versus Software


Hardware está associado à parte
{sica do sistema (os circuitos e
disposiAvos) que suporta o
processamento da informação.

So)ware corresponde ao conjunto de


programas responsáveis pelo
controle do sistema para a execução
das tarefas consideradas.

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

ì  Soowares específicos podem ser construídos:


ì  Folha de Pagamento, Sistemas de Vendas, Sistema Acadêmico,
etc.
SOFTWARES ßà PROGRAMAS DE COMPUTADOR

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

Editor de Texto - Word

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

Como soJwares e/ou


programas são construídos?

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

ì  Linguagens de alto nível apresentam uma “sintaxe” mais


próxima da linguagem natural (humana).

/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

Aprendendo a Programar Computadores


ì  O principal componente de um programa de
computador é a sua “LÓGICA”, ou seja, o que o
“computador deve fazer” para resolver um problema;
ì  Assim, é mais fácil aprender a programar (organizar a
lógica) numa linguagem de “alto nível”;
ì  Qual é a linguagem de mais alto nível para um ser
humano que fala naturalmente o Português?

/133
52 /126

Aprendendo a Programar Computadores


ì  Parece mais simples dar os primeiros passos na
arte de programar computadores, numa
linguagem mais próxima da “linguagem natural”;
ì  Assim, o caminho que parece mais tranquilo é
através de ALGORITMOS.

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.

Um algoritmo fixa um padrão de


comportamento a ser seguido, uma
norma de execução, com o objeAvo de
resolver um determinado problema

27
20/02/18

/133
55 /126

Lógica - Definição
ì  No dia-a-dia, entendemos a palavra lógica como:

Algo que é coerente, óbvio, correto

Lógica ⇒ Logos + Ica

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)

Raciocínio certo, baseado em premissas corretas

Todo cavalo voa (premissa 1)


Os cavalos têm asa (premissa 2)
Logo, os cavalos voam (conclusão)

Raciocínio certo, mas baseado em premissas falsas

28
20/02/18

/133
57 /126

Lógica de Programação

Como pensar como


programadores??
ì  Lógica de programação está relacionada ao
raciocínio que precisamos desenvolver para
resolver um problema cuja solução deverá ser
implementada em um computador;
ì  Encadear pensamentos para aAngir
determinado objeAvo.

/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

Fazer um bolo de chocolate.

32
20/02/18

/133
65 /126

Passos

Qual o resultado esperado?

/133
66 /126

Algoritmo - Exemplo

33
20/02/18

/133
67 /126

Passos

O que é preciso (ingredientes)


para se obter o resultado
desejado?

/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

Qual a sequência necessária (de


uso dos ingredientes) para se
obter o resultado desejado?

/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

Um Algoritmo para Realizar a Troca de


uma Lâmpada
•  Pegar uma escada
•  Posicionar a escada embaixo da
lâmpada
•  Buscar uma lâmpada nova
•  Subir na escada
•  Retirar a lâmpada velha
•  Colocar a lâmpada nova

36
20/02/18

/133
73 /126

Um Algoritmo para Realizar a Troca de


uma Lâmpada
1.  Acionar o interruptor
2.  Se a lâmpada não acender, então
u  Pegar uma escada

u  Posicionar a escada embaixo da lâmpada

u  Buscar uma lâmpada nova

u  Subir na escada

u  Retirar a lâmpada queimada

u  Colocar a lâmpada nova

/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

Algoritmo – Instruções / Comandos


Para escrever ALGORITMOS (programas) é necessário o
uso de INSTRUÇÕES / COMANDOS
ì  Instrução/Comando: São frases que indicam as ações a
serem executadas. São compostas de um verbo no
imperaAvo, ou no infiniAvo, mais um complemento.

ì  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

Forma de Escrita de Algoritmos

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

Linguagem de Programação - Sintaxe


ì  Sintaxe determina regras de como se escreve de forma
correta uma linguagem (regras de escrita).

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

Linguagem de Programação - Sintaxe


Considere os comandos para a criação e declaração de uma
variável, em JAVA:
Int idade; Erro sintático: Int
int idade Erro sintático: Falta ;
Considere o comando para a atribuição de valor à uma
variável, em Java:
idade := 10; Erro: :=
idade = 10 Erro: Falta ;
Estes comandos estão sintaAcamente incorretos,
na linguagem de programação JAVA

41
20/02/18

/133
83 /126

Linguagem de Programação - Sintaxe


ì  Durante o início do aprendizado de uma linguagem de
programação, é natural demorar muito tempo
procurando erros de sintaxe;
ì  Conforme o programador ganhar experiência,
entretanto, cometerá menos erros e os encontrará
mais rapidamente.

/133
84 /126

Linguagem de Programação - Semântica

Considere os comandos, em Java:


int idade;
Comandos sintáAca e
idade = 10;
semanAcamente
corretos
Considere os comandos, em Java:
int idade;
idade = 10.7; Comando de atribuição
semanAcamente
incorreto

42
20/02/18

/133
85 /126

Linguagem de Programação - Semântica


ì  Há erros de semânAca relacionados ao raciocínio/
lógica do programa;
ì  Para este Apo de erro, o programa vai executar com
sucesso, no senAdo de que o computador NÃO irá
gerar quaisquer mensagens de erro;
ì  Mas ele NÃO fará a coisa certa. Fará exatamente o
que o programador mandar.

/133
86 /126

Linguagem de Programação - Semântica


ì  A sequência de instruções importa?
ì  A ordem em que uma sequência de instruções é
executada pode alterar o resultado obAdo:
ì  Por exemplo:
ì  Quando você pede a refeição na lanchonete, você
não espera que o garçom traga a sobremesa antes
do lanche;
ì  Antes de executar a ação de vesAr seu calçado,
primeiro você executa a ação de vesAr a meia.

43
20/02/18

/133
87 /126

Linguagem de Programação - Semântica


ì  A sequência de instruções importa?
ì  Nem sempre a ordem das instruções importa:
ì  Se desejamos calcular o resultado da expressão 1 + 1 −
2, podemos calcular primeiramente 1 + 1 e então
subtrair 2 do resultado;
ì  Mas também podemos calcular 1−2 em primeiro lugar
e só então somar 1 ao resultado.
ì  O resultado será o mesmo neste caso, não importa a
ordem das operações.
ì  Entretanto, as expressões (1 + 1) × 2 e 1 + (1 × 2), na qual
apenas os parênteses foram modificados, não são
equivalentes, já que (1+1)×2=4 e 1+(1×2)=3.

88 /126

Construção de Algoritmos

44
20/02/18

/133
89 /126

Algoritmo – Passos para Construção


ì  IdenAficar o problema (objeAvo) mediante leitura
atenta de seu enunciado (entendimento);
ì  IdenAficar no enunciado os dados a
serem fornecidos para o algoritmo (entrada de
dados);
ì  IdenAficar os resultados que devem ser gerados na
solução (saída de dados);
ì  Determinar o que deve ser feito para transformar as
entradas nas saídas desejadas (processamento).

/133
90 /126

Algoritmo – Passos para Construção

O que Como chegar ao O que


preciso? que quero quero?
(Entrada)‫ ‏‬ (Processamento)‫ ‏‬ (Saída)‫ ‏‬

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

Algoritmo Exemplo – Fritar um Ovo


1.  Pegue a frigideira, ovo, óleo e sal
2.  Coloque o óleo na frigideira
3.  Acenda o fogo
4.  Coloque a frigideira no fogo
5.  Espere o óleo esquentar
6.  Quebre o ovo
7.  Despeje o ovo no óleo quente
8.  Coloque o sal
9.  ReAre quando esAver pronto
10.  Desligue o fogo

/133
96 /126

Exercício
ì  Escreva um algoritmo para fazer uma ligação
telefônica.

48
20/02/18

97 /126

Algoritmos Computacionais - Passos

98 /126

Exemplo 01

49
20/02/18

/133
99 /126

Algoritmo – Exemplo 1

Calcular a soma de DOIS números?

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

Calcular a MÉDIA aritméMca a


parMr de 3 NOTAS?

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

soma = num_1 + num_2 + num_3

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

(Declaração de Variáveis - Reserva de


Memória

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.

ì  Uma variável é composta por dois elementos:


ì  IdenMficador: nome dado pelo programador à
variável;
ì  Conteúdo: valor atual da variável.

55
20/02/18

/133
111 /126

Pseudolinguagem-Variáveis
Variável nome nome

conteúdo Maria Carla idade

Variável idade nacionalidade


conteúdo 17
profissao
Variável nacionalidade
conteúdo brasileira
Uma variável assume
Variável profissao
apenas UM valor por vez
conteúdo estudante

112 /126

56
20/02/18

/133
113 /126

Entrada de Dados – Declarando Variáveis


ì  Ao declarar uma variável é necessário informar ao computador que
Mpo de dado aquela “gaveta” pode armazenar;

ì  Os Apos de dados básicos são:


ì  Inteiro (int);
ì  Real (double);
ì  Cadeia (String);
ì  Caracter (char).

ì  Forma geral: <tipo_de_dado> <variável>;


ì  Exemplos:
ì  int idade;
ì  double nota1, nota2, nota3;

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;

ì  Os símbolos dos operadores aritméMcos são:


ì  adição è +
ì  subtração è -
ì  mulAplicação è *
ì  divisão è /

ì  Um operador importante é o de operador de atribuição que


possibilita armazenar “valores” e “resultados” nas variáveis;

ì  O símbolo do operador de atribuição é “=“


ì  Dependendo da linguagem de programação uAliza-se outro
símbolo.

/133
116 /126

Processamento: Portugol Studio

58
20/02/18

117 /126

Saída de Dados

/133
118 /126

Comando de Saída de Dados


ì  EXIBE UMA MENSAGEM OU RESULTADO PARA O
USUÁRIO NA TELA DO COMPUTADOR.
ì  A instrução para saída de dados em “JAVA”é:

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

Calcular a soma de DOIS


números (5+2)?

/133
122 /126

Exemplo 1

61
20/02/18

123 /126

Exercícios

/133
124 /126

Exercício 1

Calcular a MÉDIA aritméMca a


parMr de 3 NOTAS?

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

Anda mungkin juga menyukai