Introdução à Lógica de Programação Flashcards

(96 cards)

1
Q

O que é a Lógica?

A

É o estudo do raciocínio válido. É a maneira de raciocinar particular a um indivíduo ou a um grupo, gerando uma sequência coerente, regular e necessária de acontecimentos ou métodos, com a finalidade de obter uma solução prática e eficaz para um problema.

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

O que é um Programa?

A

É uma sequência lógica de instruções escritas em uma linguagem de programação, para serem executadas passo a passo, com a finalidade de atingir um determinado objetivo.

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

Quem é o Programador?

A

Pessoa responsável por criar, testar e fazer manutenção de programas de computador.

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

O que é uma Linguagem de Programação?

A

É um método padronizado para comunicar instruções para um computador.

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

Quais são os tipos de Linguagem de Programação?

A
  • Linguagem de baixo nível;
  • Linguagem de alto nível.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

O que são as Linguagens de Baixo Nível?

A

São aquelas capazes de compreender a arquitetura do computador e que utilizam somente instruções do processador. Ex: Linguagem de máquina e Assembly (muito utilizado na robótica).

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

Quais são as características das Linguagens de Baixo Nível?

A
  • Sintaxe Complexa;
  • Mais próximas da linguagem de máquina;
  • Maior tempo de desenvolvimento.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que são as Linguagens de Alto Nível?

A

São as Linguagens com a escrita mais próxima da linguagem humana.

Ex: Objective C; C++, C#, Delphi, Java, VB, Matlab, ASP; PHP, HTML…

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

Quais são as características das Linguagens de Alto Nível?

A
  • Sintaxe Simples;
  • Mais próximas da linguagem humana;
  • Menor tempo de desenvolvimento.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qual a função dos Tradutores?

A

Traduzir as instruções escritas em linguagens com estruturas diferentes para linguagem de máquina (a qual é composta por dígitos binários) para que o computador analise e execute.

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

Quais são os tipos de Tradutores e suas funções?

A
  • Montador;
  • Interpretador;
  • Compilador.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Qual a função do Montador?

A

Traduz a linguagem Assembly para a linguagem de máquina. Sua estrutura é relativamente simples e depende diretamente do processador utilizado, pois cada processador tem seu set de instruções característico.

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

Qual é o processo do Montador?

A

Código fonte (input) → Verificador → Montador → Saída (output)

Obs. traduz o código fonte na linguagem Assembly diretamente para a linguagem que será entendida pela máquina

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

Qual a função do Interpretador?

A

Realiza a tradução e a execução simultaneamente, não gerando o código-objeto (linguagem de máquina) em disco.

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

Qual é o processo do Interpretador?

A

Código fonte (input) → Verificador → Interpretador → Saída (output)

Obs. A tradução e execução são realizadas simultaneamente e isso pode afetar de forma negativa o desempenho na hora da execução, mas possibilita uma maior flexibilidade quando se está programando.

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

Qual a função do Compilador?

A

É um programa que traduz uma linguagem de programação de alto nível para linguagem de máquina, gerando um código-objeto independente.

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

Qual é o processo do Compilador?

A

Código fonte (input) → Verificador → Compilador → Módulo-objeto → Tradução → Saída (output)

Obs. Após a validação do código pelo Verificador, ele é compilado, ou seja, é traduzido para um código de máquina que ainda não está pronto para ser executado. Esse código chamado de Módulo-Objeto passa por um segundo processo de Tradução para então ser executado pelo computador.

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

O que é o Verificador?

A

Componente que checa se o código que foi escrito é válido ou não, independentemente do Tradutor.

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

O que é um Paradigma de Programação (ou tipo de programação)?

A

É a maneira com que estruturamos nosso pensamento ao codificar e criar programas de computadores.

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

Quais são os tipos de Programação?

A
  • Programação Tradicional (programação procedural);
  • Programação Orientada a Eventos;
  • Programação Orientada a Objetos.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Como funciona a Programação Tradicional (programação procedural)?

