Commit 231d1718 authored by Eduardo de Santana Medeiros Alexandre's avatar Eduardo de Santana Medeiros Alexandre
Browse files

Uniformidade no prefácio

parent 3b1fed78
...@@ -57,7 +57,17 @@ namespace "wip" do ...@@ -57,7 +57,17 @@ namespace "wip" do
desc "build book from #{@RELEASE_DIR}" desc "build book from #{@RELEASE_DIR}"
task :build => [WIP_ADOC, :sync] do task :build => [WIP_ADOC, :sync] do
DRAFT_COMMAND = "--dblatex-opts '-P draft.mode=yes'" DRAFT_COMMAND = "--dblatex-opts '-P draft.mode=yes'"
system "#{@A2X_BIN} #{A2X_COMMAND} #{DRAFT_COMMAND} #{@RELEASE_DIR}/#{@BOOK_SOURCE_DIR}/wip.adoc" prefacio_code_att = ""
PREFACIO_CODE_DIR = "#{@RELEASE_DIR}/#{@BOOK_SOURCE_DIR}/capitulos/code/prefacio"
if Dir.exist?(PREFACIO_CODE_DIR) then
Dir.chdir(PREFACIO_CODE_DIR) do
prefacio_code_file = Dir.glob("*").first
if (prefacio_code_file) then
prefacio_code_att = "-a prefacio-code=#{prefacio_code_file}"
end
end
end
system "#{@A2X_BIN} #{A2X_COMMAND} #{DRAFT_COMMAND} #{prefacio_code_att} #{@RELEASE_DIR}/#{@BOOK_SOURCE_DIR}/wip.adoc"
end end
desc "Open wip pdf" desc "Open wip pdf"
...@@ -158,6 +168,7 @@ namespace "tag" do ...@@ -158,6 +168,7 @@ namespace "tag" do
desc "Push tags" desc "Push tags"
task "push" do task "push" do
sh "git push origin"
sh "git push origin --tags" sh "git push origin --tags"
end end
...@@ -207,14 +218,6 @@ namespace "config" do ...@@ -207,14 +218,6 @@ namespace "config" do
end end
desc "Download new Rakefile"
task :uprake do
`wget --output-document=Rakefile https://raw.githubusercontent.com/edusantana/asciidoc-book-template-with-rake-and-github/master/Rakefile`
`wget --output-document=livro/capitulos/feedback.adoc https://raw.githubusercontent.com/edusantana/asciidoc-book-template-with-rake-and-github/master/livro/capitulos/feedback.adoc`
end
desc "Build images from R files" desc "Build images from R files"
task :r task :r
task :sync => :r task :sync => :r
...@@ -305,9 +308,7 @@ namespace "release" do ...@@ -305,9 +308,7 @@ namespace "release" do
args.with_defaults(:tag => last_tag) args.with_defaults(:tag => last_tag)
@tag = args.tag @tag = args.tag
@RELEASE_DIR = "releases/#{args.tag}" @RELEASE_DIR = "releases/#{args.tag}"
Dir.chdir(REPOSITORIO_PATH) do system "git archive --format=tar --prefix=#{@RELEASE_DIR}/ #{@tag} | (tar xf -) "
system "git archive --format=tar --prefix=#{@RELEASE_DIR}/ #{@tag} | (tar xf -) "
end
end end
desc "Build book release. If not tag is passed, the last tag applied will be used." desc "Build book release. If not tag is passed, the last tag applied will be used."
...@@ -317,7 +318,7 @@ namespace "release" do ...@@ -317,7 +318,7 @@ namespace "release" do
@tag = args.tag @tag = args.tag
@RELEASE_DIR = "releases/#{args.tag}" @RELEASE_DIR = "releases/#{args.tag}"
release_dir = "releases/#{args.tag}" release_dir = "releases/#{args.tag}"
target_file = "releases/#{@PROJECT_NAME}-#{@tag}.pdf" target_file = "releases/#{PROJECT_NAME}-#{@tag}.pdf"
editora_file = "#{release_dir}/livro/editora/editora.pdf" editora_file = "#{release_dir}/livro/editora/editora.pdf"
livro_source = "#{release_dir}/livro/livro.asc" livro_source = "#{release_dir}/livro/livro.asc"
livro_pdf = "#{release_dir}/livro/livro.pdf" livro_pdf = "#{release_dir}/livro/livro.pdf"
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
[appendix] [appendix]
== Usando os Softwares Básicos == Usando os Softwares Básicos
:cap: tradutor
A ferramenta `cc` é um ambiente completo para a compilação, montagem e A ferramenta `cc` é um ambiente completo para a compilação, montagem e
ligação dos programas de usuário desenvolvidos na linguagem C. Nesta ligação dos programas de usuário desenvolvidos na linguagem C. Nesta
prática iremos identificar cada passo no processo de transformar um código de prática iremos identificar cada passo no processo de transformar um código de
...@@ -13,40 +15,41 @@ escrever os comandos indicados nesta prática. Você já deve conhecê-lo da ...@@ -13,40 +15,41 @@ escrever os comandos indicados nesta prática. Você já deve conhecê-lo da
disciplina 'Introdução a Programação'. disciplina 'Introdução a Programação'.
NOTE: Lembre-se de que os códigos fontes do livro estão disponíveis para download e NOTE: Lembre-se de que os códigos fontes do livro estão disponíveis para download e
as intruções de como baixá-los estão em <<codigo_fonte>>. as intruções de como baixá-los estão em <<sec_codigo_fonte>>.
Passo 1:: Escreva em qualquer editor de texto os seguintes textos e salve com o Passo 1:: Escreva em qualquer editor de texto os seguintes textos e salve com o
nome sugerido para cada arquivo: nome sugerido para cada arquivo:
+ +
[[src_test_h]] --
[source, c]
.code/tradutor/teste.h :srcfile: teste.h
------------------------------------------- .Código fonte
include::code/tradutor/teste.h[] {gitrepo}/blob/{edition}/livro/capitulos/code/{cap}/{srcfile}[code/{cap}/{srcfile}]
-------------------------------------------
+
[[src_test_c]]
[source, c] [source, c]
.code/tradutor/teste.c ----
------------------------------------------- include::code/{cap}/{srcfile}[]
include::code/tradutor/teste.c[] ----
-------------------------------------------
+ :srcfile: teste.c
[[src_main_c]] .Código fonte
{gitrepo}/blob/{edition}/livro/capitulos/code/{cap}/{srcfile}[code/{cap}/{srcfile}]
[source, c] [source, c]
.code/tradutor/main.c ----
------------------------------------------- include::code/{cap}/{srcfile}[]
include::code/tradutor/main.c[] ----
-------------------------------------------
+ :srcfile: main.c
[TIP] .Código fonte
================== {gitrepo}/blob/{edition}/livro/capitulos/code/{cap}/{srcfile}[code/{cap}/{srcfile}]
Caso você tenha baixado o código deste livro, basta entrar na pasta a seguir
onde estes arquivos já existem:
livro/capitulos/code/tradutor [source, c]
----
include::code/{cap}/{srcfile}[]
----
================== --
Passo 2:: Usar o Compilador do `cc`. Ele irá processar cada arquivo .c e gerar Passo 2:: Usar o Compilador do `cc`. Ele irá processar cada arquivo .c e gerar
um arquivo .s com o código Assembly respectivo. um arquivo .s com o código Assembly respectivo.
...@@ -109,11 +112,11 @@ _______________________ ...@@ -109,11 +112,11 @@ _______________________
=============== ===============
O conteúdo do arquivo `teste.c` ficará igual a: O conteúdo do arquivo `teste.c` ficará igual a:
:srcfile: teste_moficado.c
[source, c] [source, c]
.code/tradutor/teste_moficado.c ----
------------------------------------------- include::code/{cap}/{srcfile}[]
include::code/tradutor/teste_moficado.c[] ----
-------------------------------------------
=============== ===============
......
Este livro foi desenvolvido para a introdução do tema Computação, não
tendo a ambição de englobar toda esta vasta área do conhecimento
humano. Computação é a área responsável pelas diversas regras e
técnicas para o ato de computar, representar e disponibilizar a
informação de forma automática.
O curso de Licenciatura em Computação tem como objetivo transformar
seus egressos em profissionais que possam atuar na área da educação
com o auxílio da Computação, tanto para ensinar conceitos de sua
própria área, como também servir de consultor para professores que
atuam em diversas áreas como Matemática, História, Ciências e etc.
No entanto, para o profissional desta área se tornar um diferencial na
educação, ele precisa conhecer as Ciências da Computação, permitindo
que o mesmo possa responder a questões como: Como a informação é
representada em um computador? Como o computador realiza uma soma?
Como fazer para o computador resolver um problema específico de forma
automática? Como o computador disponibiliza informação no mundo todo e
como fazer para disponibilizar o seu material neste meio? São
perguntas como esta que o aluno irá aprender a responder durante todo
o seu curso, sendo este livro apenas um produtor de novas dúvidas.
Iremos abordar aqui a história evolutiva dos Computadores;
discutiremos sobre como a informação (números, imagem som e etc.), é
representada no computador; descreveremos a arquitetura e o
funcionamento dos componentes básicos de um computador; apresentaremos
os softwares básicos responsáveis por construir os programas
desenvolvidos por qualquer programador através de seus algoritmos;
descreveremos as funcionalidades básicas de um sistema operacional,
software que gerencia os recursos do computador e por fim
introduziremos o funcionamento das redes de computadores promovendo
comunicação instantânea entre as pessoas do mundo inteiro.
Introdução à Computação é apenas uma visão rápida sobre os diversos
temas da Computação, servindo como porta de entrada para o vasto campo
do conhecimento que vocês se aventurarão em todo o curso. Prometemos
duas coisas para quem pretende concluir este curso: muito trabalho e
muita satisfação. O educador Rubem Alves criou um belo aforismo
``Ostra Feliz não faz Pérola'', se referindo ao fato de que a ostra ao
se proteger de um corpo estranho que penetrou em sua concha, cria uma
defesa natural ao redor deste invasor, gerando por fim uma pérola,
entretanto, durante este processo a ostra sofre muito devido à falta
de defesa dentro de sua concha. Para nós aprendizes o ensino é assim,
cheio de sofrimento, mas ao final teremos criado nossas próprias
pérolas.
=== Público alvo
O público alvo desse livro são os alunos de Licenciatura em Computação, na
modalidade à distância footnote::[Embora ele tenha sido feito para atender aos alunos
da Universidade Federal da Paraíba, o seu uso não se restringe a esta
universidade, podendo ser adotado por outras universidades do sistema UAB.].
Ele foi concebido para ser utilizado numa disciplina de 'Introdução à Computação',
no primeiro semestre do curso.
[[como_estudar]]
=== Como você deve estudar cada capítulo
* Leia a visão geral do capítulo
* Estude os conteúdos das seções
* Realize as atividades no final do capítulo
* Verifique se você atingiu os objetivos do capítulo
.Na sala de aula do curso
* Tire dúvidas e discuta sobre as atividades do livro com outros integrantes do curso
* Leia materiais complementares eventualmente disponibilizados
* Realize as atividades propostas pelo professor da disciplina
// Sempre manter uma linha em branco no final
[[prefacio]]
[preface]
== Prefácio
Este livro foi desenvolvido para a introdução do tema Computação, não tendo a ambição de englobar toda esta vasta área do conhecimento humano. Computação é a área responsável pelas diversas regras e técnicas para o ato de computar, representar e disponibilizar a informação de forma automática.
O curso de Licenciatura em Computação tem como objetivo transformar seus egressos em profissionais que possam atuar na área da educação com o auxílio da Computação, tanto para ensinar conceitos de sua própria área, como também servir de consultor para professores que atuam em diversas áreas como Matemática, História, Ciências e etc.
No entanto, para o profissional desta área se tornar um diferencial na educação, ele precisa conhecer as Ciências da Computação, permitindo que o mesmo possa responder a questões como: Como a informação é representada em um computador? Como o computador realiza uma soma? Como fazer para o computador resolver um problema específico de forma automática? Como o computador disponibiliza informação no mundo todo e como fazer para disponibilizar o seu material neste meio? São perguntas como esta que o aluno irá aprender a responder durante todo o seu curso, sendo este livro apenas um produtor de novas dúvidas.
Iremos abordar aqui a história evolutiva dos Computadores; discutiremos sobre como a informação (números, imagem som e etc.), é representada no computador; descreveremos a arquitetura e o funcionamento dos componentes básicos de um computador; apresentaremos os softwares básicos responsáveis por construir os programas desenvolvidos por qualquer programador através de seus algoritmos; descreveremos as funcionalidades básicas de um sistema operacional, software que gerencia os recursos do computador e por fim introduziremos o funcionamento das redes de computadores promovendo comunicação instantânea entre as pessoas do mundo inteiro.
Introdução à Computação é apenas uma visão rápida sobre os diversos temas da Computação, servindo como porta de entrada para o vasto campo do conhecimento que vocês se aventurarão em todo o curso. Prometemos duas coisas para quem pretende concluir este curso: muito trabalho e muita satisfação. O educador Rubem Alves criou um belo aforismo ``Ostra Feliz não faz Pérola'', se referindo ao fato de que a ostra ao se proteger de um corpo estranho que penetrou em sua concha, cria uma defesa natural ao redor deste invasor, gerando por fim uma pérola, entretanto, durante este processo a ostra sofre muito devido à falta de defesa dentro de sua concha. Para nós aprendizes o ensino é assim, cheio de sofrimento, mas ao final teremos criado nossas próprias pérolas.
=== Público alvo
O público alvo desse livro são os alunos de Licenciatura em Computação, na
modalidade à distância footnote::[Embora ele tenha sido feito para atender aos alunos
da Universidade Federal da Paraíba, o seu uso não se restringe a esta
universidade, podendo ser adotado por outras universidades do sistema UAB.].
Ele foi concebido para ser utilizado numa disciplina de 'Introdução à Computação',
no primeiro semestre do curso.
[[como_estudar]]
=== Como você deve estudar cada capítulo
* Leia a visão geral do capítulo
* Estude os conteúdos das seções
* Realize as atividades no final do capítulo
* Verifique se você atingiu os objetivos do capítulo
.Na sala de aula do curso
* Tire dúvidas e discuta sobre as atividades do livro com outros integrantes do curso
* Leia materiais complementares eventualmente disponibilizados
* Realize as atividades propostas pelo professor da disciplina
[[caixas_de_dialogo]]
=== Caixas de diálogo
Nesta seção apresentamos as caixas de diálogo que poderão ser utilizadas durante o texto.
Confira os significados delas.
[NOTE]
========
Esta caixa é utilizada para realizar alguma reflexão.
========
[TIP]
========
Esta caixa é utilizada quando desejamos remeter a materiais complementares.
========
[IMPORTANT]
========
Esta caixa é utilizada para chamar atenção sobre algo importante.
========
[CAUTION]
========
Esta caixa é utilizada para alertar sobre algo que exige cautela.
========
[WARNING]
========
Esta caixa é utilizada para alertar sobre algo potencialmente perigoso.
========
Os significados das caixas são apenas uma referência, podendo ser adaptados
conforme as intenções dos autores.
=== Vídeos
Os vídeos são apresentados da seguinte forma:
.Vídeo sobre a Notação de Ponto Flutuante: http://youtu.be/psyH7eBVLr4
ifdef::livro-pdf[]
["qrcode", size=10, scaledwidth="30%"]
-------------------------
http://youtu.be/psyH7eBVLr4
-------------------------
endif::livro-pdf[]
ifdef::livro-html[]
+++
<?dbhtml-include href="videos/pontoFlutuante.html"?>
+++
endif::livro-html[]
[NOTE]
==================
Na *versão impressa* irá aparecer uma imagem quadriculada. Isto é o
qrcode (http://pt.wikipedia.org/wiki/C%C3%B3digo_QR) contendo o link do vídeo.
Caso você tenha um celular/tablet com acesso a internet poderá acionar um programa
de leitura de qrcode para assistir o vídeo no dispositivo.
Na *versão digital* você poderá assistir o vídeo clicando diretamente
sobre o link ou acionando o play (na versão em HTML).
==================
=== Compreendendo as referências
As referências são apresentadas conforme o elemento que está sendo referenciado:
Referências a capítulos:: <<prefacio>>
Referências a seções:: <<como_estudar>>, <<caixas_de_dialogo>>.
Referências a imagens e tabelas:: <<fig_issue_contribuicao>> <<tab_metodos_contribuicao_livro>>
NOTE: Na *versão impressa*, o número que aparece entre chaves ``[ ]'' corresponde
ao número da página onde está o conteúdo referenciado. Nas *versões digitais*
do livro você poderá clicar no link da referência.
=== Códigos e comandos
Os códigos ou comandos são apresentados com a seguinte formação:
cc -S main.c teste.c
No exemplo a seguir, temos outra apresentação de código fonte. Desta vez de um
arquivo `main.c`, que se encontra dentro do diretório `code/tradutor`.
O diretório `tradutor` faz referência ao capítulo onde o código será apresentado.
[source, c]
.code/tradutor/main.c
-------------------------------------------
include::code/tradutor/main.c[]
-------------------------------------------
[[codigo_fonte]]
=== Baixando os códigos fontes
Existem duas formas de acessar os códigos fontes contidos neste livro.
Acesso on-line individual:: Você pode acessar individualmente os arquivos deste
livro pelo endereço: {gitrepo}/tree/master/livro/capitulos/code.
Baixando todos os códigos::
Você também pode baixar o código fonte do livro
inteiro, que contém todos os códigos mencionados no livro. Existem duas formas
de baixar o código inteiro, através de um arquivo zip ou clonando o repositório.
Arquivo zip;; {gitrepo}/archive/master.zip. Depois de baixar o arquivo, descompacte-o.
Clonando o repositório;; Use o comando: git clone {gitrepo}
NOTE: Independente do método utilizado para acessar os arquivos, os códigos
fontes estão organizados por capítulos no diretório `livro/capitulos/code`.
WARNING: Os códigos acessados por estes métodos são referentes à versão mais
nova do livro (em produção). É possível que eles sejam diferentes da versão
do livro que você esteja lendo.
=== Contribuindo com o livro
Você pode contribuir com a atualização e correção deste livro. A tabela a seguir
resume os métodos de contribuições disponíveis:
[[tab_metodos_contribuicao_livro]]
.Métodos para contribuição do livro
[width="100%",cols="1.^,2.^a,4.^",frame="topbot",options="header"]
|======================
|Método de contribuição | Habilidades necessárias | Descrição
| Issue track
|
- Inscrição no site do github
- Preenchimento de um formulário
| Consiste em acessar o repositório do livro e submeter um erro, uma sugestão
ou uma crítica -- através da criação de um 'Issue'. Quando providências forem
tomadas você será notificado disso.
| Submissão de correção
|
- Realizar fork de projetos
- Atualizar texto do livro
- Realizar PullRequest
| Consiste em acessar os arquivos fontes do livro, realizar a correção desejada
e submetê-la para avaliação. Este processo é o mesmo utilizado na produção de
softwares livres.
|======================
IMPORTANT: Quando for enviar sua contribuição lembre-se de informar qual a versão
e página do livro que está se referindo.
Contribuição através do Issue track:: Para contribuir com um erro, sugestão ou
crítica através de um envio de uma mensagem acesse: {gitrepo}/issues/new
+
[[fig_issue_contribuicao]]
.Exemplo de contribuição através do 'Issue track'
image::images/prefacio/issue.png[scaledwidth="70%"]
=== Atividades
No final de cada capítulo há uma seção *Atividades* com exercícios para serem resolvidos.
O significado dos ícones relativos aos exercícios são:
Resposta disponível {resposta}:: a reposta do exercício se encontra disponível no <<cap_respostas>>.
Resolução disponível {solucao}:: a resolução do exercício se encontra disponível.
NOTE: Você pode contribuir enviando respostas ou soluções dos exercícios.
=== Baixando a edição mais nova deste livro
Nós estamos constantemente atualizando o nosso material didático.
Todas as versões deste livro encontram-se disponíveis para download.
TIP: Acesse {gitrepo}/releases para baixar a versão mais nova deste livro.
// Sempre manter uma linha em branco no final
[[prefacio]]
[preface]
== Prefácio
:cap: prefacio
.Baixando a versão mais nova deste livro
____
Acesse {gitrepo}/releases para verificar se há uma versão mais
nova deste livro (versão atual: *{edition}*). Você pode consultar
o Histórico de revisões, na início do livro, para verificar o que mudou
entre uma versão e outra.
____
include::prefacio.adoc[]
[[caixas_de_dialogo]]
=== Caixas de diálogo
Nesta seção apresentamos as caixas de diálogo que poderão ser
utilizadas durante o texto. Confira os significados delas.
[NOTE]
========
Esta caixa é utilizada para realizar alguma reflexão.
========
[TIP]
========
Esta caixa é utilizada quando desejamos remeter a materiais complementares.
========
[IMPORTANT]
========
Esta caixa é utilizada para chamar atenção sobre algo importante.
========
[CAUTION]
========
Esta caixa é utilizada para alertar sobre algo que exige cautela.
========
[WARNING]
========
Esta caixa é utilizada para alertar sobre algo potencialmente perigoso.
========
Os significados das caixas são apenas uma referência, podendo ser adaptados
conforme as intenções dos autores.
=== Vídeos
Os vídeos são apresentados da seguinte forma:
.Como baixar os códigos fontes: http://youtu.be/Od90rVXJV78
["qrcode", size=10, scaledwidth="30%"]
----
http://youtu.be/Od90rVXJV78
----
[NOTE]
====
Na *versão impressa* irá aparecer uma imagem quadriculada. Isto é o
qrcode (http://pt.wikipedia.org/wiki/C%C3%B3digo_QR) contendo o link
do vídeo. Caso você tenha um celular com acesso a internet poderá
acionar um programa de leitura de qrcode para acessar o vídeo.
Na *versão digital* você poderá assistir o vídeo clicando diretamente
sobre o link.
====
=== Compreendendo as referências
As referências são apresentadas conforme o elemento que está sendo referenciado:
Referências a capítulos:: <<prefacio>>
Referências a seções:: <<como_estudar>>, <<caixas_de_dialogo>>.
Referências a imagens:: <<fig_issue_contribuicao>>
NOTE: Na *versão impressa*, o número que aparece entre chaves ``[ ]''
corresponde ao número da página onde está o conteúdo referenciado. Na
*versão digital* do livro você poderá clicar no link da referência.
ifdef::prefacio-code[]
=== Códigos e comandos
Os códigos ou comandos são apresentados com a seguinte formação:
echo "Hello Word"
No exemplo a seguir, temos outra apresentação de código fonte. Desta
vez de um arquivo _{prefacio-code}_, que se encontra dentro do diretório
_livro/capitulos/code/{cap}_. O diretório _{cap}_ indica o capítulo
onde o código está relacionado.
.Código fonte
{gitrepo}/blob/{edition}/livro/capitulos/code/{cap}/{prefacio-code}[code/{cap}/{prefacio-code}]
.Exemplo de código
----
include::code/{cap}/{prefacio-code}[]
----
[[sec_codigo_fonte]]
=== Baixando os códigos fontes
Recomendamos duas formas de acessar os códigos fontes contidos neste livro:
Acesso on-line individual::
{gitrepo}/tree/{edition}/livro/capitulos/code
Baixando zip contendo os códigos::
Versão atual::: {gitrepo}/archive/{edition}.zip
NOTE: Independente do método utilizado para acessar os arquivos, os códigos
fontes estão organizados por capítulos no diretório `livro/capitulos/code`.
endif::prefacio-code[]
[[sec_feedback]]
=== Feedback
Você pode contribuir com a atualização e correção deste livro. Ao
final de cada capítulo você será convidado a fazê-lo, enviando
um feedback como a seguir:
include::feedback.adoc[]
NOTE: A seção sobre o feedback, no guia do curso, pode ser acessado
em: https://github.com/edusantana/guia-geral-ead-computacao-ufpb/blob/master/livro/capitulos/livros-contribuicao.adoc.
[[fig_issue_contribuicao]]
.Exemplo de contribuição
image::images/prefacio/issue.eps[scaledwidth="70%"]
////
Sempre terminar o arquivo com uma nova linha.
////
This diff is collapsed.
...@@ -9,7 +9,7 @@ Gilberto Farias ...@@ -9,7 +9,7 @@ Gilberto Farias
:solucao: image:images/icons/solucao.png[] :solucao: image:images/icons/solucao.png[]
include::capitulos/prefacio.asc[] include::capitulos/shared-prefacio.adoc[]
// Partes // Partes
// Nome da Parte // Nome da Parte
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment