184 capítulos
  Título Autor Editora Formato Comprar item avulso Adicionar à Pasta
Medium 9788521636267

Apêndice – Instalação de Python

RIBEIRO, João Araujo Grupo Gen ePub Criptografado

Este apêndice ensina como instalar Python no seu computador de modo que você possa usufruir de todos os seus recursos. Os detalhes da instalação podem variar dependendo do seu sistema operacional, Windows ou Linux, e também da versão do sistema utilizada.

Este livro usa a versão 3 de Python. A versão 2 continua disponível, mas deve ser descontinuada em 2020.

As instruções de instalação deste capítulo foram extraídas do site https://python.org.br/. Este site é uma boa referência em português para a linguagem Python.

Antes de tudo é necessário estar conectado à internet.

A primeira coisa a fazer é baixar a versão de Python de https://www.python.org/downloads/. Este é o site oficial da linguagem, e você deve baixar a versão de acordo com o seu sistema. Prefira a versão mais atual, ou seja, da 3a para cima.

Figura A.1 Passo 1: Download da versão mais recente de Python 3.

Normalmente, o próprio site detecta seu sistema operacional e também a versão. Depois de alguns minutos o arquivo deve ter sido baixado em sua pasta de downloads. Clique duas vezes no nome do arquivo para começar a instalar. Em geral, o Windows dá um aviso de segurança sobre instalação de software. Basta clicar em “Executar”.

Ver todos os capítulos
Medium 9788521636267

4 Subalgoritmos

RIBEIRO, João Araujo Grupo Gen ePub Criptografado

Existem duas maneiras de construir um projeto de software. Uma é fazê-lo tão simples que obviamente não existam deficiências, e a outra é fazê-lo tão complicado que não existam deficiências óbvias.” C. A. R. Hoare

O que você acha mais fácil: resolver dez problemas simples ou um único problema complexo? A maioria das pessoas responde que é melhor resolver dez problemas simples e essa é a base da programação estruturada. Dividimos sucessivamente um problema até chegarmos em algo muito simples que possamos resolver. Então, após resolver todos os pequenos problemas, juntamos todas as soluções de maneira coerente e resolvemos o problema original.

Algumas dessas soluções podem ser reutilizadas no futuro; caso você encontre subproblemas semelhantes, bastaria recuperar a solução que você já encontrou e adicioná-la ao seu programa principal. Durante anos e anos os programadores têm resolvido problemas e guardado soluções. Problemas que aparecem com frequência têm soluções guardadas em bibliotecas de soluções.

Ver todos os capítulos
Medium 9788521636267

5 Organizando a Informação

RIBEIRO, João Araujo Grupo Gen ePub Criptografado

Maus programadores preocupam-se com o código. Bons programadores preocupam-se com estruturas de dados e suas relações.” Linus Torvalds, criador do Linux.

Para programar não basta usar um algoritmo eficiente, você precisa também de dados eficientes. Ao fazer programas simples, como temos feito até aqui, bastam os tipos de dados fornecidos diretamente pelo computador: inteiros, números em ponto flutuante e caracteres. Como vimos, um computador é uma máquina muito boa para processar números, mas quando os problemas começam a ficar mais complexos, é necessário fazer uso de tipos de dados mais eficientes, que espelhem a complexidade do mundo real.

Programar é gerenciar entidades abstratas. Vimos que, a partir de algum valor físico, uma tensão em volts, por exemplo, foi criada a abstração do bit, a unidade mínima de informação do computador. Dissemos que esse bit representa zero ou um. Em seguida, agrupamos bits para criar uma nova abstração: os bytes. Continuamos criando novas abstrações e usamos os bytes para representar números e caracteres no computador. Demos nomes a essas abstrações criando variáveis que identificam os dados que vamos manipular. Algoritmos são ações combinadas para manipular esses dados.

Ver todos os capítulos
Medium 9788521636267

9 Um Pouco de Estilo

RIBEIRO, João Araujo Grupo Gen ePub Criptografado

Chegamos ao final do livro. Apresentei diversos mecanismos de programação e dei algumas dicas, quando era cabível. Todos esses mecanismos não servem de nada se você não pensar.

