Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução à Programação
1
Introdução à
Programação
Algoritmos
Método para construção de algoritmos
a) Ler atentamente o enunciado, destacando os
pontos mais importantes;
b) Definir os dados de saída
Quais dados serão gerados
d) Definir o processamento
Quais cálculos serão efetuados e quais as restrições
para esses cálculos.
Vantagem
Não é necessário aprender nenhum novo
conceito.
Desvantagem
a linguagem natural abre espaço para várias
interpretações, o que posteriormente dificultará
a transcrição desse algoritmo para programa.
4
Representação de algoritmos
Fluxograma
Vantagem
O entendimento de elemento gráfico é mais fácil
que o entendimento de textos.
Desvantagem
É necessário aprender a simbologia dos
fluxogramas e o algoritmo resultante não
apresenta muitos detalhes dificultando sua
transcrição para um programa.
5
Representação de algoritmos
Fluxograma
Conjunto de símbolos utilizados no fluxograma
Entrada de dados
Saída de dados
6
Representação de algoritmos
Pseudocódigo, Portugol ou Português estruturado
Desvantagem
é necessário aprender as regras do pseudocódigo
7
Exemplo de algoritmo
Mostrar o resultado da soma de dois números
a) Descrição narrativa
Passo 1: Receber os dois números que serão somados.
Passo 2: Somar números.
Passo 3: Mostrar o resultado obtido.
c) Pseudocódigo
b) Fluxograma
Início ALGORITMO soma
DECLARE N1, N2, S : NUMÉRICO
N1, N2
INICIO
S = N1 + N2 LEIA (“Digite dois números”, N1, N2)
S ← N1 + N2
S
ESCREVA (“Soma = “, S)
Fim FIM
8
Exercícios - Usando pseudocódigo
9
Estrutura de um algoritmo
Dados de Dados de
Processamento
entrada saída
Algoritmo
<declaração de variáveis>
Início
<comandos>
Fim.
10
Estrutura de um algoritmo
11
Estrutura de um algoritmo
Algoritmo soma
declare A, B, C : numérico;
Início
leia (“Informe dois número”, A, B);
C ← A + B;
escreva (‘O valor da soma é:’, C);
Fim.
12
Operações com variáveis
Variáveis devem ser declaradas
Exemplo: <variável>: <tipo>;
Existem condições
para testar se a operação pode ser executada
para verificar o resultado (falso/verdadeiro)
13
Atribuição
Atribui valores ou operações a variáveis.
:= =
ex:
X ← 4;
X ← x + 1;
y ← ‘aula’;
teste ← “falso”;
14
Comando de entrada
Nome das variáveis
nas quais serão
Palavra- armazenados o
valores provenientes
chave do meio de entrada
leia (a)
leia (g, r, b)
leia (‘Digite seu nome: ‘, nome)
15
Comando de saída
Conteúdo que será
Palavra- mostrado através de
um meio de saída.
chave
escreva ( <expressão> );
escreva (x)
escreva (‘Conteúdo de Y = ‘, y)
escreva(“O fatorial de”, N, " é ", fat);
16
Exercício
18
Estruturas
Estrutura sequencial;
Estrutura condicional;
Estrutura de repetição;
19
Estrutura Sequencial
Os comandos são executados na ordem
em que aparecem, de cima para baixo.
Algoritmo SEQUÊNCIA;
declare <lista de variáveis>;
início
Os comandos serão
<comando 1>
executados na ordem
<comando 2> em que aparecem.
...
<comando n>
fim.
20
Estrutura Sequencial
Ex.:
Algoritmo Média
declare Nome : literal
Nota1, Nota2, media : real
início
leia (‘Digite o nome do aluno:’, nome )
leia (‘Digite a primeira nota: ’, Nota1)
leia (‘Digite a segunda nota: ’, Nota2)
media ← ( Nota1 + Nota2 ) / 2
escreva (‘A média de ‘, nome,` é: ’ , media )
fim
Exercício:
Faça um Teste de Mesa do algoritmo Média para 3 alunos.
21
Estrutura de Controle Condicional
22
A tomada de decisão
Em muitas situações, é necessário executar
um grupo de ações dependendo do
resultado de certas avaliações.
23
Desvio condicional simples
Verdadeira
Condição comandos
Falsa
24
Desvio condicional simples
...
se <condição>
[então]
<instrução para condição verdadeira>
fim-se
...
Condição é uma expressão lógica.
Se o resultado da condição for verdadeiro, será
executado o comando após a palavra então.
Falsa Verdadeira
Comandos B Condição Comandos A
27
Desvio condicional composto
...
se <condição>
[então ]
<instrução para condição verdadeira>
senão
<instrução para condição falsa>
fim-se
...
Se o resultado da condição for verdadeiro, será
executado o comando após a palavra então,
caso contrário, será executado a instrução após
a palavra senão.
Somente uma das duas será executada. Após,
o programa continua...
28
Desvio condicional composto
Algoritmo Condicional_Composto
declare N1, N2, Media : real
Início
leia (‘Digite a primeira nota: ’, N1)
leia (‘Digite a segunda nota: ’, N2)
Media ← (N1 + N2)/2
se Media < 7.0
escreva (‘Aluno Reprovado!!!’)
senão
escreva (‘Aluno Aprovado!!!’)
fim-se
escreva (‘Média = ’, Media)
fim
29
Bloco de Comandos
30
Aninhamento de Estruturas
31
Desvio condicional aninhado
Algoritmo Condicional_Aninhado
declare N1, N2, Media : real
início
escreva ( ‘Digite duas notas:’, N1, N2)
Media ← (N1 + N2)/2
se Media < 7,0
se Media < 3
escreva(‘Aluno Reprovado!!!’)
senão
escreva (“Aluno em final”)
fim-se
senão
escreva(‘Aluno Aprovado!!!’)
fim-se
escreva(‘Média = ’, Media)
fim
32
Exercícios
20. Construa um algoritmo que receba 2 números
e, se o primeiro número for maior que zero e
menor que 10, mostre a soma destes números;
caso contrário, mostre a multiplicação deles.
33
Estruturas de Repetição
Permitem a execução de comandos
repetidas vezes.
Repetição condicional
A repetição acontecerá com base em
uma condição.
Condição no início
Condição no final
Verdadeira
condição comandos
Falsa
35
Interrupção no início
Sintaxe
enquanto <condição> [faça]
[início]
<comandos>
fim-enquanto
Exemplo 1
leia (“Digite um número: “, Y)
X←0
enquanto X<Y
escreva ( X )
X←X+1
fim-enquanto
36
Exemplo: Calcular a média de várias notas. A nota = -1
indica que já foram informadas todas as notas (flag).
leia(Nota)
Total ← 0
N←0
enquanto Nota<>-1
Total ← Total + Nota
N←N+1
leia (Nota)
fim-enquanto
se N > 0
Media ← Total / N
escreva ( Media )
senão
escreva ( “Notas não informadas”)
fim-se
37
Variável de Controle
Repetições que possuem um número finito de
execuções (conhecido) podem ser processadas
através de uma repetição controlada por uma
variável de controle do tipo contador;
Exemplo 2
z←0
para X ← 1 até 5
leia ( Y )
z←z+Y
fim-para
x ← z/X
Escreva (X)
40
Exercícios
27. Construa um algoritmo que receba um valor N inteiro e
positivo, calcule e mostre o fatorial de N (N!).
28. Construa um algoritmo que leia dez conjuntos de dois
valores, o primeiro valor corresponde ao número do
aluno, o segundo valor corresponde à sua altura em
centímetros. Encontre e mostre o número e a altura do
aluno mais baixo e do aluno mais alto.
29.Faça um algoritmo que leia cinco pares de valores (a,b),
todos inteiros, positivos, um de cada vez. Mostre os
números inteiros pares de a até b (inclusive).
30.Faça um algoritmo que leia o número de termos e um
valor positivo para x, calcule e mostre o valor da série:
x 2 x3 x 4 x5 x6 x7
s ...
1! 2! 3! 4! 5! 6!
41