O documento apresenta uma introdução à linguagem de programação Ruby. Resume os principais pontos sobre o que é Ruby, suas características como tipagem dinâmica e orientação a objetos, exemplos de código com classes, arrays, hashes e estruturas de controle. Explica como testar programas Ruby e fornece referências para aprendizado adicional.
O documento apresenta uma discussão sobre implementação de pilhas e filas dinâmicas utilizando listas encadeadas. É explicado como utilizar a estrutura de lista encadeada para representar pilhas e filas de forma dinâmica, codificando as operações necessárias como empilhar, desempilhar, enfileirar e desenfileirar.
O documento descreve o funcionamento de filas, listas lineares que adotam a política FIFO. As filas permitem inserções no final e remoções no início. Elas podem ser implementadas usando vetores de forma circular, incrementando os índices de modo a "andar" no vetor.
O documento descreve as listas encadeadas e como representá-las em C. As listas encadeadas representam uma sequência de objetos na memória ligados por ponteiros. Cada elemento da lista contém um campo de dados e um ponteiro para o próximo elemento, permitindo acesso flexível aos itens.
O documento descreve como implementar uma fila circular usando um vetor. Uma fila é uma estrutura de dados que usa a política FIFO, com inserções no final e remoções no início. Uma fila circular permite reutilizar o espaço do vetor de forma eficiente ao incrementar os índices de forma circular.
O documento descreve como implementar uma fila usando uma lista simplesmente encadeada. Ele define estruturas de dados para os nós da lista e para a fila, e fornece funções para criar, inserir, remover, verificar se está vazia, imprimir e liberar a fila.
O documento apresenta uma aula sobre pilhas ministrada pelo professor Sérgio Souza Costa. A aula discute o conceito de pilha, as operações básicas de empilhar e desempilhar elementos, e apresenta uma implementação de pilha usando vetores em C com funções como criaPilha(), empilha(), desempilha() e topo().
O documento descreve como implementar uma fila usando uma lista encadeada simples. Uma estrutura Fila contém ponteiros para o início e fim da lista, e métodos são fornecidos para inserir e remover itens da fila.
O documento apresenta uma discussão sobre implementação de pilhas e filas dinâmicas utilizando listas encadeadas. É explicado como utilizar a estrutura de lista encadeada para representar pilhas e filas de forma dinâmica, codificando as operações necessárias como empilhar, desempilhar, enfileirar e desenfileirar.
O documento descreve o funcionamento de filas, listas lineares que adotam a política FIFO. As filas permitem inserções no final e remoções no início. Elas podem ser implementadas usando vetores de forma circular, incrementando os índices de modo a "andar" no vetor.
O documento descreve as listas encadeadas e como representá-las em C. As listas encadeadas representam uma sequência de objetos na memória ligados por ponteiros. Cada elemento da lista contém um campo de dados e um ponteiro para o próximo elemento, permitindo acesso flexível aos itens.
O documento descreve como implementar uma fila circular usando um vetor. Uma fila é uma estrutura de dados que usa a política FIFO, com inserções no final e remoções no início. Uma fila circular permite reutilizar o espaço do vetor de forma eficiente ao incrementar os índices de forma circular.
O documento descreve como implementar uma fila usando uma lista simplesmente encadeada. Ele define estruturas de dados para os nós da lista e para a fila, e fornece funções para criar, inserir, remover, verificar se está vazia, imprimir e liberar a fila.
O documento apresenta uma aula sobre pilhas ministrada pelo professor Sérgio Souza Costa. A aula discute o conceito de pilha, as operações básicas de empilhar e desempilhar elementos, e apresenta uma implementação de pilha usando vetores em C com funções como criaPilha(), empilha(), desempilha() e topo().
O documento descreve como implementar uma fila usando uma lista encadeada simples. Uma estrutura Fila contém ponteiros para o início e fim da lista, e métodos são fornecidos para inserir e remover itens da fila.
A pilha é uma estrutura de dados que segue o princípio LIFO (último a entrar, primeiro a sair). Os elementos são inseridos no topo da pilha e removidos apenas do topo. O documento descreve como implementar uma pilha usando vetor ou lista encadeada e as operações básicas de empilhar, desempilhar, verificar se está vazia e liberar a estrutura.
O documento descreve listas ligadas e como representá-las em C. Listas ligadas armazenam itens de dados em locais de memória não contíguos, ligados por ponteiros. Isso permite inserções e remoções sem deslocar outros itens, diferente de vetores. Operações como inserir, remover e buscar itens em listas ligadas são explicadas.
O documento fornece uma introdução básica sobre o MATLAB, abordando tópicos como matrizes, vetores, gráficos, programação e arquivos M. É destacada a extensibilidade do MATLAB, permitindo que usuários contribuam para o enriquecimento do software. São apresentados comandos como HELP, LOOKFOR, PLOT e exemplos de uso de estruturas de repetição e condicionais.
O documento apresenta uma introdução à linguagem de programação Ruby, descrevendo sua história desde a criação em 1993, características como variáveis, métodos, classes, módulos e estruturas de controle, e exemplos de código.
A pilha é uma estrutura de dados simples onde os elementos são inseridos e removidos sempre do topo. O documento descreve as operações básicas de empilhar (push) e desempilhar (pop) e apresenta implementações de pilhas usando vetores e listas encadeadas.
Este código C implementa uma pilha (stack) usando ponteiros e alocação dinâmica de memória. Ele define uma estrutura para os nós da pilha e funções para empilhar (insere) e desempilhar (retira) caracteres, mantendo um ponteiro para o topo da pilha. Um loop principal permite ao usuário empilhar, desempilhar ou sair, demonstrando o funcionamento básico de uma pilha.
Lua é uma linguagem de script dinâmica criada em 1993 no Brasil para ser usada inicialmente em projetos da Petrobras. Desde então, Lua tem sido amplamente utilizada no desenvolvimento de jogos, aplicativos móveis e sistemas embarcados por ser leve, rápida e ter uma curva de aprendizado fácil. O documento descreve a história, aplicações, características e sintaxe básica da linguagem Lua.
Algoritmos e Programação: Manipulação de stringsAlex Camargo
O documento discute manipulação de strings na linguagem C, apresentando variáveis do tipo char e vetores de caracteres para representar strings. Ele também explica funções como gets(), puts(), strcpy(), strcat(), strcmp() e strlen() para ler, imprimir, copiar, concatenar, comparar e encontrar o comprimento de strings.
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUACândido Sales Gomes
Lua é uma linguagem de script dinâmica e leve usada para automatizar tarefas e adicionar lógica e funcionalidade a outros sistemas. Ela é portátil, simples, eficiente e pode ser embutida ou acoplada a várias linguagens e plataformas. Lua é amplamente usada em jogos e tem bibliotecas para strings, tabelas, matemática e depuração.
O documento descreve conceitos de pilhas e filas em Java. Ele apresenta:
1) As definições de pilha e fila, incluindo os princípios LIFO e FIFO.
2) As principais operações de pilhas e filas como push, pop, enqueue e dequeue.
3) Implementações de pilhas e filas usando arranjos em Java e suas complexidades de tempo e espaço.
O documento descreve listas circulares e duplamente encadeadas, e apresenta o problema de Josephus, no qual soldados em um círculo são mortos a cada M posições até restar apenas um sobrevivente.
O documento discute listas encadeadas em C. Ele define listas encadeadas e suas vantagens e desvantagens em relação a vetores. Também descreve como implementar listas encadeadas em C usando estruturas e ponteiros, e apresenta funções para inserir elementos e imprimir uma lista. Finalmente, propõe um exercício para implementar uma lista encadeada simples em C.
O documento descreve a origem e usos da linguagem de programação Lua, destacando sua rapidez, portabilidade e capacidade de ser embutida em outros sistemas. Lua foi criada no Tecgraf da PUC-Rio e é amplamente usada em jogos, sistemas embarcados e como linguagem de extensão. Sua sintaxe simples e tipagem dinâmica tornam a linguagem flexível e fácil de aprender.
O documento discute pilhas e filas, que são listas lineares especiais com disciplina restrita de organização e acesso aos seus nós. Apresenta as operações básicas de pilhas (LIFO) e filas (FIFO) e duas formas de implementação: por contiguidade física usando arranjos e por encadeamento usando ponteiros.
Apresentação para o Hack Thursday (http://hackthursday.com/) sobre a linguagem C. Pode servir como uma introdução para a linguagem. O material é inspirado nesse curso aqui: http://www.cs.cf.ac.uk/Dave/C/ Para quem não participou da apresentação pode ser mais didático olhar o link.
Pilhas e filas são estruturas de dados fundamentais. Pilhas seguem o princípio LIFO (último a entrar, primeiro a sair) enquanto filas seguem FIFO (primeiro a entrar, primeiro a sair). Ambas podem ser implementadas usando listas no Python.
O documento resume os principais conceitos de ponteiros, vetores e estruturas em C++. É apresentada uma revisão sobre ponteiros, incluindo sua declaração, operadores e atribuição de valores. Em seguida, são explicados vetores, mostrando como declará-los e acessar seus elementos. Por fim, o documento define estruturas, demonstrando sua declaração, acesso aos membros e atribuição de valores.
Otimizações em Sistemas de Armazenamento mediadas por anotações em Metadadosricardoas
O documento descreve otimizações em sistemas de armazenamento mediadas por anotações em metadados. Ele propõe um modelo que permite a implementação de novas funcionalidades e otimizações através de desvios e anotações em metadados. O documento também apresenta estudos de caso em workflows científicos em larga escala.
O documento discute listas encadeadas em C, incluindo: (1) O que são listas encadeadas e como são implementadas usando nós; (2) Como criar uma lista encadeada vazia e inserir itens no início da lista; (3) Como imprimir os itens de uma lista encadeada.
O documento apresenta uma introdução ao framework Ruby on Rails, descrevendo o que é Rails, seus princípios como DRY e convention over configuration, a arquitetura MVC e seus componentes principais como Active Record e Action Controller. O documento também descreve um exemplo de aplicação que será desenvolvida durante o treinamento para demonstrar o uso do Rails.
A pilha é uma estrutura de dados que segue o princípio LIFO (último a entrar, primeiro a sair). Os elementos são inseridos no topo da pilha e removidos apenas do topo. O documento descreve como implementar uma pilha usando vetor ou lista encadeada e as operações básicas de empilhar, desempilhar, verificar se está vazia e liberar a estrutura.
O documento descreve listas ligadas e como representá-las em C. Listas ligadas armazenam itens de dados em locais de memória não contíguos, ligados por ponteiros. Isso permite inserções e remoções sem deslocar outros itens, diferente de vetores. Operações como inserir, remover e buscar itens em listas ligadas são explicadas.
O documento fornece uma introdução básica sobre o MATLAB, abordando tópicos como matrizes, vetores, gráficos, programação e arquivos M. É destacada a extensibilidade do MATLAB, permitindo que usuários contribuam para o enriquecimento do software. São apresentados comandos como HELP, LOOKFOR, PLOT e exemplos de uso de estruturas de repetição e condicionais.
O documento apresenta uma introdução à linguagem de programação Ruby, descrevendo sua história desde a criação em 1993, características como variáveis, métodos, classes, módulos e estruturas de controle, e exemplos de código.
A pilha é uma estrutura de dados simples onde os elementos são inseridos e removidos sempre do topo. O documento descreve as operações básicas de empilhar (push) e desempilhar (pop) e apresenta implementações de pilhas usando vetores e listas encadeadas.
Este código C implementa uma pilha (stack) usando ponteiros e alocação dinâmica de memória. Ele define uma estrutura para os nós da pilha e funções para empilhar (insere) e desempilhar (retira) caracteres, mantendo um ponteiro para o topo da pilha. Um loop principal permite ao usuário empilhar, desempilhar ou sair, demonstrando o funcionamento básico de uma pilha.
Lua é uma linguagem de script dinâmica criada em 1993 no Brasil para ser usada inicialmente em projetos da Petrobras. Desde então, Lua tem sido amplamente utilizada no desenvolvimento de jogos, aplicativos móveis e sistemas embarcados por ser leve, rápida e ter uma curva de aprendizado fácil. O documento descreve a história, aplicações, características e sintaxe básica da linguagem Lua.
Algoritmos e Programação: Manipulação de stringsAlex Camargo
O documento discute manipulação de strings na linguagem C, apresentando variáveis do tipo char e vetores de caracteres para representar strings. Ele também explica funções como gets(), puts(), strcpy(), strcat(), strcmp() e strlen() para ler, imprimir, copiar, concatenar, comparar e encontrar o comprimento de strings.
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUACândido Sales Gomes
Lua é uma linguagem de script dinâmica e leve usada para automatizar tarefas e adicionar lógica e funcionalidade a outros sistemas. Ela é portátil, simples, eficiente e pode ser embutida ou acoplada a várias linguagens e plataformas. Lua é amplamente usada em jogos e tem bibliotecas para strings, tabelas, matemática e depuração.
O documento descreve conceitos de pilhas e filas em Java. Ele apresenta:
1) As definições de pilha e fila, incluindo os princípios LIFO e FIFO.
2) As principais operações de pilhas e filas como push, pop, enqueue e dequeue.
3) Implementações de pilhas e filas usando arranjos em Java e suas complexidades de tempo e espaço.
O documento descreve listas circulares e duplamente encadeadas, e apresenta o problema de Josephus, no qual soldados em um círculo são mortos a cada M posições até restar apenas um sobrevivente.
O documento discute listas encadeadas em C. Ele define listas encadeadas e suas vantagens e desvantagens em relação a vetores. Também descreve como implementar listas encadeadas em C usando estruturas e ponteiros, e apresenta funções para inserir elementos e imprimir uma lista. Finalmente, propõe um exercício para implementar uma lista encadeada simples em C.
O documento descreve a origem e usos da linguagem de programação Lua, destacando sua rapidez, portabilidade e capacidade de ser embutida em outros sistemas. Lua foi criada no Tecgraf da PUC-Rio e é amplamente usada em jogos, sistemas embarcados e como linguagem de extensão. Sua sintaxe simples e tipagem dinâmica tornam a linguagem flexível e fácil de aprender.
O documento discute pilhas e filas, que são listas lineares especiais com disciplina restrita de organização e acesso aos seus nós. Apresenta as operações básicas de pilhas (LIFO) e filas (FIFO) e duas formas de implementação: por contiguidade física usando arranjos e por encadeamento usando ponteiros.
Apresentação para o Hack Thursday (http://hackthursday.com/) sobre a linguagem C. Pode servir como uma introdução para a linguagem. O material é inspirado nesse curso aqui: http://www.cs.cf.ac.uk/Dave/C/ Para quem não participou da apresentação pode ser mais didático olhar o link.
Pilhas e filas são estruturas de dados fundamentais. Pilhas seguem o princípio LIFO (último a entrar, primeiro a sair) enquanto filas seguem FIFO (primeiro a entrar, primeiro a sair). Ambas podem ser implementadas usando listas no Python.
O documento resume os principais conceitos de ponteiros, vetores e estruturas em C++. É apresentada uma revisão sobre ponteiros, incluindo sua declaração, operadores e atribuição de valores. Em seguida, são explicados vetores, mostrando como declará-los e acessar seus elementos. Por fim, o documento define estruturas, demonstrando sua declaração, acesso aos membros e atribuição de valores.
Otimizações em Sistemas de Armazenamento mediadas por anotações em Metadadosricardoas
O documento descreve otimizações em sistemas de armazenamento mediadas por anotações em metadados. Ele propõe um modelo que permite a implementação de novas funcionalidades e otimizações através de desvios e anotações em metadados. O documento também apresenta estudos de caso em workflows científicos em larga escala.
O documento discute listas encadeadas em C, incluindo: (1) O que são listas encadeadas e como são implementadas usando nós; (2) Como criar uma lista encadeada vazia e inserir itens no início da lista; (3) Como imprimir os itens de uma lista encadeada.
O documento apresenta uma introdução ao framework Ruby on Rails, descrevendo o que é Rails, seus princípios como DRY e convention over configuration, a arquitetura MVC e seus componentes principais como Active Record e Action Controller. O documento também descreve um exemplo de aplicação que será desenvolvida durante o treinamento para demonstrar o uso do Rails.
El documento expresa la profundidad del significado de la palabra "gracias". Agradece a alguien por dedicar su tiempo y hacerle sentir importante, alegrar su día con actos especiales que demuestran aprecio y cariño. Reconoce que no había obligación pero valora enormemente los gestos que nunca olvidará. Concluye agradeciendo de todo corazón.
Only 20% of homes have broadband yet advertisers still send people to their websites! The iWord solution overcomes this problem and allows reach to almost all
Este documento presenta la agenda de una reunión de dos días entre ex alumnos del Instituto de Formación de Profesionales de Chile. El primer día se centrará en volver a conectarse entre sí, analizar el contexto actual del IFP y aprender de las experiencias de otras redes de ex alumnos. El segundo día se dedicará a discutir propuestas y proyectos de colaboración en áreas de interés común, y establecer compromisos de trabajo futuros a nivel regional y temático.
Landmines are a dangerous threat in Egypt, with 20% of the world's landmines located there. Traditional detection methods include metal detectors, mine-detection dogs, and mechanical vehicles, but each has disadvantages. New sensor technologies like ground penetrating radar, electromagnetic induction, and seismic sensors show promise and need further research to provide safer and more effective detection solutions.
O documento descreve as características e funcionalidades da linguagem de programação Ruby. Apresenta sua história, criador, implementações, tipos de dados suportados e estruturas de controle. Explica conceitos como orientação a objetos, variáveis, constantes, operadores, comentários e entrada/saída. Detalha a instalação do Ruby e como testá-lo usando o interpretador interativo IRB.
A palestra apresenta uma introdução à linguagem de programação Ruby, destacando suas principais características como ser interpretada, dinâmica, de tipagem dinâmica e orientada a objetos. O palestrante também discute tópicos como metaprogramação, Gems e implementações do interpretador Ruby, além de exemplos de uso da linguagem.
O documento descreve conceitos básicos da linguagem de programação Ruby, incluindo:
1) Sua origem no Japão e influências de outras linguagens como Smalltalk e Perl.
2) Conceitos como orientação a objetos, dinamismo, blocos de código e falta de tipagem.
3) Ferramentas como RVM para gerenciar versões do Ruby e Rubygems para gerenciar pacotes.
Ruby, Rails e Diversão (Campus Party Brasil 2009)Julio Monteiro
O documento apresenta Ruby, Rails e suas características principais. Ruby é uma linguagem de programação interpretada, orientada a objetos e de propósito geral que possui sintaxe concisa e flexível. Rails é um framework web baseado em Ruby que permite focar na lógica de negócio ao invés de detalhes técnicos. Apesar das dificuldades iniciais, Ruby e Rails valem a pena devido à produtividade e sucesso de projetos.
Scala - Uma Breve (breve mesmo) Introduçãopaulosuzart
O documento apresenta uma breve introdução à linguagem Scala, abordando sua história, características, funcionalidades e comunidade. A agenda inclui tópicos como história, apresentação da linguagem, programação funcional, quem usa Scala, ferramentas e exemplos.
Este documento fornece um resumo da história e características da linguagem JavaScript em 3 frases:
1) JavaScript foi criada originalmente em 1995 para ser usada no navegador Netscape Navigator e teve influências de linguagens como Java, Scheme, Self e Perl.
2) A linguagem é interpretada, possui tipagem dinâmica e fraca, orientação a objetos baseada em protótipos e funções de primeira classe.
3) JavaScript evoluiu muito desde então e atualmente está na versão ECMAScript 6, sendo uma das linguagens de programação
O documento fornece uma introdução básica à linguagem de programação Ruby, incluindo sua sintaxe, tipos de dados, estruturas de controle e programação orientada a objetos. Também discute como Ruby pode ser usado para acessar infraestruturas Java existentes e frameworks como Ruby on Rails.
1. O documento descreve os diferentes tipos de dados no PHP, incluindo inteiros, números de ponto flutuante, strings, arrays, objetos, booleanos, nulos e recursos. 2. Fornece exemplos de código PHP para ilustrar cada tipo de dado. 3. A bibliografia no final lista fontes consultadas para a pesquisa.
Desenvolvimento em .Net - Boas Praticas De DesenvolvimentoVitor Silva
O documento apresenta boas práticas de desenvolvimento em .NET, abordando mantras, convenções, localização, strings e expressões regulares. Discute a importância de usar Option Explicit e Option Strict, código modular com subs e funções, nomes significativos para variáveis e procedimentos, e internacionalização da aplicação.
Esta apresentação foi utilizada em um treinamento de front end para alguns colaboradores da CI&T.
Todo o material foi criado e apresentado por mim.
Alguns termos utilizados como GO!, Armchair, KOAD fazem referência a um projeto e empresas com o qual esse treinamento foi destino.
Nessa primeira aula, foi apresentado regras e diretivas. flags e expressões.
Introdução ao Desenvolvimento WEB com Ruby on RailsJulio Betta
Slides que utilizei para ministrar uma palestra sobre Desenvolvimento WEB com Ruby on Rails no IV Congresso de Iniciação Científica da Faculdade Redentor de Itaperuna / RJ.
Versão PDF aqui: https://www.dropbox.com/s/2fkwksu00chm7nu/presentation.pdf
O documento descreve diversas ferramentas de linha de comando do Linux ("power tools") que permitem maior eficiência e automatismo em tarefas. Apresenta comandos como shell, man, alias, awk, sed, tr, grep, find, xargs, screen e strace, explicando suas funções e sintaxes básicas.
Ruby on Rails (VERSAO COM LAYOUT CONSERTADO)Julio Betta
Slides que utilizei para ministrar uma palestra sobre Desenvolvimento WEB com Ruby on Rails no IV Congresso de Iniciação Científica da Faculdade Redentor de Itaperuna / RJ em Novembro de 2011.
Minicurso de Ruby on Rails que ocorreu de 25/11/2014 até 28/11/2014 no Instituto Federal de Educação Ciência e Tecnologia do Sudeste de Minas Campus Barbacena
Minicurso ministrado durante a semana acadêmica de TSI (UTFPR/Guarapuava) que introduz as pessoas ao mundo das Expressões Regulares (REGEX).
Este minicurso foi produzido e apresentado por mim juntamente com Matheus Mazepa.
O documento fornece um resumo sobre a linguagem de programação PHP. Ele descreve que o PHP foi desenvolvido originalmente por Rasmus Lerdorf em 1994 e passou por diversas versões desde então. Também apresenta as principais características, funcionalidades, tipos de dados e estruturas suportadas pela linguagem PHP.
O documento discute shell scripts no Linux. Ele apresenta uma introdução aos shells e scripts, como criar e executar scripts simples, usar variáveis e comandos dentro de scripts, e estruturas de controle como if/else e loops. O documento também fornece exemplos passo a passo e exercícios para praticar shell scripting.
Este documento discute funções em programação e como elas podem ser usadas para dividir códigos complexos em partes menores e reutilizáveis. O documento apresenta exemplos de como definir e usar funções em C para realizar tarefas como somar números e desenhar casas usando caracteres ASCII. Também discute conceitos como abstração, prototipagem e como funções podem facilitar a manutenção de softwares grandes e complexos dividindo-os em módulos independentes.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
2. O que é Ruby?
Definição do site oficial: (www.ruby-lang.org)
A dynamic, open source programming language with a focus on
simplicity and productivity.
It has an elegant syntax that is natural to read and easy to write.
Criada por Yukihiro quot;matzquot; Matsumoto.
Inspirada por suas linguagens favoritas:
Perl, Smalltalk, Eiffel, Ada e Lisp.
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
3. Ruby: Características
Linguagem de script interpretada.
Similar a Smalltalk, Python, PHP, Perl...
Manipulação fácil e poderosa de strings.
Amplo suporte a expressões regulares. =)
Extremamente orientada a objetos.
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
4. Ruby: Características
Não é necessário declarar variáveis.
Tipagem dinâmica.
Tipagem forte.
Sintaxe simples, leve e consistente.
Gerenciamento de memória automático.
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
5. Exemplo de código Ruby
class Category < ActiveRecord::Base
has_many :places
before_save :generate_slug
def generate_slug
return unless self.slug.blank?
self.slug = self.name.parameterize
end
end
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
6. Estilos de programação e POO
Você pode programar usando programação estruturada
ou orientação a objetos, ou as duas juntas, se quiser =)
POO:
Classes
Herança
Controle de Acesso
Polimorfismo
etc...
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
8. Exemplo clássico: fatorial
fatorial.rb
def fatorial( n )
if n == 0
1
else
n * fatorial( n – 1 )
end
end
# chamando a função criada
fatorial(5)
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
9. Strings
Funcionam de forma semelhante ao PHP.
Strings entre quot; são processadas a procura de expressões.
Strings entre ' não são processadas.
# exemplos:
puts '1+1=#{1+1}'
puts quot;1+1=#{1+1}quot;
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
10. Arrays
lista = [ quot;verdequot;, quot;amareloquot;, quot;azulquot;, quot;brancoquot; ]
lista.public_methods.sort
# http://www.ruby-doc.org/core/classes/Array.html
lista[0..2] # da posição 0 até a posição 2
lista.push( quot;vermelhoquot; )
# ou que tal?
lista.push quot;laranjaquot;
lista.pop
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
11. Ranges
Fechado:
0..9, ou seja, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Aberto:
0...9, ou seja, 0, 1, 2, 3, 4, 5, 6, 7, 8
0..9 # é um range, não um array!
(0..9).to_a # agora é um array =)
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
12. Hashes
Também conhecidos como dicionários ou arrays
associativos. Forma conveniente de armazenar
informações por associação, no formato:
chave => valor
Bastante utilizado na passagem de parâmetros para os
métodos Rails.
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
14. Símbolos
São elementos utilizados para representar strings ou
nomes de uma maneira geral.
Bastante empregados na construção de hashes (vistos
no slide anterior).
Além disso, por conta de seus fins descritivos, só existe
uma instância de cada símbolo na memória.
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
15. Hashes com símbolos
# criando um hash novo usando símbolos
populacao = {
:argentina => 40000000,
:brasil => 190_000_000
}
# acessando
populacao[:brasil]
# removendo
populacao.delete :argentina
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
16. Strings x Símbolos
Quando o importante para você é representar uma
sequência de caracteres, use Strings.
Quando o importante para você é definir um rótulo ou
uma identificação, use Símbolos.
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
17. Métodos predicados
Métodos que, por convenção, retornam true ou false.
Podem ser facilmente identificados
pela ? ao final do nome do método.
Exemplos:
[quot;umquot;].empty?
quot;textoquot;.is_a? String
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
18. Métodos destrutivos
Por convenção são os métodos que modificam o objeto
original, por isso quot;destroemquot; o objeto original.
Podem ser facilmente identificados
pela ! ao final do nome do método.
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
19. Métodos destrutivos (exemplo)
nome = quot; Chris quot;
# executa o método sem alterar o valor atual
nome.strip
puts nome
# executa o método e altera o objeto original
nome.strip! # versão destrutiva
puts nome
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
20. IF
print 'Digite sua cidade natal: '
cidade = gets.chomp
if cidade == 'Itu'
puts 'Ituano'
# elsif, não else if, elif ou elseif
elsif cidade == 'Salto'
puts 'Saltense'
else
puts 'Brasileiro =)'
end
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
21. Case
print 'Digite sua idade: '
idade = gets.to_i
case idade
when 18, 30..50
puts 'Atendimento X'
when 70, 80, 90
puts 'Atendimento Y'
else
puts 'Atendimento Z'
end
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
22. While
i=0
while i < 10
puts i
i += 1
end
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
23. O jeito Ruby (parte I)
No Ruby as estruturas de controle e repetição podem ser
colocadas em lugares novos, melhorando a leitura das
sentenças e deixando seu código mais claro.
# exemplo didático para remover todos os itens
lista = [ 'a','b','c','d','e' ]
puts lista.pop while not lista.empty?
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
24. O jeito Ruby (parte II)
i=0
while i < 10
puts i if i % 2 == 0
# o valor de i só vai ser impresso caso
# a condição ali no fim seja atendida
i += 1
end
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
25. O jeito Ruby (parte III)
i=0
while i < 10
puts i unless i % 2 == 0
# unless funciona como um if not
i += 1
end
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br
26. for
# modo tradicional
for i in (5..15)
puts i
end
# e uma quot;versão mais orientada a objetosquot;?
(15..25).each do |numero|
puts numero ** 0.5
end
26~30/01/2009 @ senac Klaus Paiva
www.klaus.pro.br