Uniformidade no prefácio

parent 3b1fed78
......@@ -57,7 +57,17 @@ namespace "wip" do
desc "build book from #{@RELEASE_DIR}"
task :build => [WIP_ADOC, :sync] do
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
desc "Open wip pdf"
......@@ -158,6 +168,7 @@ namespace "tag" do
desc "Push tags"
task "push" do
sh "git push origin"
sh "git push origin --tags"
end
......@@ -207,14 +218,6 @@ namespace "config" do
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"
task :r
task :sync => :r
......@@ -305,9 +308,7 @@ namespace "release" do
args.with_defaults(:tag => last_tag)
@tag = args.tag
@RELEASE_DIR = "releases/#{args.tag}"
Dir.chdir(REPOSITORIO_PATH) do
system "git archive --format=tar --prefix=#{@RELEASE_DIR}/ #{@tag} | (tar xf -) "
end
system "git archive --format=tar --prefix=#{@RELEASE_DIR}/ #{@tag} | (tar xf -) "
end
desc "Build book release. If not tag is passed, the last tag applied will be used."
......@@ -317,7 +318,7 @@ namespace "release" do
@tag = 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"
livro_source = "#{release_dir}/livro/livro.asc"
livro_pdf = "#{release_dir}/livro/livro.pdf"
......
......@@ -2,6 +2,8 @@
[appendix]
== Usando os Softwares Básicos
:cap: tradutor
A ferramenta `cc` é um ambiente completo para a compilação, montagem e
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
......@@ -13,40 +15,41 @@ escrever os comandos indicados nesta prática. Você já deve conhecê-lo da
disciplina 'Introdução a Programação'.
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
nome sugerido para cada arquivo:
+
[[src_test_h]]
[source, c]
.code/tradutor/teste.h
-------------------------------------------
include::code/tradutor/teste.h[]
-------------------------------------------
+
[[src_test_c]]
--
:srcfile: teste.h
.Código fonte
{gitrepo}/blob/{edition}/livro/capitulos/code/{cap}/{srcfile}[code/{cap}/{srcfile}]
[source, c]
.code/tradutor/teste.c
-------------------------------------------
include::code/tradutor/teste.c[]
-------------------------------------------
+
[[src_main_c]]
----
include::code/{cap}/{srcfile}[]
----
:srcfile: teste.c
.Código fonte
{gitrepo}/blob/{edition}/livro/capitulos/code/{cap}/{srcfile}[code/{cap}/{srcfile}]
[source, c]
.code/tradutor/main.c
-------------------------------------------
include::code/tradutor/main.c[]
-------------------------------------------
+
[TIP]
==================
Caso você tenha baixado o código deste livro, basta entrar na pasta a seguir
onde estes arquivos já existem:
----
include::code/{cap}/{srcfile}[]
----
:srcfile: main.c
.Código fonte
{gitrepo}/blob/{edition}/livro/capitulos/code/{cap}/{srcfile}[code/{cap}/{srcfile}]
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
um arquivo .s com o código Assembly respectivo.
......@@ -109,11 +112,11 @@ _______________________
===============
O conteúdo do arquivo `teste.c` ficará igual a:
:srcfile: teste_moficado.c
[source, c]
.code/tradutor/teste_moficado.c
-------------------------------------------
include::code/tradutor/teste_moficado.c[]
-------------------------------------------
----
include::code/{cap}/{srcfile}[]
----
===============
......
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
:solucao: image:images/icons/solucao.png[]
include::capitulos/prefacio.asc[]
include::capitulos/shared-prefacio.adoc[]
// Partes
// 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