00 - Conceitos básicos Flashcards

1
Q

O que é recursividade?

A

É uma técnica em que uma função chama a si mesma.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qual é a composição da recursividade?

A

Toda recursividade é composta por um caso base e por chamadas recursivas.

O caso base é uma solução trivial para sair do loop infinito. É uma condição de parada para resolver o problema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quais as vantagens e desvantagens da recursividade?

A

Vantagem: torna a escrita do código menor e mais simples.

Desvantagem: quando o loop é muito grande, é consumida muita memória RAM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quais são os tipos de recursividade?

A

Direta: a função chama a si mesma.

Indireta: a função chama outra função que chama a 1º.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O que é uma rotina?

A

Rotina: conjunto de instruções (algoritmo)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

O que é uma sub-rotina?

A

Sub-rotina: pedaço menor do algoritmo que será utilizado repetidamente em diferentes locais do sistema e que resolve um problema mais específico. No Paradigma Orientado a Objetos, é chamada de método.

Elas podem vir por meio de uma função (RETORNA VALOR) ou de um procedimento (NÃO RETORNA VALOR).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quais são as vantagens de uma sub-rotina?

A

1) Redução de código duplicado;

2) Possibilidade de reutilizar o mesmo código sem grandes mudanças em outros programas;

3) Decomposição de problemas grandes em pequenas partes;

4) Melhorar interpretação visual.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que é uma co-rotina?

A

É um trecho de código que trabalha conjuntamente com o código chamador até que a tarefa termine.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quais são as formas existentes de passagem de parâmetro?

A

Por valor: cópia das duas variáveis

Por referência: referência para as duas variáveis originais e, não, cópias. As alterações refletem no módulo principal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quais são os tipos de tipagem das variáveis?

A

Fortemente tipada: toda variável tem um tipo

Fracamente tipada: não tem tipo (pode ser alterada posteriormente e há conversão entre tipos)

numero = ‘2’ (string)
numero2 = 2 (number)

numero == numero2 TRUE
numero === numero2 FALSE

Estaticamente tipada: o tipo tem que ser definido em tempo de COMPILAÇÃO

Dinamicamente tipada: o tipo é definido em tempo de EXECUÇÃO.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly