Dicas de Estudos, Carreira e Vida Profissional no Blog da FASPEC

Confira dicas e artigos sobre Educação, Rotinas de Trabalho e Estudo, Carreiras Profissionais e Mais no Blog da FASPEC. Acesse agora!

dados

Programação: Tipos de dados, operadores e expressões

A programação é uma atividade que envolve a criação de algoritmos para resolver problemas ou realizar tarefas usando uma linguagem de programação. Uma linguagem de programação é um conjunto de regras e símbolos que permitem ao programador comunicar-se com o computador.

Para programar, é preciso entender alguns conceitos fundamentais, como tipos de dados, operadores e expressões. Neste artigo, vamos explicar o que são esses conceitos e como usá-los em diferentes linguagens de programação.

Tipos de dados

Um tipo de dado é uma forma de classificar os valores que podem ser armazenados e manipulados pelo computador. Cada tipo de dado tem um tamanho, um formato e um conjunto de operações que podem ser aplicadas a ele.
Os tipos de dados mais comuns são:
  • Inteiro: um valor numérico sem casas decimais, que pode ser positivo, negativo ou zero. Por exemplo, 3, -5, 0.
  • Real: um valor numérico com casas decimais, que pode representar frações ou números muito grandes ou pequenos. Por exemplo, 3.14, -0.001, 1.23e10.
  • Caractere: um símbolo alfanumérico ou especial, que pode representar uma letra, um dígito, um espaço ou um sinal de pontuação. Por exemplo, ‘a’, ‘9’, ’ ‘, ‘.’.
  • String: uma sequência de caracteres, que pode representar uma palavra, uma frase ou um texto. Por exemplo, “Olá”, “Bing”, “Este é um texto”.
  • Booleano: um valor lógico, que pode ser verdadeiro ou falso. Por exemplo, true, false.
  •  

Algumas linguagens de programação podem ter outros tipos de dados, como:

  • Array: uma coleção de valores do mesmo tipo, que podem ser acessados por meio de um índice. Por exemplo, [1, 2, 3], [“a”, “b”, “c”].
  • Estrutura: uma coleção de valores de tipos diferentes, que podem ser acessados por meio de um nome. Por exemplo, {nome: “João”, idade: 25, sexo: “M”}.
  • Enumeração: um conjunto de valores constantes, que podem ser usados para representar categorias ou opções. Por exemplo, {VERMELHO, VERDE, AZUL}, {SEGUNDA, TERÇA, QUARTA, QUINTA, SEXTA, SÁBADO, DOMINGO}.
  •  

Operadores

Um operador é um símbolo que indica uma operação que pode ser realizada sobre um ou mais valores, chamados de operandos. Os operadores podem ser classificados em:
  • Operadores aritméticos: realizam operações matemáticas, como soma, subtração, multiplicação, divisão, resto e potência. Por exemplo, 3 + 4, 5 – 2, 6 * 7, 8 / 4, 9 % 2, 2 ** 3.
  • Operadores relacionais: realizam comparações entre valores, como igualdade, desigualdade, maior, menor, maior ou igual, menor ou igual. Por exemplo, 3 == 4, 5 != 2, 6 > 7, 8 < 4, 9 >= 2, 2 <= 3.
  • Operadores lógicos: realizam operações lógicas, como conjunção, disjunção, negação e exclusão. Por exemplo, true && false, true || false, !true, true ^ false.
  • Operadores bit a bit: realizam operações sobre os bits dos valores, como and, or, xor, not, deslocamento à esquerda e deslocamento à direita. Por exemplo, 3 & 4, 5 | 2, 6 ^ 7, ~8, 9 << 2, 2 >> 3.
  • Operadores de atribuição: atribuem um valor a uma variável ou a uma constante, podendo combinar com outros operadores. Por exemplo, x = 3, y += 4, z -= 2, w *= 7, v /= 4, u %= 2, t **= 3.
  •  
A partir da análise, você pode projetar um algoritmo que resolva o problema, ou seja, que transforme a lista de entrada em uma lista ordenada. Existem vários algoritmos possíveis para resolver esse problema, como o algoritmo da bolha, o algoritmo da seleção, o algoritmo da inserção, o algoritmo da intercalação, o algoritmo da partição, entre outros. Cada algoritmo tem suas vantagens e desvantagens, dependendo do tamanho da lista, da distribuição dos números, da complexidade e da eficiência.
Por fim, você precisa implementar o algoritmo em uma linguagem que possa ser entendida e executada por um agente que resolva o problema, como uma linguagem de programação, uma linguagem natural, uma linguagem matemática ou uma linguagem gráfica.

