
Introdução
A programação é a arte de transformar ideias em soluções que possam ser executadas por máquinas. Assim como qualquer habilidade, ela pode ser aprendida e desenvolvida, para isso é de suma importância a compreensão de alguns conceitos essenciais. Confira nesse unidade alguns termos importantes da área.
Lógica
A Lógica é o estudo e a aplicação de regras para o raciocínio estruturado, baseado em informações iniciais utilizadas para a busca de conclusões realistas e verdadeiras. Investigando os argumentos e suas estruturas, a lógica diferencia os argumentos corretos dos incorretos. A palavra "lógica" deriva do grego logos, que significa "razão". Quando falamos algo para alguém, pressupomos que o que estamos dizendo possui lógica, ou seja, faz sentido e é uma argumentação racional.
Pensamento Estruturado
O Pensamento Estruturado é uma metodologia que pressupõe a aplicação de técnicas de gerenciamento para a resolução de problemas complexos. Ela consiste em dividir, analisar, priorizar, resolver e avaliar problemas grandes, transformando-os em partes menores e mais gerenciáveis. Em resumo, um problema complexo é decomposto em etapas menores para facilitar o gerenciamento. Após essa divisão, são realizadas análises e priorizações das tarefas mais urgentes ou importantes. As partes são então resolvidas, e as soluções são avaliadas para, posteriormente, serem implementadas ou aplicadas à resolução geral.
Algoritmo
Um algoritmo consiste em passos lógicos e ordenados realizados para resolver um problema ou alcançar um objetivo. Por exemplo, uma receita de bolo é um algoritmo, pois apresenta uma sequência de etapas que devem ser seguidas com o intuito de atingir um objetivo: fazer o bolo.
Podemos fazer a seguinte classificação de um algoritmo:
Computacionais:
São os algoritmos cuja sequência de passos podem ser interpretadas e executadas por um computador.Exemplo: Um software/programa de computador (word, excel, etc).
NÃO Computacionais:
Algoritmos cuja sequência de passos não podem ser executadas por um computador.Exemplo: Encher um copo com água e beber a água.
Componentes básicos de um algoritmo computacional:
Dados:
São a entrada, os valores (números, nomes, etc) usados para "alimentar" o código e resolver o problema ou devolver um valor.Código:
São as instruções usadas para manipular/processar os dados para chegar a uma resolução ou valor final (escritos quase sempre um uma linguagem de programação)Formas de Representação
Quando vamos elaborar um algoritmo computacional, precisamos descrever quais serão os dados que vamos utilizar e como vamos manipula-los (a chamada declaração de variáveis e o código em seguida). Essa descrição pode ser feita de diversas formas diferentes, seguindo diferentes raciocínios, a depender de quem está criando o algoritmo.
Linguagem Natural
Amplamente conhecida como Portugol, pseudocódigo ou português estruturado, se baseia na construção de algoritmos em linguagem natural (no nosso caso, o português).
Exemplo: Vamos classificar a idade de uma pessoa em jovem ou adulta:
PROGRAMA
{
funcao inicio
{
inteiro idade
escreva("Informe sua idade: ")
leia(idade)
se (idade < 21)
{
escreva("Você é jovem!")
}
senao
{
escreva("Você é adulto!")
}
}
}
Fluxograma
São diversas as formas geométricas usadas na construção de um fluxograma, nosso foco será somente a compreensão da lógica pressuposta por esse tipo de representação.
Nessa abordagem, o algoritmo é construído graficamente, com cada um dos seus passos sendo representado individualmente.
Exemplo: Vejamos o algoritmo anterior em fluxograma:

(imagem grande para melhor visualização em telas menores)
Linguagem de Programação
Uma linguagem de programação é um sistema formal de comunicação utilizado para instruir o computador a realizar determinadas tarefas. Com ela, podemos estruturar algoritmos de maneira que o computador consiga interpretar e executar essas instruções, manipulando e processando dados de forma eficiente.
Algumas das linguagens de programação mais utilizadas são:
Python
Muito conhecida por sua adaptabilidade e simplicidade. Utilizada principalmente para o aprendizado de máquina e criação de automações. Conta com uma grande comunidade que oferece suporte aos usuários.
JAVA
Amplamente utilizada para construção de sistemas multi-plataforma, sistemas bancários e comerciais, aplicativos Android e aplicações complexas. Ficando atrás somente do Python, o JAVA é uma das linguagens mais utilizadas no mundo!
JavaScript
Utilizada majoritariamente para desenvolvimento WEB, na construção de elementos interativos em sites e páginas da internet. Com o Node.js podemos utilizar o JavaScript no backend também, se tornando uma linguagem muito versátil.
C++
Essa linguagem é muito utilizada na construção de sistemas complexos, como sistemas operacionais (windows, macOS e IOS, linux) por possuir um alto desempenho. Derivada do C, uma das primeiras linguagens populares do mundo, o C++ é considerada uma liguagem muito potente por sua alta capacidade gerenciamento de hardware.
Tipos de Dados
Os dados são a entrada, em outras palavras, são a "matéria prima" utilizada nos programas para que as ações possam ser executadas. Para o correto processamento dos dados, devemos classifica-los de acordo com suas características e tamanho, pensando antecipadamente quais serão os dados que vamos utilizar durante a execução do nosso algoritmo e quais podem ser os resultados do processamento.
Para armazenar dados de maneira adequada e utilizá-los posteriormente, é essencial classificá-los com base em suas características ou valores. Esse processo envolve a utilização de tipos de dados, que são categorias que determinam o tipo de valor que uma variável pode armazenar, como inteiros, caracteres, strings ou números com ponto flutuante.
Classificação -
Real:
São os dados que pertencem ao conjunto dos números reais R {1, √2, 1/2, -4, 0,3...}Inteiro:
Todo dado pertencente ao conjunto dos números inteiros Z {-3, -2, -1, 0, 1, 2}Caractere:
São as informações compostas por um conjunto de caracteres alfanuméricos ou caracteres especiaisExemplo: A...Z, a...z; *@$%?! etc...
Lógico:
Dados que podem assumir somente dois valores: verdadeiro ou falsoVariáveis e Constantes
Os dados de um algoritmo pode ser classificado em dois tipos: variáveis e constantes.
Variáveis:
São espaços alocados na memória cujo valor pode ser alterado durante a execução do programa.Exemplo: Em algumas linguagens de programação podemos declarar uma variável assim: IDADE = 25, mais tarde, durante a execução do programa, o valor pode ser alterado para IDADE = 26.
Constantes:
São parecidas com as variáveis, porém seu valor não pode ser alterado posteriormente. Depois de terem seu valor declarado, esse permanece o mesmo durante a execução do programa.Exemplo: Uma constante pode ser definida assim: CONST FLOAT PI = 3,14, esse valor não poderá ser modificado na constante de tipo FLOAT chamada PI.
Identificadores
São os nome utilizados para identificar dados variáveis ou constantes dentro de um algoritmo ou programa de computador. Mas, para que os identificadores sejam criados corretamente, devemos seguir algumas regras:
Começar com uma letra maiúscula ou minúscula ou um sublinhado ( _ ):
O nome deve obrigatoriamente começar com um letra maiúscula ou minúsculaou um sublinhado ( _ ). Ele não pode começar com um número.
Exemplos:
Válido: idade, _total
Inválido: 2contas
Usar caracteres alfanúmericos e sublinhados:
O nome pode conter letras, números e sublinhados, mas não pode conter caracteres especiais ($, &, @...) ou espaços.
Exemplos:
Válido: nome_cliente, saldoFinal
Inválido: nome-cliente, salário$
Case-sensitive:
Em muitas linguagens os identificadores são case-sensitive, ou seja, variavel e Variavel seriam identificadores diferentes.
Evitar palavras reservadas:
Não se pode usar palavras-chave ou reservadas da linguagem de programação como identificadores. Palavras como IF, ELSE, WHILE... são exemplos que não podem ser usadas.
Seguir convenções de nomeclaturas:
Além das regras básicas, é sempre recomendável seguir convenções como:
Escolher nomes significativos:
O nome deve descrever o propósito da variável ou constante de forma clara, para facilitar a leitura e manutenção do código posteriormente.
Exemplos:
Válido: totalVendas, NOME_PRODUTO_1
Inválido: x, a
Operadores
Operadores são os símbolos usados para representar as mais variadas operações que podem ser executas por um algoritmo computacional. Nas linguagens de programação alguns operadores que conhecemos, como X de multiplicação, possui uma representação diferente, mas exercendo a mesma função de multiplicar valores. Veremos também que são adicionados operadores lógicos, exercendo uma função diferente do que conhecemos. Veja as caracteristicas de cada tipo de operador:
Matemáticos
Em linguagens de programação, alguns operadores que aprendemos na notação matemática tradicional são representados de maneira diferente, veja:
Operação | Símbolo |
---|---|
Adição | + |
Subtração | - |
Multiplicação | * |
Resto da divisão inteira | % (mod) |
Divisão inteira | / (div) |
Exponenciação | mat.potencia (base, expoente) |
Raiz quadrada | mat.raiz (base, expoente) |
Relacionais:
Estes operadores são usados para comparar strings de caractere ou número. Os valores podem retornar verdadeiro ou falso, confira:
Operação | Símbolo |
---|---|
Igualdade | == |
Diferença | != |
Maior | > |
Maior ou igual | >= |
Menor | < |
Menor ou igual | <= |
Lógicos:
Estes operadores servem para combinar resultados de expressões, retornando seu valor final em verdadeiro ou falso, veja:
Operação | Símbolo |
---|---|
Conjunção (e lógico) | && ou AND |
Disjunção (ou lógico) | || ou OR |
Negação (não lógico) | ! ou NOT |
Operadores Lógicos
Operadores lógicos são usados para realizar comparações entre valores ou expressões, tendo como resultado somente dois valores: verdadeiro ou falso. Eles são essenciais na tomada de decisão e criação de condições no código. Confira a seguir os operadores lógicos mais usados:
Operador lógico e (&& ou AND) -
Retorna verdadeiro somente se as duas condições forem verdadeiras:
A | B | (A)&&(B) |
---|---|---|
Verdadeiro | Verdadeiro | Verdadeiro |
Verdadeiro | Falso | Falso |
Falso | Verdadeiro | Falso |
Falso | Falso | Falso |
Exemplo: (5 > 3)&&(2 < 4) retorna verdadeiro
Operador lógico ou (|| ou OR) -
Retorna verdadeiro se ao menos uma das condições forem verdadeiras:
A | B | (A)||(B) |
---|---|---|
Verdadeiro | Verdadeiro | Verdadeiro |
Verdadeiro | Falso | Verdadeiro |
Falso | Verdadeiro | Verdadeiro |
Falso | Falso | Falso |
Exemplo: (5 > 3)||(2 > 4) retorna verdadeiro
Operador lógico nao (! ou NOT) -
Inverte o valor lógico de uma condição, tornado verdadeiro o que era falso e vice-versa:
A | !(A) |
---|---|
Verdadeiro | Falso |
Falso | Verdadeiro |
Exemplo: !(5 > 3) retorna falso
Operador lógico de atribuição ( = ) -
Para atribuirmos um valor à uma variável/constante em um algoritmo, utilizamos o operador de atribuição, representado pelo sinal de igual:
Exemplo: clientes = 30; a variável clientes agora possui o valor 30 armazenado nela
Final
Bem, chegamos ao final da unidade, agradeço muito por ter lido até aqui, essa unidade foi desenvolvida tendo como base os materiais disponibilizados pelo professor Alfredo Neto e alguns materiais online para pequisa e complemento das informações. Caso tenha algum comentário ou recomendação, peço para que entre em contato, é de suma importância receber feedbacks dos leitores. Muito obrigado e até a próxima unidade!