Imagine que você contrate um marceneiro que sabe usar muito bem a serra, o martelo, o esquadro, mas que não tem nenhuma ideia sobre a utilidade de móveis. O mesmo acontece se você sabe todos os detalhes de uma linguagem de programação mas não é capaz de desenvolver um raciocínio lógico para resolver problemas. Você tem as ferramentas, mas não o projeto.

Neste último capítulo reúno alguns pensamentos sobre programação e o que aprendi ao longo dos anos. Estamos sempre nos aperfeiçoando e todo dia é dia de aprender algo.

Primeiro resolva o problema, então escreva o código.” John Johnson

Fonte: hazimsn | iStockphoto.com.

Pode parecer um conselho óbvio, mas programar é uma atividade intelectual. Portanto, pense antes de programar.

Quando for apresentado a um problema, não se sente em frente ao computador e saia escrevendo um programa. Não é assim que funciona o mundo real. Problemas simples podem ser resolvidos desta forma, mas na vida profissional estes problemas não aparecem sempre, pelo contrário, são raros.

Ver todos os capítulos
Medium 9788521636267

6 Cadeias de Caracteres e Arquivos

RIBEIRO, João Araujo Grupo Gen ePub Criptografado

CENTURIÃO: “Domus”? Nominativo? “Vão embora”, é movimento, não é rapaz?

BRIAN: Dativo?

[O Centurião tira sua espada e a segura contra a garganta de Brian]

BRIAN: Ahh! Não, não é dativo, não é dativo, senhor. É acusativo, acusativo, ‘ad domum’, senhor!

CENTURIÃO: Exceto que ‘domus’ leva o ...?

BRIAN: O locativo, senhor!

CENTURION: Que é ...?!

BRIAN: ‘Domum’.

CENTURION: Entendeu?

BRIAN: Sim, senhor.

CENTURION: Agora escreva cem vezes.

BRIAN: Sim, senhor. Ave, César.

Monty Python, “A Vida de Brian”

Qual foi a uma das primeiras utilidades do seu computador? Cálculos, jogos, edição de texto? Independentemente de sua resposta, você deve ter passado informação para o seu computador por meio de um texto. Principalmente se o seu primeiro uso foi para a edição de texto. Escrevendo um e-mail ou editando um trabalho para a escola, você usou caracteres em sequência como entrada de dados.

O tempo todo interagimos com o computador por meio de textos. Podemos contar palavras, fazer estatísticas de seu uso e descobrir estilos ou até plágio. Quando você digita seu nome na tela de boas-vindas do computador e depois sua senha, algum programa está capturando o que você digita e depois conferindo o texto digitado com um arquivo no qual estão armazenadas as informações que confirmam se você tem ou não acesso àquela máquina.

Ver todos os capítulos
Medium 9788521636267

2 Bases da Programação

RIBEIRO, João Araujo Grupo Gen ePub Criptografado

Todo mundo neste país deveria aprender a programar um computador, porque esse aprendizado ensina você a pensar.” Steve Jobs, em entrevista em 1996.

Você quer aprender uma linguagem de programação ou quer aprender a programar? Você deve estar se perguntando: mas tem diferença? Sim, tem. O computador não tem nenhuma inteligência; apenas faz as coisas de maneira muito rápida. Cabe a nós darmos esse sopro de inteligência aos computadores. A única forma que temos para fazer isso é desenvolvendo programas que guiem nosso computador na busca de soluções de problemas. Como o computador não é muito inteligente, as linguagens que entende têm uma sintaxe muito simples. Aprender uma linguagem de programação é fácil, e você rapidamente vai conseguir escrever programas bem úteis. Mas você conseguirá programar de verdade? Se surgir um problema mais complicado, você saberá resolvê-lo? Se seu programa não funcionar, você vai saber corrigi-lo? Ou vai ficar sempre na superfície, contente em resolver problemas simples?

Ver todos os capítulos
Medium 9788521636267

7 Recursão

RIBEIRO, João Araujo Grupo Gen ePub Criptografado

Para entender recursão, você deve primeiro entender recursão.” Piada anônima sobre recursão

A recursão é uma técnica elegante de resolver determinada classe de problemas. Exige apenas certa ginástica mental para se entender o conceito. Não é difícil, uma vez que você tenha entendido o mecanismo.

