[Linguagem e técnicas de programação] Flashcards
O que é Algoritmo
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:
- Receba o primeiro número inteiro (A).
- Receba o segundo número inteiro (B).
- Some A e B.
- Armazene o resultado da soma em uma variável (C).
- Mostre o valor de C como a resposta da soma.
O que é um Programa
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)
O que é Lógica de programação
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
[Representação Lógica] - Quais as formas de representar o algoritmo?
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
[Representação Lógica] - Descrição narrativa o que é
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.*
-
VANTAGENS
- Fácil compreensão inicial
- Contextualização
- linguagem comum
-
DESVANTAGENS
- Falta de precisão → Ambiguidade na interpretação
- Difícil implementação para linguagem de programação
[Representação Lógica] - Fluxograma o que é
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
[Representação Lógica] - Portugol / Pseudocódigo o que é
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
-
VANTAGENS
- linguagem próxima ao português e a linguagem de programação
- solução lógica
- definição do tipo de dado
-
DESVANTAGENS
- linguagem não oficial
- não padronizada
Teste de mesa, o que é?
- 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.
Regras para a construção de algoritmos
- Entender o problema → Leitura do problema. Questionamentos para que fique claro
- Conhecer os resultados esperados → Extração de todas os dados de saídas
- Informações disponíveis → Extração de todos os dados de entrada.
- Funcionamento do algoritmo → Identifique o processamento principal, os cálculos.
- Verificação → Teste cada passo do algoritmo para validar se o processamento está gerando os dados de saída esperado.
- Normatização → Reveja o algoritmo, revendo as normas e o “Clean Code”.
- Objetividade → O algoritmo deve ser de fácil entendimento para quem irá fazer a sua leitura.
- Simplicidade, não ambiguidade → Use frases ou palavras claras e objetivas para a interpretação
Entrada, processamento e saída o que são?
Entrada → Dado a ser recebido
Processamento → Operação que será realizada
Saída → Valor do dado após ser processado.
Dados, o que são?
Dados são fatos brutos, informações ou representações simbólicas de informações em sua forma mais elementar.
[Armazenamento dos dados] - Variavel, o que é?
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”
[Armazenamento dos dados] - Constante, o que é?
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
[Armazenamento dos dados] - Operadores, o que é?
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
Tipos de dados primitivos
- 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”
- Caracteres - Podem ser numéricos ou alfabéticos e representam um único caractere
- Lógicos (Boolean) → Verdadeiro ou Falso
Nomenclatura das variáveis
- 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
Operadores aritméticos
**São símbolos que representam operações matemáticas (adução, subtrações…)
Operadores relacionais
Estabelece uma relação de verdadeiro ou falso para os valores comparados
Operadores lógicos
São operações AND, OR e NOT
- Indicam como o código irá se comportar em determinada situação
Linearidade o que é?
O computador não reconhece as fórmulas matemáticas armadas.
- Necessários escreve-las de maneira linear, ou seja, representadas na mesma linha.
[Linguagem C] - o que é?
- É 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”);
}
[Linguagem C] - Site 4 características?
- Linguagem estruturada → Código organizado de forma lógica e clara
- Médio nível → intermédio entre linguagem de máquina e linguagem humana
- Modularidade → dividir um programa componentes menores e independentes.
- Compilada → Código é traduzido para linguagem de máquina antes de ser executado.
- Recursos de baixo nível → Realizar 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
[Linguagem C] - Regras da línguagem?
Sintaxe muito rígida com regras detalhadas
- Tipagem → Propriedade dos dados (inteiro, string, boolean…)
- Declarações → Usadas 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ções → Blocos 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
[Linguagem C] - Tipos primitivos de dados?
[Linguagem C] - Comandos pós barra invertida em C
[Linguagem C] - Operadores em C
[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.
[Linguagem C] - Operadores relacionais
-
Estabelecem um comparativo entre valores
Operadores relacionais
[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
[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 <stdio.h></stdio.h>
- Ela habilita comando como “printf” e “scanf”
[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:
[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()
[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.
[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.
[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.
[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.
[Estruturas condicionais] - IF aninhado, o que é?
Uma instrução if ou else if dentro de outra instrução if ou else if.
[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 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ç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 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 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ç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.
[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.