instituto federal de educaÇÃo instituto federal de ... · instituto federal de educaÇÃo...
TRANSCRIPT
INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO
GRANDE DO NORTEGRANDE DO NORTE
ALGORITMOS E TÉCNICAS DEPROGRAMAÇÃOPROGRAMAÇÃO
ÉDocente: Éberton da Silva Marinhoe-mail: [email protected]
Curso de Tecnologia em Sistemas para Internet
19/06/2013
SUMÁRIO
PseudocódigoEstrutura SequencialE t t d C t lEstruturas de ControleEstruturas de Repetição
22
REVISÃO
Na última aula nós vimos O que é um AlgoritmoO é ftO que é um programa e o que um softwareConceito de memória e onde ela se encontra na arquitetura de computadoresa q e a e co p a o es
33
REVISÃO
Vimos que a linguagem natural é imprópria para descrever algoritmos, ela é ambígua (pode ter diversos sentidos dependendo do contexto)diversos sentidos dependendo do contexto)Além disso, é preciso estabelecer um subconjunto mínimo a partir do qual podemos escrever mínimo a partir do qual podemos escrever algoritmos
Exemplo: Algoritmo dirigir um carrop g g
44
ALGORITMO
Algoritmo: é uma seqüência finita de instruções (passos ou ações) bem claras, bem definidas e bem detalhadas que quando colocadas em uma bem detalhadas que, quando colocadas em uma ordem lógica, nos levam a solução de um problema.p
55
ALGORITMO
Algoritmo
Computador
Compilador
Linguagem de Máquina 6de Máquina 6
EXERCÍCIOS
1. Descreva com suas próprias palavras o que você entende por
) Al ita) Algoritmob) Programac) Softwarec) Softwared) Açãoe) Memóriaf) Variável
77
FORMAS DE REPRESENTAR UM ALGORITMO
Linguagem natural é inerentemente ambígua e pode causar problemas de interpretaçãointerpretaçãoMáquinas não podem tomar decisões com base em premissasMáquinas não podem escolher alternativasMáquinas não podem corrigir comandos mal
di idredigidosMáquinas não podem descobrir a intenção do programadorprogramador
88
FORMAS DE REPRESENTAR UM ALGORITMO
Linguagem de programação para uma máquina deve ter
Ri id i táti R d Rigidez sintática: Regras para escrever os comandos deve ser rigidamente seguidaRigidez semântica: Um comando não pode ser g pambíguo (possuir dois ou mais significados)
99
FORMAS DE REPRESENTAR UM ALGORITMO
Formas de representar um algoritmoPseudocódigo (ou Português Estruturado ou Portugol)Portugol).
FluxogramaOs algoritmos são representados em forma de gráficos interligados
1010
PSEUDOCÓDIGO
Pseudocódigo ou portugol ou português estruturado
Metodologia de projeto de programasF ilit it d Facilitar a escrita de programasFacilitar a leitura (o entendimento) de programasPermitir a verificaçãoPermitir a verificaçãoFacilitar a manutenção e modificação de programas
1111
PSEUDOCÓDIGO
Sintaxe: a forma como é escrito o algoritmoSemântica: o significado das construções
Exemplo“Aqui vendem-se frangos abatidos”Frangos mortos ou tristes?
1212
FLUXOGRAMA
VantagensFacilidade para compreender o algoritmoo algoritmoIdeal para iniciantes em programação
DesvantagensA construção de algoritmos complexos e longos pode se tornar trabalhosa
1313
PSEUDOCÓDIGO
PSEUDOCÓDIGO
As estruturas lógicas são escritas numa linguagem próxima ao português, na seqüência em que são executadas mas como rigidez sintática e executadas mas como rigidez sintática e semântica.Exemplo:Exemplo:
VARIAVEISNUMERICO N, S, C
INICIOC = 0C = 0S = 0FACA ENQUANTO C<10
LER NESCREVER NS = S + NC = C + 1
FIM_ENQUANTO 15QESCREVER “Soma =“,S
FIM
15
VANTAGENS PSEUDOCÓDIGO
Fácil de compreender.Fácil de ler e converter para uma linguagem de
ãprogramação.Melhor para representar programas maiores.É dÉ estruturado.
1616
ELEMENTOS DE ALGORITMOS
C t tConstantesNúmeroDataDataLógicoCaracter (texto, literal, string)
VariáveisNuméricoD tDataLógicoCaracter (texto, literal, string)C ( , , g)
ExpressõesOperandos
17Operadores 17
ELEMENTOS DE ALGORITMOS
Comando de atribuiçãoEstruturas
SeqüencialSeleção
SimplesSimplesCompostaMúltipla
RepetiçãoFACA ENQUANTOPARA <VAR = VI> ATE <VF> [PASSO <N>]PARA <VAR = VI> ATE <VF> [PASSO <N>]
1818
ESTRUTURA DE UM COMPUTADOR
MemóriaRótulo Valor TipoA 3 NumericoB “Lúcia” CaracterSaldo 3000,00 Numérico
1919
CONSTANTES
As informações (dados) que não variam com o tempo, ou seja, permanecem sempre com o mesmo conteúdo é um valor fixo (invariável) mesmo conteúdo, é um valor fixo (invariável). Como exemplos de constantes pode-se citar: números, letras, palavras etc., , p
2020
CONSTANTES
Não sofrem alterações durante o processamentoNumérico: 123, 34, 75, -512, D t dd/ / dd/ / dd/ dd/ Data: dd/mm/aa, dd/mm/aaaa, dd/mm, dd/mmm, mm/aa, mmm/aa, mm/aaaa, mmm/aaaa.Lógica: V (Verdadeiro), F (Falso).óg ca: V (Ve a e o), ( a so).Caracter: Texto, Literal ou String
2121
VARIÁVEL
ÉÉ um espaço da memória do computador que "reservamos" para guardar informações (dados) Como o próprio nome sugere as (dados). Como o próprio nome sugere, as variáveis, podem conter valores diferentes a cada instante de tempo, ou seja, seu conteúdo pode p , j , pvariar de acordo com as instruções do algoritmo.
2222
VARIÁVEL
As variáveis são referenciadas através de um nome (identificador) criado por você durante o desenvolvimento do algoritmodesenvolvimento do algoritmo.O conteúdo de uma variável pode ser alterado, consultado ou apagado quantas vezes forem consultado ou apagado quantas vezes forem necessárias durante o algoritmo.ao alterar o conteúdo da variável, a informação ao alterar o conteúdo da variável, a informação anterior é perdida, ou seja, sempre "vale" a última informação armazenada na variável. Uma variável armazena 'apenas' um conteúdo de cada vez.
2323
VARIÁVEL
Armário com Rótulos e valores associadosArmário com Rótulos e valores associados
Rótulo ValorVar1 4V 2 13Var2 13Var3 “abcdef”
2424
VARIÁVEIS
Endereços de memóriaRótulo: nome da variávelFormato das variáveis (rótulos )
Iniciar com uma letra [a-z A-Z]C l ú bli h d ‘ ’Conter letras, números ou sublinhado ‘_’Não deve ter espaços em branco ou caracteres especiaisespeciais
Declaração: Tipo_Variavel Nome_VariavelVariáveis podem conter dados dos tipos:Variáveis podem conter dados dos tipos:
Numérico, Data, Lógico ou Caracter
2525
OPERANDOS E OPERADORES
CONSTANTES: 15+25, 345/5, 12,35*20;VARIÁVEIS: A-B, X/Y, HT*SH;
Operadores: São símbolos ou palavras que i di i d i l bé indicam o tipo de manipulação e também determinam de que tipo é a expressão.
2626
EXPRESSÕES
Qualquer instrução de manipulação de dados.Aritméticas: 3+2, A*BRelacionais: 10>5, A<BLógicas:
A>B E 10>5Cidade = “Canoas” OU Cidade = “Porto Alegre”
2727
OPERADORES
ARITMÉTICOSARITMÉTICOS:Adição: +Subtração: -çMultiplicação: *Divisão: /Exponenciação: ^Exponenciação: Mod: %
RELACIONAISIgualdade: =Maior que: >Menor que: <qMaior ou igual a: >=Menor ou igual a: <=Diferente: <> 28Diferente: <> 28
OPERADORES
ÓLÓGICOS (Booleanos)NÃOEEOU
Condição 1 Condição 2 Resultado E Resultado OUOU
V V V V
F V F VF V F V
V F F V
F F F F 29F F F F 29
OPERADORES
Atribuição= : A = 15
A 15:= : A := 15<- : A ←15
3030
BLOCO DE COMANDOS
Comando: Qualquer mecanismo que faz funcionar máquina ou dispositivoA t ló i d j t d dAgrupamento lógico de um conjunto de comandos
I i iIniciocomandos...
Fim
3131
ESTRUTURAS DE CONTROLE
Estrutura SeqüencialEstrutura Seleção
SimplesCompostaMúltiplaMúltipla
3232
ESTRUTURA SEQÜENCIAL
E l L d t d lExemplo: Ler o nome e duas notas de um aluno,calcular a média e mostrar o nome do aluno, asduas notas e a média calculada.
VARIAVEISNUMERICO N1, N2, MCARACTER NOMEC C O
INICION1 = 0N2 = 0M = 0M = 0LER NOMELER N1LER N2M = (N1+N2)/2ESCREVER NOME, N1, N2, M
FIM3333
EXERCÍCIOS
3434
ESTRUTURAS DE SELEÇÃOE l L d t d l l lExemplo: Ler o nome e duas notas de um aluno, calcular amédia e mostrar o nome do aluno, as duas notas, a médiacalculada e as palavras Aluno Reprovado, caso a média sejamenor do que sete ou Aprovado caso contrário.q p
VARIAVEISNUMERICO N1, N2, MCARACTER NOMECARACTER NOME
INICIOLER NOMELER N1LER N2M = (N1+N2)/2ESCREVER NOME, N1, N2, MSE (M < 7) ENTAO
ESCREVER “ALUNO REPROVADO”SENAO
ESCREVER “ALUNO APROVADO”FIM_SE
FIM 3535
EXERCÍCIOS
3636
ESTRUTURAS DE SELEÇÃO MÚLTIPLA
Seleção composta aninhadaSeleção composta aninhadaSE <condição> ENTAO
< d ><comandos>SENAO
SE di ã ENTAOSE <condição> ENTAO<comandos>
SENAOSENAO<comandos>
FIM_SEFIM_SE
3737
EXERCÍCIOS
3838
DÚVIDAS
e-mail:[email protected]
Endereço eletrônico da disciplina: http://docente.ifrn.edu.br/ebertonmarinho
3939