I
NTRODUÇÃOÀ
P
ROGRAMAÇÃOI
Introdução
Prof. Péricles Miranda
periclesmiranda@gmail.com
Universidade Federal Rural de Pernambuco
Departamento de Esta7s8ca e Informá8ca
Slides do Prof. Robson
Edited with the trial version of Foxit Advanced PDF Editor To remove this notice, visit:
• O computador
1
• Algoritmo
2
• Programa de Computador
3
•
Segundo o dicionário Aulete:
– Aparelho eletrônico que funciona a par8r de
princípios matemáEcos e pode ser programado
para desempenhar tarefas variadas, como armazenar, buscar, processar, classificar, organizar, formatar e apresentar dados, inclusive impressos.
•
Máquina composta por uma série de
componentes e
circuitos eletrônicos
, capaz de
receber
,
armazenar
,
processar
e
transmiEr
informações
•
Máquina implementada para
processar dados
ao comando de um usuário
, gerando
informações de seu interesse
O que é um computador?
Processamento de Dados
•
A
principal finalidade do computador
é
realizar a tarefa de processamento:
Dados Processamento Informação
Sequência de passos
Conjunto de instruções
Algoritmo
• “Algoritmo é uma sequência de passos que visa
a:ngir um obje:vo bem definido” (FORBELLONE, 1999);
• “Algoritmo é uma sequência finita de instruções ou
operações cuja execução, em tempo finito, resolve um problema computacional, qualquer que seja sua
Algoritmo
•
Exemplo 1: (
Somar três números
)
– Passo 1: Receber os três números; – Passo 2: Somar os três números;Algoritmo
• Exemplo 2: (Trocar uma lâmpada)
– Passo 1: Pegar uma escada;
– Passo 2: Posicionar a escada embaixo da lâmpada queimada;
– Passo 3: Pegar uma lâmpada nova;
– Passo 4: Subir na escada com a lâmpada nova na mão; – Passo 5: Re8rar a lâmpada queimada;
– Passo 6: Colocar a lâmpada nova; – Passo 7: Descer da escada;
– Passo 8: Testar o interruptor; – Passo 9: Guardar a escada;
– Passo 10: Colocar a lâmpada velha no lixo apropriado, para reciclagem.
Algoritmo
•
Vocês poderiam dar mais algum exemplo de
algoritmo?
Algoritmo
•
Um algoritmo é um “caminho” para a solução de
um problema e, em geral, existem muitos
caminhos que levam a uma solução sa8sfatória.
Problema
Método para a construção de
Algoritmos
a) Ler atentamente o enunciado, destacando os
pontos mais importantes;
b) Definir os dados de entrada;
c) Definir o processamento, ou seja, quais
cálculos serão efetuados e quais as restrições
para esse cálculo;
d) Definir os dados de saída;
e) Construir o algoritmo (iremos ver a seguir);
f) Testar o algoritmo realizando simulações.
Tipos de Representação de
Algoritmos
•
Os mais u8lizados são:
– Descrição narra8va;– Fluxograma;
Descrição Narra8va
•
Descreve o algoritmo u8lizando uma
linguagem natural (por exemplo, a língua
portuguesa)
•
Vantagem:
– Não é preciso aprender nenhum conceito novo.
•
Desvantagem:
– Dificuldade de transcrever o algoritmo para programa.
Descrição Narra8va
• Exemplo: Algoritmo para calcular o novo salário de um funcionário. Sabendo-‐se que os funcionários que possuem salário atual até R$600,00 terão aumento de 20% e os demais terão aumento de 10%.
– Passo 1: Receber o salário atual do funcionário; – Passo 2: Se o salário atual do funcionário for até R
$600,00, calcular o novo salário com percentual de aumento de 20%; caso contrário, calcular o novo salário com percentual de aumento de 10%;
Fluxograma
•
U8liza símbolos gráficos para representar o
algoritmo
•
Vantagem:
– O entendimento de elementos gráficos é mais fácil que o entendimento de texto.
•
Desvantagem:
– O algoritmo resultante do fluxograma não
apresenta muitos detalhes, dificultando a sua transcrição para um programa.
Fluxograma
•
Elementos gráficos
Elemento gráfico Descrição
Símbolo u8lizado para indicar o início e fim do algoritmo. Indica o senEdo do fluxo de dados. Serve exclusivamente para conectar os símbolos ou blocos existentes.
Símbolo u8lizado para indicar cálculos e atribuições de valores.
Símbolo u8lizado para representar a entrada de dados. Símbolo u8lizado para representar a saída de dados.
Símbolo que indica que deve ser tomada uma decisão, indicando a possibilidade de desvio.
Fluxograma
•
Exemplo: Algoritmo para calcular o novo salário
de um funcionário. Sabendo-‐se que os
funcionários que possuem salário atual até R
$600,00 terão aumento de 20% e os demais
terão aumento de 10%.
Fluxograma
•
Resposta:
INÍCIO SAL_ATUAL SAL_ATUAL ≤ 600 NOVO_SAL =SAL_ATUAL * 1,20 SAL_ATUAL * 1,10 NOVO_SAL =
NOVO_SAL
FIM
Pseudocódigo ou Portugol
•
Consiste em escrever, por meio de regras
predefinidas, os passos a serem seguidos
para a resolução do problema
•
Vantagem:
– A passagem do algoritmo para uma linguagem de programação é quase imediata.
•
Desvantagem:
– É necessário aprender as regras do pseudocódigo.
Pseudocódigo ou Portugol
• Exemplo: Algoritmo para calcular o novo salário de
um funcionário. Sabendo-‐se que os funcionários que possuem salário atual até R$600,00 terão aumento de 20% e os demais terão aumento de 10%.
ALGORITMO
DECLARE SAL_ATUAL, NOVO_SAL NUMÉRICO ESCREVA “Digite o salário atual do funcionário” LEIA SAL_ATUAL
SE SAL_ATUAL ≤ 600
ENTÃO NOVO_SAL SAL_ATUAL * 1,20 SENÃO NOVO_SAL SAL_ATUAL * 1,1 ESCREVA “Novo salário = “, NOVO_SAL FIM_ALGORITMO
Programação de computadores
•
Programação consiste no ato de indicar como
o computador (hardware) deve trabalhar ou
realizar serviços, como por exemplo:
– Enviar mensagens eletrônicas, armazenar e recuperar dados, realizar exames e cirurgias, jogar e muito outras coisas
•
Podemos definir como uma série de
instruções que indicam como o computador
irá realizar os serviços
•
De acordo com um determinado propósito, e
os dados de entrada fornecidos, orienta o
trabalho do computador para a obtenção da
infomação relacionada.
Algoritmo x Programa
•
Algoritmo: independe de computador e
linguagens de programação
•
Programa: implementação de um algoritmo
em determinada linguagem de programação
Linguagem de Programação
•
O computador possui sua linguagem
•
Uma linguagem pode ser traduzida para outra
01011010 10010001 01110010 01011010 10011001 01110010 a = 3 * 2; b = a * a;
Linguagem de Programação
• Linguagem de máquina
– 01010010111010011010
• Linguagem montadora (assembly)
– Ainda são bem ilegíveis e estão muito próximos da linguagem de máquina, mas já permite uma leitura rudimentar por nós humanos
• Linguagem de programação de alto nível
– Está mais próximo de nós humanos do que do código de máquina, mas para isso exige que tenhamos um bom nível de abstração
Sintaxe e Semân8ca
•
Sintaxe:
– Conjunto de regras que estabelece como
palavras e símbolos podem ser agrupados de maneira a formar instruções válidas de um programa
•
Semân8ca:
– Define o significado de uma instrução no programa
Compilador x Interpretador
•
Lembra?
01011010 10010001 01110010 a = 3 * 2; b = a * a; ?Compilador x Interpretador
• Um compilador é um programa que traduz um programa escrito em uma determinada linguagem de programação para outra linguagem.
– Exemplo de linguagens Compiladas: C, C++.
• Um interpretador é um programa que traduz instrução por instrução de um programa em linguagem de máquina e imediatamente executa a instrução
– Exemplo de linguagem Interpretada: PHP.
• Linguagens Híbridas
– A linguagem de alto nível é traduzida para uma outra
intermediária de fácil interpretação. • Exemplo: Java.
Familiarizando com alguns termos
• Código-‐fonte
– Texto de programa escrito pelo usuário
• Código-‐objeto
– Código-‐fonte compilado para linguagem de maquina
• Biblioteca
– Arquivo contendo funções auxiliares
• Linkeditor
– Programa que une funções separadas em um único programa
• Tempo de compilação
– Eventos que ocorrem quando o programa é compilado
• Tempo de execução