14 de fevereiro de 2010

Questão de Lógica!!!

Existem duas portas, uma que leva ao céu, e outra que leva ao inferno. Cada porta é protegida por um guardião. Um deles só diz a verdade, e o outro só diz mentira. Você não sabe qual porta leva ao céu ou ao inferno, nem sabe quem fala verdade ou mentira (não necessariamente o que fala mentira guarda a porta do inferno, tome cuidado na resposta). Partindo disso, diga como proceder para passar pela porta que leva ao céu sendo que, você pode fazer uma única pergunta a somente um dos guardiões. Você só tem uma chance de perguntar a uma pessoa, se errar, será jogado automaticamente no inferno.

Detalhes Adicionais

Dois guardiões, um só fala mentira (tudo o que ele diz é mentira) e o outro só fala a verdade (tudo o que ele diz é verdade). O problema é: não se sabe se o guardião que só fala a verdade realmente guarda a porta que leva ao céu, e se o guardião que fala a verdade guarda a porta que leva ao inferno? Esse é o maior problema. Se eu tivesse dito que o guardião que só fala verdade guarda a porta do céu e o guardião que só fala mentira guarda a porta do inferno, o problema estaria resolvido. Mas não é o caso, eu não sei quem mente e quem fala a verdade e naum sei qual a porta do céu ou do inferno, entenderam? Tem gente achando que o guardião que só fala verdade guarda a porta do céu, isso pode não ser verdade. Pensem bem.

13 de fevereiro de 2010

Informativo!!!

Segue nome do representante discente do curso de ciência da computação na congregação da FCSAC eleito no dia 11/02/2010.

Diogo Akira Wakabayashi.

*Eu mesmo kkk

12 de fevereiro de 2010

Anatel também será acionada pelo Idec para garantir serviço de banda larga

Anatel também será acionada pelo Idec para garantir serviço de banda larga



Órgão de defesa do consumidor dará prosseguimento à ação contra operadoras e agência para exigir mudanças em contratos de serviços.


O Instituto Brasileiro de Defesa do Consumidor (Idec) decidiu dar continuidade a uma ação civil pública que obriga as operadoras de telefonia a oferece a velocidade contratada pelo consumidor, incluindo a Agência Nacional de Telecomunicações (Anatel) no processo.

A mudança ocorre após uma decisão judicial proferida na quarta-feira (9/2) pelo juiz João Batista Gonçalves, da 6ª Vara Federal da Seção Judiciária de São Paulo, afirmando que a agência não poderia ser responsabilizada por exigir das operadoras de telefonia o cumprimento da velocidade dos serviços de banda larga. Em seu parecer, o juiz afirma que as operadoras e o consumidor possuem uma “relação jurídica privada”.

A ação civil, que envolve as operadoras Telefônica, Net São Paulo, Brasil Telecom e Oi (Telemar Norte Leste), agora também se estende à Anatel. “Nesse atual cenário, o Idec dará continuidade à ação, para se fazer cumprir o direito do consumidor”, afirma o órgão de defesa em um comunicado emitido nesta quarta-feira (10/2).

Velocidade ‘real’ e pagamento por serviço
O objetivo do Idec é exigir alterações nas cláusulas contratuais das operadoras, que as eximem de sua responsabilidade em cumprir a oferta da velocidade de acesso a banda larga. Atualmente, em média, os contratos de nível de serviço garantem apenas 10% da velocidade contratada pelo internauta.

A ação do Idec também prevê que a Anatel determine que as operadoras esclareçam ao consumidor a efetiva velocidade da banda larga entregue, incluindo a informação na fatura mensal do serviço, ou sempre que o consumidor pedir.

O pedido da ação pública da banda larga foi motivado por uma pesquisa realizada pelo Idec entre maio de 2008 e novembro de 2009, que apontou as irregularidades do setor.

O órgão também pede que o usuário de banda larga pague somente pelo serviço utilizado e que possa rescindir o contrato, sem pagar multas, caso o serviço entregue não esteja de acordo com o contratado.

Fonte:  http://idgnow.uol.com.br/telecom/2010/02/11/idec-inclui-anatel-em-acao-para-garantir-velocidade-de-banda-larga/


Obs: Finalmente, alguém tem que lutar pelo nosso direito, porque a internet no Brasil é uma verdadeira merda.

Aviso!!!

Dia 18/02 quinta-feira após carnaval nossa aula será a distância.

Acessem o AVA e vejam as atividades e as respectivas datas de entrega.

voltamos a nos encontrar no dia 25 de fevereiro

*1 dia sem ir pra facul xD

10 de fevereiro de 2010

Lab. de Programação (EAD) - Introdução e Aula 1

Introdução

Dados Gerais:
Linguagem C
100% prática
Modalidade a distância
Equivalente a 3 aulas por semana

