[Linguagem e técnicas de programação] Flashcards

1
Q

O que é Algoritmo

A

Um algoritmo é uma sequência finita e bem definida de instruções ou regras que descrevem uma solução passo a passo para um problema ou tarefa específica.

Algoritmo de Soma de Dois Números Inteiros:

  1. Receba o primeiro número inteiro (A).
  2. Receba o segundo número inteiro (B).
  3. Some A e B.
  4. Armazene o resultado da soma em uma variável (C).
  5. Mostre o valor de C como a resposta da soma.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

O que é um Programa

A

Um programa de computador é um conjunto de instruções, escrito por meio de uma
linguagem de programação

  • Exemplo → Calculadora (conjunto de instruções para que seja possível a realização de cálculos)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

O que é Lógica de programação

A

Estruturação do pensamento e do raciocínio para resolver problemas de forma eficiente e lógica.

  • Objetivo principal: utilização de técnicas para resolução de problemas
  • Consequentemente, pode-se usar na automação de tarefas
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

[Representação Lógica] - Quais as formas de representar o algoritmo?

A

Maneira de representar de forma lógica, o algoritmo (passo a passo) para a resolução de um problema.
- Descrição narrativa: Português normal
- Fluxograma: simbolos para representação do algoritmo
- Pseudocódigo / Portugol: Português simulando uma linguagem de programação

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

[Representação Lógica] - Descrição narrativa o que é

A

Linguagem comum. utilizada no dia a dia

*PROBLEMA: Uma pessoa está perdida em uma cidade desconhecida e procura a rodoviária; encontra um policial e pede auxílio: – Por favor, como eu chego até a rodoviária?

RESOLUÇÃO com linguagem descritiva: Siga em frente e, na quarta esquina, vire à
direita; siga em frente e, de lá, você já vai vê-la.*

  1. VANTAGENS
    1. Fácil compreensão inicial
    2. Contextualização
    3. linguagem comum
  2. DESVANTAGENS
    1. Falta de precisão → Ambiguidade na interpretação
    2. Difícil implementação para linguagem de programação
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

[Representação Lógica] - Fluxograma o que é

A

Conjunto de símbolos-padrão que contém o passo a passo para resolução do problema.

Fluxograma - simbolos e exemplos

VANTAGENS
- Fácil compreensão

DESVANTAGENS
- Necessário conhecimento dos símbolos e o que eles fazem
- Modificação e edições difíceis

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

[Representação Lógica] - Portugol / Pseudocódigo o que é

A

Linguagem escrita em português com foco na lógica de programação.

  • Não há preocupação com a sintaxe da linguagem

> algoritmo SomaDeDoisNumeros
var numero1, numero2, resultado: inteiroinicio
escreva(“Digite o primeiro número: “)
leia(numero1)

   escreva("Digite o segundo número: ")
   leia(numero2)

   resultado <- numero1 + numero2

   escreva("A soma dos números é: ", resultado) fim
  1. VANTAGENS
    1. linguagem próxima ao português e a linguagem de programação
    2. solução lógica
    3. definição do tipo de dado
  2. DESVANTAGENS
    1. linguagem não oficial
    2. não padronizada
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Teste de mesa, o que é?

A
  • Realiza a validação do algoritmo.
  • Teste manual dos comandos do algoritmo.
  • Permite verificar se o código está realmente
    executando
    a função para o qual foi criado.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Regras para a construção de algoritmos

A
  • Entender o problemaLeitura do problema. Questionamentos para que fique claro
  • Conhecer os resultados esperadosExtração de todas os dados de saídas
  • Informações disponíveisExtração de todos os dados de entrada.
  • Funcionamento do algoritmoIdentifique o processamento principal, os cálculos.
  • VerificaçãoTeste cada passo do algoritmo para validar se o processamento está gerando os dados de saída esperado.
  • NormatizaçãoReveja o algoritmo, revendo as normas e o “Clean Code”.
  • ObjetividadeO algoritmo deve ser de fácil entendimento para quem irá fazer a sua leitura.
  • Simplicidade, não ambiguidadeUse frases ou palavras claras e objetivas para a interpretação
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Entrada, processamento e saída o que são?

A

Entrada → Dado a ser recebido

Processamento → Operação que será realizada

Saída → Valor do dado após ser processado.

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

Dados, o que são?

A

Dados são fatos brutos, informações ou representações simbólicas de informações em sua forma mais elementar.

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

[Armazenamento dos dados] - Variavel, o que é?

A

As variáveis são espaços reservados na memória principal do computador para armazenamento de dados
- usadas para armazenar informações que podem mudar durante a execução de um programa

let idade; // Declaração de uma variável chamada “idade”
idade = 25; // Atribuição de um valor à variável “idade”

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

