Introdução - Inf

Propaganda
INF 01040
Introdução à Programação
Aula 1 – Introdução, noções básicas e algoritmos
Introdução
Software/Programa
Básico
Aplicativo
Linguagem de Programação
C
Java Python Ruby
Introdução à Programação (INF 01040)
2
Introdução
Linguagem Natural
Linguagem de Programação
Compilador
Linguagem de Máquina
Introdução à Programação (INF 01040)
3
Introdução
●
Paradigma: Procedural ou Imperativo
–
–
●
●
Solução implementada através de ações,
executadas sequencialmente
Conceitos: variáveis, atribuição, sequenciação
Baseada nos princípios da Programação
Estruturada
Linguagem de programação que usaremos: C
Introdução à Programação (INF 01040)
4
Solução de Problemas
1. Ler atentamente o enunciado, visando
a sua compreensão da forma mais
completa possível
Problema
Análise
2. Analisar detalhadamente:
a) que resultados devem ser obtidos;
Programa
b) que dados são fornecidos;
Algoritmo
c) que procedimentos devem ser realizados
para a solução do problema.
3. Construir o algoritmo
4. Simular a sua execução ("teste de mesa")
Parte Teórica
5. Traduzir o algoritmo em um programa C
Parte Prática
6. Compilar, executar e testar exaustivamente o programa, modificando
até que os resultados obtidos estejam de acordo com o previsto
Introdução à Programação (INF 01040)
5
Algoritmos
Definição
Um algoritmo é um conjunto finito e lógico de
etapas que estabelecemos para a solução de um
determinado problema
●
●
Qual o algoritmo que seguimos quando resolvemos
uma equação de 2º grau?
Qual o algoritmo que se deve seguir para trocar a
roda de um carro, quando fura o pneu?
Introdução à Programação (INF 01040)
6
Algoritmos
●
Propriedades:
–
–
possui um estado inicial;
contém uma sequência lógica e finita de ações (comandos), claras
e precisas, com fluxo de execução baseado em:
●
●
●
–
–
–
–
sequência;
seleção condicional (seleção de ações);
iteração (repetição de ações);
Programação
Estruturada
possui dados de entrada;
produz dados de saída corretos;
possui estado final previsível;
deve ser eficaz.
Introdução à Programação (INF 01040)
7
Algoritmos
Não Numéricos
Trocar o pneu furado
de um carro
Numéricos
Encontrar raízes de
uma equação
Introdução à Programação (INF 01040)
8
Exemplo de Algoritmo não Numérico
●
Trocar o pneu furado de um carro
–
Levantar o carro com o macaco
–
Retirar os parafusos
–
Retirar a roda
–
Colocar o estepe
–
Colocar os parafusos
–
Abaixar o carro e retirar o macaco
Introdução à Programação (INF 01040)
9
Fluxograma
●
–
Um método simples de
retratar os passos de
um procedimento
numa sequência
logicamente ordenada
Levantar o carro com o
macaco
Retirar os parafusos
Retirar a roda
Colocar o estepe
Colocar os parafusos
Abaixar o carro e retirar o
macaco
Trocar o pneu furado de um carro
Diagrama de Blocos,
Diagrama de Fluxo ou
Fluxograma
INÍCIO
FIM
Introdução à Programação (INF 01040)
10
Fluxograma
INÍCIO
●
Estepe Furado?
Não
Levantar o carro com o
macaco
Sim
Retirar os parafusos
Ligar para um borracheiro
Retirar a roda
Colocar o estepe
Colocar os parafusos
Abaixar o carro e retirar o
macaco
Trocar o pneu furado de um carro
E se houver
necessidade de
tomada de
decisão?
FIM
Introdução à Programação (INF 01040)
11
Fluxograma
Fluxo, indica o sentido do fluxo de operações
Terminal, indica início, fim ou ponto de parada de um
programa
Entrada/Saída, indica uma operação que utiliza uma
unidade de entrada ou saída
Processamento, indica uma instrução ou grupo de
instruções que realizam uma função de processamento
Decisão, indica a possibilidade de desvio para um
ponto do programa, conforme condições estabelecidas
Conector, indica conexão entre 2 pontos do programa
que estejam na mesma página
Conector, entre 2 pontos em páginas diferentes
Introdução à Programação (INF 01040)
12
Exemplo de Algoritmo Numérico
●
Seja a equação de 2º grau:
●
As soluções são:
●
Sendo:
Introdução à Programação (INF 01040)
13
Exemplo de Algoritmo Numérico
INÍCIO
Lê a, b, c
2
D=b −4∗a∗c
Caso
CasoDDseja
sejaigual
igualaa
zero,
zero,ele
elecalcula
calcula
x1,
x1,depois
depoiscalcula
calcula
x2
x2eeimprime
imprimeduas
duas
raízes
raízesiguais
iguais
D >= 0?
Não
Imprime
“Raízes imaginárias”
Sim
x1=
−b+ √ D
2∗a
−b−√ D
x2=
2∗a
Imprime x1, x2
FIM
Introdução à Programação (INF 01040)
Falta
Faltaalguma
algumacondição
condição
para
paraooalgoritmo
algoritmoser
ser
completo?
completo?
Você
Vocêconsegue
consegue
escrever
escreveroofluxograma
fluxograma
completo?
completo?
14
Download