Buscar

Resumo de Informática: MySQL e Algoritmos

Prévia do material em texto

RESUMO DE INFORMÁTICA 2TP/2011 
Aluno Jota 
 
Assuntos abordados: 
– Resto do conteúdo de MySQL (join e outras funções) 
– Início do estudo de algoritmos 
 
 
1. MySQL 
 
1.1. Subquery 
Subqueries são subconsultas, ou seja, consultas dentro de consultas, SELECTs dentro de SELECTs. 
Por exemplo: existe o número do aluno na tabela notas e na tabela alunos, e eu quero selecionar a 
nota do aluno que se chama “Jota”. Assim fica a query: 
SELECT * FROM notas WHERE nr_aluno IN (SELECT nr FROM alunos WHERE nome = 
“jota”; 
Como pode ser observado, a consulta diz: SELECIONE TUDO DA TABELA NOTAS ONDE O 
NÚMERO DO ALUNO ESTÁ EM (SELECIONE O NÚMERO DO ALUNO O QUAL TEM O 
NOME DE “Jota”). 
Sabendo interpretar esses comandos, o entendimento das subconsultas será fácil. 
 
1.2. Comando JOIN 
O join faz basicamente o que uma subconsulta faz, só que de uma forma melhor, otimizada. É 
usado somente quando há relações entre duas tabelas. 
Usando o mesmo exemplo acima, mas usando o join, temos: 
SELECT * FROM alunos JOIN notas ON notas.nr_aluno = alunos.nr AND 
alunos.nome=”Jota”; 
Ele vem acompanhado do ON, que serve para especificar onde se dará a relação entre as tabelas. 
Em outras palavras: 
SELECIONE TUDO JUNTANDO AS TABELAS NOTAS E ALUNOS ONDE A RELAÇÃO SE 
DÁ ENTRE NOTAS.NR_ALUNO E ALUNOS.NR E O NOME DO ALUNO É “Jota”. 
 
1.3. Funções de agregação de dados 
Existem várias funções adicionais para agregação de dados, e estudaremos as seguintes: 
Group by, having, count, sum, max, min, avg. 
 
1.3.1. Group by 
Serve para agrupar resultados de acordo com determinada característica. Por exemplo, quero 
selecionar todo mundo pelo tipo de carro que tem. A query ficaria assim: 
SELECT * FROM pessoas GROUP BY carro 
Aí haverá o grupo dos que tem 'Gol', o grupo dos que tem 'Hilux', enfim, agrupará de acordo com 
o parâmetro que definir. 
 
1.3.2. Having 
 Serve para atribuir uma condição de agrupamento para o GROUP BY. 
 SELECT user, MAX(salary) AS max_salary FROM users GROUP BY user 
HAVING max_salary>10; 
 No caso, mandou selecionar o usuário, o salário máximo dos usuários e agrupar pelos que 
têm salário máximo acima de 10. Essa condição de ser acima de 10 é dada pelo having. 
 
1.3.3 Count 
Serve literalmente para contar o número de resultdos. 
Por exemplo, quero selecionar o número de alunos do segundo ano: 
SELECT COUNT(nome) FROM alunos WHERE nro BETWEEN 2000 and 3000; 
 
1.3.4 Max, Min 
Max serve para selecionar o valor MÁXIMO, e min para selecionar o valor MÍNIMO, simples 
assim. Quero pegar, por exemplo, o MAIOR SALÁRIO da empresa: 
SELECT MAX(salario) FROM empregados; 
A sintaxe do MIN() é idêntica. 
 
1.3.5 Avg 
Parece com o MAX e com o MIN, mas, obviamente, tem uma função um pouco diferente. AVG 
vem de average, ou seja, média. Exemplo: quero selecionar a média de salário de uma empresa: 
SELECT AVG(salario) FROM empregados; 
 
1.3.6 Update 
Atualizar dados em um registro especificado. 
 
Sintaxe: 
UPDATE tabela2 SET nota=10 WHERE disciplina='inf' and numero='2036'; 
 
 
1.3.7 Insert 
Insere um novo registro contendo as informações especificadas. 
Sintaxe: 
 
 
 
 
 
 
 INSERT INTO tabela(campo1, campo2) VALUES (valor1, valor2); 
 Onde valor1 refere-se a campo1 e valor2 refere-se a campo2. 
 
1.3.8 Delete 
Deleta um registro 
Sintaxe: 
DELETE FROM tabela WHERE … ; 
Exemplo: quero tirar o aluno 2202 da tabela alunos: 
DELETE FROM alunos WHERE nr = 2202; 
 
 
2. Algoritmos 
 
2.1 Definição 
O que são algoritmos? Algoritmo é a forma que você organiza sua ideia para chegar a um 
determinado fim, é como uma receita de bolo. Você define os passos necessários para chegar a 
determinado resultado. Exemplo: 
Algoritmo para marchar: 
1 – Mover a perna esquerda para frente 
2 – Mover a mão direita para frente 
3 – Recuar a mão direita 
4 – Mover a perna esquerda para frente 
5 – Mover a mão esquerda para frente 
6 – Voltar ao passo 1 
 Afinal, o computador é apenas uma máquina, e você diz a ele, através dos algoritmos, o 
 que ele deve fazer. 
 Definição da professora: 
 São comandos e regras caracterizadas por uma estrutura que permite definir uma 
 sequência lógica de ações para que posteriormente o computador as processe e possa, com 
 isto, solucionar um problema ou executar uma atividade. 
 
2.2 Etapas para a elaboração de um programa 
Na resolução de problemas desenvolver-se-á o ciclo: 
DESCRIÇÃO – EXECUÇÃO – REFLEXÃO – DEPURAÇÃO – DESCRIÇÃO 
 Na descrição, você escreve o programa, desenvolve o algoritmo. 
 Na execução, você coloca o computador para rodar o programa, executá-lo. 
 Na reflexão, você vê se os resultados obtidos na execução estão corretos, se não ocorreu 
nenhum erro. Caso haja algum erro, vai para a depuração. 
 Na depuração, você verifica onde se encontram os erros e os corrige. É a etapa em que 
você 'conserta' o programa. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Análise Preliminar 
Entenda o problema com a maior precisão possível, identifique os dados e os resultados desejados. 
 
Solução 
Desenvolva um algoritmo para resolver o problema. 
 
Execução 
Reflexão 
Depuração 
Descrição 
 
 
 
 
 
Teste de Qualidade 
Execute o algoritmo desenvolvido com dados para os quais o resultado seja conhecido. 
 
Alteração 
Se o resultado do teste de qualidade não for satisfatório, altere o algoritmo e submeta-o a um novo 
teste de qualidade. 
 
Produto Final 
O algoritmo concluído e testado, pronto para ser aplicado. 
 
 
 2.3. Visualg 
 O Visualg será o programa utilizado para o desenvolvimento de algoritmos, que se 
dará em pseudocódigo. 
 
Estrutura básica: 
algoritmo <nome_do_algoritmo> 
<declaração_de_variáveis> 
<subalgoritmos> 
início 
<corpo_do_algoritmo> 
fim 
 
Formas de representação de algoritmos: 
 
 Descrição narrativa Fluxograma 
 
 
 
 
 
 
 
Pseudocódigo 
algoritmo media 
var 
 n1, n2, media: real 
inicio 
Cálculo da média de um 
aluno 
 
Obter as notas da primeira 
e da segunda prova; 
 
Calcular a média 
aritmética entre as 
duas; 
 
-Se a média for maior ou 
igual a 7, o aluno foi 
aprovado, senão ele 
foi reprovado. 
 leia n1,n2 
 media:=(n1+n2)/2 
 se media>=7 entao 
 escreva “aprovado” 
 senao 
 escreva “reprovado” 
 fimse 
fim 
Tipos de dados 
Os algoritmos prevêem quatro tipos de dados: inteiro, real, caracter e lógico (ou booleano). 
 
inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais. 
real: define variáveis numéricas do tipo real, ou seja, com casas decimais. 
caractere: define variáveis do tipo string, ou seja, cadeia de caracteres. 
logico: define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO. 
Os algoritmos permitem também a declaração de variáveis estruturadas através da palavra chave 
vetor, como será explicado posteriormente. 
 
Os nomes das variáveis devem começar por uma letra e depois conter letras, números ou underline 
(no VisuAlg até um limite de 30 caracteres). As variáveis podem ser simples ou estruturadas 
(vetores de uma ou duas dimensões). Não pode haver duas variáveis com o mesmo nome. 
 
Atribuição de variáveis 
 
A atribuição de variáveis se dá da seguinte forma: 
variavel < - valor 
ou 
variavel := valor 
Exemplo: quero atribuir à variável X o valor 25 
x < - 25 
ou 
x := 25 
Para colocar frases, usa-se aspas: x < - “JOTA” 
Para colocar valores lógicos, não são usadas as aspas: x := VERDADEIROPrimeiros comandos 
 
escreva() : Escreve algo na tela, imprime algo para o usuário ler. 
escreval() : Faz a mesma coisa do escreva(), a diferença é que adiciona uma quebra de linha no 
final da linha. 
Exemplo: 
escreva(“a”) 
escreva(“b”) 
Isso irá retornar ab 
 
Já com escreval... 
 
escreval(“a”) 
escreval(“b”) 
Isso irá retornar 
a 
b 
 
Comando leia() 
O comando leia serve para receber valores que o usuário irá colocar até apertar enter: 
Exemplo: 
leia(a) 
Quando o usuário escrever, tudo será armazenado na variável a e será interrompido o 
armazenamento quando a tecla enter for apertada pelo usuário. 
 
 
E isso é tudo até onde ela deu. 
Até mais e bons estudos!

Continue navegando