[Armazenamento dos dados] - Constante, o que é?

A

São valores que não mudam durante a execução de um programa.

const birthdayYear = 2003 // declaração de uma constante, onde o valor do ano de nascimento não irá mudar

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

[Armazenamento dos dados] - Operadores, o que é?

A

Dão símbolos ou palavras-chave que realizam operações em dados.

  • Usados para realizar cálculos matemáticos, comparações, atribuições, entre outras operações.

let x = 10;
let y = 5;
let soma = x + y; // O operador “+” realiza uma operação de adição
let igualdade = (x === y); // O operador “===” verifica se x é igual a y

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

Tipos de dados primitivos

A
  • Inteiros → 1, 2, 33, 1000…
  • Reais → 1,99 | 1650,50…
  • Caracteres (Char) e String (Cadeias)
    • Caracteres - Podem ser numéricos ou alfabéticos e representam um único caractere
      • “A”, “8”, “B”
    • String → É um conjunto de caracteres
      • “Kaique”, “1000”, “Kaique1000”
  • Lógicos (Boolean) → Verdadeiro ou Falso
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Nomenclatura das variáveis

A
  • Iniciar com uma letra
  • Não pode conter espaços em branco ou caracteres especiais
  • Os Nomes devem ser significativos e auto-expressivos

let quantidadeDeProdutosEmEstoque; //Camelcase - Junção de letras minusculas e maiusculas

Boas práticas em nomenclaturas

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

Operadores aritméticos

A

**São símbolos que representam operações matemáticas (adução, subtrações…)

Operadores aritméticos

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

Operadores relacionais

A

Estabelece uma relação de verdadeiro ou falso para os valores comparados

Operadores relacionais

19
Q

Operadores lógicos

A

São operações AND, OR e NOT
- Indicam como o código irá se comportar em determinada situação

Operadores lógicos

20
Q

Linearidade o que é?

A

O computador não reconhece as fórmulas matemáticas armadas.

  • Necessários escreve-las de maneira linear, ou seja, representadas na mesma linha.

Linearidade

21
Q

[Linguagem C] - o que é?

A
  • É uma linguagem de programação
  • Projetada para ser usada em uma variedade de aplicações e setores
  • Código-fonte é traduzido em código de máquina executável antes de ser executado pelo computador

Exemplo de código
/* Stdio.h -> funções de entrada e saída. Nesse caso, habilitada a função “printf”*/
#include <stdio.h></stdio.h>

/* Função */
void main()
{
//comentário de uma única linha
printf(“meu primeiro programa em C\n”);
}

22
Q

[Linguagem C] - Site 4 características?

A
  • Linguagem estruturadaCódigo organizado de forma lógica e clara
  • Médio nívelintermédio entre linguagem de máquina e linguagem humana
  • Modularidadedividir um programa componentes menores e independentes.
  • Compilada → Código é traduzido para linguagem de máquina antes de ser executado.
  • Recursos de baixo nívelRealizar operações diretamente relacionadas ao hardware do computador e à memória do sistema.
  • Eficiente e Confiável
  • Simples e de fácil uso
  • Caso sensitivo (sensitive case)distinção entre maiúsculas e minúsculas nas nomenclaturas e comandos
23
Q

[Linguagem C] - Regras da línguagem?

A

Sintaxe muito rígida com regras detalhadas

  • TipagemPropriedade dos dados (inteiro, string, boolean…)
  • DeclaraçõesUsadas para realizar ações, controlar o fluxo do programa, definir estruturas (como funções, loops, condicionais, etc.) e declarar variáveis ou constantes.
  • Expressões → Todo calculo que é realizado, e retorna um valor.
  • FunçõesBlocos de código em programação que têm um nome e são projetados para realizar uma tarefa específica ou uma sequência de ações.
  • Nomes reservados, de acordo com o padrão ANSI