Um bom algoritmo deve ter as seguintes características:

  • ▷ Correto: o algoritmo deve resolver o problema de forma adequada, ou seja, produzir os dados de saída esperados a partir dos dados de entrada fornecidos, respeitando o objetivo, as restrições e os critérios de sucesso do problema.
  • ▷ Claro: o algoritmo deve ser fácil de entender, ou seja, ter instruções simples, precisas, consistentes e sem ambiguidades, que possam ser seguidas sem dificuldade pelo agente que resolva o problema.
  •  
  • ▷ Eficiente: o algoritmo deve resolver o problema de forma rápida, ou seja, usar o mínimo de recursos possíveis, como tempo, espaço, memória, processamento, energia, entre outros, para executar as instruções e produzir os dados de saída.
  •  
  • ▷ Geral: o algoritmo deve resolver o problema de forma abrangente, ou seja, funcionar para qualquer dado de entrada válido, sem depender de casos específicos ou particulares.
  •  
  • ▷ Adaptável: o algoritmo deve resolver o problema de forma flexível, ou seja, ser capaz de se ajustar a diferentes situações, cenários, contextos ou requisitos, sem perder a sua correção, clareza, eficiência e generalidade.

Expressões

Uma expressão é uma combinação de valores, variáveis, constantes, operadores e funções que resulta em um valor. As expressões podem ser simples ou compostas, dependendo do número de elementos que as compõem.
Uma expressão simples é formada por um único valor, variável, constante ou função. Por exemplo, 3, x, PI, sqrt(4).
Uma expressão composta é formada por duas ou mais expressões simples, separadas por operadores. Por exemplo, 3 + x, x * PI, sqrt(4) - 2.
As expressões podem ser usadas para atribuir valores, realizar cálculos, testar condições, controlar fluxos, chamar funções, etc.

Exemplos

Para ilustrar os conceitos de tipos de dados, operadores e expressões, vamos ver alguns exemplos de código em diferentes linguagens de programação.

C

#include <stdio.h>
#include <math.h>

int main() {
// Declaração de variáveis e constantes
int x = 3; // Tipo inteiro
double y = 3.14; // Tipo real
char z = ‘a’; // Tipo caractere
char *w = “Bing”; // Tipo string
_Bool v = 1; // Tipo booleano
const double PI = 3.14159; // Constante real

// Operadores aritméticos
printf(“%d + %d = %d\n”, x, x, x + x); // Soma
printf(“%d – %d = %d\n”, x, x, x – x); // Subtração
printf(“%d * %d = %d\n”, x, x, x * x); // Multiplicação
printf(“%d / %d = %d\n”, x, x, x / x); // Divisão
printf(“%d %% %d = %d\n”, x, x, x % x); // Resto
printf(“%d ^ %d = %d\n”, x, x, (int) pow(x, x)); // Potência

// Operadores relacionais
printf(“%d == %d: %d\n”, x, x, x == x); // Igual
printf(“%d != %d: %d\n”, x, x, x != x); // Diferente
printf(“%d > %d: %d\n”, x, x, x > x); // Maior
printf(“%d < %d: %d\n”, x, x, x < x); // Menor
printf(“%d >= %d: %d\n”, x, x, x >= x); // Maior ou igual
printf(“%d <= %d: %d\n”, x, x, x <= x); // Menor ou igual

// Operadores lógicos
printf(“%d && %d: %d\n”, v, v, v && v); // And
printf(“%d || %d: %d\n”, v, v, v || v); // Or
printf(“!%d: %d\n”, v, !v); // Not

// Operadores bit a bit
printf(“%d & %d: %d\n”, x, x, x & x); // And
printf(“%d | %d: %d\n”, x, x, x | x); // Or
printf(“%d ^ %d: %d\n”, x, x, x ^ x); // Xor
printf(“~%d: %d\n”, x, ~x); // Not
printf(“%d << %d: %d\n”, x, x, x << x); // Deslocamento à esquerda
printf(“%d >> %d: %d\n”, x, x, x >> x); // Deslocamento à direita

// Operadores de atribuição
x += 1; // x = x + 1
y -= 1; // y = y – 1
z *= 2; // z = z * 2
w /= 2; // w = w / 2
v %= 2; // v = v % 2

// Expressões
double area = PI * pow(x, 2); // Área de um círculo
printf(“Área = %f\n”, area);
int par = x % 2 == 0; // Testa se x é par
printf(“Par = %d

Contact Form Blog Faspec