Вы находитесь на странице: 1из 19

Programação I

UNICAP

Eduardo Araújo Oliveira


http://sites.google.com/site/eaoufpe

slide 1

Introdução

“Programação é a arte de fazer com que o


computador faça exatamente o que
desejamos que ele faça”.

slide 2

1
Algoritmos

Conceito de algoritmo
– Conjunto de passos que definem a forma como uma tarefa é executada
• Passos ordenados, não ambíguos e executáveis
• Atividade finita
• “Um conjunto finito de regras que provê uma sequencia de operações
para resolver um tipo de problema específico, em um tempo
determinado” (Knuth, 1997).
– Exemplos
• Instruções para utilização de caixas bancários
• Procedimentos para cálculo com operações fundamentais da aritmética
• Instruções para matrícula na universidade
• ...

IMPORTANTE ENTENDER A SEQUÊNCIA LÓGICA

slide 3

Algoritmos

Lógica de Programação
– é a técnica de encadear pensamentos para atingir
determinado objetivo.

Seqüência Lógica
– são passos executados até atingir um objetivo ou
solução de um problema.

Instruções
– são um conjunto de regras ou normas definidas para a
realização de algo.

slide 4

2
Algoritmos

EXEMPLO: para “fazer omelete”


– Instruções: “quebrar ovos”, “bater ovos”, “pôr sal”, “ligar
fogão”, “pôr óleo na frigideira”, “pôr frigideira no fogo”, “fritar
ovos batidos”, etc...

Quanto às instruções isoladas:


– Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não é
suficiente para cumprir a tarefa “fazer omelete”.

Quanto à seqüência lógica:


– Se executarmos “fritar ovos batidos” antes de “bater ovos”, ou
pior, antes de “quebrar ovos”, não iremos cumprir a tarefa
“fazer omelete”.

slide 5

Algoritmos

Exemplo:

1º - Pegar um pão
2º - Cortar o pão ao meio
3º - Pegar a maionese
4º - Passar maionese nas fatias de pão
5º - Pegar alface e tomate
6º - Cortar alface e tomate
7º - Colocar alface e tomate no pão
8º - Pegar um hambúrguer
9º - Fritar o hambúrguer
10º - Colocar o hambúrguer no pão
11º - Juntar as fatias do pão cortado

slide 6

3
Algoritmos

slide 7

Algoritmos

1. Receita de Bolo;
2. Trocar uma lâmpada;
3. Jogar Xadrez;

Tudo pode virar algoritmo?

slide 8

4
Algoritmos

Mais exemplos:

• Sequência: 2, 4, 6, 8, ...

• Sequência: 1 1 2 3 5 8 13 ...

• Sequência: 1 3 7 46 51 857 9 ...

slide 9

Algoritmos

Características próprias que o distinguem de um simples


conjunto de ações:

• Um algoritmo sempre termina.

• As instruções do algoritmo devem estar em uma seqüência lógica.

• Cada ação é descrita precisamente e sem ambigüidades

• Um algoritmo sempre produz um ou mais resultados (saídas),


podendo não exigir dados de entrada.

slide 10

5
Algoritmos

Geralmente, um problema possui algumas


alternativas de soluções que chegam ao resultado
correto, podendo existir vários algoritmos que
solucionem um determinado problema.

slide 11

“E aí? Por onde começo?

slide 12

6
Algoritmos

Fases básicas da construção de algoritmos

ENTRADA PROCESSAMENTO SAÍDA

slide 13

Algoritmos

slide 14

7
Entendendo melhor as fases...
• ENTRADA – o que você identificou que vai precisar que
o usuário ou alguém lhe informe? (via teclado, leitor de
código de barras ou mouse). Ou seja, os valores de trabalho
do algoritmo, o que precisa ser perguntado ao usuário.
Normalmente, na descrição dos problemas elas aparecem,
mais ou menos, assim:

• “Escreva um programa que recebe 2 notas de aluno e calcula a média


aritmética delas.”
• “Escreva um algoritmo para ler o preço e a quantidade de um produto e
calcula o preço a pagar pelo mesmo.”
• “Escreva um algoritmo para calcular o salário líquido de um funcionário, a
partir do número de horas trabalhadas e da quantidade de dependentes.
Sabe-se que o valor da hora é de 12 reais, que se recebe 40 reais por cada
dependente e que é descontado um total de imposto de 12% do valor do
salário bruto (salário sem descontos)”.