A

Toda a lógica é descrita em sequência e executada nesta ordem. As ações do usuário são “engessadas”, já que a ordem não pode ser alterada por ele.

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

Como funciona a Programação Orientada a Eventos?

A

A lógica é “quebrada” em vários módulos (procedimentos), que são executados na ordem determinada pelas ações do usuário.

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

Como funciona a Programação Orientada a Objetos?

A

Programação que se baseia entre as unidades do software, chamadas de objetos. Nesse estilo de programação, são definidas diversas classes que determinam o comportamento e os estados de cada objeto.

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

No que consiste um Evento na Programação?

A

Consiste em um fato que possa influenciar na execução de um programa. Sem a ocorrência de um evento, o programa que depende dele para ser executado ficaria em situação de espera eternamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Quais são os 3 tipos de básicos de **Eventos**?
- **Evento de Mouse** – Ocorre quando executamos qualquer tipo de ação com o mouse, como mover o mouse sobre um objeto, clicar...; - **Evento de Teclado** – Ocorre quando executamos qualquer tipo de ação com o teclado, como quando pressionamos uma tecla quando o foco está sobre um objeto; - **Evento de Clock** – É gerado a pedido do programador, em intervalos de tempo regulares, cuja unidade de medida é milissegundos.
26
O que é um **Algoritmo**?
É a descrição sequencial ordenada dos passos que devem ser executados, de forma lógica e clara, com a finalidade de facilitar a resolução de um problema.
27
Quais são os **Elementos de um Algoritmo**?
- **Ação**: abrir o porta-malas, retirar os parafusos, guardar o pneu; - **Decisão**: Tem estepe? Se sim: ... Se não: ...; - **Laço ou Loop**: Já desapertou todos os parafusos? Se sim: Vá para passo X, Se não: volte um passo.
28
Qual a estrutura do **Comando SE** no **Algoritmo**?
1. Pergunta (?) 1. 1.Se sim: faça A 1. 2.Se não: faça B
29
Qual a estrutura do **Comando CASO** no **Algoritmo**?
1. Faça 2. Caso 2. 1.Caso feito A: faça 1; 2. 2.Caso feito B: faça 2; 2. 3.Caso feito C: faça 3; 3. Fim do Caso
30
Qual a estrutura do **Comando ENQUANTO** no **Algoritmo**?
1. Enquanto A \> B 1. 1. Faça 1 2. Fim do Enquanto
31
O que são **Variáveis**?
São áreas na memória, utilizadas em programação, que servem para armazenar dados. O conteúdo de uma variável pode ser alterado, mas uma variável só pode conter um dado por vez.
32
O que são as áreas na memória?
São divisões na memória. O computador identifica cada divisão por meio de um endereço no formato hexadecimal, ou seja, para facilitar a localização dos dados, as variáveis são encontradas pelos endereços de memória, assim como uma casa é encontrada pelo seu endereço.
33
Quais são as situações em que se utiliza variáveis?
- **Consistência de condições**: com as variáveis podemos verificar a veracidade, ou não, de uma condição para assim obtermos um ou outro resultado; - **Controle de repetições**: as variáveis de memória podem ser usadas para o controle de repetições; - **Comparações de variáveis de memória com campos de registros**: quando se trabalha com arquivos de banco de dados, pode se fazer comparações, trocas e procuras de registros através das variáveis de memória.
34
Quais são os tipos básicos de **Variáveis**?
- **Alfanumérica**: pode ser atribuído letras, números ou sinais; - **Numérica**: pode ser atribuído somente números; - **Data**: pode ser atribuído somente datas; - **Lógica**: pode ser atribuído valores verdadeiros ou falsos (V/F). São utilizados para testes lógicos; - **Objeto**: pode ser atribuído uma referência a um objeto.
35
Quais são as regras para atribuir um **Nome** a uma **Variável**?
1 – Não pode começar com número; 2 – Só pode usar underline (\_). Espaço ou qualquer sinal é proibido; 3 – Usar sempre nomes autoexplicativos; 4 – Não pode ter nomes de comandos, funções ou campos de um banco de dados.
36
Como **declarar** uma **Variável**?
Para declarar uma Variável deve se informar o nome e o tipo da Variável. Normalmente a variável é declarada no início do programa para que possa ser utilizada no programa inteiro. Ex: Declara A, B, C numéricas, D, E alfanuméricas Declara VALORX numérica, TEXTOY alfanumérica Declara NOTA\_BIMESTRAL1, NOTA\_BIMESTRAL2 numéricas Declara HOJE data
37
Qual a função do **Comando de Atribuição**?
Serve para armazenar um valor numa variável e é representado pelo sinal “=”. Ex: A = 10 X = Q Nota = 7,5
38
O que são as **Constantes**?
As constantes possuem valor fixo e não sofrem alteração durante o processamento.
39
Quais são os **Operadores Aritméticos** e qual a **ordem de Precedência**?
1º – **Radiciação** (//)/ **Exponenciação** (^ ou \*\*); 2º – **Multiplicação** (\*)/ **Divisão** (/); 3º – **Adição** (+)/ **Subtração** (-).
40
Quais são os **Operadores Matemáticos Não-Convencionais** e qual a ordem de Precedência entre os Operadores Aritméticos?
2º - **Resto da Divisão** (Mod); 2º - **Quociente da Divisão Inteira** (Div).
41
Em qual direção as Operações Aritméticas são executadas?
Da esquerda para direita.
42
O que é um **Contador**?
É uma variável que recebe o valor dela mesma mais outro valor. Ex: A = A + 1
43
O que é um **Acumulador**?
É uma variável que recebe o valor dela mesma mais o valor de outra variável. Ex: B = B + A
44
Quais são os **Operadores Relacionais**?
→ igual a = → Maior que \> → Menor que \< → Maior ou igual a \>= → Menor ou igual a \<= → Diferente de \<\>
45
Quais são os **Operadores Lógicos** e qual a **Ordem de Precedência**?
1º – **NÃO (NOT)** – Inverte a lógica de uma expressão. Se for verdadeira, torna-se falsa e vice-versa; 2º – E (AND); 3º – OU (OR);
46
Como é a **Tabela de Decisão** (**Tabela Verdade**) do **Operador Lógico E**?
V E V = V V E F = F F E V = F F E F = F
47
Como é a **Tabela de Decisão** (**Tabela Verdade**) do **Operador Lógico OU**?
V OU V = V V OU F = V F OU V = V F OU F = F
48
Como é a **Tabela de Decisão** (**Tabela Verdade**) do **Operador Lógico E** com **Números Binários**?
Neste caso o número zero (**0**) tem valor **FALSO** e o número um (**1**) tem valor **VERDADEIRO**.
49
Como é a **Tabela de Decisão** (**Tabela Verdade**) do **Operador Lógico OU** com **Números Binários**?
Neste caso o número zero (**0**) tem valor **FALSO** e o número um (**1**) tem valor **VERDADEIRO**.
50
Como efetuar Operações Binárias com Variáveis?
Supor que A = 0101 e B = 1111. Efetuar: A E B NÃO (A E B)
51
O que é **Função**?
É uma rotina que retorna um valor específico.
52
Quais são as **Funções Básicas**?
- **STR()**: Transforma número em caracteres numéricos; - **VAL()**: Transforma caracteres numéricos em número; - **LEN()**: Retorna o número de caracteres.
53
Quais são os Símbolos para Concatenação de Alfanuméricos?
& ou +. Ex: DIA = 19 MES = “Abril” ANO = 2013 CIDADE = “São Paulo” **DATA = CIDADE & “,” & STR(DIA) & “ de “ & MES & “ de “ & STR(ANO)** São Paulo, 19 de abril de 2013
54
O que é **Fluxograma**?
Fluxograma ou Diagrama de Blocos é a representação gráfica de um algoritmo, sendo constituído de blocos funcionais que mostram o fluxo de dados e as operações efetuadas com eles.
55
Qual o nome e função de cada símbolo do quadro?
56
Quais são as **Estruturas Básicas** de um **Fluxograma**?
- Sequência; - Condição/Seleção; - Repetição Condicional.
57
Como é uma Estrutura de **Sequência**?
Sequência de ações.
58
Como é uma Estrutura de **Condição/Seleção**?
Esta estrutura permite representar uma condição e selecionar o fluxo a seguir dependendo do resultado da condição, se a condição é verdadeira ou falsa, podendo assim executar diferentes instruções.
59
Como é uma Estrutura de **Repetição Condicional**?
Esta estrutura permite representar uma condição e, dependendo do resultado da mesma, pode-se executar novamente algumas instruções.
60
O que é **Teste de Mesa**?
É a simulação da execução de um algoritmo, programa ou fluxograma, sem utilizar o computador, empregando apenas lápis e papel.
61
Qual a função de **Estruturas de Laços e Repetições**?
São construídas para executar trechos de uma lógica várias vezes.
62
Quais são as **Estruturas Básicas de Laços e Repetições**?
- **FOR...** **NEXT** (PARA); - **WHILE** (ENQUANTO); - **DO... WHILE** (FAÇA ENQUANTO).
63
Qual a Sintaxe do **FOR... NEXT**?
Sintaxe: - Inicialização → x = 0 - Condição → x \< 2 - Incremento → x = x + 1 Declara X Numérica PARA X = 0, X \< 2, X = X + 1 Exibir X Próximo X
64
Qual a Sintaxe do **WHILE (ENQUANTO)**?
Declara X Numérica X = 0 Sintaxe: ENQUANTO [Condição] Faça algo FIM ENQUANTO
65
Qual a Sintaxe do **DO...** **WHILE (FAÇA... ENQUANTO)**?
Declara X Numérica X = 0 Sintaxe: Faça: Comando ENQUANTO [Condição] FIM
66
O que são **Variáveis Indexadas**?
São um conjunto de variáveis que apresentam o mesmo nome, são do mesmo tipo, mas são diferentes no valor de seu índice.
67
As Variáveis Indexadas podem ter várias dimensões. - **Vetores**:\_\_\_\_\_\_; - **Matrizes**:\_\_\_\_\_\_.
- **Vetores**: uma dimensão; - **Matrizes**: n dimensões.
68
Nomeie os campos da tabela:
69
Um elemento de uma tabela pode ser referenciado de que maneira?
- Implícita; - Explícita.
70
Como se usa a **Referência Implícita** em um elemento de tabela?
Usa se o índice para referenciar a um certo elemento da tabela. A = 2 **→** DIA [A] = Terça-feira
71
Como se usa a **Referência Explícita** em um elemento de tabela?
Referencia-se diretamente ao elemento desejado. DIA [2] = Terça-feira
72
Exemplo de “**Referência**”.
.
73
Exemplo de “**Referência**”.
.
74
Exemplo de “**Referência**”.
.
75
O que são **Laços Encadeados** ou **Loops Encadeados**?
São laços executados dentro de outros laços.
76
O que é **Processamento Predefinido**?
Processamento Predefinido é um programa que pode ser usado em outro programa. No contexto de linguagem de programação, um subprograma, sub-rotina, função ou procedimento consiste numa parte do programa que resolve um problema específico.
77
Uma Sub-rotina pode ser reaproveitada em outros programas ou sistemas?
Sim
78
Qual a relação entre os **Parâmetros** e **Processamento Predefinidos**?
Os Parâmetros são os Argumentos do Processamento Predefinido. Eles são as comunicação da sub-rotina com os demais programas que a chamarão em algum momento e, através deles, a sub-rotina pode receber e retornar valores que serão processados para um objetivo final. Sendo assim, no momento de se declarar um processamento predefinido, é necessário declarar de que tipo e quantos serão os parâmetros de entrada e de saída para que ela funcione corretamente.
79
Qual a sintaxe de um **Processamento Predefinido**?
80
Como é o **Fluxograma** do Programa Principal e da Rotina?
81
O que é um **Banco de Dados**?
É uma coleção de informações relacionadas a um determinado assunto ou finalidade. Ex: Cadastro de fornecedores, cadastro de produtos no estoque de uma empresa ou agenda.
82
Quais são podem ser tomadas com as informações armazenadas em um **Banco de Dados**?
Os dados podem ser consultados, comparados, alterados, impressos ou excluídos.
83
Ao criar um **Banco de Dados**, o que é fundamental?
Que haja um planejamento voltado para o objetivo e forma de utilização desse banco, ou seja, é necessário considerar que tipos de informações ele deve conter.
84
Quais são as **áreas** de um **Banco de Dados**?
- **Campo**: corresponde à coluna da tabela; - **Registro**: corresponde à linha da tabela; - **Tabela**: composta por um (conjunto) de registro(s) e um (conjunto) de campo(s); - **Banco de Dados**: composto por uma tabela ou conjunto de tabelas.
85
O que são **Bancos de Dados Relacionais**?
São Bancos de Dados que possuem tabelas relacionadas entre si.
86
Quais considerações que devemos ter para decidir a espécie de tipos de dados a serem utilizadas para um campo?
- A espécie de valores que desejamos armazenar no campo. Por exemplo, não é possível armazenar texto em um campo com um tipo de dados **DATA**; - O espaço de armazenamento que desejamos utilizar para os valores neste campo; - Os tipos de dados que desejamos efetuar com os valores do campo. Por exemplo, não pe possível somar valores em campo com o tipo de dados **TEXTO**, mas em campos do tipo **NÚMERO** é possível; - A classificação dos valores de um campo. Os números são classificados como sequências de caracteres em um campo do tipo **TEXTO** (1, 10, 2, 20 e assim por diante) e não como valores numéricos. Para classificar números como valores numéricos utilizamos um campo do tipo **NÚMERO**.
87
Quais são os Tipos de Dados mais utilizados nas linguagens de programação?
- Texto; - Número; - Moeda (evita arredondamento durante os cálculos); - Data/Hora; - Lógico (Booleano); - Objeto.
88
Dentro de **Banco de Dados**, o que é **Relacionamento**?
Relacionamento é um componente que define como duas tabelas se relacionam. As duas tabelas que se deseja ligar devem, obrigatoriamente, ter um campo em comum. Este campo recebe o nome de **Chave**.
89
Quais são os 2 tipos de **Chave**?
- Chave **Primária**; - Chave **Estrangeira**.
90
Qual a função da **Chave Primária**?
O campo Chave Primária determina de forma exclusiva cada registro armazenado. Não existem dois registros com o mesmo dado em um campo Chave Primária de uma mesma tabela.
91
O que é **Chave Estrangeira**?
É o campo que possui um relacionamento com uma **Chave Primária** de outra tabela. Esse tipo de chave, que pode ocorrer repetidas vezes, estabelece um relacionamento entre a tabela em que está localizada e a tabela que contém a **Chave Primária**.
92
O que é **Modelagem de Dados**?
Tarefa que consiste em definir e estruturar os dados que serão manipulados e/ou gerados no sistema em questão.
93
O que é **Modelo Entidade-Relacionamento**?
É um diagrama de um sistema que contém todas as suas tabelas e seus relacionamentos. Esse diagrama deve ser desenvolvido se faz a modelagem de dados.
94
O que é **Índice**?
Definimos um campo como índice para auxiliar na ordenação de dados e para agilizar processos de busca.
95
Para que são usadas **Regras de Validação**?
Usadas para garantir consistência dos dados nos campos. Obrigatoriamente, os dados que serão digitados em um determinado campo devem obedecer às regras especificadas na consistência.
96
O que é **Texto de Validação**?
Trata-se da mensagem a ser exibida quando é quebrada a regra de validação.