1. 1
Introdução à ProgramaçãoIntrodução à Programação
Técnicas de Programação 1
ALG
2/26
Computador
Máquina que tem como função básica o
armazenamento e processamento da informação;
Constitui-se de hardware e de software.
3/26
Hardware e Software
Hardware: Conjunto de circuitos e dispositivos
utilizados no processamento de dados;
Software: Programas que são executados pelo
hardware.
4/26
Estrutura básica de um computador
Dispositivos
Entrada
Dispositivos
Saída
Memória
Secundária
CPU
Memória
RAM
5/26
Estrutura básica do computador
CPU: Unidade central de processamento, circuito capaz de
executar instruções armazenadas na memória e de enviar e
receber dados de outros dispositivos;
Dispositivos de entrada: Permitem a entrada de dados no
computador;
Dispositivos de saída: fornecem ao usuário acesso aos dados;
Memória secundária: Armazena os dados e programas para uso
posterior.
Memória RAM: Memória volátil de leitura e escrita, armazena
tanto os dados quanto os softwares em uso.
6/26
Software
Conjunto de instruções que diz ao computador o que
fazer.
As instruções são escritas em uma forma organizada
e seqüencialmente lógica.
2. 2
7/26
Software
Categorias de software
Sistema operacional: controla e coordena o hardware (Ex.
Win95).
Tradutores: compiladores, interpretadores e montadores.
Aplicativos: personalizados ou pacotes (ex. Word, Excel).
Hardware
Software
Aplicativo
INTERFACE
Sistema Operacional
Tradutores
8/26
Construindo Software
Linguagem de programação
Idioma no qual as instruções são escritas
Estrutura de dados
Maneira pelo qual os dados são armazenados e regras de
manipulação destes dados.
PROGRAMPROGRAMPROGRAMPROGRAM Soma;
VARVARVARVAR X: integer;
BEGINBEGINBEGINBEGIN
X := 2+2;
WRITEWRITEWRITEWRITE (‘Soma =‘, X)
ENDENDENDEND.
Computador Soma = 4
X Soma
Vetores, Matriz, Registros, etc.2 4
9/26
O que é programação?
Programar é a atividade de comunicar
algoritmos aos computadores
10/26
Algoritmos
Seqüência ordenada e não ambígua de passos que
levam a solução de dado problema
SoluçãoProblema Algoritmo
11/26
Exemplos de algoritmos
Roteiro de um filme
Manual de instruções de
um eletrodoméstico
Receita de bolo
12/26
Exemplo de Algoritmo
Sacar dinheiro de um caixa eletrônico
1. Passar o cartão do banco no leitor;
2. Digitar senha da conta-corrente;
3. No menu que vai aparecer, escolher a opção “Retirada”;
4. Digitar o valor desejada e apertar a tecla “Entra”;
5. Confirmar o saque e apertar a tecla “Entra”;
6. Ficar esperando em frente ao caixa até a saída do dinheiro;
7. Retirar o dinheiro.
3. 3
13/26
Algoritmos
Propriedades dos algoritmos
Possuir ações simples e bem definidas (não ambíguas);
Possuir seqüência ordenada;
Possuir seqüência finita de passos;
Possuir fim (todas as ações devem ser executadas em um
tempo finito);
Pode receber entradas externas;
Pode fornecer saídas externas.
14/26
Algoritmos
Exemplo de um algoritmo
Problema: Temos três hastes. Uma das hastes serve de suporte
para três discos de tamanhos diferentes. Os discos menores são
sempre colocados sobre os discos maiores. Desejamos mover
todos os discos para a outra haste, porém só podemos
movimentar um disco de cada vez e um disco maior nunca pode
ser colocado sobre um disco menor.
15/26
Algoritmos
Solução: Nomeamos as hastes como 1, 2 e 3 e os
discos como p, m e g.
1. Move p para haste 3;
2. Move m para haste 2;
3. Move p para haste 2;
4. Move g para haste 3;
5. Move p para haste 1;
6. Move m para haste 3;
7. Move p para haste 3.
16/26
Exercício algoritmo
Problema: Um homem precisa atravessar um rio com um barco
que possui capacidade apenas para carregar ele mesmo e mais
uma de suas três cargas, que são: um lobo, um bode e um
maço de alfafa. Como este homem deve proceder para levar
suas cargas de uma margem a outra do rio sem perder
nenhuma de suas três cargas?
17/26
Algoritmos
Solução:
1. Levar o homem e o bode para a margem B;
2. Trazer de volta o homem para a margem A;
3. Levar o homem e o lobo para a margem B;
4. Trazer de volta o homem e o bode para a margem A;
5. Levar o homem e a alfafa para a margem B;
6. Trazer de volta o homem para a margem A;
7. Levar o homem e o bode para a margem B.
18/26
Redefinindo programação
É a seqüência de planejamento, projeto, escrita e testes
de instruções que serão executadas pelo computador.
Complexidade do problema é um desafio:
Todas as situações diferentes que um problema pode
apresentar devem ser previstas na sua solução.
4. 4
19/26
Programação
Dividindo programação em duas fases
Problema:
Automatizar
A
Biblioteca
Definição do
Problema
Análise do
Problema
1. Incluir livro
2. Incluir Aluno
Codificação
Programas
Testes e
Depuração
Sistema
Problema
Algoritmo
20/26
Algoritmos
Diretrizes para construção de algoritmos
Identificação do problema;
Identificação das “entradas de dados”;
Identificação das “saídas de dados”;
Identificação de regras do problema e limitações do agente;
Determinar o que fazer para transformar as “entradas” em
“saídas”;
Obedecer regras e limitações;
Determinar ações possíveis de serem realizadas.
Construção do algoritmo;
Teste de solução.
21/26
Algoritmos
Vantagens do uso de algoritmos
Estruturação dos programas.
Permite que erros sejam detectados antes da codificação.
Facilita futuras manutenções do código.
Permite maior compreensão do problema.
22/26
Algoritmos
Exemplo:
Imagine o seguinte problema: Calcular a média final dos alunos da 6ª Série.
Os alunos realizarão duas provas: P1, P2.
Para montar o algoritmo proposto, faremos três perguntas:
a) Quais são os dados de entrada?
R: Os dados de entrada são P1 e P2.
b) Qual será o processamento a ser utilizado?
R: O procedimento será somar todos os dados de entrada e dividi-los por 2
(dois)
(P1 + P2)/2
c) Quais serão os dados de saída?
R: O dado de saída será a média final
23/26
Algoritmos
Descrição de algoritmos
Narrativa
Descreve o algoritmo em linguagem natural
Desvantagens: Linguagem natural é prolixa, imprecisa,
ambígua. Ex: O pregador(?) foi grampeado(?).
Ex:
1. Receba a nota da prova1;
2. Receba a nota da prova2;
3. Some as notas e divida o resultado por 2;
6. Mostre o resultado da divisão;
24/26
Algoritmos
Descrição de algoritmos
(cont.)
Fluxograma
Apresenta, de forma
gráfica, a lógica de um
algoritmo
Desvantagens:
Obscurecem estruturas
dos programas. Vem
caindo em desuso com o
tempo.
Ex: Início
P1, P2
Média =
(P1 + P2) / 2
Média
Fim
5. 5
25/26
Fluxograma
O uso de Fluxograma (símbolos) é uma alternativa
simples e concisa de representar os dados
Início/Fim
Seqüencia
Processamento
Decisão
Conector
Entrada/Saída
Saída Vídeo
Saída Impress
Saída Disco
Saída Vídeo
Entrada Teclado
Início/Fim
Seqüencia
Processamento
Decisão
Conector
Entrada/Saída
Saída Vídeo
Saída Impress
Saída Disco
Saída Vídeo
Entrada Teclado
26/26
Algoritmos
Descrição de algoritmos
(cont.)
Linguagem algorítmica /
pseudocódigo / Português
estruturado
“Linguagem simplificada
de programação”
Expressões concisas e
pré-definidas
Palavras-chaves,
indentação, um passo por
linha.
Ex:
media : Inteiro;
Inicio
leia(P1);
leia(P2);
media (P1 + P2) / 2;
escreva(media);
Fim