Ementa:
Estudo dos tipos mais comuns de algoritmos computacionais, com aplicação pratica a problemas chaves;
Aprendizado das principais técnicas e estratégias na resolução de problemas computacionais;
Resolução de problemas reais com as técnicas e algoritmos aprendidos;
Aplicações em Programação Orientada a Procedimentos

Metodologia:
Ambiente de Apoio (http://ava.univap.br)
Avaliações (presenciais)
13 de abril e 22 de junho
Exame Final (presencial)
29 de junho
Freqüência (não contabilizadas na EAD)

9 de fevereiro de 2010

Pense Matemática!!!

*alguém arrisca abrir???

No Cálculo, a derivada representa a taxa de variação de uma função.

5 de fevereiro de 2010

Um Momento para Refletir

Uma frase para todos refletirem um pouco.


“Adoraria mudar o mundo, mas não me deram o código-fonte...”
                                                                                                         Autor Desconhecido

4 de fevereiro de 2010

Marcando Presença na Campus Party

Fernandão esta famoso, aparecendo no JN, Sábado dia 30/01/2010, confira no minuto 1:19:

3 de fevereiro de 2010

Começou bem?

Prezados Alunos, que irão cursar a disciplina PROJETO MULTIDISCIPLINAR III
(QUINTA-FEIRA).

Infelizmente, nesta quinta-feira não poderei dar aula em virtude de um
compromisso que eu assumi anteriormente...

Novo Contribuinte!!

Olá Pessoal!!
Meu nome é Felipe Antonio Cardoso (Negão xD), e a partir de hoje serei um dos administradores do blog da faculdade de Ciência da Computação.
Participarei ativamente das atividades do Blog e sempre que possível postarei novidades uteis.

OBS: Prometo que falarei o mínimo de besteiras possíveis no Blog, aqui eu tenho tempo de pensar antes de falar xD

2 de fevereiro de 2010

Return to Begin...

Pessoal, já já blog de cara nova e com mais administradores, aguardem! há!

Calendário 2010
Horários 2010

24 de dezembro de 2009

Feliz Natal!

:)

14 de dezembro de 2009

Boliche!

Quando: Amanhã (15 de dezembro);
Horário: 18:30 ~ 19:00 hs
Local:Dragon Bowling Shopping Colinas.

Boraa!!!

1 de dezembro de 2009

Código Fonte - Projeto II

Se alguém quiser baixar o código fonte do projeto, esta aí!

Parabéns pra você, nessa data querida... ^^

Tirando todos os dias 11000 do ano, hoje é oficialmente o niver do Negão! xD
Parabéns para o premiado da nossa turma.

30 de novembro de 2009

Semana de Provas!

Estudem! oO

24 de novembro de 2009

Projeto II - Fase 4

Se alguém quiser baixar o projeto, esta aí!

Banco de Dados I - 12

Interbase - Parte III
Interbase - Parte VI

Exercício XX:

1) Selecionar todos os registros de todas as tabelas;

select * from Usuarios
select * from Dependentes
select * from Funcionario
select * from Area
select * from Cargo
select * from Cidade
select * from Estado_Civil

2) Selecionar os campos nome, nome do pai, nome da mãe para os usuários do sexo feminino;

select Nome, Nome_do_Pai, Nome_da_Mae from Usuarios where Sexo = "F"

3) Selecionar os campos nome, endereço, ddd e telefone para os usuários do sexo masculino que moram no Jardim Damasco;

select Nome, Endereco, DDD, Telefone from Usuarios where Sexo = "M" and Bairro = "Jardim Damasco"

4) Selecionar todos os registros das tabelas de funcionários com seus dependentes;

select * from Funcionario t1, Dependentes t2 where t1.CodUsuario = t2.CodUsuario

5) Selecionar todos os funcionários que trabalham na Área de Engenharia e no Financeiro;

select * from Funcionarios t1, Area t2 where t1.CodArea = t2.CodArea and (t2.Nome = "Engenharia" or t2.Nome = "Financeiro")

6) Selecionar todos os funcionários que são secretárias, engenheiros e gerentes;

select * from Funcionario t1, Cargo t2 where t1.CodCargo = t2.CodCargo and (t2.Nome = "Secretária" or t2.Nome = "Engenheiro" or t2.Nome = "Gerente")

7) Selecionar os dependentes das secretárias;

select t1.CodDependente, t1.Nome, t1.Data_Nascimento, t1.Parentesco, t1.Sexo from Dependentes t1, Funcionario Func, Cargo t3 WHERE t2.CodDependente = t1.CodDependente and t2.CodCargo = t3.CodCargo and t3.Nome = "Secretaria"

8) Selecionar os funcionários com salário maior ou igual a R$ 1000,00;