25
**[Linguagem C] - Comandos pós barra invertida em C**
[Comando com barra invertida](https://imagem.app/image/o7asiX)
26
**[Linguagem C] - Operadores em C**
[Operadores](https://imagem.app/image/o7aXrW)
27
**[Linguagem C] - Operadores unitários**
- **Realizam uma operação em um único valor** - Usados para realizar ações como incremento, decremento, negação, complemento, entre outras, dependendo do operador em questão. [Operadores unitários](https://imagem.app/image/o7aOQX)
28
**[Linguagem C] - Operadores relacionais**
- **Estabelecem um comparativo entre valores** [Operadores relacionais](https://imagem.app/image/o7fbaW)
29
**[Linguagem C] - Operadores lógicos**
**Permitem realizar operações de lógica booleana em valores booleanos, ou seja, valores que podem ser verdadeiros (true) ou falsos (false** [Operadores Lógicos](https://imagem.app/image/o7fBl0)
30
**[Linguagem C] - Entrada e saída de dados**
**A linguagem C não possui comandos de entrada e saída.** Elas são **feitos por meio de funções através da biblioteca-padrão stdio.h** (Standard Input Output). - A inclusão é feita no início do programa por meio da instrução: #include - Ela habilita comando como “printf” e “scanf”
31
**[Linguagem C][Entrada e saída de dados]**, função **printf()**, oq é?
- **Função de saída de dados → Exibe as informações na tela ou no console** - Necessário a especificação do tipo de dado de saída, através da tabela de especificadores: [printf()](https://imagem.app/image/o7f6G8)
32
**[Linguagem C][Entrada e saída de dados]**, função **scanf()**, oq é?
**Usada para ler dados da entrada padrão (geralmente o teclado) e armazená-los em variáveis** [scanf()](https://imagem.app/image/onkiN1)
33
**[Estruturas condicionais]** - o que são?
São **estruturas de condição ("if", "else", "switch"...)** que permitem que uma **instrução ou bloco de instruções seja executada** após a **validação da condição estabelecida, retornando verdadeiro ou falso.** [Tipos de estruturas condicionais](https://imagem.app/image/onkQJ8)
34
**[Estruturas condicionais]** - **IF**, o que é?
É uma **estrutura condicional**, que faz o **controle de fluxo da aplicação** de acordo com a **tomada de decisões com base nas condições definidas.** [Estrutura condicional - IF](https://imagem.app/image/onkRmE)
35
**[Estruturas condicionais]** - **IF... ELSE**, o que é?
A instrução “if” pode ser seguida da instrução “else”. **“else” é uma instrução opcional**, que irá **executar uma instrução no caso da condição “if” seja falsa.** [Estrutura condicional - IF e Else](https://imagem.app/image/onkm6N)
36
**[Estruturas condicionais]** - **IF… ELSE IF**, o que é?
Uma instrução if pode ser seguida por uma instrução else if (opcional). **Ela é executada no caso da condicional ser falsa. Estabelecendo uma nova condição a ser validada.** - Ela é **usada para testar múltiplas condições em uma sequência.** [Estrutura do ELSE IF](https://imagem.app/image/onzA01)
37
**[Estruturas condicionais]** - **IF aninhado**, o que é?
**Uma instrução if ou else if dentro de outra instrução if ou else if.** [Estrutura do if aninhado](https://imagem.app/image/onzIC1)
38
**[Estruturas condicionais]** - **Switch**, o que é?
Permite que uma **variável seja testada através da operação de igualdade e comparada com uma lista de valores** (inúmeros, o quanto de cases forem necessário). **** - **Cada valor é chamado de case**, e a **variável é testada para cada case.** - São permitidos os tipos: *int, byte, short, char, Strings* Comandos da Switch - **Break** → *Usado para sair da estrutura do **`switch`**.* - **Default** → *Especifica um bloco de código que será executado se nenhum dos casos correspondentes for encontrado na expressão avaliada na estrutura **`switch`**.* [Estrutura do Switch](https://imagem.app/image/onzffT)
39
**[Estrutura de repetiçao] - o que é?**
**Permite que uma instrução ou conjunto de instruções seja executada várias vezes**, enquanto uma **determinada condição seja satisfeita.** [Estrutura de repetição](https://imagem.app/image/o0Huly)
40
**[Estrutura de repetiçao][FOR] - o que é?**
Normalmente **utilizada quando se sabe o número de vezes em que uma instrução ou conjunto de instruções irá se repetir.** [Estrutura e código do FOR](https://imagem.app/image/o0HQG2)
41
**[Estrutura de repetiçao][WHILE] - o que é?**
**Utilizada quando não se sabe o número de vezes em que uma instrução ou conjunto de instruções irá se repetir.** [Estrutura e código do WHILE](https://imagem.app/image/o0Hm8S)
42
**[Estrutura de repetiçao][DO WHILE] - o que é?**
**Semelhante ao while**, porém o **teste só ocorre ao final do comando, ou seja, primeiro executa e depois realiza o teste.** [Estrutura de repetição do DO WHILE](https://imagem.app/image/o0Hm8S)
43
**[Estrutura de repetiçao][Laços aninhados] - o que é?**
**Aninhar uma estrutura de repetição consiste em colocar uma estrutura dentro de outra.** - *É utilizado para realizar processamentos mais complexos.* [Código e sáida de um laço de repetição aninhado](https://imagem.app/image/o0HvLT)
44
[Estrutura de repetiçao]**[Comando BREAK] - o que é?**
**Comando utilizado para abortar a execução de uma estrutura**. Quando executado dentro de um laço de repetição, o comando break interrompe imediatamente a estrutura. [Comando BREAK](https://imagem.app/image/o0HP5i)