Programação - Algoritmos
Introdução à Programação Linguagem – Forma de Comunicação Linguagem Natural – as línguas faladas por seres humanos Linguagem Formal – são mecanismos formais para representação e especificação de linguagens, baseados na chamada "Teoria da Computação". (Linguagem de programação, Lógica formal ou lógica Matemática)
Introdução à Programação Algoritmo – sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito Ex.: Receita culinária Não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa
Pseudocódigo – é uma forma genérica de escrever um algoritmo, utilizando uma linguagem simples sem necessidade de conhecer a sintaxe de nenhuma linguagem de programação.
PARA I= 1 ATÉ 10 FAÇA INICIO Escreva('Digite um numero'); LER (a); SE a >=0 ENTÃO INICIO S <- S+a …….
Introdução à Programação
Qual a importância do Pseudocódigo?
Introdução à Programação Dados – Os dados em bruto são um conjunto de números, caracteres, imagens ou outros dispositivos de saídas para converter quantidades físicas em símbolos, num sentido muito extenso. Ex.: “Maria”, “Estudante”, “Solteira”, 25, 50 Kg Variáveis – É uma entidade capaz de representar um valor ou expressão Ex.: X= 5, Nome= “Maria”, Peso=50
Introdução à Programação Operadores aritméticos – Permitem cálculos aritméticos OPERADOR
OPERAÇÃO
TIPOS DOS OPERANDOS
TIPO DO RESULTADO
+
adição
Inteiro/real
Inteiro/real
-
subtração
Inteiro/real
Inteiro/real
*
multiplicação
Inteiro /real
Inteiro/real
/
divisão
Inteiro/real
Real/real
div
divisão inteira
inteiro
inteiro
mod
resto da divisão inteira
inteiro
inteiro
Prioridades de operadores: Prioridade mais alta: * / div mod Prioridade mais baixa: + Nota: Parêntese garantem maior prioridade; Ex: para a expressão 2*(4+2) o resultado será 12 e não 10, que resultaria de 2*4+2.
Introdução à Programação Operadores lógicos – Permitem cálculos lógicos OPERADOR
OPERAÇÃO
NOT
negação
AND
E (conjunção lógica)
OR
OU (disjunção lógica)
XOR
OU exclusivo
Prioridade mais alta: NOT Prioridade média: AND Prioridade mais baixa: OR XOR
TIPOS DOS OPERANDOS lógico
TIPO RESULTANTE lógico
Introdução à Programação Operadores relacionais – Permitem fazer relações OPERADOR
OPERAÇÃO
TIPO RESULTANTE
TIPOS DOS OPERANDOS
=
igual
lógico
<>
diferente
lógico
<
menor que
lógico
>
maior que
lógico
<=
menor ou igual
lógico
tipos atómicos (char, real, integer, etc.) compatíveis, ponteiros, conjuntos, cadeias de caracteres
>=
maior ou igual
lógico
<=
está contido
lógico
conjuntos compatíveis
>=
contém
lógico
conjuntos compatíveis
in
pertence a
lógico
esquerda: tipo ordinal direita: conj. compatível
Introdução à Programação Variáveis e Constantes – Variáveis e constantes são os elementos básicos que um programa manipula. Uma variável é um espaço reservado na memória do computador para armazenar um tipo de dado determinado. Constantes são usadas em expressões para representar vários tipos de valores. Tipos de variáveis mais comuns: Inteiros: Números inteiros positivos ou negativos. Reais: Números em geral, positivos ou negativos, incluindo-se os fraccionários. Caracteres: Sequências contendo letras, números e símbolos especiais. Lógicos: Dados com os valores “verdadeiro” ou “falso”
Regras dos identificadores de variáveis e constantes: • O primeiro carácter deve ser uma letra e nunca um algarismo • Não devem ser utilizados espaços em branco ou acentuações • Cada linguagem de programação tem suas regras próprias para identificadores.
Introdução à Programação Declaração de Variáveis – declara-se uma variável para especificar o seu nome e as suas características. A instrução de declaração para variáveis é o Dim (Visual Basic). Ex.:
Dim i, j, k As Integer Dim l, m As Long, x, y As Single Public Sub inferenceExample() Dim num1 As Integer = 3 Dim num2 = 3 End Sub
Atribuição – consiste em tirar o valor Direito do operador de atribuição (=) e armazená-la no elemento à esquerda, como no exemplo a seguir: Ex.: X = 24
Introdução à Programação Tracing – Teste e Controle de erros num Algoritmo
Passos nota1
Nota2 Média Saída
1
13
12
12,5
12,5
Nome das variáveis e condições
Nº do passo Conteúdos (valores) das variáveis
Introdução à Programação Estruturas de Controle - Sequencial É uma estrutura de desvio do fluxo de controle, presente em linguagens de programação, que realiza um conjunto predeterminado de comandos de uma forma sequencial, de cima para baixo, pela ordem em que foram declarados. A sua estrutura básica é a repetição de comandos sequencialmente:
Acção1; Acção2; Acção3; Acção4; Acção5;
Introdução à Programação Exemplos:
Introdução à Programação Estruturas de Controle - Selecção Uma estrutura de selecção (expressão condicional ou ainda construção condicional) é uma estrutura de desvio do fluxo de controle, presente em linguagens de programação, que realiza diferentes acções dependendo se a selecção (ou condição) é verdadeira ou falsa.
Se (condição) Então (bloco de código) Senão (bloco de código) Fim Se
Se (condição) Então (bloco de código) Senão Se (condição) Então (bloco de código) Fim Se Fim Se
Introdução à Programação Exemplos:
Introdução à Programação Estruturas de Controle - Repetitivas Realiza e repete diferentes acções dependendo se uma condição é verdadeira ou falsa. Enquanto (condição) Faça (bloco de código) Fim Enquanto
Para (V) De (vi) Até (vf) Passo (p) Faça (bloco de código) Fim Para
Para (V) De (vi) Até (vf) Faça Para (Y) De (yi) Até (yf) Faça (bloco de código) Fim Para Fim Para
Repita (bloco de código) Enquanto (condição)
Introdução à Programação Exemplos:
Introdução à Programação
Diagrama de fluxo de dados
Exercício prático: Pesquisa na Internet Exercícios práticos
Introdução à Programação ARRAYS – Variáveis Indexadas
Variável Indexada é o conjunto de variáveis do mesmo tipo, referenciadas pelo mesmo nome e individualizadas por índices. Matriz: variável indexada com duas dimensões. Vector: variável indexada com uma dimensão.
Introdução à Programação Definição de Variáveis Indexadas Sintaxe: Var <nome_da_variável> : conjunto[dim1,dim2,...] de <tipo_de_dado> Var
NUMEROS SALARIOS NOMES MATRIZ
: : : :
conjunto[10] de inteiro conjunto[5] de real conjunto[20] de literal[10] conjunto[10,15] de real
Atribuição: <nome_da_variável> <expressão> NUMEROS[2] SALARIOS[3] NOMES[10] MATRIZ[5,8]
10 100.00 “João” -3.6
Introdução à Programação Exemplos:
Introdução à Programação Algoritmo Pesquisa: PESQUISA_BINÁRIA (V[], início, fim, e) i recebe o índice do meio entre início e fim se (v[i] = e) então devolva o índice i # elemento e encontrado senão (inicio = fim) então não encontrou o elemento procurado senão se (v[i] vem antes de e) então faça a PESQUISA-BINÁRIA(V, i+1, fim, e) senão faça a PESQUISA-BINÁRIA(V, inicio, i-1, e) fim se fim se Nota: Ver outros exemplos
Introdução à Programação Algoritmo Ordenação: InsertionSort(V, n) for j← 2 to n do aux ← V[j] ► insere V[j] na parte ordenada V[1..j-1] i←j–1 while i >= 0 e V[i] > aux do V[i + 1] ← V[i] i←i–1 V[i + 1] ← aux
Nota: Ver outros exemplos
Introdução à Programação Exemplos:
Introdução à Programação Subrotinas Uma subrotina (função, procedimento ou mesmo subprograma) consiste numa porção de código que resolve um problema muito específico, parte de um problema maior. O conceito de função difere da noção de procedimento na medida em que devolve um valor.
Nota: No contexto da programação orientada a objectos, estas subrotinas são encapsuladas nos próprios objectos, passando a designar-se por métodos.
Introdução à Programação Vantagens na utilização de subrotinas: Redução de código duplicado num programa; Possibilidade de reutilizar o mesmo código sem grandes alterações em outros programas; Decomposição de problemas grandes em pequenas partes; Melhorar a interpretação visual de um programa; Esconder ou regular uma parte de um programa, mantendo o restante código alheio às questões internas resolvidas dentro dessa função.
Introdução à Programação Componentes de uma subrotina: O seu protótipo, que inclui os parâmetros que são passados à subrotina na altura da invocação; O corpo, que contém o bloco de código que resolve o problema proposto; Um possível valor de retorno, que poderá ser utilizado imediatamente a seguir à invocação da subrotina.
Introdução à Programação Variáveis Globais e Variáveis Locais: As variáveis globais são acessíveis por todos os arquivos; as locais, só são acessíveis pelo arquivo onde foram declaradas.
Introdução à Programação Passagem de Parâmetros: Existem duas maneiras diferentes de fazer a passagem dos parâmetros: Passagem por Valor - ByVal Public Sub DobraValor(Num As Integer) Ou Public Sub DobraValor(ByVal Num As Integer) Passagem por Referência - ByRef Public Sub DobraValor(ByRef Num As Integer)
Introdução à Programação Exemplos:
Public Sub SubTeste() Dim MeuValor As Integer MeuValor = 5 MsgBox "Valor original de MeuValor: " & MeuValor ' Chamada da procedure DobraValor DobraValor (MeuValor) MsgBox "Valor de MeuValor Após a Execução: " & MeuValor End Sub Public Sub DobraValor(ByVal Num As Integer) MsgBox "Valor recebido como parâmetro:" & Num Num = Num * 2 MsgBox "Valor duplicado:" & Num End Sub
Introdução à Programação Exemplos: Public Sub SubTeste() Dim MeuValor As Integer MeuValor = 5 MsgBox "Valor original de MeuValor: " & MeuValor ' Chamo o procedure DobraValor Call DobraValor(MeuValor) MsgBox "Valor de MeuValor Após a Execução: " & MeuValor End Sub Public Sub DobraValor(ByRef Num As Integer) MsgBox "Valor recebido como parâmetro:" & Num Num = Num * 2 MsgBox "Valor duplicado:" & Num End Sub
Introdução à Programação Aplicação em VB