Sistemas Operacionais e
Introdução à
Programação
Introdução à Lógica de
Programação
1
Lógica de Programação
Resolução de problemas usando computador
●
●
Computador: ferramenta para processamento automático de
dados
Processamento de dados: atividade que transforme dados
de entrada em dados de saída (resultados)
2
Lógica de Programação
Etapas para a resolução de problemas:
i) Entendimento do problema
ii) Modelagem do problema em uma sequência de operações
que, quando executadas, fornecem sua solução
iii) Execução dessa sequência de operações
iv) Verificação da adequação da solução
Obs: etapas i), ii) e iv) feitas por pessoas, e etapa iii) feita por
computadores
3
Lógica de Programação
Programação:
●
●
Planejamento, projeto, escrita e testes de instruções a serem
executadas por computadores
Há diferentes formas de modelar um problema
●
●
●
●
Modelagem: representação do problema, a qual captura
seus aspectos essenciais
Um programa é um modelo do problema, porém de
tratamento usualmente complexo
Há diferentes métodos para se chegar a um programa,
usando-se modelos intermediários
Abordagem elementar: decompor o problema em partes
menores (“dividir para conquistar”)
4
Lógica de Programação
Programação:
●
Dividindo a programação em fases distintas:
5
Lógica de Programação
Algoritmos computacionais:
●
●
Algoritmo é uma sequência de instruções, que devem ser
entendidas e realizadas:
Computador oferece um conjunto limitado de instruções
●
●
●
Algoritmo deve usá-las para modelar e resolver o problema
Quer dizer, algoritmo deve ser expressado usando essas
instruções
Dois conceitos básicos são usados para construir algoritmos:
●
Estruturas de dados: para manipular os dados
●
Estruturas de controle: para manipular as ações
6
Lógica de Programação
Algoritmos computacionais:
●
De forma geral, as diretrizes para sua construção são:
1.Identificação do problema: o que se quer resolver e o objetivo a
ser atingido
2.Identificação das entradas de dados
3.Identificação das saídas de dados (resultados)
4.Identificação das regras e limitações do problema (requisitos
funcionais) e do agente executante (requisitos não-funcionais)
5.Determinação de como transformar as entradas em saídas:
5.1 Sequência de ações
1.Construção do algoritmo
2.Teste da solução
7
Lógica de Programação
Algoritmos computacionais: exemplo
●
Deve-se calcular a média final de alunos. Estes realizarão 4
provas: P1, P2, P3 e P4. A média final é calculada por:
(P1 + P2 + P3 + P4) / 4
a) Quais são os dados de entrada ?
As notas das provas P1, P2, P3 e P4
b) Quais são os dados de saída ?
A média final
c) Qual é o processamento a ser utilizado ?
Cálculo da média das notas das provas
8
Lógica de Programação
Descrição de algoritmos
●
Descrição narrativa: especificação dos passos em
linguagem natural
●
●
Linguagem natural comumente se mostra imprecisa e
redundante
Utilização mais adequada para inserir comentários que
expliquem detalhes do algoritmo
Exemplo da média final
1. Receba a nota da prova 1
2. Receba a nota da prova 2
3. Receba a nota da prova 3
4. Receba a nota da prova 4
5. Some todas as notas e divida por 4
6 Mostre o resultado da divisão
9
Lógica de Programação
Descrição de algoritmos
●
Descrição com diagrama de blocos (ex: fluxograma)
●
●
●
Uso de instruções gráficas para representar as ações
Útil para mostrar o fluxo de execução e a sequência de
passos
Porém problemas complexos podem gerar diagramas
poluídos !
10
Lógica de Programação
Descrição de algoritmos
●
Descrição com diagrama de blocos (cont.)
●
Símbolos elementares usados em fluxogramas:
11
Lógica de Programação
Descrição de algoritmos
●
Descrição com diagrama de blocos (cont.)
●
Exemplo do cálculo da média final:
12
Lógica de Programação
Descrição de algoritmos
●
Pseudo-linguagem:
●
●
Linguagem simplificada de programação (ex: Portugol)
Usa regras claras para as sentenças, com palavras-chaves,
indentação, apenas uma instrução por linha, e símbolo para
representar final de um passo (ex: “;”)
13
Lógica de Programação
Descrição de algoritmos: pseudo-linguagem
●
Exemplo da média final com Portugol
Início
Real p1, p2, p3, p4, M
Ler p1
Ler p2
Ler p3
Ler p4
M = (p1 + p2 + p3 + p4) / 4
Escrever 'Media final = ', M
Fim
14
Lógica de Programação
Teste de Mesa
●
●
●
Um algoritmo deve poder ser testado
O teste deve verificar o resultado do algoritmo para
determinados dados de entrada representativos
No teste se executam as instruções do algoritmo
No exemplo da média final, podem-se
fornecer notas de provas e verificar as
médias resultantes
15
Lógica de Programação
Teste de Mesa
●
Exemplo da média final:
16
Lógica de Programação
Exercícios:
1.Faça um algoritmo para calcular o estoque médio de uma
peça, sendo que EstoqueMédio = (QuantidadeMínima +
QuantidadeMáxima) / 2. Aponte os dados de entrada e de
saída.
2.Teste o algoritmo anterior com dados por você fornecidos.
3.Faça um algoritmo que verifique se uma operação sobre um
arquivo (leitura, escrita, ou execução) pode ser realizada.
Considere o sistema de permissões do Linux. Quais são os
dados de entrada e de saída ?
4.Teste o algoritmo anterior com dados por você fornecidos.
17
Lógica de Programação
Exercícios:
5. Faça um algoritmo que leia a cotação do dólar, leia um valor
em dólares e mostra o valor correspondente em reais.
6. Faça um algoritmo que leia quatro números, calcule o
quadrado de cada um deles, some-os e mostre o resultado.
7. Construa um algoritmo para calcular a comissão de 5%
dada a vendedores de peças, usando os seguintes dados:
identificação do vendedor, código da peça, preço unitário da
peça e quantidade de peças vendidas. Faça um teste de
mesa de seu algoritmo.
18
Lógica de Programação
Exercícios:
5. Faça um algoritmo que calcule a média e o desvio padrão
de um conjunto de 10 números, que devem ser lidos. A
fórmula do desvio padrão segue abaixo:
Média
Desvi
o
padrão
Obs: qualquer operação aritmética aceita somente dois operandos
19
Download

Introdução a Lógica de Programação