select * from Funcionario where Salario >= 1000

9) Selecionar os usuários Casados da cidade de São José dos Campos;

select * from Usuarios t1, Cidade t2, Estado_Civil t3 where t1.CodCidade = t2.CodCidade and Cid.Cidade = "São José dos Campos" and t1.CodCivil = t3.CodCivil and t3.Descricao = "Casado"

10) Selecionar os dependentes dos funcionários cujos usuários são do sexo feminino;

select * from Dependentes t1, Funcionario t2, Usuarios t3 where t1.CodDependente = t2.CodDependente and t2.CodUsuario = t3.CodUsuario and t3.Sexo = "F"

11) Incluir mais 4 funcionários, sendo dois com salário maior que R$ 1000,00 e dois com salário menor que R$ 1000,00;

insert into Funcionarios values (1,1,1,1,1001,"19/11/2009","",1)
insert into Funcionarios values (2,2,2,2,1002,"19/11/2009","",1)
insert into Funcionarios values (3,3,3,3,999,"19/11/2009","",1)
insert into Funcionarios values (4,4,5,998,"19/11/2009","",1)

12) Selecionar os dependentes dos funcionários que ganham mais de R$ 1000,00 e cujos usuarios são do sexo masculino;

select * from Dependentes t1, Funcionario t2, Usuarios t3 where t1.CodDependente = t2.CodDependente and t2.CodUsuario = t3.CodUsuario and t3.Sexo = "M" and t3.Salario > 1000

Banco de Dados I - 11

Introdução ao Interbase
Interbase - Parte II

Exercício XX:

Escrever os comandos para criação das tabelas e executá-las no Interbase


Área:

CREATE TABLE AREA
(
"CODAREA" INTEGER NOT NULL,
"NOME" VARCHAR(50),
PRIMARY KEY ("CODAREA")
);

Cargo:

CREATE TABLE CARGO
(
"CODCARGO" INTEGER NOT NULL,
"NOME" VARCHAR(50),
PRIMARY KEY ("CODCARGO")
);

Cidade:

CREATE TABLE CIDADE
(
"CODCIDADE" INTEGER NOT NULL,
"CIDADE" VARCHAR(50),
"UF" VARCHAR(2),
PRIMARY KEY ("CODCIDADE")
);

Dependentes:

CREATE TABLE DEPENDENTES
(
"CODDEPENDENTE" INTEGER NOT NULL,
"NOME" VARCHAR(50),
"DATANAS" DATE,
"PARENTESCO" VARCHAR(50),
"SEXO" CHAR(1) NOT NULL,
PRIMARY KEY ("CODDEPENDENTE")
);

Estado Civil:

CREATE TABLE ESTADO_CIVIL
(
"CODCIVIL" INTEGER NOT NULL,
"DESCRICAO" VARCHAR(255),
PRIMARY KEY ("CODCIVIL")
);

Funcionário:

CREATE TABLE FUNCIONARIO
(
"CODFUNCIONARIO" INTEGER NOT NULL,
"CODUSUARIO" INTEGER,
"CODAREA" INTEGER,
"CODCARGO" INTEGER,
"SALARIO" FLOAT,
"DATAADM" DATE,
"DATADEM" DATE,
"CODDEPENDENTE" INTEGER,
PRIMARY KEY("CODFUNCIONARIO")
);

Usuários:

CREATE TABLE USUARIOS
(
"CODUSUARIO" INTEGER NOT NULL,
"NOME" VARCHAR(50),
"DATANAS" DATE,
"NOMEPAI" VARCHAR(50),
"NOMEMAE" VARCHAR(50),
"CODCIVIL" INTEGER,
"ENDERECO" VARCHAR(70),
"BAIRRO" VARCHAR(70),
"CODCIDADE" INTEGER,
"CEP" VARCHAR(9),
"DDD" INTEGER,
"TELEFONE" INTEGER,
"SEXO" CHAR(1) NOT NULL,
"CPF" VARCHAR(14),
"RG" VARCHAR(12),
PRIMARY KEY ("CODUSUARIO")
);

Ordenação Utilizando Filas de Prioridade

Implemente os algoritmos Insertion-Sort e Selection-Sort utilizando um TAD Fila de Prioridade que também deve ser desenvolvido.

Classes:

Fila:

import java.util.ArrayList;

abstract class Fila{

private ArrayList<Item> Array = new ArrayList<Item>();

public Fila(){
}

abstract public void InsereItem(int Chave, Object Elemento);

abstract public Item RemoveMin();

abstract public int MinKey();

abstract public Object MinElement();

public int Size(){
return Array.size();
}

public boolean IsEmpty(){
return Array.isEmpty();
}

}

Item:

public class Item {

private int Chave;
private Object Elemento;

public Item(int Chave, Object Elemento){
this.Chave = Chave;
this.Elemento = Elemento;
}

public void setChave(int Chave){
this.Chave = Chave;
}

public void setElemento(int Elemento){
this.Elemento = Elemento;
}

public int getChave(){
return Chave;
}

public Object getElemento(){
return Elemento;
}

}

Sort:

import java.util.ArrayList;

public class Sort {

private Fila fila;
private ArrayList<Item> Array;

public Sort(ArrayList<Item> Array, Fila fila){
this.Array = Array;
this.fila = fila;
}

public ArrayList<Item> SortList(){
ArrayList<Item> ArrayOrdenado = new ArrayList<Item>();

for(int i = 0; i < Array.size(); i++)
fila.InsereItem(Array.get(i).getChave(), Array.get(i).getElemento());

int Tamanho = fila.Size();

for(int i = 0; i < Tamanho; i++)
ArrayOrdenado.add(fila.RemoveMin());

return ArrayOrdenado;
}

}

Selection-Sort:

import java.util.ArrayList;

public class SelectionSort extends Fila{

private ArrayList<Item> Array = new ArrayList<Item>();

public SelectionSort(){
}

public void InsereItem(int Chave, Object Elemento){
Array.add(new Item(Chave, Elemento));
}

public Item RemoveMin(){
Item menor = Array.get(0);
for(int i = 0; i < Array.size(); i++){
if(Array.get(i).getChave() < menor.getChave())
menor = Array.get(i);
}
Array.remove(menor);
return menor;
}

public int MinKey(){
Item menor = Array.get(0);
for(int i = 0; i < Array.size(); i++){
if(Array.get(i).getChave() < menor.getChave())
menor = Array.get(i);
}
return menor.getChave();
}

public Object MinElement(){
Item menor = Array.get(0);
for(int i = 0; i < Array.size(); i++){
if(Array.get(i).getChave() < menor.getChave())
menor = Array.get(i);
}
return menor.getElemento();
}

public int Size(){
return Array.size();
}

public boolean IsEmpty(){
return Array.isEmpty();
}

}

Insertion-Sort:

import java.util.ArrayList;

public class InsertionSort extends Fila{

private ArrayList<Item> Array = new ArrayList<Item>();

public InsertionSort(){
}

public void InsereItem(int Chave, Object Elemento){
Array.add(new Item(Chave, Elemento));

int posicao = 1;
if(Array.size() >= 1){
while(posicao < Array.size()){
for(int i = posicao; i > 0; i--){
if(Array.get(i).getChave() < Array.get(i - 1).getChave())
SwapElements(Array.get(i), Array.get(i - 1));
}
posicao++;
}
}
}

public Item RemoveMin(){
Item temp = Array.get(0);
Array.remove(temp);
return temp;
}

public int MinKey(){
return Array.get(0).getChave();
}

public Object MinElement(){
return Array.get(0).getElemento();
}

private void SwapElements(Item Elemento1, Item Elemento2){
int index1 = Array.indexOf(Elemento1);
int index2 = Array.indexOf(Elemento2);

Array.set(index1, Elemento2);
Array.set(index2, Elemento1);
}

public int Size(){
return Array.size();
}

public boolean IsEmpty(){
return Array.isEmpty();
}

}

Main:

import java.util.ArrayList;


public class Main {

public static void main(String Args[]){

SelectionSort Sel = new SelectionSort();
InsertionSort Ins = new InsertionSort();

ArrayList<Item> ArraySel = new ArrayList<Item>();

ArraySel.add(new Item(5, "Elemento 5"));
ArraySel.add(new Item(4, "Elemento 4"));
ArraySel.add(new Item(2, "Elemento 2"));
ArraySel.add(new Item(3, "Elemento 3"));
ArraySel.add(new Item(1, "Elemento 1"));

Sort SelSort = new Sort(ArraySel, Sel);

ArrayList<Item> ArrayIns = new ArrayList<Item>();

ArrayIns.add(new Item(10, "Elemento 10"));
ArrayIns.add(new Item(9, "Elemento 9"));
ArrayIns.add(new Item(8, "Elemento 8"));
ArrayIns.add(new Item(7, "Elemento 7"));
ArrayIns.add(new Item(6, "Elemento 6"));

Sort InsSort = new Sort(ArrayIns, Ins);

ArrayList<Item> ArrayRetornoSel = SelSort.SortList();

for(int i = 0; i < ArrayRetornoSel.size(); i++)
System.out.printf("%d ", ArrayRetornoSel.get(i).getChave());

System.out.printf("\n");

ArrayList<Item> ArrayRetornoIns = InsSort.SortList();

for(int i = 0; i < ArrayRetornoIns.size(); i++)
System.out.printf("%d ", ArrayRetornoIns.get(i).getChave());

}

}