Diversos problemas têm uma solução bem simples se usarmos esta técnica que é baseada no fato de que uma função pode chamar a si mesma. Nem todos os problemas podem ser resolvidos recursivamente e mesmo entre os que podem, alguns não ganham em velocidade ou clareza no uso desta técnica. Portanto, quero que você aprenda não apenas a usar a técnica recursiva, mas também a reconhecer quando é útil na solução de um problema.

Lembro-me de quando aprendi a técnica em curso de programação na universidade e passei a usá-la para todo problema, mesmo os que não lhe fossem pertinentes. Não foi perda de tempo. Aplicar a técnica em diversos problemas leva a um aprendizado mais sedimentado e com o tempo você começa a entender quando deve ou não usar a técnica.

Ver todos os capítulos
Medium 9788521636267

1 Introdução aos Computadores

RIBEIRO, João Araujo Grupo Gen ePub Criptografado

Não há nenhuma razão para qualquer indivíduo ter um computador em casa.” Ken Olsen, fundador da Digital Equipment Corporation, em 1977.

O mundo da Computação evoluiu muito rapidamente. Até mesmo pessoas experientes como Ken Olsen puderam se enganar sobre o que o futuro reservava para a tecnologia que na época ainda era reservada às empresas e ao governo. Hoje em dia, praticamente todos têm um computador em casa. Difícil imaginar a vida sem ele. É bom começarmos a entender como um computador funciona.

Neste capítulo apresento as bases do funcionamento de um computador e de sua programação. Não que seja absolutamente necessário entender todos os detalhes técnicos dos computadores para poder programá-los, mas é bom conhecê-los nem que seja minimamente. Saber certos detalhes irá ajudar você a entender os limites da máquina, o que ela pode e não pode fazer e o que você pode obter da programação.

Uma das coisas que um computador sabe fazer bem é contar números inteiros; que conta rapidamente e de maneira precisa. Mas como o computador faz essa contagem? Como representa quantidades? Precisamos antes pensar em como nós mesmos contamos, em como representamos as quantidades. Isso é valioso para entender como criar uma máquina que conta. Vou mostrar-lhe aqui alguns detalhes óbvios para depois chegar ao mundo dos computadores.

Ver todos os capítulos
Medium 9788521636267

8 Ordenando Coisas

RIBEIRO, João Araujo Grupo Gen ePub Criptografado

Sem critérios e projeto, a programação é a arte de adicionar erros a um arquivo de texto vazio.” Louis Srygley

A ordenação de elementos é uma das tarefas mais úteis realizadas por computadores. De nada adianta ter um dicionário se as palavras estão desordenadas. A busca seria muito extensa. Comumente queremos ter os elementos ordenados em ordem crescente, mas a ordenação em ordem decrescente segue a mesma lógica, basta inverter o resultado da comparação entre elementos.

Python possui um mecanismo para ordenar listas já embutido na própria linguagem, o comando sort() (Seção 5.7). Mas quero mostrar como isso pode ser feito sem usar esse recurso de Python. Mas, por que ensinar algo que Python já faz com um só comando? O estudo de ordenação permite o aprendizado de técnicas de programação, saindo do estudo puro e simples de sintaxe. Além do mais, questões sobre desempenho de algoritmos podem ser facilmente levantadas diante do código de ordenação.

Também é útil que você entenda como ordenar seus dados sem depender da linguagem, pois nem todas as linguagens de programação vão fornecer um mecanismo tão direto quanto Python. Apesar de Python ter esse mecanismo, você terá a vantagem de entender como isso pode ser feito internamente e quando se deparar com uma linguagem sem esse mecanismo embutido, poderá programar seu próprio método de ordenação.

Ver todos os capítulos
Medium 9788521636267

3 Programação Estruturada

RIBEIRO, João Araujo Grupo Gen ePub Criptografado

A função do bom software é fazer a complexidade parecer simples”. Grady Booch

Mesmo que alguns programas com poucas linhas de código possam ser úteis, problemas reais geralmente vão exigir centenas ou milhares de linhas de código. Conforme o número de linhas aumenta, a complexidade dos programas também aumenta. Por mais inteligente que você seja, a complexidade dos programas vai ultrapassar a sua capacidade de memorizar todos os seus detalhes. É preciso ter uma estratégia para domar essa complexidade e assegurar a correção de seu programa. Desse modo, como uma obra de construção civil, o programa precisa ter uma estrutura na qual possa se apoiar.