slide 15

Entendendo melhor as fases...


• PROCESSAMENTO - que tipo de cálculos serão
necessários para resolver o problema? Há alguma
checagem a ser feita com os dados? Existe alguma decisão a
ser tomada dentro do algoritmo? Existem operações de
processamento que precisarão ser realizadas mais de uma
vez? Ou seja, o que é preciso fazer para que o algoritmo gere
as saídas esperadas?

slide 16

8
Entendendo melhor as fases...
• SAÍDA – quais os resultados que necessitarão ser
apresentados aos usuários? O que deve ser impresso pelo
algoritmo na tela/monitor do computador? Geralmente, essa
parte vem expressa no enunciado do problema, é o que o
problema ta pedindo.

slide 17

Algoritmos

Unidade de Entrada
– Conjunto de componentes que podem ser
conectados ao computador para permitir a
comunicação com o mundo real para coleta de
dados relevantes aos problemas que o mesmo
possa estar inserido;
– Teclado, Mouse, Leitor de Código de Barras, etc...

Unidade de Saída
– componentes eletrônicos que podem ser
conectados ao computador para permitir a
comunicação dele com o mundo real.
– Impressora, Monitor, etc...

slide 18

9
Algoritmos

Processamento
– Procedimentos utilizados para chegar ao resultado final. Componente eletrônico
que executa a instrução corrente e determina qual a próxima instrução a ser
executada, sendo também chamado de CPU (Central Processing Unit) ou UCP
(Unidade Central de Processamento);

slide 19

Algoritmos

Memória Principal
– Ram, usadas em processamento. Dispositivo que consisti em uma seqüência
finita de unidades de armazenamento identificadas por um endereço único,
descrito por um número inteiro não negativo e responsável pelo armazenamento
de programas e dados que serão manipulados pelo computador;

Memória Secundária
– HD

slide 20

10
Algoritmos – Organizando as idéias...

1º - empenhar grande atenção sobre os dados relacionados ao problema, procurando


conhecer e compreender o máximo sobre ele;

2º - definir os dados que essencialmente deverão ser informados pelo usuário para que
o processamento seja realizado com sucesso (dados de entrada);

3º - descrever detalhadamente o processamento ou a transformação a ser executada


sobre os dados de entrada em busca dos resultados desejados (como chegar no
objetivo);

4º - definir quais são os dados resultantes do processamento ou transformação (dados


de saída);

5º - construir o algoritmo que represente a solução encontrada com o detalhamento


necessário a implementação almejada;

6º - testar o algoritmo por meio de simulações e efetuar as devidas correções que


possam vir a ser necessárias na lógica proposta.

slide 21

Representação de Algoritmos

slide 22

11
Representação de Algoritmos

• Descrição Narrativa

• Fluxograma

• Linguagem Algorítmica ou Pseudocódigo

slide 23

Representação de Algoritmos – Descrição Narrativa

slide 24

12
Representação de Algoritmos – Descrição Narrativa

slide 25

Representação de Algoritmos – Fluxograma

slide 26

13
Representação de Algoritmos – Pseudocódigo

slide 27

Conceitos básicos sobre linguagens

slide 28

14
Lógica

• Lógica

slide 29

Lógica de Programação

slide 30

15
Programa

slide 31

Conceitos Básicos sobre Linguagens

• Linguagens de programação

– Conjunto finito de palavras, comandos e instruções


escritos com o objetivo de orientar a realização de uma
tarefa pelo computador.

– Java, C, C++, Pascal, Delphi, C#, etc...

– Linguagem Alto nível x Linguagem Baixo nível


• ALTO: Próximas da linguagem natural do homem
• BAIXO: Linguagem de máquina (11001100 ...)

slide 32

16
Linguagens

slide 33

Conceitos Básicos sobre Linguagens

• Linguagens de programação

– Compiladas

– Interpretadas

slide 34

17
Conceitos Básicos sobre Linguagens

• Linguagens de programação

– Compiladas

slide 35

Conceitos Básicos sobre Linguagens

• Linguagens de programação

– Interpretadas

slide 36

18
Linguagens

Nível Baixo Nível Médio Nível Alto

Velocidade Clareza

Assembler C Basic Pascal


COBOL Java

slide 37

Programação I

UNICAP

Eduardo Araújo Oliveira


http://sites.google.com/site/eaoufpe

slide 38

19

Вам также может понравиться