39
INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE GRANDE DO NORTE ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROGRAMAÇÃO É Docente: Éberton da Silva Marinho e-mail: [email protected] [email protected] Curso de Tecnologia em Sistemas para Internet 19/06/2013

INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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]

[email protected]

Curso de Tecnologia em Sistemas para Internet

19/06/2013

Page 2: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

SUMÁRIO

PseudocódigoEstrutura SequencialE t t d C t lEstruturas de ControleEstruturas de Repetição

22

Page 3: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 4: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 5: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 6: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

ALGORITMO

Algoritmo

Computador

Compilador

Linguagem de Máquina 6de Máquina 6

Page 7: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 8: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 9: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 10: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 11: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 12: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 13: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 14: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

PSEUDOCÓDIGO

Page 15: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 16: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 17: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 18: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 19: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

ESTRUTURA DE UM COMPUTADOR

MemóriaRótulo Valor TipoA 3 NumericoB “Lúcia” CaracterSaldo 3000,00 Numérico

1919

Page 20: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 21: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 22: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 23: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 24: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 25: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 26: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 27: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 28: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 29: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 30: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

OPERADORES

Atribuição= : A = 15

A 15:= : A := 15<- : A ←15

3030

Page 31: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 32: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

ESTRUTURAS DE CONTROLE

Estrutura SeqüencialEstrutura Seleção

SimplesCompostaMúltiplaMúltipla

3232

Page 33: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 34: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

EXERCÍCIOS

3434

Page 35: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 36: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

EXERCÍCIOS

3636

Page 37: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

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

Page 38: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

EXERCÍCIOS

3838

Page 39: INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE ... · INSTITUTO FEDERAL DE EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS

DÚVIDAS

e-mail:[email protected]

[email protected]

Endereço eletrônico da disciplina: http://docente.ifrn.edu.br/ebertonmarinho

3939