Um programa que possua uma boa estrutura não vai tornar seu problema mais simples, porém irá permitir que você se concentre em módulos menores, de maneira que a complexidade desses módulos se adeque à capacidade humana de entendimento.

Buscamos soluções facilmente compreensíveis para problemas complexos. George Boole, em seu livro Uma Investigação das Leis do Pensamento, escreveu:

Ver todos os capítulos
Medium 9788521636175

Capítulo 8 Cálculos de Termodinâmica Para Engenharia QuíMica

UTGIKAR, Vivek Grupo Gen ePub Criptografado

As leis da termodinâmica...

expressam o comportamento aproximado e

provável de sistemas de um grande número de partículas.

– J. Willard Gibbs1

O princípio de conservação de energia discutido em capítulos anteriores apenas afirma que a energia total do universo é constante, e que as interconversões entre diferentes formas de energia são exatamente equilibradas. O princípio não oferece nenhuma indicação da viabilidade de determinada transformação de energia. Nada se pode inferir quanto à espontaneidade da transformação que determinado sistema pode sofrer. A termodinâmica é aquele ramo da Física e da Ciência da Engenharia que nos permite determinar e quantificar o comportamento dos sistemas em tais interconversões [1]. O princípio da conservação de energia aparece em termodinâmica como sua primeira lei. A segunda lei da termodinâmica fornece a base para a determinação da direção das transformações de energia que ocorrem espontaneamente [2]. O tratamento matemático baseado em princípios teóricos de termodinâmica permite-nos determinar não apenas a direção da transformação, mas também a eficiência da transformação, bem como as condições ao final da transformação. A termodinâmica também permite-nos determinar a energia requerida para todas as transformações desejadas.

Ver todos os capítulos
Medium 9788521636175

Capítulo 2 Indústrias Químicas e Afins

UTGIKAR, Vivek Grupo Gen ePub Criptografado

A indústria química é de importância estratégica para

o desenvolvimento sustentável das economias nacionais.

– Organização Internacional do Trabalho1

Os engenheiros químicos têm tradicionalmente encontrado emprego nas indústrias químicas e afins, e estas indústrias continuam a ser seus maiores empregadores. As indústrias químicas e afins compreendem um dos mais importantes setores de transformação da economia de uma nação. Entretanto, apesar de sua significância, as indústrias não são bem entendidas pelo público em geral, parcialmente porque apenas uma pequena fração da produção dessas indústrias é um produto para o consumidor; o grosso dessa produção é matéria-prima para outras indústrias. Este capítulo apresenta uma visão geral das indústrias químicas e afins, com o objetivo de propiciar aos estudantes de Engenharia Química um entendimento de sua fonte mais provável de oportunidades de emprego.

A seção 2.1 descreve a classificação das indústrias com uma breve introdução para os sistemas usados pelos Estados Unidos e outros governos para monitorar e analisar a economia. As indústrias químicas e relacionadas são descritas nas seções 2.2 e 2.3, respectivamente, seguidas por uma discussão das maiores companhias químicas na seção 2.4. A seção 2.5 descreve alguns dos importantes produtos químicos e a seção 2.6 descreve as características gerais da indústria química. Os leitores se tornarão familiarizados com o significado das indústrias químicas e afins na economia de uma nação, assim como poderão valorizar o papel indispensável dos produtos químicos na sociedade moderna.

Ver todos os capítulos
Medium 9788521636175

Apêndice B Cálculos Usando Software de Simulação de Processos

UTGIKAR, Vivek Grupo Gen ePub Criptografado

