Introdução À Programação e Aos Algoritmos
Introdução À Programação e Aos Algoritmos
Introdução à Programação
Prof. Fernando Castilho [email protected]
2021/2
PROGRAMAÇÃO - Definição
Programa
Sequência completa de instruções a serem executadas
por um computador, de acordo com um algoritmo.
Algoritmo
Conjunto de regras e operações bem definidas e
ordenadas, destinadas à solução de um problema, ou
de uma classe de problemas, em um número finito de
etapas. Descrição de uma solução para um problema.
O que é um programa de computador ?
INÍCIO
Entrada – Ponto de informação de valores e variáveis
usadas no processamento
ENTRADA
Algoritmo
Fluxograma
Cálculo– Operações realizadas sobre variáveis e
valores para compor a geração da solução
CÁLCULO
DECISÃO
Algoritmo
Fluxograma
Saída – Apresentação dos resultados intermediários ou
finais obtidos no algoritmo
SAÍDA
FIM
Algoritmo
Fluxograma
Vantagens
Uma figura fala por mil palavras
Padrão mundial
Ferramenta muito conhecida
Desvantagens
Nãofavorece a representação dos dados
Complexidade diretamente associada ao seu tamanho
Algoritmo
Linguagem algorítmica
Linguagem de programação com comandos em linguagem
natural (português, inglês...) para representar algoritmos
Exemplo
Algoritmo ELEVA_AO_QUADRADO
X, QUADRADO: inteiro
Início
Ler X
QUADRADO := X * X
Escrever QUADRADO
fim
Algoritmo
Linguagem algorítmica
Vantagens
Linguagem conhecida é utilizada (português)
Permite definir a forma e a estrutura dos dados
Define um modelo a ser traduzido para uma linguagem de
programação
Desvantagens
Falha em padronização
Algoritmo
Elementos/Conceitos
Comando – Cada passo que define ação no algoritmo
Variável – representação simbólica de um elemento de
um conjunto. Assume uma posição na memória (quando
em computador). Tem o seu conteúdo alterado durante
a execução do algoritmo.
Umavariável com um valor “A” representa um espaço na
memória, que contém o valor “A”.
Algoritmo
Elementos/Conceitos
Atribuição – É o ato de uma variável receber um valor
vindo de outra variável. É um elemento representado
pelo símbolo “ := “. O valor a ser atribuído é
representado à direita do símbolo e a variável a
receber o valor é representada à esquerda do
símbolo.
Ex: QUADRADO := X * X
A variável QUADRADO recebe o valor de X multiplicado
por X
Variáveis Booleanas
Variável que pode assumir dois valores
Verdadeiro
Representado por 1, ou “true”
Falso
Representado por 0 ou “false”
O teste de uma variável booleana consiste em
apenas em perguntar “se <variável>”
Se o resultado for verdadeiro, seu conteúdo será 1 ou
Se for falso, o conteúdo será 0.
Variáveis (+ Ambiente VisuAlg)
Tipos de Dados
inteiro: define variáveis numéricas sem casas decimais.
real: define variáveis numéricas com casas decimais.
caractere: define variáveis do tipo string, ou seja, cadeia de caracteres.
logico: define variáveis do tipo booleano, ou seja, com valor
VERDADEIRO ou FALSO.
Vetor: define variáveis estruturadas através da palavra-chave vetor,
explicado a seguir.
Nomes de Variáveis e sua Declaração
Devem começar por uma letra e depois letras, números ou underline ( _ )
Tamanho até 30 caracteres.
Simples ou estruturadas (vetores podem ter 1 ou 2 dimensões).
Não pode haver duas variáveis com o mesmo nome
Variáveis (+ Ambiente VisuAlg)
A seção de declaração de variáveis
começa com a palavra-chave var, e continua com :
<lista-de-variáveis> : <tipo-de-dado>
<lista-de-variáveis> : vetor "["<lista-de-intervalos>"]"
de <tipo-de-dado>
Na <lista-de-variáveis> - nomes separados por vírgulas.
Na <lista-de-intervalos>, os <intervalo> separados por
vírgulas, com a sintaxe:
<intervalo>: <valor-inicial> .. <valor-final>
<valor-inicial> e <valor-final> devem ser inteiros.
<valor-final> tem que ser maior do que <valor-inicial>.
Variáveis (+ Ambiente VisuAlg)
Exemplos:
var a: inteiro
Valor1, Valor2: real
vet: vetor [1..10] de real
matriz: vetor [0..4,8..10] de inteiro
nome_do_aluno: caractere
sinalizador: logico
A variável vet acima tem 10 elementos, com os índices
de [1] a [10], enquanto matriz tem 15 elementos com
índices [0,8], [0,9], [0,10], [1,8], [1,9], [1,10], ... até
[4,10].
Estrutura condicional
SE, ou IF
Seu argumento é uma relação em lógica booleana
Seu resultado sempre será “Verdadeiro” (“1”, “true”)
ou “Falso” (“0”, “false”)
Estrutura:
SE <expressão lógica>
(então) <comandos>
(senão) <comandos>
FIM-SE
Conectivos
Conectivo “e”
Especificaque o resultado de uma associação de
valores só pode ser verdadeiro se todos os valores o
forem.
A e B
Conectivo “ou”
Especifica que o resultado de uma associação de
valores é verdadeiro, se pelo menos um deles o for.
A ou B ou ambos
Algoritmo
Tabela Verdade
Estrutura para a validação de expressões que utilizam
conectivos lógicos
A B AeB A B A ou B
V V V V V V
V F F V F V
F V F F V V
F F F F F F
Exercícios
Considere as seguintes hipóteses:
1) Meu carro (A) pode estar abastecido (V) ou não (F)
2) A festa (B) pode acontecer hoje (V) ou não (F)
3) Eu (C) posso estar ocupado (V) ou não (F)
4) Nós (D) podemos ir à festa (V) ou não (F)
Propriedade:
o comprimento de cada lado de um triângulo
é menor do que a soma dos comprimentos dos outros dois
lados.
Comandos de repetição
Em um programa é comumente necessária a
execução de um comando ou grupo de comandos
um número de vezes, para que um resultado seja
obtido.
Português Estruturado:
Para... De... Até... Passo... Faça... Fim-para.
Diagrama de blocos
Contador – VAR Início, Fim, Incremento
Instruções
Comando Do While
Execução controlada por decisão
Teste Lógico no início do laço
O laço pode não ser executado se a condição não for
satisfeita inicialmente
Português Estruturado
Enquanto... Faça... Fim-enquanto.
Diagrama de blocos
Teste da condição
Instruções (executadas enquanto a condição for satisfeita)
A condição pode significar uma interação com um usuário, até
que uma condição por ele especificada seja satisfeita
Comando Do Until / Repeat Until
Execução controlada por decisão
Teste lógico no fim do laço
Sempre executa o laço, pelo menos uma vez
Português estruturado
Repetir... Até que...
Diagrama de blocos
Instruções(executadas antes de se verificar uma
condição de parada)
Teste de condição
Considerações
As estruturas Do while e Do Until podem substituir
qualquer estrutura For
Nem toda estrutura For pode substituir as demais,
caso estas não envolvam um contador.
Encadeamento de estruturas de
repetição
While (Enquanto) com While (Enquanto)
Fim-enquanto
Fim-enquanto
Encadeamento de estruturas de
repetição
While (Enquanto) com Do-Until (Faça-até)
enquanto (condição 1) ... Faça
faça / repita
Instruções ...
Até-que (condição 2)
Fim-enquanto
Exercício
Fazer um algoritmo para
Lertrês valores inteiros distintos e os escrever em ordem
crescente
Encadeamento de estruturas de
repetição
While (Enquanto) com Para (For)
enquanto (condição 1) ... Faça
Para <variável> de <início> até <fim> passo <incremento> faça
Instruções ...
Fim-para
Fim-enquanto
Exercícios
Fazer o algoritmo, utilizando narrativa, pseudocódigo
e fluxograma para a solução de:
Sequência de Fibonacci. (0, 1, 1, 2, 3, 5, 8, 13...)
Exemplificar com a sequência até a posição 8
Passo Final Soma N1 N2 Posição Imprime
1 8 0 0 1 3
2 8 1 1 1 4
3 8 2 1 2 5
4 8 3 2 3 6
5 8 5 3 5 7
6 8 8 5 8 8
7 8 13 8 13 9
8 8 13
Exercício
Fazer o algoritmo, utilizando descrição narrativa,
pseudocódigo e fluxograma para:
Calculara média dos alunos de uma turma, a partir da
média aritmética simples das provas que ele realizou.
Para cada prova realizada o aluno ganha meio ponto
na média, até o máximo de 4 provas.
Considerar N alunos (teste verifica o n-ésimo aluno)
Considerar N provas (teste para a n-ésima prova)
Exercício
Aluno Prova 1 Prova 2 Prova 3 ... Prova N MÉDIA
Aluno 1
Aluno 2
Aluno 3
...
Aluno N
Média Geral da Turma ...............
Exercício
Fazer o algoritmo, utilizando pseudocódigo e
fluxograma para:
Ler em uma transação de venda cada produto e
quantidade que são informados pelo caixa. Para cada
produto lido totalizar a venda e calcular o desconto
segundo a regra:
Se o total passar de R$ 100,00, aplicar 5% de desconto.
Se o total passar os R$ 500,00, aplicar 10% de desconto.
Para qualquer valor total acima de R$ 1.000,00 aplicar 15% de
desconto.
Para cada linha de venda (produto informado) exibir o
total sem desconto, o desconto percentual, o valor do
desconto e o valor total da venda.
Exercícios
Calcular o fatorial do número 12
Utilizar as estruturas Do While, Do Until e For