Postagens

Recursividade

Imagem
Introdução Para resolução de algum problema dentro da programação, às vezes é necessário dividi-lo em subproblemas do mesmo tipo. Isso pode ser feito com recursividade, que consiste em uma função chamar a si própria em tempo de execução. Quais os tipos de funções recursivas? Como funciona uma função recursiva? Pilha de chamadas de função Uma pilha de chamadas (callstack) de função representa a ordem de execução das funções de um programa. Tal ordem é resolvida partindo da última função adicionada na pilha. Dessa forma, a última função chamada é a primeira a ser resolvida, e assim sucessivamente.  A pilha de chamadas é dinâmica e montada durante a execução.   Definição de função recursiva Uma função recursiva é uma função que chama a si própria direta ou indiretamente para resolver determinado problema.  Diretamente: a linha que indica a chamada da mesma função está dentro da própria função. Indiretamente: a função chama outra função (que pode chamar outra), e no fim ...

SQL: Comandos básicos

Imagem
Introdução SQL é uma linguagem para execução de comandos em bancos de dados relacionais. Com ela é possível criar tabelas, colunas, índices, realizar consultas em geral e etc. Tal linguagem fornece para o programador diversos recursos para trabalhar em cima dos dados de um banco. É necessário conhecer alguns comandos básicos dessa linguagem a fim de facilitar esse diálogo do programador com o banco de dados. Select O select é o "comando base" para pesquisa de informações no banco de dados. Por meio dele, é possível buscar nas tabelas os campos que se necessita. O uso do select pode ser combinado com muitos outros recursos, como uso de operadores aritméticos ou condições lógicas. Nesse caso, fiz uma busca de todos os campos (representados pelo *) da tabela USERS. Também fiz uso da cláusula FROM, a qual explicarei melhor agora. From O comando FROM é usado para especificar de qual tabela será executado a instrução que vem antes dele. Por exemplo, ao usar um DELETE para apagar da...

Pilha e Fila

Imagem
Introdução Com base nos conceitos introdutórios de array e lista, podemos derivar desses conjuntos outros modelos de estruturas de dados, como pilha e fila. Tais modelos são parecidos em alguns aspectos mas divergem em outros. Nesse artigo pretendo mostrá-los, bem como a diferença de cada um, os casos de uso e um código para exemplificar o tipo pilha. Pilha Pilha é uma estrutura de dados simples. Sua principal ideia é que os elementos sejam acessados a partir do topo, assim, a cada inserção, o novo elemento passa a ser o topo e só temos acesso a ele. Dessa forma, os elementos de uma pilha são retirados na ordem inversa a que foram inseridos: o primeiro que sai é o último que entrou (LIFO - Last in, first out). Sua implementação pode ser um vetor, se tivermos a informação do número de elementos que serão armazenados, caso contrário, usa-se uma lista encadeada. Fila A fila é outra estrutura de dados que possui regras para inserção ou deleção. Nela, é possível inserir elementos no final d...

Array e Lista

Imagem
Lista e Array Esse pequeno artigo tem por finalidade definir os conceitos de array e lista como estruturas de dados na computação. Essas estruturas possuem características um pouco distintas, portanto é importante conhecer um pouco dos seus pormenores para fazer um uso adequado de ambas. Array (vetor) Um vetor é uma variável que armazena dentro dela diversas variáveis de um mesmo tipo de forma ordenada. Cada item dentro de um vetor é representado e pode ser acessado por um identificador chamado índice ou chave. Lista Uma lista é um conjunto de estruturas chamadas nós. Cada nó é uma estrutura que armazena a informação gerenciada pela lista e um apontador para o próximo elemento da lista. Existem dois tipos de listas: ligadas (ou encadeadas) e duplamente ligadas. A diferença entre ambas é que o nó na lista duplamente ligada guarda informações tanto do próximo elemento quanto do elemento anterior, assim possibilitando uma navegação começando do início ou do fim da lista. Lista ligada: Lis...