Fazer cálculos é parte integrante das responsabilidades de um engenheiro químico, em particular aquele engajado no projeto de unidades de processo e plantas. Os Capítulos 4 a 9 forneceram uma introdução a alguns dos problemas e ilustraram as técnicas de solução por meio de duas ferramentas computacionais diferentes. Neste ponto, pode-se entender que um engenheiro de projeto se depara com frequência com problemas computacionais significativamente mais complexos do que aqueles descritos neste livro. Por exemplo, o fluxograma da planta de síntese de amônia foi apresentado no Capítulo 3, “Construindo em Engenheiro Químico”. Embora esse fluxograma fornecesse uma visão geral da complexidade do processo, em realidade, cada unidade do processo é consideravelmente mais complicada do que parece ser no fluxograma. Um engenheiro químico tem de fornecer informações detalhadas em cada unidade do processo, inclusive todas as correntes de massa e de energia e suas condições (temperatura, pressão, composições etc.) para uma descrição completa da planta do processo. A planta de síntese de amônia é bem complexa; contudo, mesmo as mais simples plantas de processo irão consistir em várias unidades de processamento, e os balanços de massa/de energia de todas as unidades precisam ser resolvidos simultaneamente. Além disso, muitos poucos produtos químicos nas plantas de processo obedecem ao comportamento idealizado, tanto os presentes em um composto puro como em uma mistura. A incorporação da não idealidade no comportamento de componentes e de mistura resulta em complicar as relações já complexas entre as variáveis. Em um nível computacional fundamental, uma mudança de comportamento ideal para não ideal transforma uma equação linear explícita em uma equação implícita transcendental, aumentando a complexidade da técnica de solução necessária. Expressões que seriam válidas para a integração analítica no caso de comportamento ideal não mais o serão. Do mesmo modo, formas derivadas aumentam em complexidade, e as técnicas de solução correm o risco de falhar ou de se tornarem instáveis. Parece que as demandas computacionais sobre o engenheiro químico são uma tarefa hercúlea, em particular pelo fato de o engenheiro operar invariavelmente sob severas restrições de tempo para obter soluções.

Ver todos os capítulos
Medium 9788521636175

Capítulo 6 Cálculos Para Balanços de Massa

UTGIKAR, Vivek Grupo Gen ePub Criptografado

Na natureza não há aniquilação,

E, portanto, a coisa que é consumida

Passa para o ar ou

É recebida em algum corpo adjacente.

– Sir Francis Bacon1

O princípio fundamental da conservação de massa estabelece que a matéria não pode ser criada nem destruída – um conceito que é passado aos estudantes às vezes tão cedo quanto a própria escola fundamental. Como a matéria não pode ser destruída, qualquer material ou parte de um material removido de qualquer lugar irá aparecer em algum outro lugar, como eloquentemente disse Sir Francis Bacon. A contabilização do material, até sua última molécula (ou átomo), é absolutamente crítica para o processo industrial, uma vez que existe um valor monetário associado às espécies químicas que constituem a matéria. Além disso, o controle dos produtos químicos também é necessário porque um grande número de produtos químicos é intrinsecamente perigoso e tem potencial para causar danos à natureza, à saúde humana e aos ecossistemas. O manuseio e o gerenciamento adequados das correntes dos processos requerem um conhecimento dos produtos químicos presentes nas correntes, suas quantidades e composições. O balanço das taxas de massa de entrada e de saída é a base fundamental da Engenharia Química e espera-se que o engenheiro químico domine a arte de balanço de massa [1]. Este capítulo apresenta inicialmente os princípios gerais do balanço de massa, bem introduz alguns de seus cálculos específicos.

Ver todos os capítulos
Medium 9788521636175

Capítulo 9 Cálculos De Cinética Para Engenharia QuÍmica

UTGIKAR, Vivek Grupo Gen ePub Criptografado

O conhecimento da taxa ou a dependência no

tempo de uma mudança química é de importância essencial

para uma bem-sucedida síntese de novos materiais.

–Yuan T. Lee1

A análise termodinâmica de sistemas segundo os princípios descritos no Capítulo 8, “Cálculos de Termodinâmica para Engenharia Química”, permite-nos determinar a magnitude, eficiência e direção das mudanças que ocorrem no sistema [1]. Infelizmente, essas análises não fornecem qualquer informação sobre a taxa na qual essas mudanças ocorrem, ou, em outras palavras, é necessária a escala de tempo para efetuar essas mudanças. Nem tampouco fornecem qualquer informação sobre o mecanismo pelo qual essas mudanças ocorrem [2]. Pode-se entender facilmente que, para que uma mudança pretendida seja economicamente benéfica, deve ocorrer em um espaço razoável de tempo. Em relação às reações químicas, as informações de escala de tempo associada com uma variação são fornecidas pela cinética química, que descreve a taxa da variação das espécies envolvida na reação no tempo [3]. A cinética para engenharia química (ou engenharia das reações químicas) combina essas informações sobre as taxas de reações com a análise do reator a fim de desenvolver uma abordagem quantitativa do projeto e da análise de reatores [4].

Ver todos os capítulos

Carregar mais