diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..4cdbe20e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,208 @@
+*.PWI
+*.DBK
+
+.DS_Store
+
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn. Uncomment if using
+# auto-import.
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based Rest Client
+.idea/httpRequests
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+
+
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+*.code-workspace
+
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+pip-wheel-metadata/
+share/python-wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+db.sqlite3-journal
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+.python-version
+
+# pipenv
+# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
+# However, in case of collaboration, if having platform-specific dependencies or dependencies
+# having no cross-platform support, pipenv may install dependencies that don't work, or not
+# install all needed dependencies.
+#Pipfile.lock
+
+# celery beat schedule file
+celerybeat-schedule
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre type checker
+.pyre/
+
diff --git a/BEPID-Apple/Prova - BEPID 2014(Turma 2015).pdf b/BEPID-Apple/Prova - BEPID 2014(Turma 2015).pdf
new file mode 100644
index 00000000..d7030799
Binary files /dev/null and b/BEPID-Apple/Prova - BEPID 2014(Turma 2015).pdf differ
diff --git a/Cadeiras com o Ronaldo/CADEIRA COM O RONALDO - DICAS PARA PASSAR.png b/Cadeiras com o Ronaldo/CADEIRA COM O RONALDO - DICAS PARA PASSAR.png
new file mode 100644
index 00000000..313e2af8
Binary files /dev/null and b/Cadeiras com o Ronaldo/CADEIRA COM O RONALDO - DICAS PARA PASSAR.png differ
diff --git "a/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Algoritmo Genetico.zip" "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Algoritmo Genetico.zip"
new file mode 100644
index 00000000..22ce20a5
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Algoritmo Genetico.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Arvores_de_Decisao.py" "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Arvores_de_Decisao.py"
new file mode 100644
index 00000000..62a7b57c
--- /dev/null
+++ "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Arvores_de_Decisao.py"
@@ -0,0 +1,143 @@
+dados = [
+ ['Sim','Alta','Quente', 'Ensolarado', 'Não foi jogar tênis'],
+ ['Sim','Alta','Quente', 'Ensolarado', 'Não foi jogar tênis'],
+ ['Não','Alta','Quente', 'Nublado', 'Foi jogar tênis'],
+ ['Não','Alta','Média', 'Chuva', 'Foi jogar tênis'],
+ ['Não','Normal','Fria', 'Chuva', 'Foi jogar tênis'],
+ ['Sim','Normal','Fria', 'Chuva', 'Não foi jogar tênis'],
+ ['Sim','Normal','Fria', 'Nublado', 'Foi jogar tênis'],
+ ['Não','Alta','Média', 'Ensolarado', 'Não foi jogar tênis'],
+ ['Não','Normal','Fria', 'Ensolarado', 'Foi jogar tênis'],
+ ['Não','Normal','Média', 'Chuva', 'Foi jogar tênis'],
+ ['Sim','Normal','Média', 'Ensolarado', 'Foi jogar tênis'],
+ ['Sim','Alta','Média', 'Nublado', 'Foi jogar tênis'],
+ ['Não','Normal','Quente', 'Nublado', 'Foi jogar tênis'],
+ ['Sim','Alta','Média', 'Chuva', 'Não foi jogar tênis'],
+]
+
+cabecalhoArvore = ["Ventando", "Humidade", "Temperatura", "Tempo", "label"]
+
+def valoresUnicos(linhas, coluna):
+ return set([row[coluna] for row in linhas])
+
+def contaClasses(linhas):
+ total = {}
+ for linha in linhas:
+ label = linha[-1]
+ if label not in total:
+ total[label] = 0
+ total[label] += 1
+ return total
+
+def ehNumero(valor):
+ return isinstance(valor, int) or isinstance(valor, float)
+
+class Pergunta:
+ def __init__(self, coluna, valor):
+ self.coluna = coluna
+ self.valor = valor
+
+ def match(self, exemplo):
+ val = exemplo[self.coluna]
+ if ehNumero(val):
+ return val >= self.valor
+ else:
+ return val == self.valor
+
+ def __repr__(self):
+ condicao = "=="
+ if ehNumero(self.valor):
+ condicao = ">="
+ return "%s %s %s?" % (
+ cabecalhoArvore[self.coluna], condicao, str(self.valor))
+
+def partition(rows, question):
+ true_rows, false_rows = [], []
+ for row in rows:
+ if question.match(row):
+ true_rows.append(row)
+ else:
+ false_rows.append(row)
+ return true_rows, false_rows
+
+def gini(linhas):
+ counts = contaClasses(linhas)
+ impurity = 1
+ for lbl in counts:
+ prob_of_lbl = counts[lbl] / float(len(linhas))
+ impurity -= prob_of_lbl**2
+ return impurity
+
+def info_gain(left, right, current_uncertainty):
+ p = float(len(left)) / (len(left) + len(right))
+ return current_uncertainty - p * gini(left) - (1 - p) * gini(right)
+
+def find_best_split(rows):
+ best_gain = 0
+ best_question = None
+ current_uncertainty = gini(rows)
+ n_features = len(rows[0]) - 1
+
+ for col in range(n_features):
+
+ values = set([row[col] for row in rows])
+
+ for val in values:
+ question = Pergunta(col, val)
+
+ true_rows, false_rows = partition(rows, question)
+
+ if len(true_rows) == 0 or len(false_rows) == 0:
+ continue
+
+ gain = info_gain(true_rows, false_rows, current_uncertainty)
+
+ if gain >= best_gain:
+ best_gain, best_question = gain, question
+
+ return best_gain, best_question
+
+class Folha:
+ def __init__(self, linhas):
+ self.predictions = contaClasses(linhas)
+
+class NoDecisao:
+ def __init__(self,
+ question,
+ true_branch,
+ false_branch):
+ self.question = question
+ self.true_branch = true_branch
+ self.false_branch = false_branch
+
+def constroiArvore(rows):
+ gain, question = find_best_split(rows)
+
+ if gain == 0:
+ return Folha(rows)
+
+ true_rows, false_rows = partition(rows, question)
+
+ true_branch = constroiArvore(true_rows)
+
+ false_branch = constroiArvore(false_rows)
+
+ return NoDecisao(question, true_branch, false_branch)
+
+def mostraArvore(no, espaco=""):
+
+ if isinstance(no, Folha):
+ print (espaco + "Dado", no.predictions)
+ return
+
+ print (espaco + str(no.question))
+
+ print (espaco + '-> Verdadeiro:')
+ mostraArvore(no.true_branch, espaco + " ")
+
+ print (espaco + '-> Falso:')
+ mostraArvore(no.false_branch, espaco + " ")
+
+arvore = constroiArvore(dados)
+
+mostraArvore(arvore)
diff --git "a/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Busca.zip" "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Busca.zip"
new file mode 100644
index 00000000..d7c4581c
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Busca.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/DMC.zip" "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/DMC.zip"
new file mode 100644
index 00000000..143d5070
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/DMC.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Jogo da Velha.zip" "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Jogo da Velha.zip"
new file mode 100644
index 00000000..5a1f1080
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Jogo da Velha.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/NN - KNN.zip" "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/NN - KNN.zip"
new file mode 100644
index 00000000..2cc590c4
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/NN - KNN.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Regressao Linear.zip" "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Regressao Linear.zip"
new file mode 100644
index 00000000..0e487cfa
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Regressao Linear.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Sobre essa pasta.txt" "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Sobre essa pasta.txt"
new file mode 100644
index 00000000..29941190
--- /dev/null
+++ "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Sobre essa pasta.txt"
@@ -0,0 +1 @@
+*Códigos geralmente pedidos pelo professor para ser entregues na disciplina.
diff --git "a/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Walksat e DPLL.zip" "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Walksat e DPLL.zip"
new file mode 100644
index 00000000..aa3fb261
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Intelig\303\252ncia Computacional/Walksat e DPLL.zip" differ
diff --git a/Cadeiras com o Ronaldo/Lasca Ronaldo.gif b/Cadeiras com o Ronaldo/Lasca Ronaldo.gif
new file mode 100644
index 00000000..7b561117
Binary files /dev/null and b/Cadeiras com o Ronaldo/Lasca Ronaldo.gif differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Abstract-Factory.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Abstract-Factory.zip"
new file mode 100644
index 00000000..ede9c864
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Abstract-Factory.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Adapter.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Adapter.zip"
new file mode 100644
index 00000000..051a8202
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Adapter.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Bridge.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Bridge.zip"
new file mode 100644
index 00000000..25e1f5ab
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Bridge.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Chain-of-Responsability.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Chain-of-Responsability.zip"
new file mode 100644
index 00000000..13b046ab
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Chain-of-Responsability.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Command.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Command.zip"
new file mode 100644
index 00000000..69d68f1a
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Command.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Composite.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Composite.zip"
new file mode 100644
index 00000000..379b2aab
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Composite.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Decorator.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Decorator.zip"
new file mode 100644
index 00000000..5a96b1a1
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Decorator.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Delegation.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Delegation.zip"
new file mode 100644
index 00000000..d80f11f7
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Delegation.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Facade.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Facade.zip"
new file mode 100644
index 00000000..239fd48e
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Facade.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Flyweight.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Flyweight.zip"
new file mode 100644
index 00000000..43493cd1
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Flyweight.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Interpreter.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Interpreter.zip"
new file mode 100644
index 00000000..d37db4b7
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Interpreter.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Iterator.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Iterator.zip"
new file mode 100644
index 00000000..eb16eaf6
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Iterator.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Mediator.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Mediator.zip"
new file mode 100644
index 00000000..0a6be028
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Mediator.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Memento.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Memento.zip"
new file mode 100644
index 00000000..52676ed8
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Memento.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Object-Pool.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Object-Pool.zip"
new file mode 100644
index 00000000..614a0d9e
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Object-Pool.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Private-Class-Data.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Private-Class-Data.zip"
new file mode 100644
index 00000000..2856cd3d
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Private-Class-Data.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Prototype.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Prototype.zip"
new file mode 100644
index 00000000..80931307
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Prototype.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Proxy.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Proxy.zip"
new file mode 100644
index 00000000..0ff50c62
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Proxy.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Singleton.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Singleton.zip"
new file mode 100644
index 00000000..e184b519
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Singleton.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-State.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-State.zip"
new file mode 100644
index 00000000..5afa865e
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-State.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Template.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Template.zip"
new file mode 100644
index 00000000..a05905bd
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Template.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Visitor.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Visitor.zip"
new file mode 100644
index 00000000..371512c5
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-PP-Visitor.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-Padroes-de-Projeto-Builder.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-Padroes-de-Projeto-Builder.zip"
new file mode 100644
index 00000000..a336f87e
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-Padroes-de-Projeto-Builder.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-Padroes-de-Projeto-Factory.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-Padroes-de-Projeto-Factory.zip"
new file mode 100644
index 00000000..b93e6ada
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-Padroes-de-Projeto-Factory.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-Padroes-de-Projeto-Observer.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-Padroes-de-Projeto-Observer.zip"
new file mode 100644
index 00000000..59dd0e3a
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-Padroes-de-Projeto-Observer.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-Padroes-de-Projeto-Strategy.zip" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-Padroes-de-Projeto-Strategy.zip"
new file mode 100644
index 00000000..da737c72
Binary files /dev/null and "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/IFCE-ProfRonaldo-Ramos-Padroes-de-Projeto-Strategy.zip" differ
diff --git "a/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/Sobre essa pasta.txt" "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/Sobre essa pasta.txt"
new file mode 100644
index 00000000..29941190
--- /dev/null
+++ "b/Cadeiras com o Ronaldo/Padr\303\265es de Projeto - PP/Sobre essa pasta.txt"
@@ -0,0 +1 @@
+*Códigos geralmente pedidos pelo professor para ser entregues na disciplina.
diff --git a/Cadeiras com o Ronaldo/Replits dos alunos com esses codigos.txt b/Cadeiras com o Ronaldo/Replits dos alunos com esses codigos.txt
new file mode 100644
index 00000000..6c9df10e
--- /dev/null
+++ b/Cadeiras com o Ronaldo/Replits dos alunos com esses codigos.txt
@@ -0,0 +1,5 @@
+*Replits dos alunos que disponibilizaram os códigos:
+
+>> De PP - Padrões de Projeto: https://replit.com/@ElyssonGabriel
+
+>> De Int. Computacional: https://replit.com/@JoaoGabriel54
\ No newline at end of file
diff --git a/Cadeiras com o Ronaldo/Sobre essa pasta.txt b/Cadeiras com o Ronaldo/Sobre essa pasta.txt
new file mode 100644
index 00000000..c2a92efd
--- /dev/null
+++ b/Cadeiras com o Ronaldo/Sobre essa pasta.txt
@@ -0,0 +1 @@
+Materiais das cadeiras com o professor Ronaldo Ramos, inclusive, se inscreva e deixe seu like: https://www.youtube.com/user/ronaldoframos!
diff --git a/Calculo II/2019.2 - Fernando Macedo/Inkedphoto_2020-01-31_22-06-37_LI.jpg b/Calculo II/2019.2 - Fernando Macedo/Inkedphoto_2020-01-31_22-06-37_LI.jpg
new file mode 100644
index 00000000..617e4a38
Binary files /dev/null and b/Calculo II/2019.2 - Fernando Macedo/Inkedphoto_2020-01-31_22-06-37_LI.jpg differ
diff --git a/Calculo II/2019.2 - Fernando Macedo/Inkedphoto_2020-01-31_22-06-42_LI.jpg b/Calculo II/2019.2 - Fernando Macedo/Inkedphoto_2020-01-31_22-06-42_LI.jpg
new file mode 100644
index 00000000..81f499a0
Binary files /dev/null and b/Calculo II/2019.2 - Fernando Macedo/Inkedphoto_2020-01-31_22-06-42_LI.jpg differ
diff --git a/Calculo II/2019.2 - Fernando Macedo/Inkedphoto_2020-01-31_22-06-48_LI.jpg b/Calculo II/2019.2 - Fernando Macedo/Inkedphoto_2020-01-31_22-06-48_LI.jpg
new file mode 100644
index 00000000..e76559e7
Binary files /dev/null and b/Calculo II/2019.2 - Fernando Macedo/Inkedphoto_2020-01-31_22-06-48_LI.jpg differ
diff --git a/Calculo II/2019.2 - Fernando Macedo/cal 2-1-2.jpg b/Calculo II/2019.2 - Fernando Macedo/cal 2-1-2.jpg
new file mode 100644
index 00000000..d7acf3b1
Binary files /dev/null and b/Calculo II/2019.2 - Fernando Macedo/cal 2-1-2.jpg differ
diff --git a/Calculo II/2019.2 - Fernando Macedo/cal 2-2-2.jpg b/Calculo II/2019.2 - Fernando Macedo/cal 2-2-2.jpg
new file mode 100644
index 00000000..5c745b4e
Binary files /dev/null and b/Calculo II/2019.2 - Fernando Macedo/cal 2-2-2.jpg differ
diff --git a/Calculo II/2019.2 - Fernando Macedo/cal 2-3-2.jpg b/Calculo II/2019.2 - Fernando Macedo/cal 2-3-2.jpg
new file mode 100644
index 00000000..337dded2
Binary files /dev/null and b/Calculo II/2019.2 - Fernando Macedo/cal 2-3-2.jpg differ
diff --git "a/Documentos - Est\303\241gio/AVISOS IMPORTANTES!.txt" "b/Documentos - Est\303\241gio/AVISOS IMPORTANTES!.txt"
new file mode 100644
index 00000000..93abc490
--- /dev/null
+++ "b/Documentos - Est\303\241gio/AVISOS IMPORTANTES!.txt"
@@ -0,0 +1,3 @@
+* Coloquei nas pastas a seguir os documentos que tive que entregar ao IFCE enquanto fazia meus estágios (OBRIGATÓRIO e NÃO-OBRIGATÓRIO), também coloquei alguns pdfs coom conversas minhas, via gmail, com o setor de estágio enquanto tirava algumas dúvidas sobre como entregar e preencher meus documentos, fiquem a vontade para ler eles para ver se responde alguma dúvida de vocês!
+
+;)
diff --git "a/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/AVISOS IMPORTANTES!.txt" "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/AVISOS IMPORTANTES!.txt"
new file mode 100644
index 00000000..5edf3026
--- /dev/null
+++ "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/AVISOS IMPORTANTES!.txt"
@@ -0,0 +1,9 @@
+*Nesse PDFs estão algumas dúvidas e instruções que tirei sobre o estágio não obrigtório no IFCE (Isso no Semestre de 2022.1), Caso tenha alguma dúvida veja se em alguma das conversas que tive em um dos pdfs pode tirar sua dúvida! Se não, entre em contato com um dos seguintes emails responsáveis pelo setor de estágio do IFCE:
+
+beatrizjulia@ifce.edu.br <--- MAIS RECOMENDADO (Geralmente ela vai te ajudar emquase tudo relacionado a estágio! Todas as minhas conversas nos emails é com essa
+ pessoa se vc notar kkkk)
+
+estagio.fortaleza@ifce.edu.br <--- Email do setor de estágio do IFCE de Fortaleza (Sua 2a opção caso falar com a Beatriz não resolva)
+
+Obs. Pode ignorar algumas brincadeira que falo com a Beatriz, só preste atenção nas informações que pergunto que é o que importa!
+
diff --git "a/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/EMAIL - ESTAGIO NAO OBRIGATORIO - INSTRUCOES INICIAIS - 01.pdf" "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/EMAIL - ESTAGIO NAO OBRIGATORIO - INSTRUCOES INICIAIS - 01.pdf"
new file mode 100644
index 00000000..ae93dc03
Binary files /dev/null and "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/EMAIL - ESTAGIO NAO OBRIGATORIO - INSTRUCOES INICIAIS - 01.pdf" differ
diff --git "a/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/EMAIL - ESTAGIO NAO OBRIGATORIO - INSTRUCOES INICIAIS - 02.pdf" "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/EMAIL - ESTAGIO NAO OBRIGATORIO - INSTRUCOES INICIAIS - 02.pdf"
new file mode 100644
index 00000000..67b30157
Binary files /dev/null and "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/EMAIL - ESTAGIO NAO OBRIGATORIO - INSTRUCOES INICIAIS - 02.pdf" differ
diff --git "a/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/EMAIL - ESTAGIO NAO OBRIGATORIO - INSTRUCOES INICIAIS.pdf" "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/EMAIL - ESTAGIO NAO OBRIGATORIO - INSTRUCOES INICIAIS.pdf"
new file mode 100644
index 00000000..1c001be0
Binary files /dev/null and "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/EMAIL - ESTAGIO NAO OBRIGATORIO - INSTRUCOES INICIAIS.pdf" differ
diff --git "a/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/IFCE - ESTAGIO NAO OBRIGATORIO - MODELO DE RELATORIO PERIODICO DE ATIVIDADES.docx" "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/IFCE - ESTAGIO NAO OBRIGATORIO - MODELO DE RELATORIO PERIODICO DE ATIVIDADES.docx"
new file mode 100644
index 00000000..224ff935
Binary files /dev/null and "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - N\303\243o Obrigat\303\263rio/IFCE - ESTAGIO NAO OBRIGATORIO - MODELO DE RELATORIO PERIODICO DE ATIVIDADES.docx" differ
diff --git "a/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/AVISOS IMPORTANTES!.txt" "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/AVISOS IMPORTANTES!.txt"
new file mode 100644
index 00000000..9317d9c0
--- /dev/null
+++ "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/AVISOS IMPORTANTES!.txt"
@@ -0,0 +1,8 @@
+*Nesse PDFs estão algumas dúvidas e instruções que tirei sobre o estágio não obrigtório no IFCE (Isso no Semestre de 2022.1), Caso tenha alguma dúvida veja se em alguma das conversas que tive em um dos pdfs pode tirar sua dúvida! Se não, entre em contato com um dos seguintes emails responsáveis pelo setor de estágio do IFCE:
+
+beatrizjulia@ifce.edu.br <--- MAIS RECOMENDADO (Geralmente ela vai te ajudar emquase tudo relacionado a estágio! Todas as minhas conversas nos emails é com essa
+ pessoa se vc notar kkkk)
+
+estagio.fortaleza@ifce.edu.br <--- Email do setor de estágio do IFCE de Fortaleza (Sua 2a opção caso falar com a Beatriz não resolva)
+
+Obs. Pode ignorar algumas brincadeira que falo com a Beatriz, só preste atenção nas informações que pergunto que é o que importa!
diff --git "a/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/Documentos de encerramentos do est\303\241gio.7z" "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/Documentos de encerramentos do est\303\241gio.7z"
new file mode 100644
index 00000000..75658e75
Binary files /dev/null and "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/Documentos de encerramentos do est\303\241gio.7z" differ
diff --git "a/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/EMAIL - ESTAGIO OBRIGATORIO - DOCUMENTOS DE ENCERRAMENTO - DUVIDA 01 .pdf" "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/EMAIL - ESTAGIO OBRIGATORIO - DOCUMENTOS DE ENCERRAMENTO - DUVIDA 01 .pdf"
new file mode 100644
index 00000000..3f9ec28c
Binary files /dev/null and "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/EMAIL - ESTAGIO OBRIGATORIO - DOCUMENTOS DE ENCERRAMENTO - DUVIDA 01 .pdf" differ
diff --git "a/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/EMAIL - ESTAGIO OBRIGATORIO - DOCUMENTOS DE ENCERRAMENTO - DUVIDA 02.pdf" "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/EMAIL - ESTAGIO OBRIGATORIO - DOCUMENTOS DE ENCERRAMENTO - DUVIDA 02.pdf"
new file mode 100644
index 00000000..8bc9c76d
Binary files /dev/null and "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/EMAIL - ESTAGIO OBRIGATORIO - DOCUMENTOS DE ENCERRAMENTO - DUVIDA 02.pdf" differ
diff --git "a/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/EMAIL - ESTAGIO OBRIGATORIO - ENTREGA DO RELATORIA DIARIO DE ATIVIDADES.pdf" "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/EMAIL - ESTAGIO OBRIGATORIO - ENTREGA DO RELATORIA DIARIO DE ATIVIDADES.pdf"
new file mode 100644
index 00000000..99a64236
Binary files /dev/null and "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/EMAIL - ESTAGIO OBRIGATORIO - ENTREGA DO RELATORIA DIARIO DE ATIVIDADES.pdf" differ
diff --git "a/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/Outros Documento Obrigatorios.7z" "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/Outros Documento Obrigatorios.7z"
new file mode 100644
index 00000000..229044c9
Binary files /dev/null and "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/Outros Documento Obrigatorios.7z" differ
diff --git "a/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/Relatorio Diario de Atividades.7z" "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/Relatorio Diario de Atividades.7z"
new file mode 100644
index 00000000..4bb96892
Binary files /dev/null and "b/Documentos - Est\303\241gio/Documentos Est\303\241gio - Obrigat\303\263rio/Relatorio Diario de Atividades.7z" differ
diff --git "a/Documentos - Est\303\241gio/O que \303\251 essa pasta?.txt" "b/Documentos - Est\303\241gio/O que \303\251 essa pasta?.txt"
new file mode 100644
index 00000000..58b89497
--- /dev/null
+++ "b/Documentos - Est\303\241gio/O que \303\251 essa pasta?.txt"
@@ -0,0 +1,2 @@
+Pasta criada no github do caecomp/provas que é mais visto pela galera da Eng. Comp do IFCE de Fortaleza para colocar os
+documentos usados nos perídos de estágio OBRIGTÓRIOA/NÃO-OBRIGATÓRIO que devem ser entregues no setor de estágio!
diff --git a/Documentos/Atividades Complementares/Tabela Atividades Complementares EngComp.pdf b/Documentos/Atividades Complementares/Tabela Atividades Complementares EngComp.pdf
new file mode 100644
index 00000000..cb0f245c
Binary files /dev/null and b/Documentos/Atividades Complementares/Tabela Atividades Complementares EngComp.pdf differ
diff --git "a/Documentos/PUDS/S01/PUD C\303\241lculo I.doc" "b/Documentos/PUDS/S01/PUD C\303\241lculo I.doc"
new file mode 100644
index 00000000..341710e7
Binary files /dev/null and "b/Documentos/PUDS/S01/PUD C\303\241lculo I.doc" differ
diff --git "a/Documentos/PUDS/S01/PUD Eletro\314\202nica Digital.doc" "b/Documentos/PUDS/S01/PUD Eletro\314\202nica Digital.doc"
new file mode 100644
index 00000000..db2358a7
Binary files /dev/null and "b/Documentos/PUDS/S01/PUD Eletro\314\202nica Digital.doc" differ
diff --git "a/Documentos/PUDS/S01/PUD Eletr\303\264nica Digital.doc" "b/Documentos/PUDS/S01/PUD Eletr\303\264nica Digital.doc"
new file mode 100644
index 00000000..db2358a7
Binary files /dev/null and "b/Documentos/PUDS/S01/PUD Eletr\303\264nica Digital.doc" differ
diff --git "a/Documentos/PUDS/S01/PUD Introdu\303\247\303\243o a Programa\303\247\303\243o.docx" "b/Documentos/PUDS/S01/PUD Introdu\303\247\303\243o a Programa\303\247\303\243o.docx"
new file mode 100644
index 00000000..19f3820c
Binary files /dev/null and "b/Documentos/PUDS/S01/PUD Introdu\303\247\303\243o a Programa\303\247\303\243o.docx" differ
diff --git "a/Documentos/PUDS/S01/PUD Lo\314\201gica Matema\314\201tica.doc" "b/Documentos/PUDS/S01/PUD Lo\314\201gica Matema\314\201tica.doc"
new file mode 100644
index 00000000..e6e1db31
Binary files /dev/null and "b/Documentos/PUDS/S01/PUD Lo\314\201gica Matema\314\201tica.doc" differ
diff --git "a/Documentos/PUDS/S01/PUD L\303\263gica Matem\303\241tica.doc" "b/Documentos/PUDS/S01/PUD L\303\263gica Matem\303\241tica.doc"
new file mode 100644
index 00000000..e6e1db31
Binary files /dev/null and "b/Documentos/PUDS/S01/PUD L\303\263gica Matem\303\241tica.doc" differ
diff --git "a/Documentos/PUDS/S02/PUD C\303\241lculo II.doc" "b/Documentos/PUDS/S02/PUD C\303\241lculo II.doc"
new file mode 100644
index 00000000..bce36690
Binary files /dev/null and "b/Documentos/PUDS/S02/PUD C\303\241lculo II.doc" differ
diff --git "a/Documentos/PUDS/S02/PUD Eletr\303\264nica Anal\303\263gica.doc" "b/Documentos/PUDS/S02/PUD Eletr\303\264nica Anal\303\263gica.doc"
new file mode 100644
index 00000000..c5d949e5
Binary files /dev/null and "b/Documentos/PUDS/S02/PUD Eletr\303\264nica Anal\303\263gica.doc" differ
diff --git "a/Documentos/PUDS/S02/PUD F\303\255sica-Eletricidade.doc" "b/Documentos/PUDS/S02/PUD F\303\255sica-Eletricidade.doc"
new file mode 100644
index 00000000..cbfb794e
Binary files /dev/null and "b/Documentos/PUDS/S02/PUD F\303\255sica-Eletricidade.doc" differ
diff --git "a/Documentos/PUDS/S02/PUD Matema\314\201tica Discreta.doc" "b/Documentos/PUDS/S02/PUD Matema\314\201tica Discreta.doc"
new file mode 100644
index 00000000..b8f70fed
Binary files /dev/null and "b/Documentos/PUDS/S02/PUD Matema\314\201tica Discreta.doc" differ
diff --git "a/Documentos/PUDS/S02/PUD Matem\303\241tica Discreta.doc" "b/Documentos/PUDS/S02/PUD Matem\303\241tica Discreta.doc"
new file mode 100644
index 00000000..b8f70fed
Binary files /dev/null and "b/Documentos/PUDS/S02/PUD Matem\303\241tica Discreta.doc" differ
diff --git "a/Documentos/PUDS/S02/PUD Programa\303\247\303\243o Orientada a Objetos.docx" "b/Documentos/PUDS/S02/PUD Programa\303\247\303\243o Orientada a Objetos.docx"
new file mode 100644
index 00000000..342ae6ec
Binary files /dev/null and "b/Documentos/PUDS/S02/PUD Programa\303\247\303\243o Orientada a Objetos.docx" differ
diff --git a/Documentos/PUDS/S03/PUD Arquitetura de Computadores.doc b/Documentos/PUDS/S03/PUD Arquitetura de Computadores.doc
new file mode 100644
index 00000000..149ba98b
Binary files /dev/null and b/Documentos/PUDS/S03/PUD Arquitetura de Computadores.doc differ
diff --git "a/Documentos/PUDS/S03/PUD Circuitos Eletr\303\264nicos.doc" "b/Documentos/PUDS/S03/PUD Circuitos Eletr\303\264nicos.doc"
new file mode 100644
index 00000000..8dba5f34
Binary files /dev/null and "b/Documentos/PUDS/S03/PUD Circuitos Eletr\303\264nicos.doc" differ
diff --git a/Documentos/PUDS/S03/PUD Estrutura de Dados.doc b/Documentos/PUDS/S03/PUD Estrutura de Dados.doc
new file mode 100644
index 00000000..a8543fd0
Binary files /dev/null and b/Documentos/PUDS/S03/PUD Estrutura de Dados.doc differ
diff --git "a/Documentos/PUDS/S03/PUD F\303\255sica-Eletromagnetismo.doc" "b/Documentos/PUDS/S03/PUD F\303\255sica-Eletromagnetismo.doc"
new file mode 100644
index 00000000..3fd1244d
Binary files /dev/null and "b/Documentos/PUDS/S03/PUD F\303\255sica-Eletromagnetismo.doc" differ
diff --git "a/Documentos/PUDS/S03/PUD Introduc\314\247a\314\203o a Ana\314\201lise de Algoritmos.doc" "b/Documentos/PUDS/S03/PUD Introduc\314\247a\314\203o a Ana\314\201lise de Algoritmos.doc"
new file mode 100644
index 00000000..11f0c845
Binary files /dev/null and "b/Documentos/PUDS/S03/PUD Introduc\314\247a\314\203o a Ana\314\201lise de Algoritmos.doc" differ
diff --git "a/Documentos/PUDS/S03/PUD Introdu\303\247\303\243o a An\303\241lise de Algoritmos.doc" "b/Documentos/PUDS/S03/PUD Introdu\303\247\303\243o a An\303\241lise de Algoritmos.doc"
new file mode 100644
index 00000000..11f0c845
Binary files /dev/null and "b/Documentos/PUDS/S03/PUD Introdu\303\247\303\243o a An\303\241lise de Algoritmos.doc" differ
diff --git "a/Documentos/PUDS/S04/PUD Aspectos Teo\314\201ricos da Computac\314\247a\314\203o.docx" "b/Documentos/PUDS/S04/PUD Aspectos Teo\314\201ricos da Computac\314\247a\314\203o.docx"
new file mode 100644
index 00000000..0d0dc2dd
Binary files /dev/null and "b/Documentos/PUDS/S04/PUD Aspectos Teo\314\201ricos da Computac\314\247a\314\203o.docx" differ
diff --git "a/Documentos/PUDS/S04/PUD Aspectos Te\303\263ricos da Computa\303\247\303\243o.docx" "b/Documentos/PUDS/S04/PUD Aspectos Te\303\263ricos da Computa\303\247\303\243o.docx"
new file mode 100644
index 00000000..0d0dc2dd
Binary files /dev/null and "b/Documentos/PUDS/S04/PUD Aspectos Te\303\263ricos da Computa\303\247\303\243o.docx" differ
diff --git "a/Documentos/PUDS/S04/PUD Geometria Anal\303\255tica e \303\201lgebra Linear.docx" "b/Documentos/PUDS/S04/PUD Geometria Anal\303\255tica e \303\201lgebra Linear.docx"
new file mode 100644
index 00000000..0554ff82
Binary files /dev/null and "b/Documentos/PUDS/S04/PUD Geometria Anal\303\255tica e \303\201lgebra Linear.docx" differ
diff --git a/Documentos/PUDS/S04/PUD Microcontroladores e Microprocessadores.doc b/Documentos/PUDS/S04/PUD Microcontroladores e Microprocessadores.doc
new file mode 100644
index 00000000..6afe7451
Binary files /dev/null and b/Documentos/PUDS/S04/PUD Microcontroladores e Microprocessadores.doc differ
diff --git "a/Documentos/PUDS/S04/PUD Pesquisa e Ordenac\314\247a\314\203o.doc" "b/Documentos/PUDS/S04/PUD Pesquisa e Ordenac\314\247a\314\203o.doc"
new file mode 100644
index 00000000..5e3be969
Binary files /dev/null and "b/Documentos/PUDS/S04/PUD Pesquisa e Ordenac\314\247a\314\203o.doc" differ
diff --git "a/Documentos/PUDS/S04/PUD Pesquisa e Ordena\303\247\303\243o.doc" "b/Documentos/PUDS/S04/PUD Pesquisa e Ordena\303\247\303\243o.doc"
new file mode 100644
index 00000000..5e3be969
Binary files /dev/null and "b/Documentos/PUDS/S04/PUD Pesquisa e Ordena\303\247\303\243o.doc" differ
diff --git a/Documentos/PUDS/S05/PUD Banco de Dados.doc b/Documentos/PUDS/S05/PUD Banco de Dados.doc
new file mode 100644
index 00000000..ad3f88f3
Binary files /dev/null and b/Documentos/PUDS/S05/PUD Banco de Dados.doc differ
diff --git "a/Documentos/PUDS/S05/PUD Ca\314\201lculo Nume\314\200rico.doc" "b/Documentos/PUDS/S05/PUD Ca\314\201lculo Nume\314\200rico.doc"
new file mode 100644
index 00000000..6b705096
Binary files /dev/null and "b/Documentos/PUDS/S05/PUD Ca\314\201lculo Nume\314\200rico.doc" differ
diff --git "a/Documentos/PUDS/S05/PUD C\303\241lculo Num\303\250rico.doc" "b/Documentos/PUDS/S05/PUD C\303\241lculo Num\303\250rico.doc"
new file mode 100644
index 00000000..6b705096
Binary files /dev/null and "b/Documentos/PUDS/S05/PUD C\303\241lculo Num\303\250rico.doc" differ
diff --git "a/Documentos/PUDS/S05/PUD Metodologia Cient\303\255ca e Tecnol\303\263gica.doc" "b/Documentos/PUDS/S05/PUD Metodologia Cient\303\255ca e Tecnol\303\263gica.doc"
new file mode 100644
index 00000000..6386c9e6
Binary files /dev/null and "b/Documentos/PUDS/S05/PUD Metodologia Cient\303\255ca e Tecnol\303\263gica.doc" differ
diff --git a/Documentos/PUDS/S05/PUD Sistemas Lineares.doc b/Documentos/PUDS/S05/PUD Sistemas Lineares.doc
new file mode 100644
index 00000000..a1ced8e3
Binary files /dev/null and b/Documentos/PUDS/S05/PUD Sistemas Lineares.doc differ
diff --git a/Documentos/PUDS/S05/PUD Sistemas Operacionais.docx b/Documentos/PUDS/S05/PUD Sistemas Operacionais.docx
new file mode 100644
index 00000000..c9d6cc0e
Binary files /dev/null and b/Documentos/PUDS/S05/PUD Sistemas Operacionais.docx differ
diff --git a/Documentos/PUDS/S06/PUD Engenharia de Software.doc b/Documentos/PUDS/S06/PUD Engenharia de Software.doc
new file mode 100644
index 00000000..1290b16d
Binary files /dev/null and b/Documentos/PUDS/S06/PUD Engenharia de Software.doc differ
diff --git "a/Documentos/PUDS/S06/PUD Probabilidade e Estat\303\255stica.docx" "b/Documentos/PUDS/S06/PUD Probabilidade e Estat\303\255stica.docx"
new file mode 100644
index 00000000..2d150522
Binary files /dev/null and "b/Documentos/PUDS/S06/PUD Probabilidade e Estat\303\255stica.docx" differ
diff --git a/Documentos/PUDS/S06/PUD Redes de Computadores.docx b/Documentos/PUDS/S06/PUD Redes de Computadores.docx
new file mode 100644
index 00000000..0395a850
Binary files /dev/null and b/Documentos/PUDS/S06/PUD Redes de Computadores.docx differ
diff --git a/Documentos/PUDS/S06/PUD Sistemas Embarcados.doc b/Documentos/PUDS/S06/PUD Sistemas Embarcados.doc
new file mode 100644
index 00000000..867c24ce
Binary files /dev/null and b/Documentos/PUDS/S06/PUD Sistemas Embarcados.doc differ
diff --git "a/Documentos/PUDS/S07/PUD Computa\303\247\303\243o Gr\303\241fica.docx" "b/Documentos/PUDS/S07/PUD Computa\303\247\303\243o Gr\303\241fica.docx"
new file mode 100644
index 00000000..b95cdd98
Binary files /dev/null and "b/Documentos/PUDS/S07/PUD Computa\303\247\303\243o Gr\303\241fica.docx" differ
diff --git a/Documentos/PUDS/S07/PUD Grafos.doc b/Documentos/PUDS/S07/PUD Grafos.doc
new file mode 100644
index 00000000..b53f669e
Binary files /dev/null and b/Documentos/PUDS/S07/PUD Grafos.doc differ
diff --git "a/Documentos/PUDS/S07/PUD Intera\303\247\303\243o Humano-Computador.doc" "b/Documentos/PUDS/S07/PUD Intera\303\247\303\243o Humano-Computador.doc"
new file mode 100644
index 00000000..8ba2a43e
Binary files /dev/null and "b/Documentos/PUDS/S07/PUD Intera\303\247\303\243o Humano-Computador.doc" differ
diff --git "a/Documentos/PUDS/S07/PUD Introduc\314\247a\314\203o a\314\200 Automac\314\247a\314\203o Industrial e Controle.doc" "b/Documentos/PUDS/S07/PUD Introduc\314\247a\314\203o a\314\200 Automac\314\247a\314\203o Industrial e Controle.doc"
new file mode 100644
index 00000000..f4da98ea
Binary files /dev/null and "b/Documentos/PUDS/S07/PUD Introduc\314\247a\314\203o a\314\200 Automac\314\247a\314\203o Industrial e Controle.doc" differ
diff --git "a/Documentos/PUDS/S07/PUD Introdu\303\247\303\243o \303\240 Automa\303\247\303\243o Industrial e Controle.doc" "b/Documentos/PUDS/S07/PUD Introdu\303\247\303\243o \303\240 Automa\303\247\303\243o Industrial e Controle.doc"
new file mode 100644
index 00000000..f4da98ea
Binary files /dev/null and "b/Documentos/PUDS/S07/PUD Introdu\303\247\303\243o \303\240 Automa\303\247\303\243o Industrial e Controle.doc" differ
diff --git "a/Documentos/PUDS/S07/PUD Produ\303\247\303\243o Textual.docx" "b/Documentos/PUDS/S07/PUD Produ\303\247\303\243o Textual.docx"
new file mode 100644
index 00000000..0645151c
Binary files /dev/null and "b/Documentos/PUDS/S07/PUD Produ\303\247\303\243o Textual.docx" differ
diff --git "a/Documentos/PUDS/S08/PUD Aplica\303\247\303\265es de Controle (Falta Elaborar).doc" "b/Documentos/PUDS/S08/PUD Aplica\303\247\303\265es de Controle (Falta Elaborar).doc"
new file mode 100644
index 00000000..cc3cede5
Binary files /dev/null and "b/Documentos/PUDS/S08/PUD Aplica\303\247\303\265es de Controle (Falta Elaborar).doc" differ
diff --git "a/Documentos/PUDS/S08/PUD Intelige\314\202ncia Computacional.docx" "b/Documentos/PUDS/S08/PUD Intelige\314\202ncia Computacional.docx"
new file mode 100644
index 00000000..d31e894b
Binary files /dev/null and "b/Documentos/PUDS/S08/PUD Intelige\314\202ncia Computacional.docx" differ
diff --git "a/Documentos/PUDS/S08/PUD Intelig\303\252ncia Computacional.docx" "b/Documentos/PUDS/S08/PUD Intelig\303\252ncia Computacional.docx"
new file mode 100644
index 00000000..d31e894b
Binary files /dev/null and "b/Documentos/PUDS/S08/PUD Intelig\303\252ncia Computacional.docx" differ
diff --git "a/Documentos/PUDS/S08/PUD Projeto de Sistemas de Informac\314\247a\314\203o.docx" "b/Documentos/PUDS/S08/PUD Projeto de Sistemas de Informac\314\247a\314\203o.docx"
new file mode 100644
index 00000000..bf2f90a9
Binary files /dev/null and "b/Documentos/PUDS/S08/PUD Projeto de Sistemas de Informac\314\247a\314\203o.docx" differ
diff --git "a/Documentos/PUDS/S08/PUD Projeto de Sistemas de Informa\303\247\303\243o.docx" "b/Documentos/PUDS/S08/PUD Projeto de Sistemas de Informa\303\247\303\243o.docx"
new file mode 100644
index 00000000..bf2f90a9
Binary files /dev/null and "b/Documentos/PUDS/S08/PUD Projeto de Sistemas de Informa\303\247\303\243o.docx" differ
diff --git "a/Documentos/PUDS/S08/PUD Sistemas Distribu\303\255dos.doc" "b/Documentos/PUDS/S08/PUD Sistemas Distribu\303\255dos.doc"
new file mode 100644
index 00000000..d9cf7a3c
Binary files /dev/null and "b/Documentos/PUDS/S08/PUD Sistemas Distribu\303\255dos.doc" differ
diff --git a/Documentos/PUDS/S08/PUD Sistemas de Tempo Real.doc b/Documentos/PUDS/S08/PUD Sistemas de Tempo Real.doc
new file mode 100644
index 00000000..417d2e7c
Binary files /dev/null and b/Documentos/PUDS/S08/PUD Sistemas de Tempo Real.doc differ
diff --git "a/Documentos/PUDS/S09/PUD Empreendimento e Gesta\314\203o.docx" "b/Documentos/PUDS/S09/PUD Empreendimento e Gesta\314\203o.docx"
new file mode 100644
index 00000000..3ef759d8
Binary files /dev/null and "b/Documentos/PUDS/S09/PUD Empreendimento e Gesta\314\203o.docx" differ
diff --git "a/Documentos/PUDS/S09/PUD Empreendimento e Gest\303\243o.docx" "b/Documentos/PUDS/S09/PUD Empreendimento e Gest\303\243o.docx"
new file mode 100644
index 00000000..3ef759d8
Binary files /dev/null and "b/Documentos/PUDS/S09/PUD Empreendimento e Gest\303\243o.docx" differ
diff --git "a/Documentos/PUDS/S09/PUD Programa\303\247\303\243o Paralela e Distribu\303\255da.doc" "b/Documentos/PUDS/S09/PUD Programa\303\247\303\243o Paralela e Distribu\303\255da.doc"
new file mode 100644
index 00000000..198a126e
Binary files /dev/null and "b/Documentos/PUDS/S09/PUD Programa\303\247\303\243o Paralela e Distribu\303\255da.doc" differ
diff --git "a/Documentos/PUDS/S09/PUD Trabalho de Gradua\303\247\303\243o Interdisciplinar.doc" "b/Documentos/PUDS/S09/PUD Trabalho de Gradua\303\247\303\243o Interdisciplinar.doc"
new file mode 100644
index 00000000..508f7303
Binary files /dev/null and "b/Documentos/PUDS/S09/PUD Trabalho de Gradua\303\247\303\243o Interdisciplinar.doc" differ
diff --git a/Documentos/PUDS/S10/PUD Projeto Social.docx b/Documentos/PUDS/S10/PUD Projeto Social.docx
new file mode 100644
index 00000000..d537d9c2
Binary files /dev/null and b/Documentos/PUDS/S10/PUD Projeto Social.docx differ
diff --git "a/Documentos/PUDS/S10/PUD \303\211tica e Filosofia.doc" "b/Documentos/PUDS/S10/PUD \303\211tica e Filosofia.doc"
new file mode 100644
index 00000000..79b09660
Binary files /dev/null and "b/Documentos/PUDS/S10/PUD \303\211tica e Filosofia.doc" differ
diff --git "a/Eletronica Anal\303\263gica/2019.2 - Bento/Inkedphoto_2020-01-31_22-06-49_LI.jpg" "b/Eletronica Anal\303\263gica/2019.2 - Bento/Inkedphoto_2020-01-31_22-06-49_LI.jpg"
new file mode 100644
index 00000000..28c49083
Binary files /dev/null and "b/Eletronica Anal\303\263gica/2019.2 - Bento/Inkedphoto_2020-01-31_22-06-49_LI.jpg" differ
diff --git "a/Eletronica Anal\303\263gica/2019.2 - Bento/elt 1.jpg" "b/Eletronica Anal\303\263gica/2019.2 - Bento/elt 1.jpg"
new file mode 100644
index 00000000..1c4d72c6
Binary files /dev/null and "b/Eletronica Anal\303\263gica/2019.2 - Bento/elt 1.jpg" differ
diff --git "a/Eletronica Anal\303\263gica/2019.2 - Bento/elt 2.jpg" "b/Eletronica Anal\303\263gica/2019.2 - Bento/elt 2.jpg"
new file mode 100644
index 00000000..43efa41d
Binary files /dev/null and "b/Eletronica Anal\303\263gica/2019.2 - Bento/elt 2.jpg" differ
diff --git "a/Engenharia de Software/2019.1 - C\303\251sar Olavo/Prova 1 EngSoft N1.pdf" "b/Engenharia de Software/2019.1 - C\303\251sar Olavo/Prova 1 EngSoft N1.pdf"
new file mode 100644
index 00000000..348b22c7
Binary files /dev/null and "b/Engenharia de Software/2019.1 - C\303\251sar Olavo/Prova 1 EngSoft N1.pdf" differ
diff --git "a/Engenharia de Software/2019.1 - C\303\251sar Olavo/Prova 1 EngSoft N2.pdf" "b/Engenharia de Software/2019.1 - C\303\251sar Olavo/Prova 1 EngSoft N2.pdf"
new file mode 100644
index 00000000..8e191d30
Binary files /dev/null and "b/Engenharia de Software/2019.1 - C\303\251sar Olavo/Prova 1 EngSoft N2.pdf" differ
diff --git "a/Engenharia de Software/2019.1 - C\303\251sar Olavo/Prova 2 EngSoft N1.pdf" "b/Engenharia de Software/2019.1 - C\303\251sar Olavo/Prova 2 EngSoft N1.pdf"
new file mode 100644
index 00000000..f896d1d3
Binary files /dev/null and "b/Engenharia de Software/2019.1 - C\303\251sar Olavo/Prova 2 EngSoft N1.pdf" differ
diff --git "a/Engenharia de Software/2019.1 - C\303\251sar Olavo/Prova 2 EngSoft N2.pdf" "b/Engenharia de Software/2019.1 - C\303\251sar Olavo/Prova 2 EngSoft N2.pdf"
new file mode 100644
index 00000000..f7eafc89
Binary files /dev/null and "b/Engenharia de Software/2019.1 - C\303\251sar Olavo/Prova 2 EngSoft N2.pdf" differ
diff --git "a/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO 02.12 N2.pdf" "b/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO 02.12 N2.pdf"
new file mode 100644
index 00000000..68cd21e8
Binary files /dev/null and "b/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO 02.12 N2.pdf" differ
diff --git "a/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO 2\302\260 Avalia\303\247\303\243o.pdf" "b/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO 2\302\260 Avalia\303\247\303\243o.pdf"
new file mode 100644
index 00000000..6051015f
Binary files /dev/null and "b/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO 2\302\260 Avalia\303\247\303\243o.pdf" differ
diff --git "a/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO N1 23.09.21.pdf" "b/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO N1 23.09.21.pdf"
new file mode 100644
index 00000000..f6f7d667
Binary files /dev/null and "b/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO N1 23.09.21.pdf" differ
diff --git "a/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO N2 16.12.pdf" "b/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO N2 16.12.pdf"
new file mode 100644
index 00000000..d69c02e7
Binary files /dev/null and "b/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO N2 16.12.pdf" differ
diff --git "a/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO lista avaliativa.pdf" "b/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO lista avaliativa.pdf"
new file mode 100644
index 00000000..8ca8d53a
Binary files /dev/null and "b/Equa\303\247\303\265es Diferenciais/2011.1/Equac\314\247o\314\203es Diferenciais Ordina\314\201rias - EDO DETEL/EDO lista avaliativa.pdf" differ
diff --git "a/Equa\303\247\303\265es Diferenciais/2011.1/primeira_de_edo.pdf" "b/Equa\303\247\303\265es Diferenciais/2011.1/primeira_de_edo.pdf"
new file mode 100644
index 00000000..ff39f4c1
Binary files /dev/null and "b/Equa\303\247\303\265es Diferenciais/2011.1/primeira_de_edo.pdf" differ
diff --git "a/Equa\303\247\303\265es Diferenciais/2011.1/segunda_de_edo.pdf" "b/Equa\303\247\303\265es Diferenciais/2011.1/segunda_de_edo.pdf"
new file mode 100644
index 00000000..720ccb73
Binary files /dev/null and "b/Equa\303\247\303\265es Diferenciais/2011.1/segunda_de_edo.pdf" differ
diff --git "a/Equa\303\247\303\265es Diferenciais/2011.1/terceira_de_edo.pdf" "b/Equa\303\247\303\265es Diferenciais/2011.1/terceira_de_edo.pdf"
new file mode 100644
index 00000000..d4038e53
Binary files /dev/null and "b/Equa\303\247\303\265es Diferenciais/2011.1/terceira_de_edo.pdf" differ
diff --git a/INT-COMP/RESUMO N2 b/INT-COMP/RESUMO N2
new file mode 100644
index 00000000..b0ab57e0
--- /dev/null
+++ b/INT-COMP/RESUMO N2
@@ -0,0 +1,271 @@
+RESUMO
+Probabilidade:
+A probabilidade é uma medida que quantifica a incerteza associada a um evento. É amplamente utilizada na análise de dados e na tomada de decisões em situações incertas. Alguns conceitos fundamentais na teoria da probabilidade incluem:
+
+Espaço amostral: é o conjunto de todos os possíveis resultados de um experimento.
+Evento: é um subconjunto do espaço amostral, que corresponde a um resultado específico ou a uma combinação de resultados.
+
+Regras de probabilidade: existem três regras básicas na teoria da probabilidade.
+ A primeira é a Regra da Soma, que estabelece que a probabilidade de pelo menos um dos eventos ocorrer é igual à soma das probabilidades individuais dos eventos.
+ A segunda é a Regra do Produto, que diz que a probabilidade conjunta de dois eventos ocorrerem é o produto das probabilidades individuais dos eventos.
+ A terceira é a Regra da Complementaridade, que relaciona a probabilidade de um evento ocorrer com a probabilidade de seu complementar (evento não ocorrer).
+
+Teorema de Bayes: é uma ferramenta fundamental para a atualização de probabilidades em face de novas informações. O teorema de Bayes relaciona a probabilidade condicional de um evento dado outro evento com a probabilidade condicional inversa. Essa relação é expressa matematicamente por meio da fórmula de Bayes.
+
+A introdução de métodos de tratamento da incerteza em sistemas inteligentes é consequência de alguns problemas inerentes à lógica clássica
+ Impossibilidade de expressar a observabilidade parcial de eventos do mundo real
+ Incerteza nos resultados de certas ações
+ Complexidade excessiva de modelagem e previsão em certos tipos de problemas
+
+Quais as reais razões que nos levam à necessidade de utilização da teoria da probabilidade em sistemas inteligentes? Necessidade de suavizar as asserções, ou seja, dar um certo grau a cada afirmação ou sentença lógica
+Redes Bayesianas:
+As Redes Bayesianas, também conhecidas como redes de crença ou modelos de probabilidade gráfica, são representações gráficas de relacionamentos probabilísticos entre um conjunto de variáveis. Elas fornecem um método para modelar e raciocinar sobre incertezas. As redes Bayesianas são compostas por nós (variáveis) e arestas direcionadas (relações de dependência probabilística entre as variáveis). A estrutura de uma rede bayesiana é baseada em um grafo acíclico dirigido, em que cada nó representa uma variável e as arestas indicam as dependências probabilísticas.
+
+Além disso, cada nó em uma rede bayesiana está associado a uma tabela de probabilidade condicional (TPC), que especifica as probabilidades condicionais para cada valor do nó dado os valores de seus pais. Essas TPCs são construídas com base em conhecimento prévio ou são estimadas a partir de dados observados.
+
+Uma rede bayesiana permite fazer inferências probabilísticas, ou seja, calcular a probabilidade de um conjunto de variáveis desconhecidas com base nas variáveis observadas. Isso é feito utilizando as regras da teoria da probabilidade, como a regra da soma e o teorema de Bayes, juntamente com a estrutura da rede bayesiana e as TPCs associadas aos nós.
+
+As Redes Bayesianas são amplamente aplicadas em áreas como diagnóstico médico, previsão de falhas em sistemas complexos, análise de risco e tomada de decisões em ambientes incertos.
+
+Lógica tradicional vs. Lógica Fuzzy:
+A lógica tradicional, também conhecida como lógica clássica ou binária, é baseada em valores booleanos, ou seja, uma afirmação é considerada verdadeira (1) ou falsa (0). Essa abordagem é adequada para lidar com problemas em que as variáveis são claramente definidas e se enquadram em categorias precisas.
+
+Por outro lado, a Lógica Fuzzy é uma extensão da lógica tradicional que permite lidar com a incerteza e a imprecisão presentes em muitos problemas do mundo real. Ela foi proposta por Lotfi Zadeh na década de 1960 como uma maneira de lidar com a imprecisão linguística e a falta de clareza em termos de pertinência.
+
+Conjuntos Fuzzy:
+Na Lógica Fuzzy, os conjuntos fuzzy são utilizados para representar a imprecisão e a incerteza. Um conjunto fuzzy é definido por uma função de pertinência, que atribui a cada elemento de um universo de discurso um valor no intervalo [0, 1], indicando o grau de pertinência desse elemento ao conjunto.
+
+As operações nos conjuntos fuzzy incluem:
+
+União: combinação de dois conjuntos fuzzy, atribuindo a cada elemento o máximo valor de pertinência entre os dois conjuntos.
+
+Interseção: combinação de dois conjuntos fuzzy, atribuindo a cada elemento o mínimo valor de pertinência entre os dois conjuntos.
+
+Conjunto complementar: refere-se ao conjunto que contém todos os elementos que não estão contidos em um determinado conjunto difuso.
+
+É importante destacar que, na teoria dos conjuntos difusos, os conjuntos complementares podem conter elementos com graus de pertinência diferentes de zero e um. Isso ocorre porque a teoria dos conjuntos difusos lida com graus de pertinência que variam de forma contínua entre 0 e 1, permitindo a representação de incerteza e imprecisão.
+
+Funções de pertinência são utilizadas para descrever a forma e as características dos conjuntos fuzzy. Algumas funções de pertinência comuns incluem a função triangular, a função trapezoidal e a função gaussiana.
+
+Na teoria dos conjuntos difusos admite-se a existência de conjuntos que não contenham elementos com grau de pertinência 1. O nome dado a tal conjunto seria: conjunto subnormal
+
+
+Lógica Fuzzy e tomada de decisões:
+A Lógica Fuzzy tem aplicações práticas em diversas áreas, especialmente na tomada de decisões em situações em que as informações disponíveis são vagas, imprecisas ou incertas.
+
+Na tomada de decisões com Lógica Fuzzy, os inputs são mapeados para conjuntos fuzzy e regras fuzzy são definidas para representar o conhecimento e as heurísticas do domínio. Essas regras são então utilizadas para inferir conclusões fuzzy a partir dos inputs fuzzy.
+
+Aplicações práticas da Lógica Fuzzy incluem sistemas de controle, diagnóstico médico, previsão do tempo, análise de mercado, entre outros. Essa abordagem permite uma modelagem mais flexível e mais próxima das capacidades de raciocínio humano, considerando a imprecisão e a incerteza inerentes a muitos problemas reais.
+
+Em resumo, a Lógica Fuzzy é uma extensão da lógica tradicional que permite lidar com a imprecisão e a incerteza. Ela utiliza conjuntos fuzzy e funções de pertinência para representar a incerteza e operações específicas para manipular conjuntos fuzzy. A Lógica Fuzzy tem aplicações práticas na tomada de decisões em problemas complexos e incertos, onde a lógica tradicional pode ser limitada.
+
+Com relação a lógica fuzzy podemos afirmar que:
+Ela relativiza o pertencimento de um elemento a um conjunto através dos graus de pertinência.
+
+ Sequência de fases de ação de um controlador difuso:
+ entrada de sensores - fuzificação - inferência - defuzificação - ação de controle
+
+Métodos usados no processo de defuzificação:
+ Método do centróide ou centro de gravidade ou centro estático
+ Primeiro dos Máximos (first of maxima)
+Média dos máximos
+
+
+
+
+
+Classificadores Elementares: conceito e importância:
+A classificação de padrões é uma tarefa fundamental na área de aprendizado de máquina e inteligência artificial. Consiste em atribuir rótulos ou categorias a objetos ou instâncias com base em suas características ou atributos. O objetivo é aprender um modelo ou um classificador capaz de generalizar a partir de um conjunto de dados de treinamento, de modo que possa classificar corretamente novos padrões que não foram vistos antes.
+
+A importância da classificação de padrões reside na sua ampla gama de aplicações. Por exemplo, em reconhecimento de voz, é necessário classificar os diferentes fonemas para entender a fala. Em diagnóstico médico, é preciso classificar pacientes em diferentes categorias de doenças com base em sintomas e histórico médico. A classificação também é usada em reconhecimento de imagem, detecção de spam, detecção de fraudes, entre muitas outras áreas.
+
+Classificador de vizinho mais próximo (KNN):
+O classificador de vizinho mais próximo (KNN) é um dos classificadores elementares mais simples e intuitivos. Ele classifica uma instância desconhecida com base na classe das K instâncias mais próximas a ela no conjunto de treinamento.
+
+VANTAGENS DO KNN EM RELAÇÃO AO NN:
+SIMPLES
+IDEAL PARA TABELAS PEQUENAS OU MÉDIAS
+NÃO REQUER TREINAMENTO
+
+DESVANTAGENS:
+ALTO CUSTO COMPUTACIONAL
+CONSTANTE K É OBTIDA POR TENTATIVA E ERRO
+
+(DIST NCIA MÍNIMA AO CENTRÓIDE É UMA ALTERNATIVA AO KNN)
+
+O algoritmo kNN trabalha de forma levemente diferente do NN tornando mais confiável a solução de problema de classificação. Qual a primeira preocupação que devemos ter na escolha do valor de k? k deve ser escolhido de forma a evitar empates entre as classes
+
+O algoritmo da distância mínima ao centróide não garante taxas de acerto maiores que o kNN porém apresenta uma grande vantagem. Esta vantagem seria: Redução significativa dos cálculos a serem realizados em produção/uso
+
+Os princípios básicos do K-NN são:
+Medida de distância: é utilizada para calcular a proximidade entre as instâncias. A distância Euclidiana é comumente utilizada, mas outras medidas, como a distância de Manhattan, também podem ser aplicadas.
+Escolha do valor de K: define o número de vizinhos próximos a serem considerados na classificação. É uma escolha importante, pois um valor muito baixo pode levar a uma classificação sensível a outliers, enquanto um valor muito alto pode suavizar as fronteiras entre as classes.
+Votação: após encontrar os K vizinhos mais próximos, o classificador realiza uma votação para determinar a classe da instância desconhecida. A classe mais frequente entre os K vizinhos é escolhida como a classe prevista.
+O treinamento do classificador K-NN envolve apenas a memorização do conjunto de treinamento, já que não há etapa explícita de aprendizado de parâmetros. Na etapa de classificação, o classificador calcula a distância entre a instância desconhecida e todas as instâncias do conjunto de treinamento, seleciona os K vizinhos mais próximos e realiza a votação para determinar a classe.
+
+Árvores de decisão:
+
+Ferramenta de apoio a decisão, graficamente com formato de raízes de uma árvore.
+
+
+
+As árvores de decisão são estruturas de classificação baseadas em regras hierárquicas que utilizam uma estrutura em forma de árvore para representar e organizar o conhecimento. Cada nó interno da árvore representa um teste em um atributo, e cada ramo representa uma possível resposta a esse teste. As folhas da árvore representam as classes ou categorias finais.
+
+Uma boa árvore tem características como:
+sintética ( pequena )
+capacidade de generalização
+
+
+A estrutura e a construção de uma árvore de decisão envolvem os seguintes passos:
+
+Escolha do atributo de maior relevância: é feita uma análise estatística para selecionar o atributo que melhor separa as classes ou reduz a incerteza.
+Criação de um nó para o atributo selecionado: esse nó representa o teste a ser realizado.
+Divisão do conjunto de dados com base no valor do atributo: os dados são particionados em subconjuntos com base nos valores do atributo selecionado.
+Recursão: os passos anteriores são aplicados para cada subconjunto de dados, formando uma estrutura em forma de árvore.
+O algoritmo ID3 (Iterative Dichotomiser 3) é um exemplo de algoritmo utilizado para construir árvores de decisão. Ele é baseado na maximização do ganho de informação ou da redução da entropia, medidas que quantificam a incerteza do conjunto de dados.
+
+Uma vez construída a árvore de decisão, a classificação de uma instância desconhecida ocorre percorrendo a árvore a partir da raiz, seguindo o caminho determinado pelos testes até chegar a uma folha, que representa a classe prevista para essa instância.
+
+As árvores de decisão são populares devido à sua interpretabilidade e à capacidade de lidar com dados categóricos e numéricos. No entanto, elas podem ser sensíveis a pequenas variações nos dados de treinamento e podem levar à criação de árvores complexas, que tendem ao overfitting (sobreajuste).
+
+
+
+A respeito do conceito de Machine Learning (ML) ou Aprendizagem de Máquina (AM) podemos afirmar:
+ ML é a utilização de computadores para descobrir padrões (leis, ou modelos) que de outra forma teriam que ser desenvolvidas por seres humanos.
+
+
+
+
+
+
+Avaliação de Classificadores:
+Acerta o que já conhece, porém.
+Se o modelo erra completamente quando a classe não pertence aos dados. Chamamos de OVERFITTING ou seja super ajustado.
+
+Como tratar isso
+Dividir o DATASET em conjunto de treinamento e testes
+
+Fazendo VALIDAÇÃO CRUZADA para fazer uma divisão de dados mais corretamente.
+
+Criando uma MATRIZ DE CONFUSÃO para medir as estatísticas dos classificadores. Medindo a taxa de acerto da validação cruzada.
+
+Métricas Curva ROC
+Medição da qualidade do trabalho de um operador
+Se a curva for abaixo da linha diagonal (<0.6), o classificador é inútil.
+(>0.8) classificador ótimo
+
+
+
+CLASSIFICADOR ZERO R - CLASSIFICADOR DO PRECONCEITO :
+PELA MAIORIA
+SERVE COMO BASELINE
+
+CLASSIFICADOR ONE R:
+BASEADO EM 1 REGRA
+
+Construção de regras é uma parte importante da inteligência artificial:
+Machine Learning
+Observação (aquisição de conhecimento)
+
+Algoritmos de processamento de regras:
+Forward chaining
+Backward chaining
+Mistos
+RETE
+
+Métricas de desempenho:
+As métricas de desempenho são utilizadas para avaliar a qualidade e o desempenho de um classificador. Algumas métricas comumente utilizadas são:
+
+Acurácia (Accuracy): é a proporção de instâncias classificadas corretamente em relação ao total de instâncias. É uma métrica simples e intuitiva, mas pode ser enganosa em casos em que as classes são desbalanceadas.
+
+Precisão (Precision): é a proporção de instâncias classificadas como positivas corretamente em relação ao total de instâncias classificadas como positivas. Mede a capacidade do classificador de evitar falsos positivos.
+
+Recall (Sensibilidade ou Revocação): é a proporção de instâncias positivas corretamente classificadas em relação ao total de instâncias positivas no conjunto de dados. Mede a capacidade do classificador de evitar falsos negativos.
+
+F1-Score: é a média harmônica da precisão e do recall. É uma métrica útil para casos em que há um desequilíbrio entre as classes ou quando tanto a precisão quanto o recall são importantes.
+
+Matriz de Confusão:
+A matriz de confusão é uma tabela que mostra a performance de um classificador em relação às classes reais do conjunto de dados. Ela apresenta quatro elementos principais:
+
+Verdadeiros Positivos (TP): instâncias positivas corretamente classificadas.
+Falsos Positivos (FP): instâncias negativas erroneamente classificadas como positivas.
+Verdadeiros Negativos (TN): instâncias negativas corretamente classificadas.
+Falsos Negativos (FN): instâncias positivas erroneamente classificadas como negativas.
+Com base na matriz de confusão, podemos calcular as métricas de desempenho mencionadas anteriormente, como acurácia, precisão, recall e F1-score.
+
+Curva ROC e Área sob a curva (AUC):
+A curva ROC (Receiver Operating Characteristic) é uma representação gráfica do desempenho de um classificador binário em diferentes pontos de corte. Ela traça a taxa de verdadeiros positivos (recall) no eixo vertical em função da taxa de falsos positivos (1 - especificidade) no eixo horizontal.
+
+A Área sob a curva (AUC) da curva ROC é uma medida numérica do desempenho global do classificador. Quanto maior a área sob a curva, melhor o desempenho do classificador. Um valor de AUC igual a 1 indica um classificador perfeito, enquanto um valor próximo de 0,5 indica um classificador que está realizando classificações aleatórias.
+
+A curva ROC e a AUC são úteis para comparar diferentes classificadores e escolher o melhor ponto de corte, considerando o compromisso entre a taxa de verdadeiros positivos e a taxa de falsos positivos.
+
+Essas métricas e conceitos são amplamente utilizados na avaliação de classificadores, permitindo uma análise mais completa e detalhada do seu desempenho.
+
+Um exemplo de tarefa de classificação?
+ Identificar se uma transação financeira é fraudulenta ou não.
+
+
+Seguinte afirmações é verdadeira em relação à Curva ROC (Receiver Operating Characteristic)? A Curva ROC é utilizada para visualizar o desempenho de classificadores binários em diferentes pontos de corte.
+
+
+
+Conceito de regressão:
+A regressão é uma técnica estatística usada para modelar a relação entre uma variável dependente (variável de saída) e uma ou mais variáveis independentes (variáveis de entrada). O objetivo da regressão é encontrar uma função matemática que melhor descreva essa relação e possa ser usada para prever ou estimar valores da variável dependente com base nos valores das variáveis independentes.
+
+
+
+
+Regressão linear simples:
+A regressão linear simples é um caso especial da regressão em que existe apenas uma variável independente. A equação de regressão linear simples é dada por:
+
+Y = β0 + β1*X + ε
+
+Onde:
+
+Y é a variável dependente.
+X é a variável independente.
+β0 e β1 são os coeficientes de regressão que representam o intercepto e o coeficiente angular da reta de regressão, respectivamente.
+ε é o termo de erro, que representa a variabilidade não explicada pelo modelo.
+
+O método dos mínimos quadrados é usado para estimar os coeficientes de regressão que minimizam a soma dos quadrados dos resíduos entre os valores observados e os valores previstos pelo modelo.
+
+Avaliação de modelos de regressão:
+Existem várias métricas para avaliar o desempenho de modelos de regressão.
+
+Duas das métricas mais comumente utilizadas são:
+
+Coeficiente de determinação (R²): O coeficiente de determinação varia de 0 a 1 e indica a proporção da variabilidade da variável dependente que é explicada pelo modelo de regressão. Um valor de R² próximo a 1 indica um modelo que se ajusta bem aos dados, enquanto um valor próximo a 0 indica que o modelo não explica bem a variabilidade dos dados.
+
+Erro quadrático médio (MSE): O MSE mede a média dos quadrados dos erros entre os valores observados e os valores previstos pelo modelo de regressão. Quanto menor o MSE, melhor é o desempenho do modelo em termos de ajuste aos dados.
+
+Outras métricas comuns de avaliação de modelos de regressão incluem o erro absoluto médio (MAE), o erro médio percentual absoluto (MAPE) e o erro percentual absoluto médio (MPE). Essas métricas são úteis para avaliar a magnitude dos erros em termos absolutos ou relativos.
+
+Essas métricas permitem uma avaliação objetiva do desempenho dos modelos de regressão, permitindo a comparação entre diferentes modelos ou a seleção do modelo mais adequado para uma determinada tarefa.
+
+GRADIENTE DESCENDENTE: Método guiado para chegar no valor mínimo
+RESUMIDO EM UMA SIMPLES FÓRMULA DE LAÇO DE REPETIÇÃO ATÉ CONVERGIR
+ALFA como uma constante arbitrária sendo TAXA DE APRENDIZAGEM
+se for muito pequeno direciona lentamente até convergir
+
+
+Descida Gradiente: A cada iteração, o algoritmo calcula o gradiente da função de custo em relação aos parâmetros atuais e atualiza os parâmetros de acordo com a direção e magnitude do gradiente. Esse processo é repetido até que um critério de parada seja alcançado, como um número máximo de iterações ou uma tolerância de convergência.
+
+
+Solução para Overfitting : Regularização
+
+===========================================================================
+
+
+Exemplos considerado uma tarefa de regressão?
+ Calcular a nota que um aluno deve tirar na prova dado o número de horas que o mesmo estudou
+
+
+Característica do método dos mínimos quadrados?
+ Minimiza a soma dos quadrados das diferenças entre os valores observados e os valores preditos.
+
+Descreve corretamente uma função de perda ( Loss function) ?
+Uma função matemática que define a penalidade por erros de previsão durante o treinamento do modelo.
+
+Descreve corretamente o Gradiente Descendente?
+ Um método para encontrar o mínimo local de uma função através da atualização iterativa dos parâmetros.
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Curso IHC_apostila v_final.pdf" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Curso IHC_apostila v_final.pdf"
new file mode 100644
index 00000000..ac5b637e
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Curso IHC_apostila v_final.pdf" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/ENADE_slides_com_exercicios_IHC.pptx" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/ENADE_slides_com_exercicios_IHC.pptx"
new file mode 100644
index 00000000..671d107a
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/ENADE_slides_com_exercicios_IHC.pptx" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 1.pdf" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 1.pdf"
new file mode 100644
index 00000000..639a01f8
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 1.pdf" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 2.pdf" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 2.pdf"
new file mode 100644
index 00000000..d13833bd
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 2.pdf" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 3.pdf" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 3.pdf"
new file mode 100644
index 00000000..4e1c53e4
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 3.pdf" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 4 (Cores).pptx" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 4 (Cores).pptx"
new file mode 100644
index 00000000..e669887f
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 4 (Cores).pptx" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 5 (Gestalt).pptx" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 5 (Gestalt).pptx"
new file mode 100644
index 00000000..01722618
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 5 (Gestalt).pptx" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 6 (prin ergonomicos).pdf" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 6 (prin ergonomicos).pdf"
new file mode 100644
index 00000000..0cf2a2a5
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/IHC Aula 6 (prin ergonomicos).pdf" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Introdu\303\247\303\243o IHC em informatica (Modifica\303\247\303\265es Hairon) 29-05-2014.pptx" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Introdu\303\247\303\243o IHC em informatica (Modifica\303\247\303\265es Hairon) 29-05-2014.pptx"
new file mode 100644
index 00000000..6a02898b
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Introdu\303\247\303\243o IHC em informatica (Modifica\303\247\303\265es Hairon) 29-05-2014.pptx" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Modulo I Ergonomia Geral.ppt" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Modulo I Ergonomia Geral.ppt"
new file mode 100644
index 00000000..70eef112
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Modulo I Ergonomia Geral.ppt" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Modulo II ergonomia em informatica e IHC.pptx" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Modulo II ergonomia em informatica e IHC.pptx"
new file mode 100644
index 00000000..91dda935
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Modulo II ergonomia em informatica e IHC.pptx" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Porsh ux HQ Final.mp4.zip" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Porsh ux HQ Final.mp4.zip"
new file mode 100644
index 00000000..cbf02758
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Porsh ux HQ Final.mp4.zip" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Princ\303\255pios Hergon\303\264micos - Hairon Marcado.pdf" "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Princ\303\255pios Hergon\303\264micos - Hairon Marcado.pdf"
new file mode 100644
index 00000000..2460bca6
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/Material de aula/Princ\303\255pios Hergon\303\264micos - Hairon Marcado.pdf" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/Intera\303\247\303\243o Humano Computador.pptx" "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/Intera\303\247\303\243o Humano Computador.pptx"
new file mode 100644
index 00000000..992091aa
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/Intera\303\247\303\243o Humano Computador.pptx" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/Persona-Template (1).docx" "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/Persona-Template (1).docx"
new file mode 100644
index 00000000..b381841b
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/Persona-Template (1).docx" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/Trabalho IHC \342\200\220 Made with Clipchamp.mp4" "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/Trabalho IHC \342\200\220 Made with Clipchamp.mp4"
new file mode 100644
index 00000000..8b8c675f
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/Trabalho IHC \342\200\220 Made with Clipchamp.mp4" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/User-personas-justinmind-Template.pptx" "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/User-personas-justinmind-Template.pptx"
new file mode 100644
index 00000000..526571a1
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/User-personas-justinmind-Template.pptx" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/persona-template.docx" "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/persona-template.docx"
new file mode 100644
index 00000000..a9c5f500
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/persona-template.docx" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/persona.jpg" "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/persona.jpg"
new file mode 100644
index 00000000..d40cc5d2
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/persona.jpg" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/quest\303\243o.docx" "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/quest\303\243o.docx"
new file mode 100644
index 00000000..b538d3e7
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/quest\303\243o.docx" differ
diff --git "a/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/telas acad\303\252mico.pdf" "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/telas acad\303\252mico.pdf"
new file mode 100644
index 00000000..e8e7f4e5
Binary files /dev/null and "b/Intera\303\247\303\243o Humano Computador 2019.1/trabalhos/telas acad\303\252mico.pdf" differ
diff --git "a/Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2019.2 - Glauber/1a Lista IAA.docx" "b/Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2019.2 - Glauber/1a Lista IAA.docx"
new file mode 100644
index 00000000..a68643bb
Binary files /dev/null and "b/Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2019.2 - Glauber/1a Lista IAA.docx" differ
diff --git "a/Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2019.2 - Glauber/Resolu\303\247\303\243o Lista 01 IAA.pdf" "b/Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2019.2 - Glauber/Resolu\303\247\303\243o Lista 01 IAA.pdf"
new file mode 100644
index 00000000..e7217693
Binary files /dev/null and "b/Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2019.2 - Glauber/Resolu\303\247\303\243o Lista 01 IAA.pdf" differ
diff --git "a/Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2020.2 - Glauber/N1 IAA.pdf" "b/Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2020.2 - Glauber/N1 IAA.pdf"
new file mode 100644
index 00000000..d7ba8083
Binary files /dev/null and "b/Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2020.2 - Glauber/N1 IAA.pdf" differ
diff --git "a/Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2020.2 - Glauber/N2 IAA.pdf" "b/Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2020.2 - Glauber/N2 IAA.pdf"
new file mode 100644
index 00000000..4522cfa1
Binary files /dev/null and "b/Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2020.2 - Glauber/N2 IAA.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.1.Automa\303\247\303\243o.CLPs.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.1.Automa\303\247\303\243o.CLPs.pdf"
new file mode 100644
index 00000000..82c60bbe
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.1.Automa\303\247\303\243o.CLPs.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.2-Controladores_Logicos_Programaveis.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.2-Controladores_Logicos_Programaveis.pdf"
new file mode 100644
index 00000000..d4504ec7
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.2-Controladores_Logicos_Programaveis.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.2.Introdu\303\247\303\243o.CLP.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.2.Introdu\303\247\303\243o.CLP.pdf"
new file mode 100644
index 00000000..f5adc2d6
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.2.Introdu\303\247\303\243o.CLP.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.3.IEC_611313_CURSO_A1.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.3.IEC_611313_CURSO_A1.pdf"
new file mode 100644
index 00000000..0a899953
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.3.IEC_611313_CURSO_A1.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.4.Diagramas_de_Contato.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.4.Diagramas_de_Contato.pdf"
new file mode 100644
index 00000000..180fb76f
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.4.Diagramas_de_Contato.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.5.1.Grafcet.SFC.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.5.1.Grafcet.SFC.pdf"
new file mode 100644
index 00000000..452b9155
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.5.1.Grafcet.SFC.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.5.2.Grafcet.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.5.2.Grafcet.pdf"
new file mode 100644
index 00000000..c68cc199
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.5.2.Grafcet.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.5.3.GRAFCET.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.5.3.GRAFCET.pdf"
new file mode 100644
index 00000000..d819eeb4
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/1.5.3.GRAFCET.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/2.1.Redes.Industriais-PU-Parte1.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/2.1.Redes.Industriais-PU-Parte1.pdf"
new file mode 100644
index 00000000..1dc2f8e0
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/2.1.Redes.Industriais-PU-Parte1.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/2.2.Redes.Industriais-PU-Parte2.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/2.2.Redes.Industriais-PU-Parte2.pdf"
new file mode 100644
index 00000000..03c073c6
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/2.2.Redes.Industriais-PU-Parte2.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/2.3.Modbus-PU.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/2.3.Modbus-PU.pdf"
new file mode 100644
index 00000000..ec9bf32b
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/2.3.Modbus-PU.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/3.1.SUPERVIS\303\203O_10.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/3.1.SUPERVIS\303\203O_10.pdf"
new file mode 100644
index 00000000..03a19c65
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/3.1.SUPERVIS\303\203O_10.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/55457116-Conceitos-Basicos-de-Redes-Industriais.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/55457116-Conceitos-Basicos-de-Redes-Industriais.pdf"
new file mode 100644
index 00000000..1b9c3532
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/55457116-Conceitos-Basicos-de-Redes-Industriais.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/1.Industrial Networks.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/1.Industrial Networks.pdf"
new file mode 100644
index 00000000..ad57aad8
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/1.Industrial Networks.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/2.Introduction-to-Control-Networks.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/2.Introduction-to-Control-Networks.pdf"
new file mode 100644
index 00000000..fb734616
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/2.Introduction-to-Control-Networks.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/3.Redes Industriais-Depoimento.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/3.Redes Industriais-Depoimento.pdf"
new file mode 100644
index 00000000..f8f6fb28
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/3.Redes Industriais-Depoimento.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/4.ApostilaRedesComputadoresAutomacaoIndustrial.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/4.ApostilaRedesComputadoresAutomacaoIndustrial.pdf"
new file mode 100644
index 00000000..4cc2d695
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/4.ApostilaRedesComputadoresAutomacaoIndustrial.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/5.Redes Industriais- Evolu\303\247\303\243o, Motiva\303\247\303\243o e Funcionamento.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/5.Redes Industriais- Evolu\303\247\303\243o, Motiva\303\247\303\243o e Funcionamento.pdf"
new file mode 100644
index 00000000..6d6812d1
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/5.Redes Industriais- Evolu\303\247\303\243o, Motiva\303\247\303\243o e Funcionamento.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/6.Comunica\303\247\303\243o.de.Dados.e.Redes.de.Computadores-CERUTTI.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/6.Comunica\303\247\303\243o.de.Dados.e.Redes.de.Computadores-CERUTTI.pdf"
new file mode 100644
index 00000000..a9f54bce
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/6.Comunica\303\247\303\243o.de.Dados.e.Redes.de.Computadores-CERUTTI.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Aula1 - RedesIndustriais.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Aula1 - RedesIndustriais.pdf"
new file mode 100644
index 00000000..6b60176d
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Aula1 - RedesIndustriais.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Fieldbus Technology in Industrial Automation.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Fieldbus Technology in Industrial Automation.pdf"
new file mode 100644
index 00000000..37dfaad7
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Fieldbus Technology in Industrial Automation.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Grafcet A Powerful Tool.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Grafcet A Powerful Tool.pdf"
new file mode 100644
index 00000000..3e8fe615
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Grafcet A Powerful Tool.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/INDUSTRIAL NETWORKS(I).pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/INDUSTRIAL NETWORKS(I).pdf"
new file mode 100644
index 00000000..1024c592
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/INDUSTRIAL NETWORKS(I).pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Introduction.to.Industrial.Control.Networks-IEEE-2013(I).pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Introduction.to.Industrial.Control.Networks-IEEE-2013(I).pdf"
new file mode 100644
index 00000000..4dda3c2e
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Introduction.to.Industrial.Control.Networks-IEEE-2013(I).pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/IntroductiontoLADSIM.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/IntroductiontoLADSIM.pdf"
new file mode 100644
index 00000000..c88bfaed
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/IntroductiontoLADSIM.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/SENSOR NETWORKS FOR INDUSTRIAL APPLICATIONS.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/SENSOR NETWORKS FOR INDUSTRIAL APPLICATIONS.pdf"
new file mode 100644
index 00000000..b439240e
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/SENSOR NETWORKS FOR INDUSTRIAL APPLICATIONS.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/SUCOSOFT.S40.Manual.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/SUCOSOFT.S40.Manual.pdf"
new file mode 100644
index 00000000..1387f54c
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/SUCOSOFT.S40.Manual.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Sistemas Digitais de Controle Distribuido - UFMG - 2002.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Sistemas Digitais de Controle Distribuido - UFMG - 2002.pdf"
new file mode 100644
index 00000000..6a6bea2c
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Sistemas Digitais de Controle Distribuido - UFMG - 2002.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/The Emergence of Industrial.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/The Emergence of Industrial.pdf"
new file mode 100644
index 00000000..4108ffca
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/The Emergence of Industrial.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/The Fieldbus - Standards History and Structures.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/The Fieldbus - Standards History and Structures.pdf"
new file mode 100644
index 00000000..9e185000
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/The Fieldbus - Standards History and Structures.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/The Fieldbus War - History or Short Break Between Battles.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/The Fieldbus War - History or Short Break Between Battles.pdf"
new file mode 100644
index 00000000..3eb16478
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/The Fieldbus War - History or Short Break Between Battles.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/The Three Generations of Field-Level.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/The Three Generations of Field-Level.pdf"
new file mode 100644
index 00000000..a7c9d2d7
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/The Three Generations of Field-Level.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Transdutor.de.Posi\303\247\303\243o.com.LVDT.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Transdutor.de.Posi\303\247\303\243o.com.LVDT.pdf"
new file mode 100644
index 00000000..a7e2156c
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/Transdutor.de.Posi\303\247\303\243o.com.LVDT.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/profibus_asi.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/profibus_asi.pdf"
new file mode 100644
index 00000000..76965665
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/profibus_asi.pdf" differ
diff --git "a/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/siemens - simatic s7-200.pdf" "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/siemens - simatic s7-200.pdf"
new file mode 100644
index 00000000..53eb1457
Binary files /dev/null and "b/Laborat\303\263rio de Automa\303\247\303\243o Industrial/livros.manuais.apostilas/siemens - simatic s7-200.pdf" differ
diff --git "a/Libras/E SEU NOME \303\211 JONAS.docx" "b/Libras/E SEU NOME \303\211 JONAS.docx"
new file mode 100644
index 00000000..35028ce7
Binary files /dev/null and "b/Libras/E SEU NOME \303\211 JONAS.docx" differ
diff --git "a/Libras/Iza e suas 4 irm\303\243s.docx" "b/Libras/Iza e suas 4 irm\303\243s.docx"
new file mode 100644
index 00000000..639b7036
Binary files /dev/null and "b/Libras/Iza e suas 4 irm\303\243s.docx" differ
diff --git a/Libras/bilinguismo.pptx b/Libras/bilinguismo.pptx
new file mode 100644
index 00000000..850d34f2
Binary files /dev/null and b/Libras/bilinguismo.pptx differ
diff --git "a/Matem\303\241tica Discreta/2019.2 - Hugo Victor/Inkedphoto_2020-01-31_22-06-46_LI.jpg" "b/Matem\303\241tica Discreta/2019.2 - Hugo Victor/Inkedphoto_2020-01-31_22-06-46_LI.jpg"
new file mode 100644
index 00000000..385ba4e8
Binary files /dev/null and "b/Matem\303\241tica Discreta/2019.2 - Hugo Victor/Inkedphoto_2020-01-31_22-06-46_LI.jpg" differ
diff --git "a/Matem\303\241tica Discreta/2019.2 - Hugo Victor/MD.pdf" "b/Matem\303\241tica Discreta/2019.2 - Hugo Victor/MD.pdf"
new file mode 100644
index 00000000..6b72b356
Binary files /dev/null and "b/Matem\303\241tica Discreta/2019.2 - Hugo Victor/MD.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/2013.2/Aula_00.pdf" "b/Paradigmas de Programa\303\247\303\243o/2013.2/Aula_00.pdf"
new file mode 100644
index 00000000..31112420
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/2013.2/Aula_00.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/2013.2/Aula_01_-_13_01_2014.pdf" "b/Paradigmas de Programa\303\247\303\243o/2013.2/Aula_01_-_13_01_2014.pdf"
new file mode 100644
index 00000000..b96c31e6
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/2013.2/Aula_01_-_13_01_2014.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/2017.1/1.jpg" "b/Paradigmas de Programa\303\247\303\243o/2017.1/1.jpg"
new file mode 100644
index 00000000..ef2e3f9f
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/2017.1/1.jpg" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/2017.1/2.jpg" "b/Paradigmas de Programa\303\247\303\243o/2017.1/2.jpg"
new file mode 100644
index 00000000..3bcfffe0
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/2017.1/2.jpg" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/2017.1/3.jpg" "b/Paradigmas de Programa\303\247\303\243o/2017.1/3.jpg"
new file mode 100644
index 00000000..5a6cd2ea
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/2017.1/3.jpg" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 02 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Raz\303\265es para o estudo de conceitos de linguagens de programa\303\247\303\243o - 16-01-2013.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 02 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Raz\303\265es para o estudo de conceitos de linguagens de programa\303\247\303\243o - 16-01-2013.pdf"
new file mode 100644
index 00000000..c4d10ee8
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 02 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Raz\303\265es para o estudo de conceitos de linguagens de programa\303\247\303\243o - 16-01-2013.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 03 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Crit\303\251rios para avalia\303\247\303\243o de linguagem - 21 -01-2013.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 03 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Crit\303\251rios para avalia\303\247\303\243o de linguagem - 21 -01-2013.pdf"
new file mode 100644
index 00000000..1406ba6e
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 03 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Crit\303\251rios para avalia\303\247\303\243o de linguagem - 21 -01-2013.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 04 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Evolu\303\247\303\243o das linguagens de programa\303\247\303\243o - 23 -01-2013.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 04 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Evolu\303\247\303\243o das linguagens de programa\303\247\303\243o - 23 -01-2013.pdf"
new file mode 100644
index 00000000..1c24f918
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 04 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Evolu\303\247\303\243o das linguagens de programa\303\247\303\243o - 23 -01-2013.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 05 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Tradu\303\247\303\243o- 06 -02-2013.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 05 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Tradu\303\247\303\243o- 06 -02-2013.pdf"
new file mode 100644
index 00000000..33f969bb
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 05 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Tradu\303\247\303\243o- 06 -02-2013.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 06 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Vari\303\241veis - 18-02-2013 e 20-02-2013.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 06 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Vari\303\241veis - 18-02-2013 e 20-02-2013.pdf"
new file mode 100644
index 00000000..ec98c452
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 06 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Vari\303\241veis - 18-02-2013 e 20-02-2013.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 07 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Tipos de dados- 25-02-2013.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 07 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Tipos de dados- 25-02-2013.pdf"
new file mode 100644
index 00000000..07d09adf
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 07 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Tipos de dados- 25-02-2013.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 08 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Express\303\265es e operadores- 06 -03-2013 a 13-03-2013.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 08 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Express\303\265es e operadores- 06 -03-2013 a 13-03-2013.pdf"
new file mode 100644
index 00000000..3d3fc987
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 08 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Express\303\265es e operadores- 06 -03-2013 a 13-03-2013.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 09 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Estruturas de controle - 01-04-2013 a 03-04-2013.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 09 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Estruturas de controle - 01-04-2013 a 03-04-2013.pdf"
new file mode 100644
index 00000000..68e92dfe
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 09 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Estruturas de controle - 01-04-2013 a 03-04-2013.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 10 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Subprogramas - 15-04-2013.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 10 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Subprogramas - 15-04-2013.pdf"
new file mode 100644
index 00000000..c8a96008
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 10 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Subprogramas - 15-04-2013.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 11 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Passagem de par\303\242metros - 17-04-2013.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 11 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Passagem de par\303\242metros - 17-04-2013.pdf"
new file mode 100644
index 00000000..7043756b
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 11 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Passagem de par\303\242metros - 17-04-2013.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 12 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Prolog - 22-04-2013.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 12 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Prolog - 22-04-2013.pdf"
new file mode 100644
index 00000000..4e969d78
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2012.2 - AULA 12 \342\200\223 PARADIGMAS DE PROGRAMA\303\207\303\203O Prolog - 22-04-2013.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2\302\252 Lista de Exerc\303\255cios de Paradigmas de Programa\303\247\303\243o_v2.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2\302\252 Lista de Exerc\303\255cios de Paradigmas de Programa\303\247\303\243o_v2.pdf"
new file mode 100644
index 00000000..e56ff3f0
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/2\302\252 Lista de Exerc\303\255cios de Paradigmas de Programa\303\247\303\243o_v2.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Apresenta\303\247\303\243o 1 - Semin\303\241rio Objective C.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Apresenta\303\247\303\243o 1 - Semin\303\241rio Objective C.pdf"
new file mode 100644
index 00000000..aa93c9e1
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Apresenta\303\247\303\243o 1 - Semin\303\241rio Objective C.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 08.50.55.png" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 08.50.55.png"
new file mode 100644
index 00000000..0f0639b6
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 08.50.55.png" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 08.51.02.png" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 08.51.02.png"
new file mode 100644
index 00000000..62104087
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 08.51.02.png" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 08.51.08.png" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 08.51.08.png"
new file mode 100644
index 00000000..82b1670f
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 08.51.08.png" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 08.51.15.png" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 08.51.15.png"
new file mode 100644
index 00000000..35165fa6
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 08.51.15.png" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 09.14.01.png" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 09.14.01.png"
new file mode 100644
index 00000000..4f9a45d4
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 09.14.01.png" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 11.16.05.png" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 11.16.05.png"
new file mode 100644
index 00000000..e1e77d35
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/Captura de Tela 2013-01-29 \303\240s 11.16.05.png" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/telas.png" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/telas.png"
new file mode 100644
index 00000000..8a8a3e6d
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Apresenta\303\247\303\243o Paradigmas/telas.png" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Lista de Paradigmas.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Lista de Paradigmas.pdf"
new file mode 100644
index 00000000..96076822
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Lista de Paradigmas.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Resolu\303\247oes de Provas PeO e Paradigmas.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Resolu\303\247oes de Provas PeO e Paradigmas.pdf"
new file mode 100644
index 00000000..aaada513
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/Resolu\303\247oes de Provas PeO e Paradigmas.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/lista1.pdf" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/lista1.pdf"
new file mode 100644
index 00000000..5b24fb86
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/lista1.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/prova1/3.jpg" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/prova1/3.jpg"
new file mode 100644
index 00000000..7d3ee982
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/prova1/3.jpg" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/prova1/5.jpg" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/prova1/5.jpg"
new file mode 100644
index 00000000..eeb5b913
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/prova1/5.jpg" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/prova2/digitalizar0001.jpg" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/prova2/digitalizar0001.jpg"
new file mode 100644
index 00000000..2608b99d
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/prova2/digitalizar0001.jpg" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/prova2/digitalizar0003.jpg" "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/prova2/digitalizar0003.jpg"
new file mode 100644
index 00000000..d6852f18
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Aulas 2012.2/prova2/digitalizar0003.jpg" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Lista de Paradigmas.pdf" "b/Paradigmas de Programa\303\247\303\243o/Lista de Paradigmas.pdf"
new file mode 100644
index 00000000..96076822
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Lista de Paradigmas.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/ListadeParadigmas.pdf" "b/Paradigmas de Programa\303\247\303\243o/ListadeParadigmas.pdf"
new file mode 100644
index 00000000..73282bc0
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/ListadeParadigmas.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Paradigmas_c.pdf" "b/Paradigmas de Programa\303\247\303\243o/Paradigmas_c.pdf"
new file mode 100644
index 00000000..ce5c9da0
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Paradigmas_c.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Prolog.pdf" "b/Paradigmas de Programa\303\247\303\243o/Prolog.pdf"
new file mode 100644
index 00000000..90902f98
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Prolog.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/Resolu\303\247oes de Provas PeO e Paradigmas.pdf" "b/Paradigmas de Programa\303\247\303\243o/Resolu\303\247oes de Provas PeO e Paradigmas.pdf"
new file mode 100644
index 00000000..aaada513
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/Resolu\303\247oes de Provas PeO e Paradigmas.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/lista1.pdf" "b/Paradigmas de Programa\303\247\303\243o/lista1.pdf"
new file mode 100644
index 00000000..ad3feed3
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/lista1.pdf" differ
diff --git "a/Paradigmas de Programa\303\247\303\243o/prog_lang_poster.pdf" "b/Paradigmas de Programa\303\247\303\243o/prog_lang_poster.pdf"
new file mode 100644
index 00000000..25a4b271
Binary files /dev/null and "b/Paradigmas de Programa\303\247\303\243o/prog_lang_poster.pdf" differ
diff --git "a/Probabilidade e Estat\303\255stica/2019.1 - Carlos Alberto/Lista01.pdf" "b/Probabilidade e Estat\303\255stica/2019.1 - Carlos Alberto/Lista01.pdf"
new file mode 100644
index 00000000..ae2de283
Binary files /dev/null and "b/Probabilidade e Estat\303\255stica/2019.1 - Carlos Alberto/Lista01.pdf" differ
diff --git "a/Probabilidade e Estat\303\255stica/2019.1 - Carlos Alberto/Lista02.pdf" "b/Probabilidade e Estat\303\255stica/2019.1 - Carlos Alberto/Lista02.pdf"
new file mode 100644
index 00000000..892eb73c
Binary files /dev/null and "b/Probabilidade e Estat\303\255stica/2019.1 - Carlos Alberto/Lista02.pdf" differ
diff --git "a/Probabilidade e Estat\303\255stica/2019.1 - Carlos Alberto/Solucao Lista02.pdf" "b/Probabilidade e Estat\303\255stica/2019.1 - Carlos Alberto/Solucao Lista02.pdf"
new file mode 100644
index 00000000..88107e87
Binary files /dev/null and "b/Probabilidade e Estat\303\255stica/2019.1 - Carlos Alberto/Solucao Lista02.pdf" differ
diff --git "a/Probabilidade e Estat\303\255stica/2019.1 - Carlos Alberto/Solu\303\247\303\243o Lista01.pdf" "b/Probabilidade e Estat\303\255stica/2019.1 - Carlos Alberto/Solu\303\247\303\243o Lista01.pdf"
new file mode 100644
index 00000000..71da3ebf
Binary files /dev/null and "b/Probabilidade e Estat\303\255stica/2019.1 - Carlos Alberto/Solu\303\247\303\243o Lista01.pdf" differ
diff --git a/Processamento Digital de Sinais/2017.1 - Ricardo Rodriges/N1.jpeg b/Processamento Digital de Sinais/2017.1 - Ricardo Rodriges/N1.jpeg
new file mode 100644
index 00000000..f76056a4
Binary files /dev/null and b/Processamento Digital de Sinais/2017.1 - Ricardo Rodriges/N1.jpeg differ
diff --git a/Processamento Digital de Sinais/2017.1 - Ricardo Rodriges/N2 prova 1.jpeg b/Processamento Digital de Sinais/2017.1 - Ricardo Rodriges/N2 prova 1.jpeg
new file mode 100644
index 00000000..be9d0a2a
Binary files /dev/null and b/Processamento Digital de Sinais/2017.1 - Ricardo Rodriges/N2 prova 1.jpeg differ
diff --git a/Processamento Digital de Sinais/2017.1 - Ricardo Rodriges/N2 prova 2.jpeg b/Processamento Digital de Sinais/2017.1 - Ricardo Rodriges/N2 prova 2.jpeg
new file mode 100644
index 00000000..a1d6468a
Binary files /dev/null and b/Processamento Digital de Sinais/2017.1 - Ricardo Rodriges/N2 prova 2.jpeg differ
diff --git a/README.md b/README.md
index 02456bd0..e02eb363 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,65 @@
-# Provas
\ No newline at end of file
+# Provas
+
+Repositório com as provas, slides e outros materais do curso de Engenharia da Computação do IFCE, campus Fortaleza. O objetivo desse repositório é fornecer material de apoio para os estudantes.
+
+Você pode contribuir enviando:
+* Provas
+* Conteúdo Extra
+* Slides
+* Trabalhos
+* Anotações e áudios
+
+# Organização do repositório
+
+A raiz do repositório deve conter apenas a pasta com o nome da cadeira. Dentro desta pasta, deve conter apenas outras pastas.
+
+Nomeie a pasta com o padrão "Semestre - Nome do professor" e, dentro dela organize os materais por etapa. Por exemplo:
+
+```
+├── Processamento Digital de Sinais
+│ └── 2017.1 - Ricardo Rodriges
+│ ├── N1 lista de exercício para a prova.jpeg
+│ ├── N1 prova.jpeg
+│ ├── N2 prova 1.jpeg
+│ └── N2 prova 2.jpeg
+```
+
+Materais que tendem a ser repetidos por vários semestres diferentes, como slides, devem ficar em uma pasta separada. Por exemplo:
+
+```
+├── Redes de Computadores
+│ └── Slides - Nídia
+│ ├── Arquitetura TCPIP.pdf
+│ ├── Endereçamento IP.pdf
+│ ├── Modelo OSI.pdf
+```
+
+# Como enviar os arquivos
+
+1. Faça um fork do repositório.
+ Para isso, basta clicar no botão
+
+ que se localiza no canto superior direito da página do repositório.
+
+ Agora você provavelmente deve ter um repositório muito semelhante a:
+
+
+
+
+2. Adicionar os novos aquivos ao repositório (fork).
+ A forma mais simples de fazer isso é simplesmente arrastar os novos aquivos para o seu repositório ou clicar no botão upload files que fica no header.
+
+3. Commit.
+ Basta colocar uma mensagem com os arquivos que foram adicionados e clicar em commit changes.
+
+
+
+
+4. Pull request.
+ Clique no botão pull request do seu repositório:
+
+ Deve aparecer uma tela semelhante a esta:
+
+ Agora é só clicar em Create pull request e pronto!
+
+
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Projetos-Tutoriais.rar" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Projetos-Tutoriais.rar"
new file mode 100644
index 00000000..7989b093
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Projetos-Tutoriais.rar" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Provas/Prova N1 Redes.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Provas/Prova N1 Redes.pdf"
new file mode 100644
index 00000000..c9ba610b
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Provas/Prova N1 Redes.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Provas/Prova N2 Redes.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Provas/Prova N2 Redes.pdf"
new file mode 100644
index 00000000..07b7570a
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Provas/Prova N2 Redes.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/191691-cap_2_HTTPS_FTP_SMTP_POP3_IMAP.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/191691-cap_2_HTTPS_FTP_SMTP_POP3_IMAP.pdf"
new file mode 100644
index 00000000..ada3634c
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/191691-cap_2_HTTPS_FTP_SMTP_POP3_IMAP.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/278802-Kurose_cap02-5ed-Intro.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/278802-Kurose_cap02-5ed-Intro.pdf"
new file mode 100644
index 00000000..77f9ebdf
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/278802-Kurose_cap02-5ed-Intro.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/280311-Kurose_cap02-5ed-Web_e_HTTP.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/280311-Kurose_cap02-5ed-Web_e_HTTP.pdf"
new file mode 100644
index 00000000..6421c292
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/280311-Kurose_cap02-5ed-Web_e_HTTP.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/284411-Kurose_cap02-5ed-DNS.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/284411-Kurose_cap02-5ed-DNS.pdf"
new file mode 100644
index 00000000..77e17420
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/284411-Kurose_cap02-5ed-DNS.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/438844-Kurose_cap01-6ed_[Modo_de_Compatibilidade].pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/438844-Kurose_cap01-6ed_[Modo_de_Compatibilidade].pdf"
new file mode 100644
index 00000000..a02c230b
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/438844-Kurose_cap01-6ed_[Modo_de_Compatibilidade].pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/Cap_4-Camada_de_Rede.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/Cap_4-Camada_de_Rede.pdf"
new file mode 100644
index 00000000..57a90ca2
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/Cap_4-Camada_de_Rede.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/Capitulo 3 - Camada de Transporte.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/Capitulo 3 - Camada de Transporte.pdf"
new file mode 100644
index 00000000..b1a28e4b
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/Capitulo 3 - Camada de Transporte.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/cap 5 - Camada_de_Enlace_-_Ethernet.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/cap 5 - Camada_de_Enlace_-_Ethernet.pdf"
new file mode 100644
index 00000000..17f44993
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/cap 5 - Camada_de_Enlace_-_Ethernet.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/desktop.ini" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/desktop.ini"
new file mode 100644
index 00000000..bd28da34
--- /dev/null
+++ "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/2019.1 - N\303\255dia/Slides/desktop.ini"
@@ -0,0 +1,5 @@
+[.ShellClassInfo]
+InfoTip=Esta pasta est compartilhada on-line.
+IconFile=C:\Program Files\Google\Drive\googledrivesync.exe
+IconIndex=16
+
\ No newline at end of file
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 1.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 1.pdf"
new file mode 100644
index 00000000..1c33d733
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 1.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 2.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 2.pdf"
new file mode 100644
index 00000000..5df855cf
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 2.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 3.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 3.pdf"
new file mode 100644
index 00000000..59f2bc5b
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 3.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 4.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 4.pdf"
new file mode 100644
index 00000000..1b594b3d
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 4.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 5.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 5.pdf"
new file mode 100644
index 00000000..ec5173ed
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 5.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 6.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 6.pdf"
new file mode 100644
index 00000000..8d110080
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova 6.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova N2.pdf" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova N2.pdf"
new file mode 100644
index 00000000..4d14521a
Binary files /dev/null and "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/Prova N2.pdf" differ
diff --git "a/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/desktop.ini" "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/desktop.ini"
new file mode 100644
index 00000000..bd28da34
--- /dev/null
+++ "b/Redes de Computadores e Comunica\303\247\303\243o de Dados/Provas Anteriores/desktop.ini"
@@ -0,0 +1,5 @@
+[.ShellClassInfo]
+InfoTip=Esta pasta est compartilhada on-line.
+IconFile=C:\Program Files\Google\Drive\googledrivesync.exe
+IconIndex=16
+
\ No newline at end of file
diff --git "a/S01 - C\303\241lculo I/2010.2/2\302\252_listagem_Mecatr\303\264nica.pdf" "b/S01 - C\303\241lculo I/2010.2/2\302\252_listagem_Mecatr\303\264nica.pdf"
new file mode 100644
index 00000000..08e90b06
Binary files /dev/null and "b/S01 - C\303\241lculo I/2010.2/2\302\252_listagem_Mecatr\303\264nica.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2010.2/3\302\252_listagem-Mecatr\303\264nica-Deriva\303\247\303\243o_logaritmica-implicita.pdf" "b/S01 - C\303\241lculo I/2010.2/3\302\252_listagem-Mecatr\303\264nica-Deriva\303\247\303\243o_logaritmica-implicita.pdf"
new file mode 100644
index 00000000..792fe5d4
Binary files /dev/null and "b/S01 - C\303\241lculo I/2010.2/3\302\252_listagem-Mecatr\303\264nica-Deriva\303\247\303\243o_logaritmica-implicita.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2010.2/4\302\252_listagem_Derivada.pdf" "b/S01 - C\303\241lculo I/2010.2/4\302\252_listagem_Derivada.pdf"
new file mode 100644
index 00000000..72c08a76
Binary files /dev/null and "b/S01 - C\303\241lculo I/2010.2/4\302\252_listagem_Derivada.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2010.2/Derivadas_para_Engenharias.pdf" "b/S01 - C\303\241lculo I/2010.2/Derivadas_para_Engenharias.pdf"
new file mode 100644
index 00000000..a86ba401
Binary files /dev/null and "b/S01 - C\303\241lculo I/2010.2/Derivadas_para_Engenharias.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2010.2/EXERCICIOS SOBRE LIMITES.pdf" "b/S01 - C\303\241lculo I/2010.2/EXERCICIOS SOBRE LIMITES.pdf"
new file mode 100644
index 00000000..cdbfb742
Binary files /dev/null and "b/S01 - C\303\241lculo I/2010.2/EXERCICIOS SOBRE LIMITES.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2010.2/EXERCICIOS_SOBRE_LIMITES.pdf" "b/S01 - C\303\241lculo I/2010.2/EXERCICIOS_SOBRE_LIMITES.pdf"
new file mode 100644
index 00000000..a5c98003
Binary files /dev/null and "b/S01 - C\303\241lculo I/2010.2/EXERCICIOS_SOBRE_LIMITES.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2010.2/LIMITES COM RESPOSTAS.pdf" "b/S01 - C\303\241lculo I/2010.2/LIMITES COM RESPOSTAS.pdf"
new file mode 100644
index 00000000..d0854950
Binary files /dev/null and "b/S01 - C\303\241lculo I/2010.2/LIMITES COM RESPOSTAS.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2010.2/LIMITES TRIGONOM\303\211TRICOS.pdf" "b/S01 - C\303\241lculo I/2010.2/LIMITES TRIGONOM\303\211TRICOS.pdf"
new file mode 100644
index 00000000..5422636b
Binary files /dev/null and "b/S01 - C\303\241lculo I/2010.2/LIMITES TRIGONOM\303\211TRICOS.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2010.2/LIMITES_TRIGONOMETRICOS.pdf" "b/S01 - C\303\241lculo I/2010.2/LIMITES_TRIGONOMETRICOS.pdf"
new file mode 100644
index 00000000..54e71099
Binary files /dev/null and "b/S01 - C\303\241lculo I/2010.2/LIMITES_TRIGONOMETRICOS.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2010.2/REVIS\303\203O DE FUN\303\207\303\225ES COM RESPOSTAS.pdf" "b/S01 - C\303\241lculo I/2010.2/REVIS\303\203O DE FUN\303\207\303\225ES COM RESPOSTAS.pdf"
new file mode 100644
index 00000000..ca01e676
Binary files /dev/null and "b/S01 - C\303\241lculo I/2010.2/REVIS\303\203O DE FUN\303\207\303\225ES COM RESPOSTAS.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2010.2/calculo I.pdf" "b/S01 - C\303\241lculo I/2010.2/calculo I.pdf"
new file mode 100644
index 00000000..552d16a6
Binary files /dev/null and "b/S01 - C\303\241lculo I/2010.2/calculo I.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2010.2/lista-INDU\303\207\303\202O.pdf" "b/S01 - C\303\241lculo I/2010.2/lista-INDU\303\207\303\202O.pdf"
new file mode 100644
index 00000000..c5e48694
Binary files /dev/null and "b/S01 - C\303\241lculo I/2010.2/lista-INDU\303\207\303\202O.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/435024-2-Limite_e_Continuidade.pptx" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/435024-2-Limite_e_Continuidade.pptx"
new file mode 100644
index 00000000..0f07c63f
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/435024-2-Limite_e_Continuidade.pptx" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553663-1-No\303\247\303\265es_de_fun\303\247\303\265es.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553663-1-No\303\247\303\265es_de_fun\303\247\303\265es.pdf"
new file mode 100644
index 00000000..9f686aee
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553663-1-No\303\247\303\265es_de_fun\303\247\303\265es.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553665-2.1-No\303\247\303\265es_e_defini\303\247\303\243o_de_limites.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553665-2.1-No\303\247\303\265es_e_defini\303\247\303\243o_de_limites.pdf"
new file mode 100644
index 00000000..aee6f3f4
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553665-2.1-No\303\247\303\265es_e_defini\303\247\303\243o_de_limites.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553666-3-Continuidade_e_c\303\241lculo_de_limites.docx" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553666-3-Continuidade_e_c\303\241lculo_de_limites.docx"
new file mode 100644
index 00000000..816e9799
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553666-3-Continuidade_e_c\303\241lculo_de_limites.docx" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553667-4-Limites_laterais_e_Ass\303\255ntotas.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553667-4-Limites_laterais_e_Ass\303\255ntotas.pdf"
new file mode 100644
index 00000000..283ac719
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553667-4-Limites_laterais_e_Ass\303\255ntotas.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553668-5-Limites_Polinomiais_e_Trigonom\303\251tricos.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553668-5-Limites_Polinomiais_e_Trigonom\303\251tricos.pdf"
new file mode 100644
index 00000000..1fe68068
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553668-5-Limites_Polinomiais_e_Trigonom\303\251tricos.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553669-6-Limites_exponenciais_e_logaritmicos.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553669-6-Limites_exponenciais_e_logaritmicos.pdf"
new file mode 100644
index 00000000..e5862724
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553669-6-Limites_exponenciais_e_logaritmicos.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553670-1\302\252_-_Defini\303\247\303\243o_de_derivadas_e_retas_tangentes.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553670-1\302\252_-_Defini\303\247\303\243o_de_derivadas_e_retas_tangentes.pdf"
new file mode 100644
index 00000000..5a972254
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553670-1\302\252_-_Defini\303\247\303\243o_de_derivadas_e_retas_tangentes.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553671-2\302\252_-_T\303\251cnicas_de_deriva\303\247\303\243o_e_regra_da_cadeia.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553671-2\302\252_-_T\303\251cnicas_de_deriva\303\247\303\243o_e_regra_da_cadeia.pdf"
new file mode 100644
index 00000000..35448006
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553671-2\302\252_-_T\303\251cnicas_de_deriva\303\247\303\243o_e_regra_da_cadeia.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553672-3\302\252_-_Deriva\303\247\303\243o_logaritmica-implicita.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553672-3\302\252_-_Deriva\303\247\303\243o_logaritmica-implicita.pdf"
new file mode 100644
index 00000000..e3424319
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553672-3\302\252_-_Deriva\303\247\303\243o_logaritmica-implicita.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553674-5\302\252_-_Fun\303\247\303\265es_inversas.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553674-5\302\252_-_Fun\303\247\303\265es_inversas.pdf"
new file mode 100644
index 00000000..5cdce5ff
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553674-5\302\252_-_Fun\303\247\303\265es_inversas.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553675-6\302\252_-_Varia\303\247\303\243o_de_fun\303\247\303\265es_e_Taxas_relacionadas.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553675-6\302\252_-_Varia\303\247\303\243o_de_fun\303\247\303\265es_e_Taxas_relacionadas.pdf"
new file mode 100644
index 00000000..fd58c7a4
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553675-6\302\252_-_Varia\303\247\303\243o_de_fun\303\247\303\265es_e_Taxas_relacionadas.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553676-7\302\252_-_Varia\303\247\303\243o_de_fun\303\247\303\265s-M\303\241ximo_e_M\303\255nimo.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553676-7\302\252_-_Varia\303\247\303\243o_de_fun\303\247\303\265s-M\303\241ximo_e_M\303\255nimo.pdf"
new file mode 100644
index 00000000..dec098db
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553676-7\302\252_-_Varia\303\247\303\243o_de_fun\303\247\303\265s-M\303\241ximo_e_M\303\255nimo.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553677-8\302\252_-_Limites_aplicando_L\302\264H\303\264pital.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553677-8\302\252_-_Limites_aplicando_L\302\264H\303\264pital.pdf"
new file mode 100644
index 00000000..1ae634ae
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553677-8\302\252_-_Limites_aplicando_L\302\264H\303\264pital.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553678-9_-_M\303\251todo_do_ret\303\242ngulo_e_a_antidiferencia\303\247\303\243o.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553678-9_-_M\303\251todo_do_ret\303\242ngulo_e_a_antidiferencia\303\247\303\243o.pdf"
new file mode 100644
index 00000000..62c701b2
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/553678-9_-_M\303\251todo_do_ret\303\242ngulo_e_a_antidiferencia\303\247\303\243o.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/586901-Proposta_1_prova_-_2_fase_-_2015-1 (1).doc" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/586901-Proposta_1_prova_-_2_fase_-_2015-1 (1).doc"
new file mode 100644
index 00000000..2ddf61ec
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/586901-Proposta_1_prova_-_2_fase_-_2015-1 (1).doc" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/615073-Proposta_2_verifica\303\247\303\243o_-_C\303\241lculo_II_-_2015-1_-_ver\303\243o.docx" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/615073-Proposta_2_verifica\303\247\303\243o_-_C\303\241lculo_II_-_2015-1_-_ver\303\243o.docx"
new file mode 100644
index 00000000..8ed9b1c9
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/615073-Proposta_2_verifica\303\247\303\243o_-_C\303\241lculo_II_-_2015-1_-_ver\303\243o.docx" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/DERIVADA.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/DERIVADA.pdf"
new file mode 100644
index 00000000..82366235
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/DERIVADA.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/Derivada como uma taxa de varia \303\247\303\243o.doc" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/Derivada como uma taxa de varia \303\247\303\243o.doc"
new file mode 100644
index 00000000..a0b9fe58
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/Derivada como uma taxa de varia \303\247\303\243o.doc" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/Lista V- Taxas Relacionadas.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/Lista V- Taxas Relacionadas.pdf"
new file mode 100644
index 00000000..12035596
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/Lista V- Taxas Relacionadas.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/MA22_Unidade_11.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/MA22_Unidade_11.pdf"
new file mode 100644
index 00000000..56b2759c
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/MA22_Unidade_11.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/Solu\303\247\303\265es.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/Solu\303\247\303\265es.pdf"
new file mode 100644
index 00000000..c53decb2
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/Solu\303\247\303\265es.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/Thumbs.db" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/Thumbs.db"
new file mode 100644
index 00000000..fde645f6
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/Thumbs.db" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alpha.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alpha.pdf"
new file mode 100644
index 00000000..7d98d62c
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alpha.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphab.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphab.pdf"
new file mode 100644
index 00000000..188fdc7f
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphab.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphac.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphac.pdf"
new file mode 100644
index 00000000..5b8bcd5f
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphac.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphad.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphad.pdf"
new file mode 100644
index 00000000..dd53f14b
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphad.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphae.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphae.pdf"
new file mode 100644
index 00000000..b4101c70
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphae.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphaf.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphaf.pdf"
new file mode 100644
index 00000000..32696147
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphaf.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphag.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphag.pdf"
new file mode 100644
index 00000000..34cc9b6c
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphag.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphah.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphah.pdf"
new file mode 100644
index 00000000..2b13f85d
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphah.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphai.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphai.pdf"
new file mode 100644
index 00000000..335a729c
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphai.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphaj.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphaj.pdf"
new file mode 100644
index 00000000..5240c16b
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphaj.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphak.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphak.pdf"
new file mode 100644
index 00000000..f962a4af
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphak.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alpham.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alpham.pdf"
new file mode 100644
index 00000000..45e9d76d
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alpham.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphan.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphan.pdf"
new file mode 100644
index 00000000..c61fd84c
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphan.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphao.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphao.pdf"
new file mode 100644
index 00000000..75ac20b0
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphao.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphap.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphap.pdf"
new file mode 100644
index 00000000..61b78565
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphap.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphaq.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphaq.pdf"
new file mode 100644
index 00000000..45c2e8a8
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphaq.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphar.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphar.pdf"
new file mode 100644
index 00000000..0b8a831a
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphar.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphas.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphas.pdf"
new file mode 100644
index 00000000..63463579
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphas.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphat.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphat.pdf"
new file mode 100644
index 00000000..23c05bb8
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphat.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphau.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphau.pdf"
new file mode 100644
index 00000000..8576169f
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/calculo I resolvidos/derivative - Wolfram_Alphau.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/doc_calculo__1400999240.doc" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/doc_calculo__1400999240.doc"
new file mode 100644
index 00000000..9184b698
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/doc_calculo__1400999240.doc" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/logs.pdf" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/logs.pdf"
new file mode 100644
index 00000000..27e9c170
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/Conteudo/logs.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 1.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 1.jpg"
new file mode 100644
index 00000000..fdbd8856
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 1.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 2.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 2.jpg"
new file mode 100644
index 00000000..1b23f9a7
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 2.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 3.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 3.jpg"
new file mode 100644
index 00000000..67d0d1e9
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 3.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 4.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 4.jpg"
new file mode 100644
index 00000000..6901b061
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 4.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 5.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 5.jpg"
new file mode 100644
index 00000000..1c171b03
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 5.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 6.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 6.jpg"
new file mode 100644
index 00000000..57c5ad1e
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 1 - p\303\241g 6.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 2 - p\303\241g 1.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 2 - p\303\241g 1.jpg"
new file mode 100644
index 00000000..8bd5bc9c
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 2 - p\303\241g 1.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 2 - p\303\241g 2.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 2 - p\303\241g 2.jpg"
new file mode 100644
index 00000000..cd981a0f
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 2 - p\303\241g 2.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 2 - p\303\241g 3.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 2 - p\303\241g 3.jpg"
new file mode 100644
index 00000000..73e1c51d
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 2 - p\303\241g 3.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 2 - p\303\241g 4.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 2 - p\303\241g 4.jpg"
new file mode 100644
index 00000000..6463191d
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 2 - p\303\241g 4.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 3 - p\303\241g 1.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 3 - p\303\241g 1.jpg"
new file mode 100644
index 00000000..5fead6e7
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 3 - p\303\241g 1.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 3 - p\303\241g 2.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 3 - p\303\241g 2.jpg"
new file mode 100644
index 00000000..a72c8566
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Lista 3 - p\303\241g 2.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Prova 1.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Prova 1.jpg"
new file mode 100644
index 00000000..a605789e
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Prova 1.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Prova 2.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Prova 2.jpg"
new file mode 100644
index 00000000..4e098477
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/Prova 2.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites - Exerc\303\255cios.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites - Exerc\303\255cios.jpg"
new file mode 100644
index 00000000..811aab53
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites - Exerc\303\255cios.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites - p\303\241g 1.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites - p\303\241g 1.jpg"
new file mode 100644
index 00000000..e43abad0
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites - p\303\241g 1.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites - p\303\241g 2.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites - p\303\241g 2.jpg"
new file mode 100644
index 00000000..d42a19e8
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites - p\303\241g 2.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites exponenciais e logar\303\255tmicos - p\303\241g 1.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites exponenciais e logar\303\255tmicos - p\303\241g 1.jpg"
new file mode 100644
index 00000000..41bcb092
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites exponenciais e logar\303\255tmicos - p\303\241g 1.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites exponenciais e logar\303\255tmicos - p\303\241g 2.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites exponenciais e logar\303\255tmicos - p\303\241g 2.jpg"
new file mode 100644
index 00000000..775d2c1b
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Limites exponenciais e logar\303\255tmicos - p\303\241g 2.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Varia\303\247\303\243o de Fun\303\247\303\265es - p\303\241g 1.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Varia\303\247\303\243o de Fun\303\247\303\265es - p\303\241g 1.jpg"
new file mode 100644
index 00000000..998a1f1e
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Varia\303\247\303\243o de Fun\303\247\303\265es - p\303\241g 1.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Varia\303\247\303\243o de Fun\303\247\303\265es - p\303\241g 2.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Varia\303\247\303\243o de Fun\303\247\303\265es - p\303\241g 2.jpg"
new file mode 100644
index 00000000..a2c5369e
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Varia\303\247\303\243o de Fun\303\247\303\265es - p\303\241g 2.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Varia\303\247\303\243o de Fun\303\247\303\265es - p\303\241g 3.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Varia\303\247\303\243o de Fun\303\247\303\265es - p\303\241g 3.jpg"
new file mode 100644
index 00000000..b55d2c1e
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N1/TD Varia\303\247\303\243o de Fun\303\247\303\265es - p\303\241g 3.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/Prova 1.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/Prova 1.jpg"
new file mode 100644
index 00000000..b08eafee
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/Prova 1.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD Aplica\303\247\303\265es da Derivada" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD Aplica\303\247\303\265es da Derivada"
new file mode 100644
index 00000000..e69de29b
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD Derivadas - p\303\241g 1.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD Derivadas - p\303\241g 1.jpg"
new file mode 100644
index 00000000..d3d2b46c
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD Derivadas - p\303\241g 1.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD Derivadas - p\303\241g 2.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD Derivadas - p\303\241g 2.jpg"
new file mode 100644
index 00000000..365e6900
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD Derivadas - p\303\241g 2.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD Limites Aplicando L\302\264H\303\264spital.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD Limites Aplicando L\302\264H\303\264spital.jpg"
new file mode 100644
index 00000000..16f6cb62
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD Limites Aplicando L\302\264H\303\264spital.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD T\303\251cnicas de Deriva\303\247\303\243o - p\303\241g 1.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD T\303\251cnicas de Deriva\303\247\303\243o - p\303\241g 1.jpg"
new file mode 100644
index 00000000..d0b781c5
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD T\303\251cnicas de Deriva\303\247\303\243o - p\303\241g 1.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD T\303\251cnicas de Deriva\303\247\303\243o - p\303\241g 2.jpg" "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD T\303\251cnicas de Deriva\303\247\303\243o - p\303\241g 2.jpg"
new file mode 100644
index 00000000..e2c62892
Binary files /dev/null and "b/S01 - C\303\241lculo I/2014.2 - Fernando Macedo/N2/TD T\303\251cnicas de Deriva\303\247\303\243o - p\303\241g 2.jpg" differ
diff --git "a/S01 - C\303\241lculo I/2015.2/N1 Calculo 1 Roberto Carlos.pdf" "b/S01 - C\303\241lculo I/2015.2/N1 Calculo 1 Roberto Carlos.pdf"
new file mode 100644
index 00000000..40e7c28e
Binary files /dev/null and "b/S01 - C\303\241lculo I/2015.2/N1 Calculo 1 Roberto Carlos.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AF de C\303\241lculo (quest\303\265es).jpeg" "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AF de C\303\241lculo (quest\303\265es).jpeg"
new file mode 100644
index 00000000..f1587d9b
Binary files /dev/null and "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AF de C\303\241lculo (quest\303\265es).jpeg" differ
diff --git "a/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AF de C\303\241lculo (resolu\303\247\303\243o) (1).jpeg" "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AF de C\303\241lculo (resolu\303\247\303\243o) (1).jpeg"
new file mode 100644
index 00000000..5a495df3
Binary files /dev/null and "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AF de C\303\241lculo (resolu\303\247\303\243o) (1).jpeg" differ
diff --git "a/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AF de C\303\241lculo (resolu\303\247\303\243o) (2).jpeg" "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AF de C\303\241lculo (resolu\303\247\303\243o) (2).jpeg"
new file mode 100644
index 00000000..a5e50f7c
Binary files /dev/null and "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AF de C\303\241lculo (resolu\303\247\303\243o) (2).jpeg" differ
diff --git "a/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AF de C\303\241lculo (resolu\303\247\303\243o) (3).jpeg" "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AF de C\303\241lculo (resolu\303\247\303\243o) (3).jpeg"
new file mode 100644
index 00000000..f7d66b5f
Binary files /dev/null and "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AF de C\303\241lculo (resolu\303\247\303\243o) (3).jpeg" differ
diff --git "a/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AP1 - Calculo 1.pdf" "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AP1 - Calculo 1.pdf"
new file mode 100644
index 00000000..0d91fa84
Binary files /dev/null and "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AP1 - Calculo 1.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AP2 - Calculo 1.pdf" "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AP2 - Calculo 1.pdf"
new file mode 100644
index 00000000..92adbc7f
Binary files /dev/null and "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AP2 - Calculo 1.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AP3 - Calculo 1.pdf" "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AP3 - Calculo 1.pdf"
new file mode 100644
index 00000000..9245be26
Binary files /dev/null and "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/AP3 - Calculo 1.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/N1 - Roberto Carlos.pdf" "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/N1 - Roberto Carlos.pdf"
new file mode 100644
index 00000000..fcce8202
Binary files /dev/null and "b/S01 - C\303\241lculo I/2016.2 - Roberto Carlos/N1 - Roberto Carlos.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2019.1 - roberto carlos" "b/S01 - C\303\241lculo I/2019.1 - roberto carlos"
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ "b/S01 - C\303\241lculo I/2019.1 - roberto carlos"
@@ -0,0 +1 @@
+
diff --git "a/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaI.pdf" "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaI.pdf"
new file mode 100644
index 00000000..dd30210b
Binary files /dev/null and "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaI.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaII.pdf" "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaII.pdf"
new file mode 100644
index 00000000..196afe57
Binary files /dev/null and "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaII.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaII.tex" "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaII.tex"
new file mode 100644
index 00000000..46b54555
--- /dev/null
+++ "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaII.tex"
@@ -0,0 +1,596 @@
+\documentclass{article}
+\usepackage[utf8]{inputenc}
+\usepackage{geometry}
+\usepackage{amsmath}
+\usepackage[dvipsnames]{xcolor}
+\newcommand{\highlight}[1]{\colorbox{yellow}{$\displaystyle #1$}}
+
+\title{II Prova - Cálculo I}
+\author{Raquel Maciel Coelho de Sousa}
+\date{25 de Abril 2022}
+
+\geometry{
+a4paper,
+total={170mm,257mm},
+left=20mm,
+top=20mm,
+}
+
+\begin{document}
+\maketitle
+
+
+
+
+
+
+
+\section{Questão:}
+\begin{flalign}
+\lim_{x \to 0}\frac{sin3x}{4x} && \nonumber
+\end{flalign}
+
+\subsection{Aplicar $x_0$ na função}
+\begin{flalign}
+f(x_0) &= f(0) && \nonumber\\
+f(0) &= \frac{sin3 \cdot 0}{4 \cdot 0} && \nonumber\\
+f(0) &= \frac{0}{0} && \nonumber
+\end{flalign}
+(Indeterminado)
+
+\subsection{Para encontrar essa indeterminação}
+
+\subsubsection{Propriedade que o limite do produto é o produto dos limites}
+\begin{flalign}
+\highlight{\lim_{x \to x_0}(f \cdot g)(x) = \lim_{x \to x_0}f(x) \cdot \lim_{x \to x_0}g(x)}&& \nonumber
+\end{flalign}
+
+\begin{flalign}
+& \lim_{x \to 0}\frac{sin3x}{4x} && \nonumber \\
+&= \lim_{x \to 0}\frac{1}{4} \cdot \frac{sin3x}{x} && \nonumber \\
+&= \lim_{x \to 0}\frac{1}{4} \cdot \lim_{x \to 0}\frac{sin3x}{x} && \nonumber
+\end{flalign}
+
+
+\subsubsection{Propriedade do limite da constante}
+\begin{flalign}
+\highlight{\lim_{x \to x_0}c = c}&& \nonumber
+\end{flalign}
+
+\begin{flalign}
+&= \frac{1}{4} \cdot \lim_{x \to 0}\frac{sin3x}{x} && \nonumber
+\end{flalign}
+
+\subsubsection{Multiplica o numerador e denominador por 3}
+\begin{flalign}
+&= \frac{1}{4} \cdot \lim_{x \to 0}\frac{sin3x \cdot 3}{3x} && \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade que o limite do produto é o produto dos limites}
+\begin{flalign}
+\highlight{\lim_{x \to x_0}(f \cdot g)(x) = \lim_{x \to x_0}f(x) \cdot \lim_{x \to x_0}g(x)}&& \nonumber
+\end{flalign}
+
+\begin{flalign}
+&= \frac{1}{4} \cdot \lim_{x \to 0}\frac{sin3x}{3x} \cdot \lim_{x \to 0} 3 && \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade do limite da constante}
+\begin{flalign}
+\highlight{\lim_{x \to x_0}c = c}&& \nonumber
+\end{flalign}
+
+\begin{flalign}
+&= \frac{1}{4} \cdot \lim_{x \to 0}\frac{sin3x}{3x} \cdot 3 && \nonumber
+\end{flalign}
+
+\subsubsection{Teorema da Troca}
+\begin{flalign}
+&\highlight{\lim_{x \to x_0}f(x) = \lim_{x \to x_0}g(x)} && \nonumber\\
+&\highlight{f(x) = g(x)} && \nonumber
+\end{flalign}
+
+\subsubsection{Substituição de variável}
+\begin{flalign}
+& 3x = t && \nonumber \\
+& x \to 0 && \nonumber \\
+& t \to 0 && \nonumber \\
+&= \frac{3}{4} \cdot \lim_{x \to 0}\frac{sin(t)}{t} && \nonumber
+\end{flalign}
+
+\subsubsection{Teorema do Confronto (Sanduíche) e Limite Trigonométrico Fundamental}
+\begin{flalign}
+& \highlight{cos(t) \leq \frac{sin(t)}{t}\leq 1} && \nonumber \\
+& \highlight{\lim_{x \to 0}\frac{sin(t)}{t} = 1} && \nonumber
+\end{flalign}
+
+\subsection{Finalização}
+\begin{flalign}
+&= \frac{3}{4} \cdot 1 && \nonumber \\
+&= \frac{3}{4} && \nonumber
+\end{flalign}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\newpage
+\section{Questão:}
+\begin{flalign}
+\lim_{x \to 0}\frac{x^2}{1-cos10x} && \nonumber
+\end{flalign}
+
+\subsection{Aplicar $x_0$ na função}
+\begin{flalign}
+f(x_0) &= f(0) && \nonumber\\
+f(0) &=\frac{0^2}{1-cos10 \cdot 0} && \nonumber\\
+f(0) &=\frac{0}{1-1} && \nonumber \\
+f(0) &=\frac{0}{0} && \nonumber
+\end{flalign}
+(Indeterminado)
+
+\subsection{Para encontrar essa indeterminação}
+
+\subsubsection{Multiplicando o numerador e o denominador pelo conjugado do denominador}
+\begin{flalign}
+& \lim_{x \to 0}\frac{x^2}{1-cos10x} && \nonumber\\
+&=\lim_{x \to 0}\frac{(x^2) \cdot (1+cos10x)}{(1-cos10x) \cdot (1+cos10x)} && \nonumber\\
+&=\lim_{x \to 0}\frac{(x^2) \cdot (1+cos10x)}{(1^2-cos^2(10x))} && \nonumber\\
+&=\lim_{x \to 0}\frac{(x^2) \cdot (1+cos10x)}{(1-cos^2(10x))} && \nonumber
+\end{flalign}
+
+\subsubsection{Utilizando a substituição pela Relação fundamental da trigonometria}
+\begin{flalign}
+& \highlight{sen^2(x) + cos^2(x) = 1} && \nonumber\\
+& sen^2(x) = 1 - cos^2(x) && \nonumber\\
+&=\lim_{x \to 0}\frac{(x^2) \cdot (1+cos10x)}{sen^2(10x)} && \nonumber
+\end{flalign}
+
+\subsubsection{Separação pelo produto dos quocientes}
+\begin{flalign}
+&=\lim_{x \to 0}\frac{(x^2)}{sen^2(10x)} \cdot \frac{1+cos10x}{1} && \nonumber
+\end{flalign}
+
+
+\subsubsection{Propriedade que o limite do produto é o produto dos limites}
+\begin{flalign}
+\highlight{\lim_{x \to x_0}(f \cdot g)(x) = \lim_{x \to x_0}f(x) \cdot \lim_{x \to x_0}g(x)}&& \nonumber
+\end{flalign}
+
+\begin{flalign}
+&=\lim_{x \to 0}\frac{(x^2)}{sen^2(10x)} \cdot \lim_{x \to 0}\frac{1+cos10x}{1} && \nonumber
+\end{flalign}
+
+\subsubsection{Pondo o expoente comum do numerador e denominador como o expoente do quociente completo e o tornando negativo para inverter a fração}
+\begin{flalign}
+&=\lim_{x \to 0}\left(\frac{sen10x}{x}\right)^{-2} \cdot \lim_{x \to 0}\frac{1+cos10x}{1} && \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade em que o limite da potência é a potência do limite}
+\begin{flalign}
+\highlight{\lim_{x \to x_0}(a^b) = \left(\lim_{x \to x_0}a\right) ^b}&& \nonumber
+\end{flalign}
+
+\begin{flalign}
+&=\left(\lim_{x \to 0}\frac{sen10x}{x}\right)^{-2} \cdot \lim_{x \to 0}\frac{1+cos10x}{1} && \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade derivada do Limite Trigonométrico Fundamental}
+\begin{flalign}
+& \highlight{\lim_{x \to 0}\frac{sin(k\cdot t)}{t} = k} && \nonumber\\
+&= 10 ^ {-2} \cdot \lim_{x \to 0}\frac{1+cos10x}{1} && \nonumber
+\end{flalign}
+
+\subsection{Finalização}
+\begin{flalign}
+&= 10 ^ {-2} \cdot \frac{1+cos(10 \cdot 0)}{1} && \nonumber \\
+&= 10 ^ {-2} \cdot \frac{1+1}{1} && \nonumber \\
+&= \frac{1}{100} \cdot \frac{2}{1} && \nonumber \\
+&= \frac{1}{50} && \nonumber
+\end{flalign}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\newpage
+\section{Questão:}
+\begin{flalign}
+\lim_{x \to 0}3^{\frac{1-sec^2(20x)}{sec^2(10x)-1}} && \nonumber
+\end{flalign}
+
+\subsection{Aplicar $x_0$ na função}
+\begin{flalign}
+f(x_0) &= f(0) && \nonumber\\
+f(0) &= 3^{\frac{1-sec^2(20 \cdot 0)}{sec^2(10 \cdot 0)-1}} && \nonumber\\
+f(0) &= 3^{\frac{1- \frac{1}{cos^2(0)}}{\frac{1}{cos^2(0)}-1}} && \nonumber\\
+f(0) &= 3^{\frac{1- \frac{1}{1}}{\frac{1}{1}-1}} && \nonumber\\
+f(0) &= 3^{\frac{0}{0}} && \nonumber\\
+\end{flalign}
+(Indeterminado)
+
+\subsection{Para encontrar essa indeterminação}
+
+\subsubsection{Propriedade em que o limite da potência é a base elevada ao limite do expoente}
+\begin{flalign}
+\highlight{\lim_{x \to x_0}(a^b) = a^{\lim_{x \to x_0}b}}&& \nonumber
+\end{flalign}
+
+\begin{flalign}
+& \lim_{x \to 0}3^{\frac{1-sec^2(20x)}{sec^2(10x)-1}} && \nonumber\\
+&= 3^{\lim_{x \to 0}\frac{1-sec^2(20x)}{sec^2(10x)-1}} && \nonumber
+\end{flalign}
+
+\subsubsection{Pondo o -1 em evidência}
+\begin{flalign}
+&= 3^{\lim_{x \to 0}\frac{-(sec^2(20x)-1)}{sec^2(10x)-1}} && \nonumber\\
+&= 3^{\lim_{x \to 0}-1 \cdot \frac{sec^2(20x)-1}{sec^2(10x)-1}} && \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade que o limite do produto é o produto dos limites}
+\begin{flalign}
+\highlight{\lim_{x \to x_0}(f \cdot g)(x) = \lim_{x \to x_0}f(x) \cdot \lim_{x \to x_0}g(x)}&& \nonumber
+\end{flalign}
+
+\begin{flalign}
+&= 3^{\lim_{x \to 0}-1 \cdot \lim_{x \to 0}\frac{sec^2(20x)-1}{sec^2(10x)-1}} && \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade do limite da constante}
+\begin{flalign}
+\highlight{\lim_{x \to x_0}c = c}&& \nonumber
+\end{flalign}
+
+\begin{flalign}
+&= 3^{-1 \cdot \lim_{x \to 0}\frac{sec^2(20x)-1}{sec^2(10x)-1}} && \nonumber\\
+&= 3^{-\lim_{x \to 0}\frac{sec^2(20x)-1}{sec^2(10x)-1}} && \nonumber
+\end{flalign}
+
+\subsubsection{Utilizando a substituição pela Relação da tangente com a secante}
+\begin{flalign}
+& \highlight{sec^2(x) - tg^2(x) = 1} && \nonumber\\
+& tg^2(x) = sec^2(x) - 1 && \nonumber\\
+&= 3^{-\lim_{x \to 0}\frac{tg^2(20x)}{tg^2(10x)}} && \nonumber
+\end{flalign}
+
+\subsubsection{Pondo o expoente comum do numerador e denominador como o expoente do quociente completo}
+\begin{flalign}
+&= 3^{-\lim_{x \to 0}\left(\frac{tg(20x)}{tg(10x)}\right)^2} && \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade em que o limite da potência é a potência do limite}
+\begin{flalign}
+& \highlight{\lim_{x \to x_0}(a^b) = \left(\lim_{x \to x_0}a\right) ^b}&& \nonumber \\
+&= 3^{-\left(\lim_{x \to 0}\frac{tg(20x)}{tg(10x)}\right)^2} && \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade do limite do quociente das tangentes}
+\begin{flalign}
+&\highlight{\lim_{x \to 0}\frac{tg(k \cdot x)}{tg(q \cdot x)} = \frac{k}{q}} && \nonumber\\
+&= 3^{-\left(\lim_{x \to 0}\frac{20}{10}\right)^2} && \nonumber
+\end{flalign}
+
+\subsection{Finalização}
+\begin{flalign}
+&= 3^{-\left(\frac{20}{10}\right)^2} && \nonumber\\
+&= 3^{-(2)^2} && \nonumber\\
+&= 3^{-4} && \nonumber\\
+&= \frac{1}{81}&& \nonumber
+\end{flalign}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\newpage
+\section{Questão:}
+\begin{flalign}
+\lim_{x \to +\infty}\left(\ln\left(1+\frac{3}{5x}\right)^{2x}\right)
+&& \nonumber
+\end{flalign}
+
+\subsection{Aplicar $x_0$ na função}
+Por se tratar de operações aritméticas entre inifnitos então é considerado Indeterminado.
+
+\subsection{Para encontrar essa indeterminação}
+\subsubsection{Propriedade em que o limite do log é o log do limite}
+\begin{flalign}
+\highlight{\lim_{x \to x_0}(\log a) = \log\left(\lim_{x \to x_0}a \right)}&& \nonumber
+\end{flalign}
+
+\begin{flalign}
+\ln\left(\lim_{x \to +\infty}\left(1+\frac{3}{5x}\right)^{2x}\right)
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Teorema da Troca}
+\begin{flalign}
+&\highlight{\lim_{x \to x_0}f(x) = \lim_{x \to x_0}g(x)} && \nonumber\\
+&\highlight{f(x) = g(x)} && \nonumber
+\end{flalign}
+
+\subsubsection{Substituição de Variável}
+\begin{flalign}
+& \frac{3}{5x} = \frac{1}{t}
+&& \nonumber \\
+& t = \frac{5x}{3}
+&& \nonumber \\
+& x = \frac{3t}{5}
+&& \nonumber \\
+& x \to \infty
+&& \nonumber \\
+& t \to \infty
+&& \nonumber \\
+& \ln\left(\lim_{t \to +\infty}\left(1+\frac{1}{t}\right)^{2 \cdot \frac{3t}{5}}\right)
+&& \nonumber\\
+& \ln\left(\lim_{t \to +\infty}\left(1+\frac{1}{t}\right)^{ \frac{6t}{5}}\right)
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Separação da multiplicação dos expoentes}
+\begin{flalign}
+& \ln\left(\lim_{t \to +\infty}\left(\left(1+\frac{1}{t}\right)^{t} \right)^{ \frac{6}{5}}\right)
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade o limite do expoente é o expoente do limite}
+\begin{flalign}
+& \ln\left(\lim_{t \to +\infty}\left(1+\frac{1}{t}\right)^{t}\right)^{ \frac{6}{5}}
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Limite Exponencial / Limite de Euler}
+\begin{flalign}
+& \highlight{\lim_{t \to \infty}\left(1+\frac{1}{t}\right)^{t}
+ = e } && \nonumber \\
+&= \ln(e)^{ \frac{6}{5}}
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade Logarítmica em que o expoente do Logaritmando vira o Fator do Logaritmo}
+\begin{flalign}
+&= \frac{6}{5} \cdot \ln(e)
+&& \nonumber
+\end{flalign}
+
+\subsection{Finalização}
+\begin{flalign}
+&= \frac{6}{5} \cdot 1
+&& \nonumber \\
+&= \frac{6}{5}
+&& \nonumber
+\end{flalign}
+
+
+
+
+
+
+
+
+\newpage
+\section{Questão:}
+\begin{flalign}
+\lim_{x \to 0}\frac{2^x - 6^x}{10^x - 20^x}
+&& \nonumber
+\end{flalign}
+
+\subsection{Aplicar $x_0$ na função}
+\begin{flalign}
+& f(x_0) = f(0) && \nonumber \\
+& f(0) = \frac{2^0 - 6^0}{10^0 - 20^0}
+&& \nonumber\\
+& f(0) = \frac{1 - 1}{1 - 1}
+&& \nonumber\\
+& f(0) = \frac{0}{0}
+&& \nonumber
+\end{flalign}
+(Indeterminado)
+
+\subsection{Para encontrar essa indeterminação}
+
+\subsubsection{Adicionando um e diminuindo um de ambos membros da fração}
+\begin{flalign}
+&\lim_{x \to 0}\frac{2^x -1 - 6^x + 1}{10^x -1 - 20^x + 1}
+&& \nonumber\\
+=& \lim_{x \to 0}\frac{(2^x -1) - (6^x - 1)}{(10^x -1) - (20^x - 1)}
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Divindo ambos membros da fração por x}
+\begin{flalign}
+=& \lim_{x \to 0}\frac{\frac{(2^x -1) - (6^x - 1)}{x}}{\frac{(10^x -1) - (20^x - 1)}{x}}
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Transformando ambos membros da fração em Subtrações}
+\begin{flalign}
+=& \lim_{x \to 0}\frac{\frac{2^x -1}{x} - \frac{6^x - 1}{x}}{\frac{10^x -1}{x} - \frac{20^x - 1}{x}}
+&& \nonumber
+\end{flalign}
+
+\subsubsection{O limite do quociente é o quociente dos limites}
+\begin{flalign}
+& \highlight{\lim_{x \to x_0}\left(\frac{f}{g}\right)(x) = \frac{\lim_{x \to x_0}f(x)}{\lim_{x \to x_0}g(x)}}&& \nonumber\\
+& \highlight{\lim_{x \to x_0}g(x) \ne 0} && \nonumber
+\end{flalign}
+
+\begin{flalign}
+=& \frac{\lim_{x \to 0}\frac{2^x -1}{x} - \frac{6^x - 1}{x}}{\lim_{x \to 0}\frac{10^x -1}{x} - \frac{20^x - 1}{x}}
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade em que o limite da diferença é a diferença dos limites}
+\begin{flalign}
+\highlight{\lim_{x \to x_0}(f - g)(x) = \lim_{x \to x_0}f(x) - \lim_{x \to x_0}g(x)}&& \nonumber
+\end{flalign}
+
+\begin{flalign}
+=& \frac{\lim_{x \to 0}\frac{2^x -1}{x} - \lim_{x \to 0}\frac{6^x - 1}{x}}{\lim_{x \to 0}\frac{10^x -1}{x} - \lim_{x \to 0}\frac{20^x - 1}{x}}
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Limite do Logaritmo Natural de X}
+\begin{flalign}
+\highlight{\lim_{x \to 0}\frac{a^x - 1}{x} = \log_e a = lna}&& \nonumber
+\end{flalign}
+
+\begin{flalign}
+=& \frac{ln2 - ln6}{ln10 - ln20}
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade Logarítmica em que a diferença dos Logaritmos é o Logaritmo do quociente dos logaritmandos}
+\begin{flalign}
+& \highlight{\log_c a - \log_c b = \log_c \frac{a}{b}} && \nonumber
+\end{flalign}
+
+\begin{flalign}
+=& \frac{ln\frac{2}{6}}{ln\frac{10}{20}}
+&& \nonumber\\
+=& \frac{ln\frac{1}{3}}{ln\frac{1}{2}}
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Revertendo a propriedade usada depois da fração ter sido simplificada}
+\begin{flalign}
+=& \frac{ln1- ln3}{ln1 - ln2}
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade logarítmica onde o logaritmando é 1}
+\begin{flalign}
+& \highlight{\log_a 1 = 0} && \nonumber
+\end{flalign}
+
+\begin{flalign}
+=& \frac{0 - ln3}{0 - ln2}
+&& \nonumber
+\end{flalign}
+
+\subsubsection{Propriedade logarítmica da substituição de base através de uma razão}
+\begin{flalign}
+& \highlight{\frac{\log_c a}{\log_c b} = \log_b a} && \nonumber
+\end{flalign}
+
+\subsection{Finalização}
+\begin{flalign}
+=& \frac{ln3}{ln2}
+&& \nonumber\\
+=& \log_2 3&& \nonumber
+\end{flalign}
+
+
+
+
+
+
+
+
+
+
+
+
+
+\newpage
+\section{Questão: Analise a continuidade de }
+\begin{flalign}
+f(x) =
+\begin{cases}
+x+x^2, & \text{se $x < 1$ }\\
+3x^4 -1, & \text{se $x \geq 1$}
+\end{cases} && \nonumber
+\end{flalign}
+
+\subsection{Variável $x_0$}
+Atribuindo uma variável $x_0$ a x de modo que $x = x_0 \in D(f)$ iremos analizar sua continuidade.
+
+\subsection{Condições da continuidade de função}
+\subsubsection{Se $f(x_0)$ está definido}
+\begin{flalign}
+f(x) = f(x_0) =
+\begin{cases}
+x_0+(x_0)^2, & \text{se $x_0 < 1$ }\\
+3(x_0)^4 -1, & \text{se $x_0 \geq 1$}
+\end{cases} && \nonumber
+\end{flalign}
+
+\subsubsection{Se $\lim_{x \to x_0}$ existe}
+\begin{flalign}
+\lim_{x \to x_0} =
+\begin{cases}
+x_0+(x_0)^2, & \text{se $x_0 < 1$ }\\
+3(x_0)^4 -1, & \text{se $x_0 \geq 1$}
+\end{cases} && \nonumber
+\end{flalign}
+
+\subsubsection{Se $\lim_{x \to x_0} = f(x_0)$}
+\begin{flalign}
+&\text{se $x_0 < 1$ }
+\begin{cases}
+f(x_0) = x_0+(x_0)^2\\
+\lim_{x\to x_0} = x_0+(x_0)^2 \\
+\\f(x_0) = \lim_{x\to x_0}
+\end{cases} && \nonumber\\ \nonumber \\ \nonumber
+&\text{se $x_0 \geq 1$}
+\begin{cases}
+f(x_0) = 3(x_0)^4 -1 \\
+\lim_{x\to x_0} = 3(x_0)^4 -1 \\
+\\f(x_0) = \lim_{x\to x_0}
+\end{cases} && \nonumber
+\end{flalign}
+
+\subsection{Finalização}
+Assim provamos que a função f(x) polinomial é contínua.
+
+\end{document}
diff --git "a/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaIII.pdf" "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaIII.pdf"
new file mode 100644
index 00000000..2c60f8ff
Binary files /dev/null and "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaIII.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaIII.tex" "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaIII.tex"
new file mode 100644
index 00000000..e9e804d4
--- /dev/null
+++ "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaIII.tex"
@@ -0,0 +1,634 @@
+\documentclass{article}
+\usepackage[utf8]{inputenc}
+\usepackage{geometry}
+\usepackage{amsfonts}
+\usepackage{amssymb}
+\usepackage{amsmath}
+\usepackage[dvipsnames]{xcolor}
+\newcommand{\highlight}[1]{\colorbox{yellow}{$\displaystyle #1$}}
+
+\title{III Prova - Cálculo I}
+\author{Raquel Maciel Coelho de Sousa}
+\date{27 de Maio 2022}
+
+\geometry{
+a4paper,
+total={170mm,257mm},
+left=20mm,
+top=20mm,
+}
+
+\begin{document}
+\maketitle
+
+
+
+
+
+\section{Questão:}
+\begin{flalign}
+& f(x) = x^2 + x \cdot \cos{x} + \pi && \nonumber \\
+& f'(x) && \nonumber
+\end{flalign}
+
+
+\subsection{Derivada da soma}
+A derivada da soma é a soma das derivadas
+\begin{flalign}
+& \highlight{f(x) = f_1(x) + f_2(x) + \dots + f_n(x)} && \nonumber \\
+& \highlight{f'(x) = f_1'(x) + f_2'(x) + \dots + f_n'(x)} && \nonumber \\ \nonumber \\
+& f'(x) = (x^2)' + (x \cdot \cos{x})' + (\pi)' && \nonumber
+\end{flalign}
+
+\subsection{Derivada da base da potência}
+\begin{flalign}
+& \highlight{f(x) = x^a, a \in \mathbb{R} } && \nonumber \\
+& \highlight{f'(x) = a \cdot x^{a-1}} && \nonumber \\ \nonumber \\
+& (x^2)' = 2 \cdot x && \nonumber \\
+& f'(x) = (2 x) + (x \cdot \cos{x})' + (\pi)' && \nonumber
+\\
+& f'(x) = 2 x + (x \cdot \cos{x})' + (\pi)' && \nonumber
+\end{flalign}
+
+\subsection{Derivada do produto}
+\begin{flalign}
+& \highlight{f(x) = f_1(x) \cdot f_2(x)} && \nonumber \\
+& \highlight{f'(x) = f_1'(x) \cdot f_2(x) + f_1(x) \cdot f_2'(x)} && \nonumber \\ \nonumber \\
+& (x \cdot \cos{x})' = ((x)' \cdot \cos{x}) + (x \cdot (\cos{x})') && \nonumber \\
+& f'(x) = 2 x + ((x)' \cdot \cos{x}) + (x \cdot (\cos{x})') + (\pi)' && \nonumber
+\end{flalign}
+
+\subsection{Derivada da função identidade}
+\begin{flalign}
+& \highlight{f(x) = x} && \nonumber \\
+& \highlight{f'(x) = 1} && \nonumber \\ \nonumber \\
+& f'(x) = 2 x + (1 \cdot \cos{x}) + (x \cdot (\cos{x})') + (\pi)' && \nonumber \\
+& f'(x) = 2 x + \cos{x} + (x \cdot (\cos{x})') + (\pi)' && \nonumber
+\end{flalign}
+
+\subsection{Derivada trigonométrica do cosseno}
+\begin{flalign}
+& \highlight{f(x) = \cos{(x)}} && \nonumber \\
+& \highlight{f'(x) = -\sin{(x)}} && \nonumber \\ \nonumber \\
+& f'(x) = 2 x + \cos{x} + (x \cdot (-\sin{x})) + (\pi)' && \nonumber \\
+& f'(x) = 2 x + \cos{x} -(x \cdot \sin{x} ) + (\pi)' && \nonumber
+\end{flalign}
+
+\subsection{Derivada da constante}
+\begin{flalign}
+& \highlight{f(x) = c} && \nonumber \\
+& \highlight{f'(x) = 0} && \nonumber \\ \nonumber \\
+& f'(x) = 2 x + \cos{x} -(x \cdot \sin{x} ) + 0 && \nonumber
+\end{flalign}
+
+\subsection{A derivada da função f(x) em relação à variável x é portanto:}
+\begin{flalign}
+& f'(x) = 2 x + \cos{x} -(x \cdot \sin{x} ) && \nonumber
+\end{flalign}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\newpage
+\section{Questão:}
+\begin{flalign}
+& g(x) =\ln{x} - \frac{3^x}{\sin{x}} - \frac{1}{x}&&\nonumber \\
+& g'(x) && \nonumber
+\end{flalign}
+
+
+
+\subsection{Derivada da diferença}
+A derivada da diferença é a diferença das derivadas
+\begin{flalign}
+& \highlight{f(x) = f_1(x) - f_2(x) - \dots - f_n(x)} && \nonumber \\
+& \highlight{f'(x) = f_1'(x) - f_2'(x) - \dots - f_n'(x)} && \nonumber \\ \nonumber \\
+& g'(x) = (\ln{x})' - \left(\frac{3^x}{\sin{x}}\right)' - \left(\frac{1}{x}\right)' && \nonumber
+\end{flalign}
+
+\subsection{Derivada do logarítmo}
+\begin{flalign}
+& \highlight{f(x) = \log_a x} && \nonumber \\
+& \highlight{f'(x) = \frac{1}{x \cdot \ln{a}}} && \nonumber \\ \nonumber \\
+& (\ln{x})' = \frac{1}{x \cdot \ln{e}}&&\nonumber \\
+& (\ln{x})' = \frac{1}{x}&&\nonumber \\
+& g'(x) = \frac{1}{x} - \left(\frac{3^x}{\sin{x}}\right)' - \left(\frac{1}{x}\right)'&&\nonumber
+\end{flalign}
+
+
+\subsection{Derivada do produto}
+\begin{flalign}
+& \highlight{f(x) = f_1(x) \cdot f_2(x)} && \nonumber \\
+& \highlight{f'(x) = f_1'(x) \cdot f_2(x) + f_1(x) \cdot f_2'(x)} && \nonumber \\ \nonumber \\
+& \left(\frac{3^x}{\sin{x}}\right)' = (3^x \cdot cossec(x))'&&\nonumber \\
+& (3^x \cdot cossec(x))' = ((3^x)' \cdot cossec(x)) + (3^x \cdot (cossec(x))')&&\nonumber
+\end{flalign}
+
+\subsubsection{Derivada trigonométrica da cossecante}
+\begin{flalign}
+& \highlight{f(x) = cossec{(x)}} && \nonumber \\
+& \highlight{f'(x) = -cossec(x)cotg(x) } && \nonumber \\ \nonumber \\
+& (3^x \cdot cossec(x))' = ((3^x)' \cdot cossec(x)) + (3^x \cdot (cossec(x))')&&\nonumber \\
+& (3^x \cdot cossec(x))' = ((3^x)' \cdot cossec(x)) + (3^x \cdot (-cossec(x)cotg(x)))&&\nonumber
+\end{flalign}
+
+\subsubsection{Derivada do expoente da potência}
+\begin{flalign}
+& \highlight{f(x) = a^x} && \nonumber \\
+& \highlight{f'(x) = a^x \cdot \ln{a}} && \nonumber \\ \nonumber \\
+& (3^x)' = 3^x \cdot \ln{3} \nonumber \\
+& (3^x \cdot cossec(x))' = (3^x \cdot \ln{3} \cdot cossec(x)) + (3^x \cdot -cossec(x) \cdot cotg(x))&&\nonumber
+\end{flalign}
+
+\subsubsection{Derivada final do segundo termo}
+\begin{flalign}
+& (3^x \cdot cossec(x))' = 3^x \cdot cossec(x) \cdot \ln{3} - 3^x \cdot cossec(x) \cdot cotg(x)&&\nonumber \\
+& g'(x) = \frac{1}{x} - \left(3^x \cdot cossec(x) \cdot \ln{3} - 3^x \cdot cossec(x) \cdot cotg(x) \right) - \left(\frac{1}{x}\right)'&&\nonumber \\
+& g'(x) = \frac{1}{x} - 3^x \cdot cossec(x) \cdot \ln{3} + 3^x \cdot cossec(x) \cdot cotg(x) - \left(\frac{1}{x}\right)'&&\nonumber
+\end{flalign}
+
+\subsection{Derivada da base da potência}
+\begin{flalign}
+& \highlight{f(x) = x^a, a \in \mathbb{R} } && \nonumber \\
+& \highlight{f'(x) = a \cdot x^{a-1}} && \nonumber \\ \nonumber \\
+& \left(\frac{1}{x}\right)' = (x^{-1})' = -1 \cdot x^{-2} = -\frac{1}{x^2}&&\nonumber \\
+& g'(x) = \frac{1}{x} - 3^x \cdot cossec(x) \cdot \ln{3} + 3^x \cdot cossec(x) \cdot cotg(x) - \left(-\frac{1}{x^2}\right)&&\nonumber
+\end{flalign}
+
+\subsection{A derivada da função g(x) em relação à variável x é portanto :}
+\begin{flalign}
+& g'(x) = \frac{1}{x} - 3^x \cdot cossec(x) \cdot \ln{3} + 3^x \cdot cossec(x) \cdot cotg(x) + \frac{1}{x^2}&&\nonumber
+\end{flalign}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\newpage
+\section{Questão:}
+\begin{flalign}
+& \phi(\theta) = \cosh{(\sin{e^\theta})} - \sinh{(\cos{e^\theta})}&&\nonumber \\
+& \phi'(\theta) && \nonumber
+\end{flalign}
+
+\subsection{Derivada da diferença}
+A derivada da diferença é a diferença das derivadas
+\begin{flalign}
+& \highlight{f(x) = f_1(x) - f_2(x) - \dots - f_n(x)} && \nonumber \\
+& \highlight{f'(x) = f_1'(x) - f_2'(x) - \dots - f_n'(x)} && \nonumber \\ \nonumber \\
+& \phi'(\theta) = (\cosh{(\sin{e^\theta})})' - (\sinh{(\cos{e^\theta})})'&& \nonumber
+\end{flalign}
+
+\subsection{Regra da Cadeia aplicada ao primeiro termo}
+De acordo com a regra da cadeia a derivada de uma função que utiliza de outras seria o produto da derivada de cada uma de suas funções membros.
+\begin{flalign}
+& \highlight{ y = u(x)} && \nonumber \\
+& \highlight{\frac{d y}{d x} = \frac{d y}{d u} \cdot \frac{d u}{d x}} && \nonumber \\ \nonumber \\
+& a(\theta) = \cosh{(b(\theta))}&&\nonumber \\
+& b(\theta) = \sin{(c(\theta))}&&\nonumber \\
+& c(\theta) = e^{\theta}&&\nonumber \\
+& \frac{da}{d \theta} = \frac{da}{db} \cdot \frac{db}{dc} \cdot \frac{dc}{d \theta}\nonumber \\
+& \frac{da}{d \theta} = \frac{d(\cosh{b})}{db} \cdot \frac{d(\sin{c})}{dc} \cdot \frac{d(e^{\theta})}{d \theta}&&\nonumber
+\end{flalign}
+
+\subsubsection{Derivada do cosseno hiperbólico}
+\begin{flalign}
+& \highlight{f(x) = \cosh{(x)}} && \nonumber \\
+& \highlight{f'(x) = \sinh{(x)}} && \nonumber \\ \nonumber \\
+& \frac{da}{d \theta} = \sinh{b} \cdot \frac{d(\sin{c})}{dc} \cdot \frac{d(e^{\theta})}{d \theta}&&\nonumber
+\end{flalign}
+
+\subsubsection{Derivada trigonométrica do seno}
+\begin{flalign}
+& \highlight{f(x) = \sin{(x)}} && \nonumber \\
+& \highlight{f'(x) = \cos{(x)}} && \nonumber \\ \nonumber \\
+& \frac{da}{d \theta} = \sinh{b} \cdot \cos{c} \cdot \frac{d(e^{\theta})}{d \theta}&&\nonumber
+\end{flalign}
+
+\subsubsection{Derivada do expoente da potência}
+\begin{flalign}
+& \highlight{f(x) = a^x} && \nonumber \\
+& \highlight{f'(x) = a^x \cdot \ln{a}} && \nonumber \\ \nonumber \\
+& \frac{da}{d \theta} = \sinh{b} \cdot \cos{c} \cdot e^{\theta} \cdot \ln{e}&&\nonumber
+\end{flalign}
+
+\subsubsection{Derivada do primeiro termo de $\phi'(\theta)$}
+\begin{flalign}
+& \frac{da}{d \theta} = \sinh{(\sin{e^{\theta}})} \cdot \cos{e^{\theta}} \cdot e^{\theta}&&\nonumber
+\end{flalign}
+
+\subsection{Regra da Cadeia aplicada ao segundo termo}
+De acordo com a regra da cadeia a derivada de uma função que utiliza de outras seria o produto da derivada de cada uma de suas funções membros.
+\begin{flalign}
+& \highlight{ y = u(x)} && \nonumber \\
+& \highlight{\frac{d y}{d x} = \frac{d y}{d u} \cdot \frac{d u}{d x}} && \nonumber \\ \nonumber \\
+& a(\theta) = \sinh{(b(\theta))}&&\nonumber \\
+& b(\theta) = \cos{(c(\theta))}&&\nonumber \\
+& c(\theta) = e^{\theta}&&\nonumber \\
+& \frac{da}{d \theta} = \frac{da}{db} \cdot \frac{db}{dc} \cdot \frac{dc}{d \theta}\nonumber \\
+& \frac{da}{d \theta} = \frac{d(\sinh{b})}{db} \cdot \frac{d(\cos{c})}{dc} \cdot \frac{d(e^{\theta})}{d \theta}&&\nonumber
+\end{flalign}
+
+\subsubsection{Derivada do seno hiperbólico}
+\begin{flalign}
+& \highlight{f(x) = \sinh{(x)}} && \nonumber \\
+& \highlight{f'(x) = \cosh{(x)}} && \nonumber \\ \nonumber \\
+& \frac{da}{d \theta} = \cosh{b} \cdot \frac{d(\cos{c})}{dc} \cdot \frac{d(e^{\theta})}{d \theta}&&\nonumber
+\end{flalign}
+
+\subsubsection{Derivada trigonométrica do cosseno}
+\begin{flalign}
+& \highlight{f(x) = \cos{(x)}} && \nonumber \\
+& \highlight{f'(x) = -\sin{(x)}} && \nonumber \\ \nonumber \\
+& \frac{da}{d \theta} = \cosh{b} \cdot (-\sin{c}) \cdot \frac{d(e^{\theta})}{d \theta}&&\nonumber
+\end{flalign}
+
+\subsubsection{Derivada do expoente da potência}
+\begin{flalign}
+& \highlight{f(x) = a^x} && \nonumber \\
+& \highlight{f'(x) = a^x \cdot \ln{a}} && \nonumber \\ \nonumber \\
+& \frac{da}{d \theta} = \cosh{b} \cdot (-\sin{c}) \cdot e^{\theta} \cdot \ln{e}&&\nonumber
+\end{flalign}
+
+\subsubsection{Derivada do segundo termo de $\phi'(\theta)$}
+\begin{flalign}
+& \frac{da}{d \theta} = \cosh{(\cos{e^{\theta}})} \cdot (-\sin{e^{\theta}}) \cdot e^{\theta}&&\nonumber
+\end{flalign}
+
+
+\subsection{A derivada da função $\phi(\theta)$ em relação à variável $\theta$ é portanto:}
+\begin{flalign}
+& \phi'(\theta) = (\sinh{(\sin{e^{\theta}})} \cdot \cos{e^{\theta}} \cdot e^{\theta}) - (\cosh{(\cos{e^{\theta}})} \cdot (-\sin{e^{\theta}}) \cdot e^{\theta})&&\nonumber \\
+& \phi'(\theta) = (\sinh{(\sin{e^{\theta}})} \cdot \cos{e^{\theta}} \cdot e^{\theta}) + (\cosh{(\cos{e^{\theta}})} \cdot \sin{e^{\theta}} \cdot e^{\theta})&&\nonumber
+\end{flalign}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\newpage
+\section{Questão:}
+\begin{flalign}
+& y = x^{72} + \cos{x} + e^x&&\nonumber \\
+& \frac{d^{72}y}{d x^{72}} && \nonumber
+\end{flalign}
+
+\subsection{Derivada de Ordem Superior}
+\subsubsection{Derivada da soma}
+A derivada da soma é a soma das derivadas
+\begin{flalign}
+& \highlight{f(x) = f_1(x) + f_2(x) + \dots + f_n(x)} && \nonumber \\
+& \highlight{f'(x) = f_1'(x) + f_2'(x) + \dots + f_n'(x)} && \nonumber \\ \nonumber \\
+& y = x^{72} + \cos{x} + e^x&&\nonumber \\
+& \frac{d^{72}y}{d x^{72}} = \frac{d^{72}(x^{72})}{dx^{72}} + \frac{d^{72}(\cos{x})}{dx^{72}} + \frac{d^{72}(e^x)}{dx^{72}} && \nonumber
+\end{flalign}
+
+
+\subsection{Padrões de Comportamento}
+Para analisarmos esta derivada de 72° Ordem Superior iremos analisar se esta tem padrões de repetições na derivação de seus termos membros.
+\subsubsection{Comportamento da derivada da variável como base de potência}
+Vamos observar o padrão de comportamento em derivadas de bases em uma potência
+\begin{flalign}
+& \highlight{f(x) = x^a, a \in \mathbb{R} }&&\nonumber \\
+& \highlight{f'(x) = a \cdot x^{a-1}} &&\nonumber \\
+& f''(x) = a \cdot (a-1) \cdot x^{a-2} &&\nonumber \\
+& f'''(x) = a \cdot (a-1) \cdot (a-2) \cdot x^{a-3} &&\nonumber \\
+& f^{(4)}(x) = a \cdot (a-1) \cdot (a-2) \cdot (a-3) \cdot x^{a-4} &&\nonumber \\
+& \dots&&\nonumber \\
+& f^{(n)}(x) = \frac{a!}{(a - n)!}\cdot x^{a-n}&&\nonumber \\ \nonumber \\
+& \text{isto se } n \leq a \text{ e } a \in \mathbb{R}&&\nonumber
+\end{flalign}
+Logo podemos concluir que:
+
+\begin{flalign}
+& \frac{d^{72}(x^{72})}{dx^{72}} = \frac{72!}{(72 - 72)!} \cdot x^{72 - 72}&&\nonumber \\
+& \frac{d^{72}(x^{72})}{dx^{72}} = \frac{72!}{0!} \cdot x^0&&\nonumber \\
+& \frac{d^{72}(x^{72})}{dx^{72}} = \frac{72!}{1} \cdot 1&&\nonumber \\
+& \frac{d^{72}(x^{72})}{dx^{72}} = 72!&&\nonumber
+\end{flalign}
+
+\subsubsection{Comportamento recursivo na derivada trigonométrica seno ou cosseno}
+\begin{flalign}
+& \highlight{(\sin{(x)})' = \cos{(x)}} && \nonumber \\
+& \highlight{(\cos{(x)})' = -\sin{(x)}} && \nonumber \\
+& f(x) = \sin{(x)} && \nonumber \\
+& f'(x) = \cos{(x)} && \nonumber \\
+& f''(x) = -\sin{(x)} && \nonumber \\
+& f'''(x) = -\cos{(x)} && \nonumber \\
+& f^{(4)}(x) = \sin{(x)} \to \text{ início do loop novamente} && \nonumber \\
+& \dots && \nonumber
+\end{flalign}
+Percebemos aqui que temos um laço repetitivo de casos de derivada, a única condição para saber qual valor que a derivada de ordem superior n receberá é justamente o seu resto pela divisão do total de casos possíveis (4 casos possíveis).
+
+\begin{flalign}
+& \text{resto } 0 \to f(x) = \sin{(x)} && \nonumber \\
+& \text{resto } 1 \to f'(x) = \cos{(x)} && \nonumber \\
+& \text{resto } 2 \to f''(x) = -\sin{(x)} && \nonumber \\
+& \text{resto } 3 \to f'''(x) = -\cos{(x)} && \nonumber \\
+& \text{resto } 4 \to f^{(4)}(x) = \sin{(x)} \to \text{ início do loop novamente} && \nonumber \\
+& \dots && \nonumber
+\end{flalign}
+Este mapeamento de cada resto de divisão com cada valor respectivo depende unicamente do valor da função original, as outras serão alinhadas a partir desta, mas sempre seguindo esta ordem de loop.
+Logo podemos concluir que como a função original é cosx este será o primeiro item do loop:
+
+\begin{flalign}
+& \text{resto } 0 \to f(x) = \cos{(x)} && \nonumber \\
+& \text{resto } 1 \to f'(x) = -\sin{(x)} && \nonumber \\
+& \text{resto } 2 \to f''(x) = -\cos{(x)} && \nonumber \\
+& \text{resto } 3 \to f'''(x) = \sin{(x)} && \nonumber \\
+& \text{resto } 4 \to f^{(4)}(x) = \cos{(x)} \to \text{ início do loop novamente} && \nonumber
+\end{flalign}
+A Ordem Superior de número 72 nos indica uma ordem de número que é divisível por 4, logo seu resto é 0 tendo então seu valor referente ao que inicia o loop novamente, ou seja, ele mesmo.
+
+\begin{flalign}
+& \frac{d^{72}(\cos{x})}{dx^{72}} = \cos{x}&&\nonumber
+\end{flalign}
+
+
+\subsubsection{Comportamento de Idempotência}
+\begin{flalign}
+& \highlight{f(x) = a^x} && \nonumber \\
+& \highlight{f'(x) = a^x \cdot \ln{a}} && \nonumber \\ \nonumber \\
+& (e^x)' = (e^x) \cdot \ln{e}&&\nonumber \\
+& (e^x)' = (e^x)&&\nonumber
+\end{flalign}
+O comportamento analisado neste caso é o da idempotência de $e^x$ onde a derivada de Ordem Superior n sempre irá resultar nele mesmo. Então:
+
+\begin{flalign}
+& \frac{d^{72}(e^x)}{dx^{72}} = (e^x)&&\nonumber
+\end{flalign}
+
+\subsection{A derivada de 72° ordem da função y em relação à variável x é portanto:}
+\begin{flalign}
+& \frac{d^{72}y}{d x^{72}} = \frac{d^{72}(x^{72})}{dx^{72}} + \frac{d^{72}(\cos{x})}{dx^{72}} + \frac{d^{72}(e^x)}{dx^{72}} && \nonumber \\
+& \frac{d^{72}(x^{72})}{dx^{72}} = 72!&&\nonumber \\
+& \frac{d^{72}(\cos{x})}{dx^{72}} = \cos{x}&&\nonumber \\
+& \frac{d^{72}(e^x)}{dx^{72}} = (e^x)&&\nonumber \\
+& \frac{d^{72}y}{d x^{72}} = 72! + \cos{x} + e^x && \nonumber
+\end{flalign}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\newpage
+\section{Questão:}
+\begin{flalign}
+& y - x^2 y^2 - \cos{x y} = 4&&\nonumber \\
+& \frac{d y}{d x}, \frac{d x}{d y} && \nonumber
+\end{flalign}
+
+\subsection{Derivadas Implícitas em relação à variável x}
+Pela função não dispor as variáveis de forma
+a permitir o isolamento claro destas podemos tratá-la
+como implícita, calculando então a derivada de seus membros
+da igualdade individualmente.
+
+\begin{flalign}
+& y - x^2 y^2 - \cos{x y} = 4&&\nonumber \\
+& \frac{d (y - x^2 y^2 - \cos{x y})}{d x} = \frac{d(4)}{d x} && \nonumber
+\end{flalign}
+
+\subsection{Derivada da diferença}
+A derivada da diferença é a diferença das derivadas
+\begin{flalign}
+& \highlight{f(x) = f_1(x) - f_2(x) - \dots - f_n(x)} && \nonumber \\
+& \highlight{f'(x) = f_1'(x) - f_2'(x) - \dots - f_n'(x)} && \nonumber \\ \nonumber \\
+& \frac{dy}{dx} - \frac{d(x^2 y^2)}{dx} - \frac{d(\cos{x y})}{d x} = \frac{d(4)}{d x} && \nonumber
+\end{flalign}
+
+\subsection{Derivada da constante}
+\begin{flalign}
+& \highlight{f(x) = c} && \nonumber \\
+& \highlight{f'(x) = 0} && \nonumber \\ \nonumber \\
+& \frac{dy}{dx} - \frac{d(x^2 y^2)}{dx} - \frac{d(\cos{x y})}{d x} = 0 && \nonumber
+\end{flalign}
+
+
+\subsection{Derivada do produto}
+\begin{flalign}
+& \highlight{f(x) = f_1(x) \cdot f_2(x)} && \nonumber \\
+& \highlight{f'(x) = f_1'(x) \cdot f_2(x) + f_1(x) \cdot f_2'(x)} && \nonumber \\ \nonumber \\
+& \frac{dy}{dx} - \left(\left(\frac{d(x^2)}{dx} \cdot y^2 \right) + \left(x^2 \cdot\frac{d(y^2)}{dx}\right) \right) - \frac{d(\cos{x y})}{d x} = 0 && \nonumber
+\end{flalign}
+
+\subsection{Derivada da base da potência}
+\begin{flalign}
+& \highlight{f(x) = x^a, a \in \mathbb{R} } && \nonumber \\
+& \highlight{f'(x) = a \cdot x^{a-1}} && \nonumber \\ \nonumber \\
+& \frac{dy}{dx} - \left(\left(2x \cdot y^2 \right) + \left(x^2 \cdot\frac{d(y^2)}{dx}\right) \right) - \frac{d(\cos{x y})}{d x} = 0 && \nonumber
+\end{flalign}
+
+\subsection{Regra da Cadeia}
+De acordo com a regra da cadeia, a derivada de uma função que é composta de outras funções resulta no produto da derivada de cada uma de suas funções membros.
+Como y é uma função, além de realizar a derivação da base da potência também iremos multiplicar pela sua derivada com relação à variável x.
+
+\begin{flalign}
+& \highlight{ y = u(x)} && \nonumber \\
+& \highlight{\frac{d y}{d x} = \frac{d y}{d u} \cdot \frac{d u}{d x}} && \nonumber \\ \nonumber \\
+& \frac{d(y^2)}{dx} = 2y \cdot \frac{dy}{dx}&&\nonumber \\
+& \frac{dy}{dx} - \left(\left(2x \cdot y^2 \right) + \left(x^2 \cdot 2y \cdot \frac{dy}{dx}\right) \right) - \frac{d(\cos{x y})}{d x} = 0 && \nonumber \\
+& \frac{dy}{dx} - \left(\left(2xy^2 \right) + \left(2x^{2}y \cdot \frac{dy}{dx}\right) \right) - \frac{d(\cos{x y})}{d x} = 0 && \nonumber \\
+& \frac{dy}{dx} -2xy^2 -2x^{2}y\frac{dy}{dx} - \frac{d(\cos{x y})}{d x} = 0 && \nonumber
+\end{flalign}
+
+\subsection{Regra da Cadeia}
+De acordo com a regra da cadeia, a derivada de uma função que é composta de outras funções resulta no produto da derivada de cada uma de suas funções membros.
+
+\begin{flalign}
+& \highlight{ y = u(x)} && \nonumber \\
+& \highlight{\frac{d y}{d x} = \frac{d y}{d u} \cdot \frac{d u}{d x}} && \nonumber \\ \nonumber \\
+& a(x) = \cos{b(x)}&&\nonumber \\
+& b(x) = x \cdot y(x)&&\nonumber \\
+& \frac{da}{dx} = \frac{da}{db} \cdot \frac{db}{dx} &&\nonumber \\
+& \frac{d(\cos{xy})}{dx} = \frac{d(cosb)}{db} \cdot \frac{d(xy)}{dx}&&\nonumber \\
+& \frac{d(\cos{xy})}{dx} = -\sin{b} \cdot \frac{d(xy)}{dx}&&\nonumber \\
+& \frac{d(\cos{xy})}{dx} = -\sin{xy} \cdot \frac{d(xy)}{dx}&&\nonumber \\ \nonumber \\
+& \text{Aplicando na função completa: }&&\nonumber \\
+& \frac{dy}{dx} -2xy^2 -2x^{2}y\frac{dy}{dx} - \left(-\sin{xy} \cdot \frac{d(xy)}{dx} \right) = 0 && \nonumber
+\end{flalign}
+
+\subsection{Derivada do produto}
+\begin{flalign}
+& \highlight{f(x) = f_1(x) \cdot f_2(x)} && \nonumber \\
+& \highlight{f'(x) = f_1'(x) \cdot f_2(x) + f_1(x) \cdot f_2'(x)} && \nonumber \\ \nonumber \\
+& \frac{dy}{dx} -2xy^2 -2x^{2}y\frac{dy}{dx} - \left(-\sin{xy} \cdot \left(\frac{dx}{dx} \cdot y + x \cdot \frac{dy}{dx}\right) \right) = 0 && \nonumber
+\end{flalign}
+
+\subsection{Derivada da função identidade}
+\begin{flalign}
+& \highlight{f(x) = x} && \nonumber \\
+& \highlight{f'(x) = 1} && \nonumber \\ \nonumber \\
+& \frac{dy}{dx} -2xy^2 -2x^{2}y\frac{dy}{dx} - \left(-\sin{xy} \cdot \left(1 \cdot y + x \cdot \frac{dy}{dx}\right) \right) = 0 && \nonumber \\
+& \frac{dy}{dx} -2xy^2 -2x^{2}y\frac{dy}{dx} - \left(-\sin{xy} \cdot \left(y + x \cdot \frac{dy}{dx}\right) \right) = 0 && \nonumber \\
+& \frac{dy}{dx} -2xy^2 -2x^{2}y\frac{dy}{dx} - \left(-y\sin{xy} -x\sin{xy}\frac{dy}{dx} \right) = 0 && \nonumber \\
+& \frac{dy}{dx} -2xy^2 -2x^{2}y\frac{dy}{dx} + y\sin{xy} + x\sin{xy}\frac{dy}{dx} = 0 && \nonumber
+\end{flalign}
+
+\subsection{A derivada implícita da função y em relação à variável x é portanto:}
+\begin{flalign}
+& \frac{dy}{dx} \left(1 -2x^{2}y + x\sin{xy}\right) -2xy^2 + y\sin{xy} = 0 && \nonumber \\
+& \frac{dy}{dx} \left(1 -2x^{2}y + x\sin{xy}\right) = 2xy^2 - y\sin{xy} && \nonumber \\
+& \frac{dy}{dx} = \frac{2xy^2 - y\sin{xy}}{1 -2x^{2}y + x\sin{xy}} && \nonumber
+\end{flalign}
+
+\subsection{Derivada da inversa é a inversa da derivada}
+\begin{flalign}
+& \highlight{(f(x)^{-1})' = \frac{1}{f'(x)}} && \nonumber \\ \nonumber \\
+& \frac{dx}{dy} = - \frac{1 -2x^{2}y + x\sin{xy}}{2xy^2 - y\sin{xy}} && \nonumber \\
+& \frac{dx}{dy} = \frac{2x^{2}y - x\sin{xy} -1}{2xy^2 - y\sin{xy}} && \nonumber
+\end{flalign}
+
+
+
+
+
+
+
+
+
+
+
+
+\newpage
+\section{Questão:}
+Encontre uma equação da reta tangente e uma da
+reta normal à curva $ y = \sqrt{x} + \frac{1}{x^2}$ no ponto de abscissa $x = 1$.
+
+\subsection{Descobrindo o Ponto}
+Para descobrirmos a reta que tangencia nossa função
+y iremos primeiramente analisar o ponto pertencente a imagem
+da função na qual também pertencerá a reta tangente.
+A abscissa analisada é 1, logo podemos descobrir sua ordenada
+aplicarmos a função ao x.
+
+\begin{flalign}
+& f(x) = \sqrt{x} + \frac{1}{x^2}&&\nonumber \\
+& f(1) = \sqrt{1} + \frac{1}{1^2}&&\nonumber \\
+& f(1) = 2&&\nonumber
+\end{flalign}
+
+As coordenadas do nosso ponto P são P(1, 2).
+
+
+\subsection{Análise da Reta secante e tangente}
+Visto que uma reta secante seria aquela que intercepta
+dois pontos da função e podemos calcular seu coeficiente angular
+através da razão entre a variação das ordenadas dos pontos sobre
+a variação das abscissas, podemos utilizar isso
+para descobrir o coeficiente angular da tangente, pois uma reta tangente nada mais é do que uma secante onde os dois pontos pertencentes estão no mesmo lugar e são o mesmo ponto, ou seja, sua variação de x tende a zero.
+
+
+\subsection{Coeficiente angular da reta secante e tangente}
+\begin{flalign}
+& m_{secante} = \frac{\Delta y}{\Delta x}&&\nonumber \\
+& m_{tangente} = \lim_{\Delta x \to 0} \frac{\Delta y}{\Delta x}&&\nonumber \\
+& \Delta y = y_2 - y_1&&\nonumber \\
+& y_1 = f(x_1)&&\nonumber \\
+& y_2 = f(x_2) = f(x_1 + \Delta x)&&\nonumber \\
+& m_{tangente} = \lim_{\Delta x \to 0} \frac{f(x_1 + \Delta x) - f(\Delta x)}{\Delta x}
+& \nonumber
+\end{flalign}
+Sendo assim portanto podemos descobrir o coeficiente angular da reta tangente no Ponto P se aplicarmos a abscissa de P na derivada da função y. Achando a derivada:
+\begin{flalign}
+& f(x) = \sqrt{x} + \frac{1}{x^2}&&\nonumber \\
+& f'(x) = (\sqrt{x})' + \left(\frac{1}{x^2}\right)'&&\nonumber \\
+& f'(x) = (x^{\frac{1}{2}})' + (x^{-2})'&&\nonumber \\
+& f'(x) = \frac{1}{2} \cdot x^{-\frac{1}{2}} - 2x^{-3}&&\nonumber \\
+& f'(x) = \frac{1}{2\sqrt{x}} - \frac{2}{x^3}&&\nonumber
+\end{flalign}
+Aplicando x de P:
+\begin{flalign}
+& m_{tangente} = f'(1)&&\nonumber \\
+& f'(1) = \frac{1}{2\sqrt{1}} - \frac{2}{1^3}&&\nonumber \\
+& f'(1) = \frac{1}{2} - 2&&\nonumber \\
+& f'(1) = - \frac{3}{2}& \nonumber \\
+& f'(1) = - \frac{3}{2}& \nonumber \\
+& m_{tangente} = - \frac{3}{2}& \nonumber
+\end{flalign}
+
+\subsection{Equação da Reta}
+\begin{flalign}
+& \highlight{ (y - y_0) = m \cdot (x - x_0)} && \nonumber
+\end{flalign}
+
+\subsection{Equação da Reta Tangente}
+\begin{flalign}
+& (y - 2) = - \frac{3}{2} \cdot (x - 1) && \nonumber
+\end{flalign}
+
+
+\subsection{Coeficiente Angular da Reta Normal}
+\begin{flalign}
+& m_{normal} = - \frac{1}{m_{reta}} && \nonumber
+\end{flalign}
+
+\subsection{Equação da Reta Normal}
+\begin{flalign}
+& (y - 2) = \frac{2}{3} \cdot (x - 1) && \nonumber
+\end{flalign}
+
+
+\end{document}
diff --git "a/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaIV.pdf" "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaIV.pdf"
new file mode 100644
index 00000000..01a0906e
Binary files /dev/null and "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaIV.pdf" differ
diff --git "a/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaIV.tex" "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaIV.tex"
new file mode 100644
index 00000000..d646dc6b
--- /dev/null
+++ "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/ProvaIV.tex"
@@ -0,0 +1,433 @@
+\documentclass{article}
+\usepackage{geometry}
+\usepackage{amsmath}
+\usepackage{pgfplots}
+\usepackage{graphicx}
+\usepackage[utf8]{inputenc}
+\usepackage[brazil]{babel}
+\usepackage[dvipsnames]{xcolor}
+\newcommand{\highlight}[1]{\colorbox{yellow}{$\displaystyle #1$}}
+
+\title{II Prova - Cálculo I}
+\author{Raquel Maciel Coelho de Sousa}
+\date{25 de Junho 2022}
+
+\geometry{
+a4paper,
+total={170mm,257mm},
+left=20mm,
+top=20mm,
+}
+
+\begin{document}
+\maketitle
+
+
+\section{Questão:}
+Ache as dimensões do maior jardim retangular que pode ser fechado com
+100 m cerca.
+
+\subsection{Desenvolvendo equações do problema}
+\subsubsection{Equações de um retângulo}
+\begin{flalign*}
+& \highlight{Área = altura \cdot largura} & \\
+& \highlight{Perímetro = 2 \cdot altura + 2 \cdot largura} & \\
+\end{flalign*}
+
+
+\subsubsection{Dados da questão}
+A questão nos informa que o nosso único requisito é que o perímetro do retângulo do jardim deva ser igual a 100 e partir disto devemos achar sua maior área possível.
+
+\begin{flalign*}
+& \highlight{Perímetro = 2 \cdot altura + 2 \cdot largura} & \\
+& 100 = 2 \cdot altura + 2 \cdot largura &
+\end{flalign*}
+
+\subsubsection{Isolando variável}
+Portanto temos que uma das dimensões pode variar de 0 a 50 e a outra deve ser seu complemento, como podemos ver no cálculo:
+\begin{flalign*}
+& 2 \cdot altura + 2 \cdot largura = 100 & \\
+& 2 \cdot altura = 100 - 2 \cdot largura & \\
+& altura = \frac{100 - 2 \cdot largura}{2} & \\
+& altura = 50 - largura &
+\end{flalign*}
+
+\subsubsection{Achando função}
+\begin{flalign*}
+& \highlight{Área = altura \cdot largura} & \\
+& Área = (50 - largura) \cdot largura & \\
+& Área = 50 \cdot largura - largura ^ 2 & \\
+& largura \in [0,50] & \\
+\end{flalign*}
+
+\subsection{Achando Pontos Críticos}
+Como queremos um ponto de área máxima iremos utilizar a análise da derivada da função da área para assim, por meio do coeficiente angular dado pela derivada, descobrirmos se naquele ponto existe um máximo ou não. Teremos alguns candidatos para serem a largura da área máxima ( os números críticos ), neste caso como se trata de um intervalo fechado, os extremos são incluídos. \\ \\
+Números críticos= $\{0, 50\}$
+
+ \subsubsection{Derivada da função}
+\begin{flalign*}
+& Área = 50 \cdot largura - largura ^ 2 & \\
+& \frac{\text{d Área}}{\text{d largura}} = 50 - 2 \cdot largura & \\
+\end{flalign*}
+
+\subsubsection{Achando quem zera}
+Agora vamos descobrir quem zeraria esta derivada, significando que o coeficiente angular da reta tangente deste ponto seria 0, estando este paralelo ao eixo x e sendo então um máximo ou mínimo da imagem da função.
+\begin{flalign*}
+& \frac{\text{d Área}}{\text{d largura}} = 50 - 2 \cdot largura & \\
+& \frac{\text{d Área}}{\text{d largura}} = 0 & \\
+& \Rightarrow{50 - 2 \cdot largura = 0} & \\
+& \Rightarrow{2 \cdot largura = 50} & \\
+& \Rightarrow{largura = \frac{50}{2}} & \\
+& \Rightarrow{largura = 25} & \\
+\end{flalign*}
+Números críticos atualizados = $\{0, 25, 50\}$
+
+\subsubsection{Achando quem torna inexistente}
+Podemos descobrir os pontos críticos quando nossa derivada é inexistente em determinada abscissa. Como esta derivada se trata de um polinônio simples, logo ela é definida para todos os pontos, então não haverão números críticos indicados por uma inexistência.
+
+\subsubsection{Testando críticos}
+Números críticos = $\{0, 25, 50\}$
+\begin{flalign*}
+& Área = 50 \cdot largura - largura ^ 2 & \\
+& f(x) = 50 \cdot x - x ^ 2 & \\
+& f(0) = 50 \cdot 0 - 0 ^ 2 \Rightarrow{f(0) = 0} & \\
+& f(25) = 50 \cdot 25 - 25 ^ 2 \Rightarrow{f(25) = 625} \text{ (Máximo)}& \\
+& f(50) = 50 \cdot 50 - 50 ^ 2 \Rightarrow{f(50) = 0}& \\
+\end{flalign*}
+
+\subsubsection{Achando dimensões a partir do máximo absoluto}
+\begin{flalign*}
+& Area(largura) = 50 \cdot largura - largura ^ 2 & \\
+& Area(25) = 625 \Rightarrow{largura = 25} &\\
+& altura = 50 - largura \Rightarrow{altura = 50 - 25} \Rightarrow{altura = 25} & \\
+\end{flalign*}
+
+\subsection{Conclusão}
+Sendo assim o tamanho da maior área que esse jardim de 100 m de perímetro poderia alcançar seria 625 $m^2$, sendo sua altura e largura iguais a 25 metros.
+
+\begin{figure}[h]
+\centering
+\includegraphics[width=5cm]{pics/1questao.jpeg}
+\caption{Gráfico da Função Área}
+\end{figure}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\newpage
+\section{Questão:}
+Suponha que a diminuição na pressão sanguínea de uma pessoa dependa
+de determinada droga que ela deverá tomar. Assim, se x mg da droga forem
+tomados , a queda da pressão será uma função de x. Seja $f(x)$ essa função e
+$f(x) = \frac{1}{2}x^{2}(k - x)$ onde $x$ está em [0, k] , k constante. Calcule o valor de x que causa o maior decréscimo da pressão.
+
+\begin{flalign*}
+& f(x) = \frac{1}{2}x^{2}(k - x) & \\
+& x \in [0, k] &
+\end{flalign*}
+
+\subsection{Derivada da função}
+
+\subsubsection{Derivada do produto com constante}
+\begin{flalign*}
+& f(x) = \frac{1}{2}x^{2}(k - x) & \\
+& f(x) = \frac{1}{2}(kx^2 - x^3) & \\
+& \frac{d f(x)}{d x} = \left(\frac{1}{2}(kx^2 - x^3)\right)' & \\
+& \frac{d f(x)}{d x} = \frac{1}{2} \cdot (kx^2 - x^3)' & \\
+\end{flalign*}
+
+\subsubsection{Derivada da diferença}
+\begin{flalign*}
+& \frac{d f(x)}{d x} = \frac{1}{2} \cdot (kx^2 - x^3)' & \\
+& \frac{d f(x)}{d x} = \frac{1}{2} \cdot ((kx^2)' - (x^3)') & \\
+\end{flalign*}
+
+\subsubsection{Derivada do expoente e da constante}
+\begin{flalign*}
+& \frac{d f(x)}{d x} = \frac{1}{2} \cdot ((kx^2)' - (x^3)') & \\
+& \frac{d f(x)}{d x} = \frac{1}{2} \cdot (2kx - (x^3)') & \\
+& \frac{d f(x)}{d x} = \frac{1}{2} \cdot (2kx - 3x^2) & \\
+\end{flalign*}
+
+\subsubsection{Derivada Final}
+\begin{flalign*}
+& \frac{d f(x)}{d x} = \frac{1}{2} \cdot (2kx - 3x^2) & \\
+& \frac{d f(x)}{d x} = kx - \frac{3x^2}{2} & \\
+\end{flalign*}
+
+\subsection{Pontos Críticos}
+Como queremos um ponto de máximo decréscimo de pressão iremos utilizar a análise da derivada de f(x) para assim, por meio do coeficiente angular dado pela derivada, descobrirmos se naquele ponto existe um máximo ou não. Teremos alguns candidatos para serem a o x ponto de máximo decréscimo ( os números críticos ), neste caso como se trata de um intervalo fechado, os extremos são incluídos. \\ \\
+Números críticos= $\{0, k\}$
+
+\subsubsection{Achando quem zera}
+Agora vamos descobrir quem zeraria esta derivada, significando que o coeficiente angular da reta tangente deste ponto seria 0, estando este paralelo ao eixo x e sendo então um máximo ou mínimo da imagem da função.
+
+\begin{flalign*}
+& \frac{d f(x)}{d x} = kx - \frac{3x^2}{2} & \\
+& \frac{d f(x)}{d x} = 0 & \\
+& \Rightarrow{kx - \frac{3x^2}{2} = 0} & \\
+& \Rightarrow{kx = \frac{3x^2}{2} } & \\
+& \Rightarrow{kx = \frac{3}{2} \cdot x^2 } & \\
+& \Rightarrow{\frac{kx}{x^2} = \frac{3}{2}} & \\
+& \Rightarrow{\frac{k}{x} = \frac{3}{2}} & \\
+& \Rightarrow{k = \frac{3}{2} \cdot x} & \\
+& \Rightarrow{x = \frac{2}{3} \cdot k} & \\
+\end{flalign*}
+Números críticos= $\{0, \frac{2k}{3} , k\}$
+
+
+\subsubsection{Achando quem torna inexistente}
+Podemos descobrir os pontos críticos quando nossa derivada é inexistente em determinada abscissa. Como esta derivada se trata de um polinônio simples, logo ela é definida para todos os pontos, então não haverão números críticos indicados por uma inexistência.
+
+\subsubsection{Testando críticos}
+Números críticos= $\{0, \frac{2k}{3} , k\}$
+\begin{flalign*}
+& f(x) = \frac{1}{2}x^{2}(k - x) & \\ \\
+& f(0) = \frac{1}{2}0^{2}(k - 0) \Rightarrow{f(0) = 0 } & \\ \\
+& f\left(\frac{2k}{3}\right) = \frac{1}{2} \cdot \left(\frac{2k}{3}\right)^{2} \cdot \left(k - \frac{2k}{3}\right) \Rightarrow{f\left(\frac{2k}{3}\right) = \frac{1}{2} \cdot \frac{4k^2}{9} \cdot \frac{k}{3}} \Rightarrow{f\left(\frac{2k}{3}\right) = \frac{4k^3}{54}} \text{ (Máximo)} & \\ \\
+& f(k) = \frac{1}{2}k^{2}(k - k) \Rightarrow{f(k) = \frac{k^{2}}{2} \cdot 0 } \Rightarrow{f(k) = 0} & \\
+\end{flalign*}
+
+\subsection{Conclusão}
+Sendo assim o valor de x para que cause o maior decréscimo de pressão será $\frac{2k}{x}$ mg.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\newpage
+\section{Questão:}
+Analise a função $f(x) = \frac{1}{4}x^4 - 2x^3 + 3x^2 + 2$, destacando os
+pontos críticos ; \\
+os intervalos onde f cresce e onde f decresce ; \\
+intervalos onde a concavidade é positiva e intervalos onde essa concavidade é
+negativa; \\
+pontos de inflexão e assíntotas verticais e horizontais se
+essas existirem.
+
+\begin{flalign*}
+& f(x) = \frac{1}{4}x^4 - 2x^3 + 3x^2 + 2 & \\
+\end{flalign*}
+
+
+\subsection{Análise da derivada - Pontos Críticos}
+
+Como queremos um ponto crítico iremos utilizar a análise da derivada de f(x) para assim, por meio do coeficiente angular dado pela derivada, descobrirmos se naquele ponto existe um ponto crítico ou não.
+
+\subsection{Derivada de primeira ordem}
+\begin{flalign*}
+& \frac{d f(x)}{d x} = \left(\frac{1}{4}x^4 - 2x^3 + 3x^2 + 2\right)' & \\
+\end{flalign*}
+
+\subsubsection{Derivada da soma}
+\begin{flalign*}
+& \frac{d f(x)}{d x} = \left(\frac{1}{4}x^4\right)' - (2x^3)' + (3x^2)' + (2)' & \\
+\end{flalign*}
+
+\subsubsection{Derivada da constante}
+\begin{flalign*}
+& \frac{d f(x)}{d x} = \left(\frac{1}{4}x^4\right)' - (2x^3)' + (3x^2)' + 0 & \\ \\
+& \frac{d f(x)}{d x} = \left(\frac{1}{4}x^4\right)' - (2x^3)' + (3x^2)' & \\
+\end{flalign*}
+
+\subsubsection{Derivada do produto com constante}
+\begin{flalign*}
+& \frac{d f(x)}{d x} = \frac{1}{4} \cdot (x^4)' - 2 \cdot (x^3)' + 3 \cdot (x^2)' & \\
+\end{flalign*}
+
+\subsubsection{Derivada do expoente}
+\begin{flalign*}
+& \frac{d f(x)}{d x} = \frac{1}{4} \cdot (4x^3) - 2 \cdot (3x^2) + 3 \cdot (2x) & \\ \\
+& \frac{d f(x)}{d x} = x^3- 6x^2 + 6x & \\
+\end{flalign*}
+
+\subsection{Números críticos}
+\subsubsection{Achando quem zera}
+Agora vamos descobrir quem zeraria esta derivada, significando que o coeficiente angular da reta tangente deste ponto seria 0, estando este paralelo ao eixo x e sendo então um máximo ou mínimo da imagem da função.
+\begin{flalign*}
+& \frac{d f(x)}{d x} = x^3- 6x^2 + 6x & \\
+& \Rightarrow{\frac{d f(x)}{d x} = 0} & \\
+& \Rightarrow{x^3- 6x^2 + 6x = 0} & \\
+& \Rightarrow{(x) \cdot (x^2 - 6x + 6)= 0} & \\
+\end{flalign*}
+Isto implica que qualquer um dos lados do produto pode ser zerado
+\begin{flalign*}
+&
+\begin{cases}
+& \Rightarrow{x = 0} & \\
+& \text{ Ou }& \\
+& \Rightarrow{x^2 - 6x + 6 = 0 } &
+\end{cases} &
+\end{flalign*}
+\\
+Achando raízes de x para que o segundo membro do produto seja zerado.
+\begin{flalign*}
+& \highlight{x=\frac{-b\pm\sqrt{\Delta}}{2a}} & \\
+& \highlight{\Delta = b^2-4ac} & \\
+& x^2 - 6x + 6 = 0 & \\
+& \Delta = 36-4 \cdot 1 \cdot 6 & \\
+& \Delta = 12 & \\
+& x=\frac{6\pm\sqrt{12}}{2} & \\
+& x=3\pm\sqrt{3} & \\
+\end{flalign*}
+\\
+Números críticos atualizados = $\{0, 3-\sqrt{3}, 3+\sqrt{3}\}$
+
+\subsubsection{Achando quem torna inexistente}
+Podemos descobrir os pontos críticos quando nossa derivada é inexistente em determinada abscissa. Como esta derivada se trata de um polinônio simples, logo ela é definida para todos os pontos, então não haverão números críticos indicados por uma inexistência.
+
+\subsubsection{Testando críticos - Teste da derivada de primeiro grau}
+Números críticos = $\{0, 3-\sqrt{3}, 3+\sqrt{3}\}$
+\begin{flalign*}
+& f(x) = \frac{1}{4}x^4 - 2x^3 + 3x^2 + 2 & \\ \\
+& f(0) = \frac{1}{4}\cdot0^4 - 2\cdot0^3 + 3\cdot0^2 + 2 = 2 & \\
+& f(3-\sqrt{3}) \displaystyle \cong f(1,268) = \frac{1}{4}(1,268)^4 - 2(1,268)^3 + 3(1,268)^2 + 2 \displaystyle \cong 3.39 \text{ (Máximo) } & \\
+& f(3+\sqrt{3}) \displaystyle \cong f(4,732) = \frac{1}{4}(4,732)^4 - 2(4,732)^3 + 3(4,732)^2 + 2 \displaystyle \cong -17.39 \text{ (Mínimo) }& \\
+\end{flalign*}
+
+\subsubsection{Pontos Críticos}
+Com isto é possível concluir que os pontos críticos da função são:
+\begin{flalign*}
+& P(3-\sqrt{3}, 3.39) \text{ (Máximo) } & \\
+& P(3+\sqrt{3}, -17.39) \text{ (Mínimo) }& \\
+\end{flalign*}
+
+
+\subsection{Análise da derivada de segunda ordem - Pontos de Inflexão}
+Com a derivada de primeira ordem nos tornamos capazes de descobrir o coeficiente angular da reta que tangencia f(x) no ponto de abscissa x, f'(x)=0 nos indica que ali é um ponto crítico da função. Se a segunda derivada for positiva em x, ou seja, f''(x) $ > $ 0, então x é ponto de mínimo. Se a segunda derivada for negativa em x, ou seja, f''(x) $ < $ 0, então x é ponto de máximo. \\
+Além de nos indicar se é máximo ou mínimo, a derivada de segunda ordem quando for igual a zero indica um ponto de inflexão, onde a concavidade da parábola muda de sinal.
+
+
+\subsection{Derivada de segunda ordem}
+\begin{flalign*}
+& f(x) = \frac{1}{4}x^4 - 2x^3 + 3x^2 + 2 & \\
+& \frac{d f(x)}{d x} = x^3- 6x^2 + 6x & \\
+& \frac{d^2 f(x)}{d x^2} = (x^3- 6x^2 + 6x)' & \\
+\end{flalign*}
+
+\subsubsection{Derivada da soma e diferença}
+\begin{flalign*}
+& \frac{d^2 f(x)}{d x^2} = (x^3)'- (6x^2)' + (6x)' & \\
+\end{flalign*}
+
+\subsubsection{Derivada do expoente e da constante}
+\begin{flalign*}
+& \frac{d^2 f(x)}{d x^2} = 3x^2- 12x + 6 & \\
+\end{flalign*}
+
+\subsection{Encontrando pontos de inflexão}
+Onde a derivada de segunda ordem se torna zero.
+\begin{flalign*}
+& \frac{d^2 f(x)}{d x^2} = 0 & \\
+& \Rightarrow{3x^2- 12x + 6 = 0} & \\
+\end{flalign*}
+\\
+Achando raízes da equação de segundo grau
+\begin{flalign*}
+& \highlight{x=\frac{-b\pm\sqrt{\Delta}}{2a}} & \\
+& \highlight{\Delta = b^2-4ac} & \\
+& 3x^2- 12x + 6 = 0 & \\
+& \Delta = 144 -4 \cdot 3 \cdot 6 & \\
+& \Delta = 72 & \\
+& x=\frac{12\pm\sqrt{72}}{6} & \\
+& x=2\pm\sqrt{2} & \\
+\end{flalign*}
+
+\subsubsection{Pontos de Inflexão}
+\begin{flalign*}
+& f(2 + \sqrt{2}) \displaystyle \cong f(3,414) = \frac{1}{4}(3,414)^4 - 2(3,414)^3 + 3(3,414)^2 + 2 \displaystyle \cong -8.65 & \\ \\
+& f(2 - \sqrt{2}) \displaystyle \cong f(0,585) = \frac{1}{4}(0,585)^4 - 2(0,585)^3 + 3(0,585)^2 + 2 \displaystyle \cong 2.65 & \\ \\
+& P_{Inflexão 1}(2 + \sqrt{2}, -8.65) & \\
+& P_{Inflexão 2}(2 - \sqrt{2}, 2.65) & \\
+\end{flalign*}
+
+
+
+\subsection{Análise - Crescimento, decrescimento e concavidade da parábola}
+Analisando o sinal da derivada de primeira e de segunda ordem conseguimos visualizar como a imagem da função se desenvolve.
+\\
+A derivada de primeira ordem nos indica o coeficiente angular, quando este é positivo indica que a função está crescendo, e quando é negativa indica que está decrescendo.
+\\
+A derivada de segunda ordem nos indica o sinal da concavidade da parábola no ponto.
+\begin{figure}[h]
+\centering
+\includegraphics[width=10cm]{pics/analise.jpg}
+\caption{Análise da Função}
+\label{figura:analise}
+\end{figure}
+
+
+\begin{figure}[h]
+\centering
+\includegraphics[width=5cm]{pics/3questao.jpeg}
+\caption{Gráfico de f(x)}
+\end{figure}
+
+\subsection{Análise de assíntotas}
+
+\subsubsection{Assíntota horizontal}
+A assíntota horizontal é encontrada quando tendemos o x ao infinito e descobrimos que o limite se torna uma constante.
+\begin{flalign*}
+& \highlight{lim_{x \to \pm \infty} f(x) = c} & \\
+& lim_{x \to \pm \infty} f(x) = \frac{1}{4}x^4 - 2x^3 + 3x^2 + 2 & \\
+\end{flalign*}
+Utilizando da propriedade dos limites polinomiais quando a variável tende ao infinito onde apenas o monômio de maior expoente permanece.
+\begin{flalign*}
+& lim_{x \to \pm \infty} f(x) = \frac{1}{4}x^4 & \\
+& lim_{x \to \pm \infty} f(x) = \pm \infty & \\
+\end{flalign*}
+Quando x tende ao infinito, o limite de f(x) tende há um comportamente e não a uma constante, portanto f(x) não possui assíntota horizontal.
+
+\subsubsection{Assíntota vertical}
+A assíntonta vertical é encontrada quando em determinado x a função tender ao infinito.
+\begin{flalign*}
+& \highlight{lim_{x \to x_0} f(x_0) = \frac{k}{0} = \pm \infty} & \\
+& \highlight{k \in \mathbb{R} \And k \neq 0} & \\
+\end{flalign*}
+Como nossa função f(x) se trata de um polinômio, logo ela é contínua e definida em todos os seus pontos, não possuindo assíntota vertical.
+
+
+
+\end{document}
\ No newline at end of file
diff --git "a/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/pics/1questao.jpeg" "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/pics/1questao.jpeg"
new file mode 100644
index 00000000..2d7284dc
Binary files /dev/null and "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/pics/1questao.jpeg" differ
diff --git "a/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/pics/3questao.jpeg" "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/pics/3questao.jpeg"
new file mode 100644
index 00000000..2c6d3449
Binary files /dev/null and "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/pics/3questao.jpeg" differ
diff --git "a/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/pics/analise.jpg" "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/pics/analise.jpg"
new file mode 100644
index 00000000..9482999c
Binary files /dev/null and "b/S01 - C\303\241lculo I/2022.1 - Roberto Carlos/pics/analise.jpg" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2010.2/Eletronica digital.pdf" "b/S01 - Eletr\303\264nica Digital/2010.2/Eletronica digital.pdf"
new file mode 100644
index 00000000..e0b10028
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2010.2/Eletronica digital.pdf" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2010.2/Exemplo_1_Multiplicador_Binario.pdf" "b/S01 - Eletr\303\264nica Digital/2010.2/Exemplo_1_Multiplicador_Binario.pdf"
new file mode 100644
index 00000000..b6ae564f
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2010.2/Exemplo_1_Multiplicador_Binario.pdf" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2010.2/Exerc\303\255cio_-_Parte_2.pdf" "b/S01 - Eletr\303\264nica Digital/2010.2/Exerc\303\255cio_-_Parte_2.pdf"
new file mode 100644
index 00000000..af884f4d
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2010.2/Exerc\303\255cio_-_Parte_2.pdf" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2010.2/Exerc\303\255cio_Fun\303\247\303\265es_e_Portas_L\303\263gicas.pdf" "b/S01 - Eletr\303\264nica Digital/2010.2/Exerc\303\255cio_Fun\303\247\303\265es_e_Portas_L\303\263gicas.pdf"
new file mode 100644
index 00000000..64dee72f
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2010.2/Exerc\303\255cio_Fun\303\247\303\265es_e_Portas_L\303\263gicas.pdf" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2010.2/Exerc\303\255cio_de_Flip-Flop.pdf" "b/S01 - Eletr\303\264nica Digital/2010.2/Exerc\303\255cio_de_Flip-Flop.pdf"
new file mode 100644
index 00000000..3e03ae64
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2010.2/Exerc\303\255cio_de_Flip-Flop.pdf" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2010.2/Exerc\303\255cios_de_Eletr\303\264nica_Digital_-_2006-1.pdf" "b/S01 - Eletr\303\264nica Digital/2010.2/Exerc\303\255cios_de_Eletr\303\264nica_Digital_-_2006-1.pdf"
new file mode 100644
index 00000000..d9157507
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2010.2/Exerc\303\255cios_de_Eletr\303\264nica_Digital_-_2006-1.pdf" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2010.2/Kit Didatico para Placa FPGA.pdf" "b/S01 - Eletr\303\264nica Digital/2010.2/Kit Didatico para Placa FPGA.pdf"
new file mode 100644
index 00000000..8a800960
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2010.2/Kit Didatico para Placa FPGA.pdf" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2010.2/Projeto_Calculadora.pdf" "b/S01 - Eletr\303\264nica Digital/2010.2/Projeto_Calculadora.pdf"
new file mode 100644
index 00000000..a2948458
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2010.2/Projeto_Calculadora.pdf" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/1 - PR\303\201TICA_DE_ELETR\303\224NICA_DIGITAL_II.doc" "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/1 - PR\303\201TICA_DE_ELETR\303\224NICA_DIGITAL_II.doc"
new file mode 100644
index 00000000..21fc057e
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/1 - PR\303\201TICA_DE_ELETR\303\224NICA_DIGITAL_II.doc" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/10 -Projetos_de_eletr\303\264nica_digital.docx" "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/10 -Projetos_de_eletr\303\264nica_digital.docx"
new file mode 100644
index 00000000..3522fc4e
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/10 -Projetos_de_eletr\303\264nica_digital.docx" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/2 - Projeto_Calculadora.doc" "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/2 - Projeto_Calculadora.doc"
new file mode 100644
index 00000000..924404bd
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/2 - Projeto_Calculadora.doc" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/3 - Exerc\303\255cio_de_M\303\241quina_de_Estados.doc" "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/3 - Exerc\303\255cio_de_M\303\241quina_de_Estados.doc"
new file mode 100644
index 00000000..a3c7c2b1
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/3 - Exerc\303\255cio_de_M\303\241quina_de_Estados.doc" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/4 - Projeto_Decodificador_BIN5BITS_-_7_Segmentos.doc" "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/4 - Projeto_Decodificador_BIN5BITS_-_7_Segmentos.doc"
new file mode 100644
index 00000000..5b65f44a
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/4 - Projeto_Decodificador_BIN5BITS_-_7_Segmentos.doc" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/5 -Exerc\303\255cio_Fun\303\247\303\265es_e_Portas_L\303\263gicas.doc" "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/5 -Exerc\303\255cio_Fun\303\247\303\265es_e_Portas_L\303\263gicas.doc"
new file mode 100644
index 00000000..4326bf5d
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/5 -Exerc\303\255cio_Fun\303\247\303\265es_e_Portas_L\303\263gicas.doc" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/6 - Exerc\303\255cio_de_Eletr\303\264nica_Digital.doc" "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/6 - Exerc\303\255cio_de_Eletr\303\264nica_Digital.doc"
new file mode 100644
index 00000000..a5b68807
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/6 - Exerc\303\255cio_de_Eletr\303\264nica_Digital.doc" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/7 - Exerc\303\255cios_de_Eletr\303\264nica_Digital.doc" "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/7 - Exerc\303\255cios_de_Eletr\303\264nica_Digital.doc"
new file mode 100644
index 00000000..ba98cc2f
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/7 - Exerc\303\255cios_de_Eletr\303\264nica_Digital.doc" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/8 - Exerc\303\255cio_de_Contadores.doc" "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/8 - Exerc\303\255cio_de_Contadores.doc"
new file mode 100644
index 00000000..cf334c34
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/8 - Exerc\303\255cio_de_Contadores.doc" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/9 - Exerc\303\255cio_de_Flip-Flop.doc" "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/9 - Exerc\303\255cio_de_Flip-Flop.doc"
new file mode 100644
index 00000000..8135acc2
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2014.2 - JB/Material de Apoio/9 - Exerc\303\255cio_de_Flip-Flop.doc" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/1. Decodificador BCD-7SEG/1.1 Decodificador BCD-7SEG.pdf" "b/S01 - Eletr\303\264nica Digital/2016.2/1. Decodificador BCD-7SEG/1.1 Decodificador BCD-7SEG.pdf"
new file mode 100644
index 00000000..da2f053a
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/1. Decodificador BCD-7SEG/1.1 Decodificador BCD-7SEG.pdf" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/1. Decodificador BCD-7SEG/1.2. Decodificador BCD_7SEG.DSN" "b/S01 - Eletr\303\264nica Digital/2016.2/1. Decodificador BCD-7SEG/1.2. Decodificador BCD_7SEG.DSN"
new file mode 100644
index 00000000..f3f29c3a
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/1. Decodificador BCD-7SEG/1.2. Decodificador BCD_7SEG.DSN" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/2. Decodificador 5BIT-2 Displays/2.1 Decodificador 5BIT-2 Displays 7.pdf" "b/S01 - Eletr\303\264nica Digital/2016.2/2. Decodificador 5BIT-2 Displays/2.1 Decodificador 5BIT-2 Displays 7.pdf"
new file mode 100644
index 00000000..7bdee4ec
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/2. Decodificador 5BIT-2 Displays/2.1 Decodificador 5BIT-2 Displays 7.pdf" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/2. Decodificador 5BIT-2 Displays/2.2. Decodificador 5BIT-2 Displays 7.DSN" "b/S01 - Eletr\303\264nica Digital/2016.2/2. Decodificador 5BIT-2 Displays/2.2. Decodificador 5BIT-2 Displays 7.DSN"
new file mode 100644
index 00000000..40000c27
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/2. Decodificador 5BIT-2 Displays/2.2. Decodificador 5BIT-2 Displays 7.DSN" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/3. Circuito Aritimetico/3. Circuito Aritimetico Com Mux.DSN" "b/S01 - Eletr\303\264nica Digital/2016.2/3. Circuito Aritimetico/3. Circuito Aritimetico Com Mux.DSN"
new file mode 100644
index 00000000..875e035a
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/3. Circuito Aritimetico/3. Circuito Aritimetico Com Mux.DSN" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/2. Relogio com Ajuste.DSN" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/2. Relogio com Ajuste.DSN"
new file mode 100644
index 00000000..24fe6367
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/2. Relogio com Ajuste.DSN" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/.cmp.kpt" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/.cmp.kpt"
new file mode 100644
index 00000000..753b7738
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/.cmp.kpt" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/prev_cmp_relogio.qmsg" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/prev_cmp_relogio.qmsg"
new file mode 100644
index 00000000..795eb94d
--- /dev/null
+++ "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/prev_cmp_relogio.qmsg"
@@ -0,0 +1,157 @@
+{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1486913711858 ""}
+{ "Info" "IQEXE_START_BANNER_PRODUCT" "Analysis & Synthesis Quartus Prime " "Running Quartus Prime Analysis & Synthesis" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition " "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1486913711861 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sun Feb 12 12:35:11 2017 " "Processing started: Sun Feb 12 12:35:11 2017" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1486913711861 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1486913711861 ""}
+{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_map --read_settings_files=on --write_settings_files=off relogio -c relogio " "Command: quartus_map --read_settings_files=on --write_settings_files=off relogio -c relogio" { } { } 0 0 "Command: %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1486913711862 ""}
+{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Analysis & Synthesis" 0 -1 1486913712140 ""}
+{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Analysis & Synthesis" 0 -1 1486913712141 ""}
+{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "divisor_clock.bdf 1 1 " "Found 1 design units, including 1 entities, in source file divisor_clock.bdf" { { "Info" "ISGN_ENTITY_NAME" "1 divisor_clock " "Found entity 1: divisor_clock" { } { { "divisor_clock.bdf" "" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/divisor_clock.bdf" { } } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1486913721275 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1486913721275 ""}
+{ "Info" "ISGN_NUM_OF_DESIGN_UNITS_AND_ENTITIES" "relogio.bdf 1 1 " "Found 1 design units, including 1 entities, in source file relogio.bdf" { { "Info" "ISGN_ENTITY_NAME" "1 relogio " "Found entity 1: relogio" { } { { "relogio.bdf" "" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { } } } } 0 12023 "Found entity %1!d!: %2!s!" 0 0 "Design Software" 0 -1 1486913721276 ""} } { } 0 12021 "Found %2!llu! design units, including %3!llu! entities, in source file %1!s!" 0 0 "Analysis & Synthesis" 0 -1 1486913721276 ""}
+{ "Info" "ISGN_START_ELABORATION_TOP" "relogio " "Elaborating entity \"relogio\" for the top level hierarchy" { } { } 0 12127 "Elaborating entity \"%1!s!\" for the top level hierarchy" 0 0 "Analysis & Synthesis" 0 -1 1486913721304 ""}
+{ "Warning" "WGDFX_SYMBOLS_OVERLAP_WARNING" "7447 inst18 " "Block or symbol \"7447\" of instance \"inst18\" overlaps another block or symbol" { } { { "relogio.bdf" "" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 520 1024 1144 680 "inst18" "" } } } } } 0 275011 "Block or symbol \"%1!s!\" of instance \"%2!s!\" overlaps another block or symbol" 0 0 "Analysis & Synthesis" 0 -1 1486913721309 ""}
+{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "7447 7447:inst19 " "Elaborating entity \"7447\" for hierarchy \"7447:inst19\"" { } { { "relogio.bdf" "inst19" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 280 992 1112 440 "inst19" "" } } } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1486913721329 ""}
+{ "Info" "ISGN_ELABORATION_HEADER" "7447:inst19 " "Elaborated megafunction instantiation \"7447:inst19\"" { } { { "relogio.bdf" "" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 280 992 1112 440 "inst19" "" } } } } } 0 12130 "Elaborated megafunction instantiation \"%1!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1486913721329 ""}
+{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "74160 74160:inst14 " "Elaborating entity \"74160\" for hierarchy \"74160:inst14\"" { } { { "relogio.bdf" "inst14" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 248 648 768 432 "inst14" "" } } } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1486913721338 ""}
+{ "Info" "ISGN_ELABORATION_HEADER" "74160:inst14 " "Elaborated megafunction instantiation \"74160:inst14\"" { } { { "relogio.bdf" "" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 248 648 768 432 "inst14" "" } } } } } 0 12130 "Elaborated megafunction instantiation \"%1!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1486913721338 ""}
+{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "74153M 74153M:inst21 " "Elaborating entity \"74153M\" for hierarchy \"74153M:inst21\"" { } { { "relogio.bdf" "inst21" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 136 376 480 280 "inst21" "" } } } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1486913721346 ""}
+{ "Info" "ISGN_ELABORATION_HEADER" "74153M:inst21 " "Elaborated megafunction instantiation \"74153M:inst21\"" { } { { "relogio.bdf" "" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 136 376 480 280 "inst21" "" } } } } } 0 12130 "Elaborated megafunction instantiation \"%1!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1486913721346 ""}
+{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "divisor_clock divisor_clock:inst " "Elaborating entity \"divisor_clock\" for hierarchy \"divisor_clock:inst\"" { } { { "relogio.bdf" "inst" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 48 88 272 208 "inst" "" } } } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1486913721347 ""}
+{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "7400 7400:inst17 " "Elaborating entity \"7400\" for hierarchy \"7400:inst17\"" { } { { "relogio.bdf" "inst17" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 712 640 704 752 "inst17" "" } } } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1486913721361 ""}
+{ "Info" "ISGN_ELABORATION_HEADER" "7400:inst17 " "Elaborated megafunction instantiation \"7400:inst17\"" { } { { "relogio.bdf" "" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 712 640 704 752 "inst17" "" } } } } } 0 12130 "Elaborated megafunction instantiation \"%1!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1486913721362 ""}
+{ "Info" "ISGN_START_ELABORATION_HIERARCHY" "7411 7411:inst5 " "Elaborating entity \"7411\" for hierarchy \"7411:inst5\"" { } { { "relogio.bdf" "inst5" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 768 704 768 808 "inst5" "" } } } } } 0 12128 "Elaborating entity \"%1!s!\" for hierarchy \"%2!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1486913721371 ""}
+{ "Info" "ISGN_ELABORATION_HEADER" "7411:inst5 " "Elaborated megafunction instantiation \"7411:inst5\"" { } { { "relogio.bdf" "" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 768 704 768 808 "inst5" "" } } } } } 0 12130 "Elaborated megafunction instantiation \"%1!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1486913721372 ""}
+{ "Warning" "WOPT_OPT_PROTECT_A_CLOCK_MUX" "" "Clock multiplexers are found and protected" { { "Warning" "WOPT_OPT_PROTECT_A_CLOCK_MUX_SUB" "74153m:inst21\|9~0 " "Found clock multiplexer 74153m:inst21\|9~0" { } { { "74153m.bdf" "" { Schematic "c:/intelfpga_lite/16.1/quartus/libraries/others/maxplus2/74153m.bdf" { { 200 600 664 272 "9" "" } } } } } 0 19017 "Found clock multiplexer %1!s!" 0 0 "Design Software" 0 -1 1486913721635 "|relogio|74153m:inst21|9~0"} } { } 0 19016 "Clock multiplexers are found and protected" 0 0 "Analysis & Synthesis" 0 -1 1486913721635 ""}
+{ "Info" "ISUTIL_TIMING_DRIVEN_SYNTHESIS_RUNNING" "" "Timing-Driven Synthesis is running" { } { } 0 286030 "Timing-Driven Synthesis is running" 0 0 "Analysis & Synthesis" 0 -1 1486913721902 ""}
+{ "Info" "IBPM_HARD_BLOCK_PARTITION_CREATED" "hard_block:auto_generated_inst " "Generating hard_block partition \"hard_block:auto_generated_inst\"" { { "Info" "IBPM_HARD_BLOCK_PARTITION_NODE" "0 0 0 0 0 " "Adding 0 node(s), including 0 DDIO, 0 PLL, 0 transceiver and 0 LCELL" { } { } 0 16011 "Adding %1!d! node(s), including %2!d! DDIO, %3!d! PLL, %4!d! transceiver and %5!d! LCELL" 0 0 "Design Software" 0 -1 1486913722321 ""} } { } 0 16010 "Generating hard_block partition \"%1!s!\"" 0 0 "Analysis & Synthesis" 0 -1 1486913722321 ""}
+{ "Info" "ICUT_CUT_TM_SUMMARY" "161 " "Implemented 161 device resources after synthesis - the final resource count might be different" { { "Info" "ICUT_CUT_TM_IPINS" "3 " "Implemented 3 input pins" { } { } 0 21058 "Implemented %1!d! input pins" 0 0 "Design Software" 0 -1 1486913722380 ""} { "Info" "ICUT_CUT_TM_OPINS" "42 " "Implemented 42 output pins" { } { } 0 21059 "Implemented %1!d! output pins" 0 0 "Design Software" 0 -1 1486913722380 ""} { "Info" "ICUT_CUT_TM_LCELLS" "116 " "Implemented 116 logic cells" { } { } 0 21061 "Implemented %1!d! logic cells" 0 0 "Design Software" 0 -1 1486913722380 ""} } { } 0 21057 "Implemented %1!d! device resources after synthesis - the final resource count might be different" 0 0 "Analysis & Synthesis" 0 -1 1486913722380 ""}
+{ "Info" "IQEXE_ERROR_COUNT" "Analysis & Synthesis 0 s 4 s Quartus Prime " "Quartus Prime Analysis & Synthesis was successful. 0 errors, 4 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "642 " "Peak virtual memory: 642 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1486913722406 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sun Feb 12 12:35:22 2017 " "Processing ended: Sun Feb 12 12:35:22 2017" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1486913722406 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:11 " "Elapsed time: 00:00:11" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1486913722406 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:24 " "Total CPU time (on all processors): 00:00:24" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1486913722406 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Analysis & Synthesis" 0 -1 1486913722406 ""}
+{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Analysis & Synthesis" 0 -1 1486913723585 ""}
+{ "Info" "IQEXE_START_BANNER_PRODUCT" "Fitter Quartus Prime " "Running Quartus Prime Fitter" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition " "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1486913723588 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sun Feb 12 12:35:23 2017 " "Processing started: Sun Feb 12 12:35:23 2017" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1486913723588 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Fitter" 0 -1 1486913723588 ""}
+{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_fit --read_settings_files=off --write_settings_files=off relogio -c relogio " "Command: quartus_fit --read_settings_files=off --write_settings_files=off relogio -c relogio" { } { } 0 0 "Command: %1!s!" 0 0 "Fitter" 0 -1 1486913723588 ""}
+{ "Info" "0" "" "qfit2_default_script.tcl version: #1" { } { } 0 0 "qfit2_default_script.tcl version: #1" 0 0 "Fitter" 0 0 1486913723666 ""}
+{ "Info" "0" "" "Project = relogio" { } { } 0 0 "Project = relogio" 0 0 "Fitter" 0 0 1486913723667 ""}
+{ "Info" "0" "" "Revision = relogio" { } { } 0 0 "Revision = relogio" 0 0 "Fitter" 0 0 1486913723667 ""}
+{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Fitter" 0 -1 1486913723750 ""}
+{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Fitter" 0 -1 1486913723751 ""}
+{ "Info" "IMPP_MPP_USER_DEVICE" "relogio 10M50DAF484C7G " "Selected device 10M50DAF484C7G for design \"relogio\"" { } { } 0 119006 "Selected device %2!s! for design \"%1!s!\"" 0 0 "Fitter" 0 -1 1486913723756 ""}
+{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1486913723793 ""}
+{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1486913723793 ""}
+{ "Info" "IFITCC_FITCC_INFO_AUTO_FIT_COMPILATION_ON" "" "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" { } { } 0 171003 "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" 0 0 "Fitter" 0 -1 1486913723988 ""}
+{ "Warning" "WCPT_FEATURE_DISABLED_POST" "LogicLock " "Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." { } { } 0 292013 "Feature %1!s! is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." 0 0 "Fitter" 0 -1 1486913723992 ""}
+{ "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED" "" "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" { { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M08DAF484I7G " "Device 10M08DAF484I7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913724071 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M16DAF484C7G " "Device 10M16DAF484C7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913724071 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M16DAF484I7G " "Device 10M16DAF484I7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913724071 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M25DAF484C7G " "Device 10M25DAF484C7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913724071 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M25DAF484I7G " "Device 10M25DAF484I7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913724071 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M50DAF484I7G " "Device 10M50DAF484I7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913724071 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M50DAF484I7P " "Device 10M50DAF484I7P is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913724071 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M40DAF484C7G " "Device 10M40DAF484C7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913724071 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M40DAF484I7G " "Device 10M40DAF484I7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913724071 ""} } { } 2 176444 "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" 0 0 "Fitter" 0 -1 1486913724071 ""}
+{ "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION" "8 " "Fitter converted 8 user pins into dedicated programming pins" { { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_TMS~ H2 " "Pin ~ALTERA_TMS~ is reserved at location H2" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_TMS~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 337 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913724073 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_TCK~ G2 " "Pin ~ALTERA_TCK~ is reserved at location G2" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_TCK~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 339 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913724073 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_TDI~ L4 " "Pin ~ALTERA_TDI~ is reserved at location L4" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_TDI~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 341 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913724073 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_TDO~ M5 " "Pin ~ALTERA_TDO~ is reserved at location M5" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_TDO~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 343 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913724073 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_CONFIG_SEL~ H10 " "Pin ~ALTERA_CONFIG_SEL~ is reserved at location H10" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_CONFIG_SEL~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 345 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913724073 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_nCONFIG~ H9 " "Pin ~ALTERA_nCONFIG~ is reserved at location H9" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_nCONFIG~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 347 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913724073 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_nSTATUS~ G9 " "Pin ~ALTERA_nSTATUS~ is reserved at location G9" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_nSTATUS~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 349 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913724073 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_CONF_DONE~ F8 " "Pin ~ALTERA_CONF_DONE~ is reserved at location F8" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_CONF_DONE~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 351 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913724073 ""} } { } 0 169124 "Fitter converted %1!d! user pins into dedicated programming pins" 0 0 "Fitter" 0 -1 1486913724073 ""}
+{ "Info" "IFIOMGR_RESERVE_PIN_NO_DATA0" "" "DATA\[0\] dual-purpose pin not reserved" { } { } 0 169141 "DATA\[0\] dual-purpose pin not reserved" 0 0 "Fitter" 0 -1 1486913724074 ""}
+{ "Info" "IFIOMGR_PIN_NOT_RESERVE" "Data\[1\]/ASDO " "Data\[1\]/ASDO dual-purpose pin not reserved" { } { } 0 12825 "%1!s! dual-purpose pin not reserved" 0 0 "Fitter" 0 -1 1486913724074 ""}
+{ "Info" "IFIOMGR_PIN_NOT_RESERVE" "nCSO " "nCSO dual-purpose pin not reserved" { } { } 0 12825 "%1!s! dual-purpose pin not reserved" 0 0 "Fitter" 0 -1 1486913724074 ""}
+{ "Info" "IFIOMGR_PIN_NOT_RESERVE" "DCLK " "DCLK dual-purpose pin not reserved" { } { } 0 12825 "%1!s! dual-purpose pin not reserved" 0 0 "Fitter" 0 -1 1486913724074 ""}
+{ "Warning" "WCUT_CUT_ATOM_PINS_WITH_INCOMPLETE_IO_ASSIGNMENTS" "" "Some pins have incomplete I/O assignments. Refer to the I/O Assignment Warnings report for details" { } { } 0 15714 "Some pins have incomplete I/O assignments. Refer to the I/O Assignment Warnings report for details" 0 0 "Fitter" 0 -1 1486913724074 ""}
+{ "Critical Warning" "WSTA_SDC_NOT_FOUND" "relogio.sdc " "Synopsys Design Constraints File file not found: 'relogio.sdc'. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." { } { } 1 332012 "Synopsys Design Constraints File file not found: '%1!s!'. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." 0 0 "Fitter" 0 -1 1486913724782 ""}
+{ "Info" "ISTA_NO_CLOCK_FOUND_NO_DERIVING_MSG" "base clocks " "No user constrained base clocks found in the design" { } { } 0 332144 "No user constrained %1!s! found in the design" 0 0 "Fitter" 0 -1 1486913724782 ""}
+{ "Info" "ISTA_UNKNOWN_UNATE_EDGE_ASSUMED_POS" "" "The following timing edges are non-unate. TimeQuest will assume pos-unate behavior for these edges in the clock network." { { "Info" "ISTA_CLOCK_MGR_INFO" "Cell: inst21\|9 from: datac to: combout " "Cell: inst21\|9 from: datac to: combout" { } { } 0 332098 "%1!s!" 0 0 "Design Software" 0 -1 1486913724784 ""} { "Info" "ISTA_CLOCK_MGR_INFO" "Cell: inst21\|9~1 from: datac to: combout " "Cell: inst21\|9~1 from: datac to: combout" { } { } 0 332098 "%1!s!" 0 0 "Design Software" 0 -1 1486913724784 ""} } { } 0 332097 "The following timing edges are non-unate. TimeQuest will assume pos-unate behavior for these edges in the clock network." 0 0 "Fitter" 0 -1 1486913724784 ""}
+{ "Info" "ISTA_NO_CLOCK_UNCERTAINTY_FOUND_DERIVING" "\"derive_clock_uncertainty\" " "No user constrained clock uncertainty found in the design. Calling \"derive_clock_uncertainty\"" { } { } 0 332143 "No user constrained clock uncertainty found in the design. Calling %1!s!" 0 0 "Fitter" 0 -1 1486913724785 ""}
+{ "Info" "ISTA_NO_UNCERTAINTY_FOUND" "" "The derive_clock_uncertainty command did not apply clock uncertainty to any clock-to-clock transfers." { } { } 0 332154 "The derive_clock_uncertainty command did not apply clock uncertainty to any clock-to-clock transfers." 0 0 "Fitter" 0 -1 1486913724785 ""}
+{ "Info" "ISTA_TDC_NO_DEFAULT_OPTIMIZATION_GOALS" "" "Timing requirements not specified -- quality metrics such as performance may be sacrificed to reduce compilation time." { } { } 0 332130 "Timing requirements not specified -- quality metrics such as performance may be sacrificed to reduce compilation time." 0 0 "Fitter" 0 -1 1486913724785 ""}
+{ "Info" "IFSAC_FSAC_ASSIGN_AUTO_GLOBAL_TO_SIGNAL" "CK~input (placed in PIN N5 (CLK0p, DIFFIO_RX_L28p, DIFFOUT_L28p, High_Speed)) " "Automatically promoted node CK~input (placed in PIN N5 (CLK0p, DIFFIO_RX_L28p, DIFFOUT_L28p, High_Speed))" { { "Info" "IFSAC_FSAC_ASSIGN_AUTO_GLOBAL_TO_SIGNAL_FANOUTS" "destinations Global Clock CLKCTRL_G4 " "Automatically promoted destinations to use location or clock signal Global Clock CLKCTRL_G4" { } { } 0 176355 "Automatically promoted %1!s! to use location or clock signal %2!s!" 0 0 "Design Software" 0 -1 1486913724802 ""} { "Info" "IFSAC_FSAC_GLOBAL_UNASSIGNED_FANOUTS" "" "Following destination nodes may be non-global or may not use global or regional clocks" { { "Info" "IFSAC_FSAC_GLOBAL_UNASSIGNED_FANOUTS_SUB" "divisor_clock:inst\|74160:inst3\|9 " "Destination node divisor_clock:inst\|74160:inst3\|9" { } { { "74160.bdf" "" { Schematic "c:/intelfpga_lite/16.1/quartus/libraries/others/maxplus2/74160.bdf" { { 784 1032 1096 864 "9" "" } } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 186 14176 15139 0 0 "" 0 "" "" } } } } } 0 176357 "Destination node %1!s!" 0 0 "Design Software" 0 -1 1486913724802 ""} { "Info" "IFSAC_FSAC_GLOBAL_UNASSIGNED_FANOUTS_SUB" "divisor_clock:inst\|74160:inst6\|9 " "Destination node divisor_clock:inst\|74160:inst6\|9" { } { { "74160.bdf" "" { Schematic "c:/intelfpga_lite/16.1/quartus/libraries/others/maxplus2/74160.bdf" { { 784 1032 1096 864 "9" "" } } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 168 14176 15139 0 0 "" 0 "" "" } } } } } 0 176357 "Destination node %1!s!" 0 0 "Design Software" 0 -1 1486913724802 ""} { "Info" "IFSAC_FSAC_GLOBAL_UNASSIGNED_FANOUTS_SUB" "divisor_clock:inst\|74160:inst7\|9 " "Destination node divisor_clock:inst\|74160:inst7\|9" { } { { "74160.bdf" "" { Schematic "c:/intelfpga_lite/16.1/quartus/libraries/others/maxplus2/74160.bdf" { { 784 1032 1096 864 "9" "" } } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 162 14176 15139 0 0 "" 0 "" "" } } } } } 0 176357 "Destination node %1!s!" 0 0 "Design Software" 0 -1 1486913724802 ""} { "Info" "IFSAC_FSAC_GLOBAL_UNASSIGNED_FANOUTS_SUB" "divisor_clock:inst\|74160:inst8\|9 " "Destination node divisor_clock:inst\|74160:inst8\|9" { } { { "74160.bdf" "" { Schematic "c:/intelfpga_lite/16.1/quartus/libraries/others/maxplus2/74160.bdf" { { 784 1032 1096 864 "9" "" } } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 155 14176 15139 0 0 "" 0 "" "" } } } } } 0 176357 "Destination node %1!s!" 0 0 "Design Software" 0 -1 1486913724802 ""} } { } 0 176356 "Following destination nodes may be non-global or may not use global or regional clocks" 0 0 "Design Software" 0 -1 1486913724802 ""} } { { "relogio.bdf" "" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 72 -80 88 88 "CK" "" } } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 331 14176 15139 0 0 "" 0 "" "" } } } } } 0 176353 "Automatically promoted node %1!s! %2!s!" 0 0 "Fitter" 0 -1 1486913724802 ""}
+{ "Info" "IFSAC_FSAC_ASSIGN_AUTO_GLOBAL_TO_SIGNAL" "74153m:inst21\|9 " "Automatically promoted node 74153m:inst21\|9 " { { "Info" "IFSAC_FSAC_ASSIGN_AUTO_GLOBAL_TO_SIGNAL_FANOUTS" "destinations Global Clock " "Automatically promoted destinations to use location or clock signal Global Clock" { } { } 0 176355 "Automatically promoted %1!s! to use location or clock signal %2!s!" 0 0 "Design Software" 0 -1 1486913724803 ""} } { { "74153m.bdf" "" { Schematic "c:/intelfpga_lite/16.1/quartus/libraries/others/maxplus2/74153m.bdf" { { 200 600 664 272 "9" "" } } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 75 14176 15139 0 0 "" 0 "" "" } } } } } 0 176353 "Automatically promoted node %1!s! %2!s!" 0 0 "Fitter" 0 -1 1486913724803 ""}
+{ "Info" "IFSAC_FSAC_REGISTER_PACKING_START_REGPACKING_INFO" "" "Starting register packing" { } { } 0 176233 "Starting register packing" 0 0 "Fitter" 0 -1 1486913725189 ""}
+{ "Extra Info" "IFSAC_FSAC_START_REG_LOCATION_PROCESSING" "" "Performing register packing on registers with non-logic cell location assignments" { } { } 1 176273 "Performing register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1486913725189 ""}
+{ "Extra Info" "IFSAC_FSAC_FINISH_REG_LOCATION_PROCESSING" "" "Completed register packing on registers with non-logic cell location assignments" { } { } 1 176274 "Completed register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1486913725189 ""}
+{ "Extra Info" "IFSAC_FSAC_REGISTER_PACKING_BEGIN_FAST_REGISTER_INFO" "" "Started Fast Input/Output/OE register processing" { } { } 1 176236 "Started Fast Input/Output/OE register processing" 1 0 "Fitter" 0 -1 1486913725190 ""}
+{ "Extra Info" "IFSAC_FSAC_REGISTER_PACKING_FINISH_FAST_REGISTER_INFO" "" "Finished Fast Input/Output/OE register processing" { } { } 1 176237 "Finished Fast Input/Output/OE register processing" 1 0 "Fitter" 0 -1 1486913725191 ""}
+{ "Extra Info" "IFSAC_FSAC_START_MAC_SCAN_CHAIN_INFERENCING" "" "Start inferring scan chains for DSP blocks" { } { } 1 176238 "Start inferring scan chains for DSP blocks" 1 0 "Fitter" 0 -1 1486913725191 ""}
+{ "Extra Info" "IFSAC_FSAC_FINISH_MAC_SCAN_CHAIN_INFERENCING" "" "Inferring scan chains for DSP blocks is complete" { } { } 1 176239 "Inferring scan chains for DSP blocks is complete" 1 0 "Fitter" 0 -1 1486913725191 ""}
+{ "Extra Info" "IFSAC_FSAC_START_IO_MULT_RAM_PACKING" "" "Moving registers into I/O cells, Multiplier Blocks, and RAM blocks to improve timing and density" { } { } 1 176248 "Moving registers into I/O cells, Multiplier Blocks, and RAM blocks to improve timing and density" 1 0 "Fitter" 0 -1 1486913725192 ""}
+{ "Extra Info" "IFSAC_FSAC_FINISH_IO_MULT_RAM_PACKING" "" "Finished moving registers into I/O cells, Multiplier Blocks, and RAM blocks" { } { } 1 176249 "Finished moving registers into I/O cells, Multiplier Blocks, and RAM blocks" 1 0 "Fitter" 0 -1 1486913725192 ""}
+{ "Info" "IFSAC_FSAC_REGISTER_PACKING_FINISH_REGPACKING_INFO" "" "Finished register packing" { { "Extra Info" "IFSAC_NO_REGISTERS_WERE_PACKED" "" "No registers were packed into other blocks" { } { } 1 176219 "No registers were packed into other blocks" 0 0 "Design Software" 0 -1 1486913725192 ""} } { } 0 176235 "Finished register packing" 0 0 "Fitter" 0 -1 1486913725192 ""}
+{ "Info" "IFITCC_FITTER_PREPARATION_END" "00:00:01 " "Fitter preparation operations ending: elapsed time is 00:00:01" { } { } 0 171121 "Fitter preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1486913725273 ""}
+{ "Info" "IVPR20K_VPR_FAMILY_APL_ERROR" "" "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." { } { } 0 14896 "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." 0 0 "Fitter" 0 -1 1486913725277 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_START" "" "Fitter placement preparation operations beginning" { } { } 0 170189 "Fitter placement preparation operations beginning" 0 0 "Fitter" 0 -1 1486913726544 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_END" "00:00:00 " "Fitter placement preparation operations ending: elapsed time is 00:00:00" { } { } 0 170190 "Fitter placement preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1486913726605 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_START" "" "Fitter placement operations beginning" { } { } 0 170191 "Fitter placement operations beginning" 0 0 "Fitter" 0 -1 1486913726628 ""}
+{ "Info" "IFITAPI_FITAPI_INFO_VPR_PLACEMENT_FINISH" "" "Fitter placement was successful" { } { } 0 170137 "Fitter placement was successful" 0 0 "Fitter" 0 -1 1486913727540 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_END" "00:00:01 " "Fitter placement operations ending: elapsed time is 00:00:01" { } { } 0 170192 "Fitter placement operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1486913727540 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_START" "" "Fitter routing operations beginning" { } { } 0 170193 "Fitter routing operations beginning" 0 0 "Fitter" 0 -1 1486913728059 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_PERCENT_ROUTING_RESOURCE_USAGE" "0 " "Router estimated average interconnect usage is 0% of the available device resources" { { "Info" "IFITAPI_FITAPI_VPR_PEAK_ROUTING_REGION" "0 X67_Y33 X78_Y43 " "Router estimated peak interconnect usage is 0% of the available device resources in the region that extends from location X67_Y33 to location X78_Y43" { } { { "loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 1 { 0 "Router estimated peak interconnect usage is 0% of the available device resources in the region that extends from location X67_Y33 to location X78_Y43"} { { 12 { 0 ""} 67 33 12 11 } } } } } } } 0 170196 "Router estimated peak interconnect usage is %1!d!%% of the available device resources in the region that extends from location %2!s! to location %3!s!" 0 0 "Design Software" 0 -1 1486913729495 ""} } { } 0 170195 "Router estimated average interconnect usage is %1!d!%% of the available device resources" 0 0 "Fitter" 0 -1 1486913729495 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED" "" "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." { { "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED_FOR_ROUTABILITY" "" "Optimizations that may affect the design's routability were skipped" { } { } 0 170201 "Optimizations that may affect the design's routability were skipped" 0 0 "Design Software" 0 -1 1486913730027 ""} } { } 0 170199 "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." 0 0 "Fitter" 0 -1 1486913730027 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_END" "00:00:01 " "Fitter routing operations ending: elapsed time is 00:00:01" { } { } 0 170194 "Fitter routing operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1486913730030 ""}
+{ "Info" "IVPR20K_VPR_TIMING_ANALYSIS_TIME" "the Fitter 0.13 " "Total time spent on timing analysis during the Fitter is 0.13 seconds." { } { } 0 11888 "Total time spent on timing analysis during %1!s! is %2!s! seconds." 0 0 "Fitter" 0 -1 1486913730206 ""}
+{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "Fitter" 0 -1 1486913730214 ""}
+{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "Fitter" 0 -1 1486913730520 ""}
+{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "Fitter" 0 -1 1486913730520 ""}
+{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "Fitter" 0 -1 1486913730973 ""}
+{ "Info" "IFITCC_FITTER_POST_OPERATION_END" "00:00:01 " "Fitter post-fit operations ending: elapsed time is 00:00:01" { } { } 0 11218 "Fitter post-fit operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1486913731505 ""}
+{ "Info" "IRDB_WROTE_SUPPRESSED_MSGS" "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/output_files/relogio.fit.smsg " "Generated suppressed messages file C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/output_files/relogio.fit.smsg" { } { } 0 144001 "Generated suppressed messages file %1!s!" 0 0 "Fitter" 0 -1 1486913731853 ""}
+{ "Info" "IQEXE_ERROR_COUNT" "Fitter 0 s 4 s Quartus Prime " "Quartus Prime Fitter was successful. 0 errors, 4 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "1446 " "Peak virtual memory: 1446 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1486913732345 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sun Feb 12 12:35:32 2017 " "Processing ended: Sun Feb 12 12:35:32 2017" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1486913732345 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:09 " "Elapsed time: 00:00:09" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1486913732345 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:12 " "Total CPU time (on all processors): 00:00:12" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1486913732345 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Fitter" 0 -1 1486913732345 ""}
+{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Fitter" 0 -1 1486913733376 ""}
+{ "Info" "IQEXE_START_BANNER_PRODUCT" "Assembler Quartus Prime " "Running Quartus Prime Assembler" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition " "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1486913733379 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sun Feb 12 12:35:33 2017 " "Processing started: Sun Feb 12 12:35:33 2017" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1486913733379 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Assembler" 0 -1 1486913733379 ""}
+{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_asm --read_settings_files=off --write_settings_files=off relogio -c relogio " "Command: quartus_asm --read_settings_files=off --write_settings_files=off relogio -c relogio" { } { } 0 0 "Command: %1!s!" 0 0 "Assembler" 0 -1 1486913733379 ""}
+{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Assembler" 0 -1 1486913733611 ""}
+{ "Info" "IASM_ASM_GENERATING_POWER_DATA" "" "Writing out detailed assembly data for power analysis" { } { } 0 115031 "Writing out detailed assembly data for power analysis" 0 0 "Assembler" 0 -1 1486913735218 ""}
+{ "Info" "IASM_ASM_GENERATING_PROGRAMMING_FILES" "" "Assembler is generating device programming files" { } { } 0 115030 "Assembler is generating device programming files" 0 0 "Assembler" 0 -1 1486913735343 ""}
+{ "Info" "IQEXE_ERROR_COUNT" "Assembler 0 s 1 Quartus Prime " "Quartus Prime Assembler was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "544 " "Peak virtual memory: 544 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1486913736134 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sun Feb 12 12:35:36 2017 " "Processing ended: Sun Feb 12 12:35:36 2017" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1486913736134 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:03 " "Elapsed time: 00:00:03" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1486913736134 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:03 " "Total CPU time (on all processors): 00:00:03" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1486913736134 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Assembler" 0 -1 1486913736134 ""}
+{ "Info" "IFLOW_DISABLED_MODULE" "PowerPlay Power Analyzer FLOW_ENABLE_POWER_ANALYZER " "Skipped module PowerPlay Power Analyzer due to the assignment FLOW_ENABLE_POWER_ANALYZER" { } { } 0 293026 "Skipped module %1!s! due to the assignment %2!s!" 0 0 "Assembler" 0 -1 1486913736773 ""}
+{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Assembler" 0 -1 1486913737297 ""}
+{ "Info" "IQEXE_START_BANNER_PRODUCT" "TimeQuest Timing Analyzer Quartus Prime " "Running Quartus Prime TimeQuest Timing Analyzer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition " "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1486913737300 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sun Feb 12 12:35:37 2017 " "Processing started: Sun Feb 12 12:35:37 2017" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1486913737300 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737300 ""}
+{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_sta relogio -c relogio " "Command: quartus_sta relogio -c relogio" { } { } 0 0 "Command: %1!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737300 ""}
+{ "Info" "0" "" "qsta_default_script.tcl version: #1" { } { } 0 0 "qsta_default_script.tcl version: #1" 0 0 "TimeQuest Timing Analyzer" 0 0 1486913737377 ""}
+{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737504 ""}
+{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737504 ""}
+{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737541 ""}
+{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737541 ""}
+{ "Critical Warning" "WSTA_SDC_NOT_FOUND" "relogio.sdc " "Synopsys Design Constraints File file not found: 'relogio.sdc'. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." { } { } 1 332012 "Synopsys Design Constraints File file not found: '%1!s!'. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737786 ""}
+{ "Info" "ISTA_NO_CLOCK_FOUND_DERIVING" "base clocks \"derive_clocks -period 1.0\" " "No user constrained base clocks found in the design. Calling \"derive_clocks -period 1.0\"" { } { } 0 332142 "No user constrained %1!s! found in the design. Calling %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737787 ""}
+{ "Info" "ISTA_DERIVE_CLOCKS_INFO" "Deriving Clocks " "Deriving Clocks" { { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name B1 B1 " "create_clock -period 1.000 -name B1 B1" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1486913737787 ""} { "Info" "ISTA_DERIVE_CLOCKS_INFO" "create_clock -period 1.000 -name CK CK " "create_clock -period 1.000 -name CK CK" { } { } 0 332105 "%1!s!" 0 0 "Design Software" 0 -1 1486913737787 ""} } { } 0 332105 "%1!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737787 ""}
+{ "Info" "ISTA_UNKNOWN_UNATE_EDGE_ASSUMED_POS" "" "The following timing edges are non-unate. TimeQuest will assume pos-unate behavior for these edges in the clock network." { { "Info" "ISTA_CLOCK_MGR_INFO" "Cell: inst21\|9 from: datab to: combout " "Cell: inst21\|9 from: datab to: combout" { } { } 0 332098 "%1!s!" 0 0 "Design Software" 0 -1 1486913737788 ""} { "Info" "ISTA_CLOCK_MGR_INFO" "Cell: inst21\|9~1 from: datab to: combout " "Cell: inst21\|9~1 from: datab to: combout" { } { } 0 332098 "%1!s!" 0 0 "Design Software" 0 -1 1486913737788 ""} } { } 0 332097 "The following timing edges are non-unate. TimeQuest will assume pos-unate behavior for these edges in the clock network." 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737788 ""}
+{ "Info" "ISTA_NO_CLOCK_UNCERTAINTY_FOUND_DERIVING" "\"derive_clock_uncertainty\" " "No user constrained clock uncertainty found in the design. Calling \"derive_clock_uncertainty\"" { } { } 0 332143 "No user constrained clock uncertainty found in the design. Calling %1!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737789 ""}
+{ "Info" "ISTA_DERIVE_CLOCK_UNCERTAINTY_INFO" "Deriving Clock Uncertainty. Please refer to report_sdc in TimeQuest to see clock uncertainties. " "Deriving Clock Uncertainty. Please refer to report_sdc in TimeQuest to see clock uncertainties." { } { } 0 332123 "%1!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737789 ""}
+{ "Info" "0" "" "Found TIMEQUEST_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" { } { } 0 0 "Found TIMEQUEST_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" 0 0 "TimeQuest Timing Analyzer" 0 0 1486913737789 ""}
+{ "Info" "0" "" "Analyzing Slow 1200mV 85C Model" { } { } 0 0 "Analyzing Slow 1200mV 85C Model" 0 0 "TimeQuest Timing Analyzer" 0 0 1486913737797 ""}
+{ "Info" "0" "" "Can't run Report Timing Closure Recommendations. The current device family is not supported." { } { } 0 0 "Can't run Report Timing Closure Recommendations. The current device family is not supported." 0 0 "TimeQuest Timing Analyzer" 0 0 1486913737801 ""}
+{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { } { } 1 332148 "Timing requirements not met" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737801 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "setup -1.917 " "Worst-case setup slack is -1.917" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737803 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737803 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.917 -34.504 CK " " -1.917 -34.504 CK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737803 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.498 -26.626 B1 " " -1.498 -26.626 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737803 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737803 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "hold 0.339 " "Worst-case hold slack is 0.339" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737806 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737806 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.339 0.000 CK " " 0.339 0.000 CK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737806 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.347 0.000 B1 " " 0.347 0.000 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737806 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737806 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "recovery -0.919 " "Worst-case recovery slack is -0.919" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737808 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737808 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.919 -14.132 B1 " " -0.919 -14.132 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737808 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737808 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "removal 1.234 " "Worst-case removal slack is 1.234" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737810 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737810 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 1.234 0.000 B1 " " 1.234 0.000 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737810 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737810 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width -3.000 " "Worst-case minimum pulse width slack is -3.000" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737815 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737815 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.000 -42.284 CK " " -3.000 -42.284 CK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737815 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.000 -36.672 B1 " " -3.000 -36.672 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913737815 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737815 ""}
+{ "Info" "0" "" "Analyzing Slow 1200mV 0C Model" { } { } 0 0 "Analyzing Slow 1200mV 0C Model" 0 0 "TimeQuest Timing Analyzer" 0 0 1486913737834 ""}
+{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913737858 ""}
+{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738336 ""}
+{ "Info" "ISTA_UNKNOWN_UNATE_EDGE_ASSUMED_POS" "" "The following timing edges are non-unate. TimeQuest will assume pos-unate behavior for these edges in the clock network." { { "Info" "ISTA_CLOCK_MGR_INFO" "Cell: inst21\|9 from: datab to: combout " "Cell: inst21\|9 from: datab to: combout" { } { } 0 332098 "%1!s!" 0 0 "Design Software" 0 -1 1486913738399 ""} { "Info" "ISTA_CLOCK_MGR_INFO" "Cell: inst21\|9~1 from: datab to: combout " "Cell: inst21\|9~1 from: datab to: combout" { } { } 0 332098 "%1!s!" 0 0 "Design Software" 0 -1 1486913738399 ""} } { } 0 332097 "The following timing edges are non-unate. TimeQuest will assume pos-unate behavior for these edges in the clock network." 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738399 ""}
+{ "Info" "ISTA_DERIVE_CLOCK_UNCERTAINTY_INFO" "Deriving Clock Uncertainty. Please refer to report_sdc in TimeQuest to see clock uncertainties. " "Deriving Clock Uncertainty. Please refer to report_sdc in TimeQuest to see clock uncertainties." { } { } 0 332123 "%1!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738399 ""}
+{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { } { } 1 332148 "Timing requirements not met" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738407 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "setup -1.676 " "Worst-case setup slack is -1.676" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738412 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738412 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.676 -28.612 CK " " -1.676 -28.612 CK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738412 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -1.325 -22.089 B1 " " -1.325 -22.089 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738412 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738412 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "hold 0.304 " "Worst-case hold slack is 0.304" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738414 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738414 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.304 0.000 CK " " 0.304 0.000 CK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738414 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.312 0.000 B1 " " 0.312 0.000 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738414 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738414 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "recovery -0.750 " "Worst-case recovery slack is -0.750" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738419 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738419 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.750 -11.504 B1 " " -0.750 -11.504 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738419 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738419 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "removal 1.131 " "Worst-case removal slack is 1.131" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738424 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738424 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 1.131 0.000 B1 " " 1.131 0.000 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738424 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738424 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width -3.000 " "Worst-case minimum pulse width slack is -3.000" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738429 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738429 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.000 -42.284 CK " " -3.000 -42.284 CK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738429 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.000 -36.672 B1 " " -3.000 -36.672 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738429 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738429 ""}
+{ "Info" "0" "" "Analyzing Fast 1200mV 0C Model" { } { } 0 0 "Analyzing Fast 1200mV 0C Model" 0 0 "TimeQuest Timing Analyzer" 0 0 1486913738436 ""}
+{ "Info" "ISTA_UNKNOWN_UNATE_EDGE_ASSUMED_POS" "" "The following timing edges are non-unate. TimeQuest will assume pos-unate behavior for these edges in the clock network." { { "Info" "ISTA_CLOCK_MGR_INFO" "Cell: inst21\|9 from: datab to: combout " "Cell: inst21\|9 from: datab to: combout" { } { } 0 332098 "%1!s!" 0 0 "Design Software" 0 -1 1486913738592 ""} { "Info" "ISTA_CLOCK_MGR_INFO" "Cell: inst21\|9~1 from: datab to: combout " "Cell: inst21\|9~1 from: datab to: combout" { } { } 0 332098 "%1!s!" 0 0 "Design Software" 0 -1 1486913738592 ""} } { } 0 332097 "The following timing edges are non-unate. TimeQuest will assume pos-unate behavior for these edges in the clock network." 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738592 ""}
+{ "Info" "ISTA_DERIVE_CLOCK_UNCERTAINTY_INFO" "Deriving Clock Uncertainty. Please refer to report_sdc in TimeQuest to see clock uncertainties. " "Deriving Clock Uncertainty. Please refer to report_sdc in TimeQuest to see clock uncertainties." { } { } 0 332123 "%1!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738593 ""}
+{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { } { } 1 332148 "Timing requirements not met" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738594 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "setup -0.489 " "Worst-case setup slack is -0.489" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738598 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738598 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.489 -3.058 CK " " -0.489 -3.058 CK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738598 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.145 -0.561 B1 " " -0.145 -0.561 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738598 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738598 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "hold 0.022 " "Worst-case hold slack is 0.022" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738603 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738603 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.022 0.000 CK " " 0.022 0.000 CK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738603 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.151 0.000 B1 " " 0.151 0.000 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738603 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738603 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "recovery 0.160 " "Worst-case recovery slack is 0.160" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738609 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738609 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.160 0.000 B1 " " 0.160 0.000 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738609 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738609 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "removal 0.530 " "Worst-case removal slack is 0.530" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738614 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738614 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.530 0.000 B1 " " 0.530 0.000 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738614 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738614 ""}
+{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width -3.000 " "Worst-case minimum pulse width slack is -3.000" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738618 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738618 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.000 -38.092 B1 " " -3.000 -38.092 B1 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738618 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -3.000 -32.102 CK " " -3.000 -32.102 CK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1486913738618 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913738618 ""}
+{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "setup " "Design is not fully constrained for setup requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913739472 ""}
+{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "hold " "Design is not fully constrained for hold requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913739473 ""}
+{ "Info" "IQEXE_ERROR_COUNT" "TimeQuest Timing Analyzer 0 s 5 s Quartus Prime " "Quartus Prime TimeQuest Timing Analyzer was successful. 0 errors, 5 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "668 " "Peak virtual memory: 668 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1486913739540 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sun Feb 12 12:35:39 2017 " "Processing ended: Sun Feb 12 12:35:39 2017" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1486913739540 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:02 " "Elapsed time: 00:00:02" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1486913739540 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:03 " "Total CPU time (on all processors): 00:00:03" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1486913739540 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913739540 ""}
+{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "TimeQuest Timing Analyzer" 0 -1 1486913740615 ""}
+{ "Info" "IQEXE_START_BANNER_PRODUCT" "EDA Netlist Writer Quartus Prime " "Running Quartus Prime EDA Netlist Writer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition " "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1486913740618 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sun Feb 12 12:35:40 2017 " "Processing started: Sun Feb 12 12:35:40 2017" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1486913740618 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "EDA Netlist Writer" 0 -1 1486913740618 ""}
+{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_eda --read_settings_files=off --write_settings_files=off relogio -c relogio " "Command: quartus_eda --read_settings_files=off --write_settings_files=off relogio -c relogio" { } { } 0 0 "Command: %1!s!" 0 0 "EDA Netlist Writer" 0 -1 1486913740618 ""}
+{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "EDA Netlist Writer" 0 -1 1486913740946 ""}
+{ "Warning" "WQNETO_SWITCH_TO_FUNCTIONAL_SIMULATION" "" "Generated the EDA functional simulation netlist because it is the only supported netlist type for this device." { } { } 0 10905 "Generated the EDA functional simulation netlist because it is the only supported netlist type for this device." 0 0 "EDA Netlist Writer" 0 -1 1486913740963 ""}
+{ "Info" "IWSC_DONE_HDL_GENERATION" "relogio.vo C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/simulation/modelsim/ simulation " "Generated file relogio.vo in folder \"C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/simulation/modelsim/\" for EDA simulation tool" { } { } 0 204019 "Generated file %1!s! in folder \"%2!s!\" for EDA %3!s! tool" 0 0 "EDA Netlist Writer" 0 -1 1486913741055 ""}
+{ "Info" "IQEXE_ERROR_COUNT" "EDA Netlist Writer 0 s 2 s Quartus Prime " "Quartus Prime EDA Netlist Writer was successful. 0 errors, 2 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "505 " "Peak virtual memory: 505 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1486913741097 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sun Feb 12 12:35:41 2017 " "Processing ended: Sun Feb 12 12:35:41 2017" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1486913741097 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1486913741097 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1486913741097 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "EDA Netlist Writer" 0 -1 1486913741097 ""}
+{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "EDA Netlist Writer" 0 -1 1486913742169 ""}
+{ "Info" "IQEXE_START_BANNER_PRODUCT" "Shell Quartus Prime " "Running Quartus Prime Shell" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition " "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1486913742173 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sun Feb 12 12:35:41 2017 " "Processing started: Sun Feb 12 12:35:41 2017" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1486913742173 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Shell" 0 -1 1486913742173 ""}
+{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_sh -t c:/intelfpga_lite/16.1/quartus/common/tcl/internal/nativelink/qnativesim.tcl --block_on_gui relogio relogio " "Command: quartus_sh -t c:/intelfpga_lite/16.1/quartus/common/tcl/internal/nativelink/qnativesim.tcl --block_on_gui relogio relogio" { } { } 0 0 "Command: %1!s!" 0 0 "Shell" 0 -1 1486913742173 ""}
+{ "Info" "IQEXE_START_BANNER_TCL_ARGS" "--block_on_gui relogio relogio " "Quartus(args): --block_on_gui relogio relogio" { } { } 0 0 "Quartus(args): %1!s!" 0 0 "Shell" 0 -1 1486913742173 ""}
+{ "Info" "0" "" "Info: Start Nativelink Simulation process" { } { } 0 0 "Info: Start Nativelink Simulation process" 0 0 "Shell" 0 0 1486913742243 ""}
+{ "Info" "0" "" "Info: Starting NativeLink simulation with ModelSim software" { } { } 0 0 "Info: Starting NativeLink simulation with ModelSim software" 0 0 "Shell" 0 0 1486913742315 ""}
+{ "Error" "0" "" "Error: Can't launch the ModelSim software -- the path to the location of the executables for the ModelSim software were not specified or the executables were not found at specified path." { } { } 0 0 "Error: Can't launch the ModelSim software -- the path to the location of the executables for the ModelSim software were not specified or the executables were not found at specified path." 0 0 "Shell" 0 0 1486913742317 ""}
+{ "Error" "0" "" "Error: You can specify the path in the EDA Tool Options page of the Options dialog box or using the Tcl command set_user_option." { } { } 0 0 "Error: You can specify the path in the EDA Tool Options page of the Options dialog box or using the Tcl command set_user_option." 0 0 "Shell" 0 0 1486913742317 ""}
+{ "Error" "0" "" "Can't launch the ModelSim software -- the path to the location of the executables for the ModelSim software were not specified or the executables were not found at specified path." { } { } 0 0 "Can't launch the ModelSim software -- the path to the location of the executables for the ModelSim software were not specified or the executables were not found at specified path." 0 0 "Shell" 0 0 1486913742317 ""}
+{ "Error" "0" "" "Error: NativeLink simulation flow was NOT successful" { } { } 0 0 "Error: NativeLink simulation flow was NOT successful" 0 0 "Shell" 0 0 1486913742317 ""}
+{ "Info" "0" "" "Info: For messages from NativeLink scripts, check the file C:/projetos/provas/S01/Eletrônica Digital/2016.2/4. Relogio/quartus/relogio_nativelink_simulation.rpt" { } { { "C:/projetos/provas/S01/Eletrônica Digital/2016.2/4. Relogio/quartus/relogio_nativelink_simulation.rpt" "0" { Text "C:/projetos/provas/S01/Eletrônica Digital/2016.2/4. Relogio/quartus/relogio_nativelink_simulation.rpt" 0 0 0 } } } 0 0 "Info: For messages from NativeLink scripts, check the file C:/projetos/provas/S01/Eletrônica Digital/2016.2/4. Relogio/quartus/relogio_nativelink_simulation.rpt" 0 0 "Shell" 0 0 1486913742318 ""}
+{ "Error" "EQEXE_TCL_SCRIPT_STATUS" "c:/intelfpga_lite/16.1/quartus/common/tcl/internal/nativelink/qnativesim.tcl " "Evaluation of Tcl script c:/intelfpga_lite/16.1/quartus/common/tcl/internal/nativelink/qnativesim.tcl unsuccessful" { } { } 0 23031 "Evaluation of Tcl script %1!s! unsuccessful" 0 0 "Shell" 0 -1 1486913742318 ""}
+{ "Error" "EQEXE_ERROR_COUNT" "Shell 5 s 0 s Quartus Prime " "Quartus Prime Shell was unsuccessful. 5 errors, 0 warnings" { { "Error" "EQEXE_END_PEAK_VSIZE_MEMORY" "528 " "Peak virtual memory: 528 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1486913742318 ""} { "Error" "EQEXE_END_BANNER_TIME" "Sun Feb 12 12:35:42 2017 " "Processing ended: Sun Feb 12 12:35:42 2017" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1486913742318 ""} { "Error" "EQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1486913742318 ""} { "Error" "EQEXE_ELAPSED_CPU_TIME" "00:00:00 " "Total CPU time (on all processors): 00:00:00" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1486913742318 ""} } { } 0 0 "%6!s! %1!s! was unsuccessful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Shell" 0 -1 1486913742318 ""}
+{ "Error" "EFLOW_ERROR_COUNT" "Full Compilation 7 s 16 s " "Quartus Prime Full Compilation was unsuccessful. 7 errors, 16 warnings" { } { } 0 293001 "Quartus Prime %1!s! was unsuccessful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Shell" 0 -1 1486913742870 ""}
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(0).cnf.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(0).cnf.cdb"
new file mode 100644
index 00000000..a50424ed
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(0).cnf.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(0).cnf.hdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(0).cnf.hdb"
new file mode 100644
index 00000000..bec8e54a
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(0).cnf.hdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(1).cnf.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(1).cnf.cdb"
new file mode 100644
index 00000000..e6e73202
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(1).cnf.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(1).cnf.hdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(1).cnf.hdb"
new file mode 100644
index 00000000..99dacaef
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(1).cnf.hdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(2).cnf.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(2).cnf.cdb"
new file mode 100644
index 00000000..f7ba1796
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(2).cnf.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(2).cnf.hdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(2).cnf.hdb"
new file mode 100644
index 00000000..808b4a8d
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(2).cnf.hdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(3).cnf.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(3).cnf.cdb"
new file mode 100644
index 00000000..cbf1aae2
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(3).cnf.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(3).cnf.hdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(3).cnf.hdb"
new file mode 100644
index 00000000..52661066
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(3).cnf.hdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(4).cnf.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(4).cnf.cdb"
new file mode 100644
index 00000000..574382f8
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(4).cnf.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(4).cnf.hdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(4).cnf.hdb"
new file mode 100644
index 00000000..dd78f8f8
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(4).cnf.hdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(5).cnf.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(5).cnf.cdb"
new file mode 100644
index 00000000..23f954de
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(5).cnf.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(5).cnf.hdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(5).cnf.hdb"
new file mode 100644
index 00000000..093f405e
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(5).cnf.hdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(6).cnf.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(6).cnf.cdb"
new file mode 100644
index 00000000..ba033b63
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(6).cnf.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(6).cnf.hdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(6).cnf.hdb"
new file mode 100644
index 00000000..8752ae0e
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(6).cnf.hdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(7).cnf.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(7).cnf.cdb"
new file mode 100644
index 00000000..2f17359a
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(7).cnf.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(7).cnf.hdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(7).cnf.hdb"
new file mode 100644
index 00000000..58ebafb5
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(7).cnf.hdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(8).cnf.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(8).cnf.cdb"
new file mode 100644
index 00000000..216525cd
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(8).cnf.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(8).cnf.hdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(8).cnf.hdb"
new file mode 100644
index 00000000..b3155b9e
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(8).cnf.hdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(9).cnf.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(9).cnf.cdb"
new file mode 100644
index 00000000..2a4d1ef2
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(9).cnf.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(9).cnf.hdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(9).cnf.hdb"
new file mode 100644
index 00000000..18686562
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.(9).cnf.hdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.ace_cmp.bpm" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.ace_cmp.bpm"
new file mode 100644
index 00000000..5a9127c7
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.ace_cmp.bpm" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.ace_cmp.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.ace_cmp.cdb"
new file mode 100644
index 00000000..24c48038
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.ace_cmp.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.ace_cmp.hdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.ace_cmp.hdb"
new file mode 100644
index 00000000..80cfd928
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.ace_cmp.hdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.asm.qmsg" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.asm.qmsg"
new file mode 100644
index 00000000..1d85f3ec
--- /dev/null
+++ "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.asm.qmsg"
@@ -0,0 +1,7 @@
+{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1486913978667 ""}
+{ "Info" "IQEXE_START_BANNER_PRODUCT" "Assembler Quartus Prime " "Running Quartus Prime Assembler" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition " "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1486913978670 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sun Feb 12 12:39:38 2017 " "Processing started: Sun Feb 12 12:39:38 2017" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1486913978670 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Assembler" 0 -1 1486913978670 ""}
+{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_asm --read_settings_files=off --write_settings_files=off relogio -c relogio " "Command: quartus_asm --read_settings_files=off --write_settings_files=off relogio -c relogio" { } { } 0 0 "Command: %1!s!" 0 0 "Assembler" 0 -1 1486913978670 ""}
+{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Assembler" 0 -1 1486913978903 ""}
+{ "Info" "IASM_ASM_GENERATING_POWER_DATA" "" "Writing out detailed assembly data for power analysis" { } { } 0 115031 "Writing out detailed assembly data for power analysis" 0 0 "Assembler" 0 -1 1486913980520 ""}
+{ "Info" "IASM_ASM_GENERATING_PROGRAMMING_FILES" "" "Assembler is generating device programming files" { } { } 0 115030 "Assembler is generating device programming files" 0 0 "Assembler" 0 -1 1486913980664 ""}
+{ "Info" "IQEXE_ERROR_COUNT" "Assembler 0 s 1 Quartus Prime " "Quartus Prime Assembler was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "543 " "Peak virtual memory: 543 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1486913981464 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sun Feb 12 12:39:41 2017 " "Processing ended: Sun Feb 12 12:39:41 2017" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1486913981464 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:03 " "Elapsed time: 00:00:03" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1486913981464 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:03 " "Total CPU time (on all processors): 00:00:03" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1486913981464 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Assembler" 0 -1 1486913981464 ""}
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.asm.rdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.asm.rdb"
new file mode 100644
index 00000000..c626566f
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.asm.rdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.asm_labs.ddb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.asm_labs.ddb"
new file mode 100644
index 00000000..b354b467
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.asm_labs.ddb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.bpm" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.bpm"
new file mode 100644
index 00000000..88c255de
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.bpm" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.cdb"
new file mode 100644
index 00000000..f9d05320
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.hdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.hdb"
new file mode 100644
index 00000000..8e519f1e
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.hdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.idb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.idb"
new file mode 100644
index 00000000..1ba13a0e
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.idb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.logdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.logdb"
new file mode 100644
index 00000000..ce0dd766
--- /dev/null
+++ "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.logdb"
@@ -0,0 +1,87 @@
+v1
+IO_RULES,NUM_PINS_NOT_EXCEED_LOC_AVAILABLE,PASS,IO_000001,Capacity Checks,Number of pins in an I/O bank should not exceed the number of locations available.,Critical,0 such failures found.,,I/O,,
+IO_RULES,NUM_CLKS_NOT_EXCEED_CLKS_AVAILABLE,INAPPLICABLE,IO_000002,Capacity Checks,Number of clocks in an I/O bank should not exceed the number of clocks available.,Critical,No Global Signal assignments found.,,I/O,,
+IO_RULES,NUM_VREF_NOT_EXCEED_LOC_AVAILABLE,PASS,IO_000003,Capacity Checks,Number of pins in a Vrefgroup should not exceed the number of locations available.,Critical,0 such failures found.,,I/O,,
+IO_RULES,IO_BANK_SUPPORT_VCCIO,INAPPLICABLE,IO_000004,Voltage Compatibility Checks,The I/O bank should support the requested VCCIO.,Critical,No IOBANK_VCCIO assignments found.,,I/O,,
+IO_RULES,IO_BANK_NOT_HAVE_COMPETING_VREF,INAPPLICABLE,IO_000005,Voltage Compatibility Checks,The I/O bank should not have competing VREF values.,Critical,No VREF I/O Standard assignments found.,,I/O,,
+IO_RULES,IO_BANK_NOT_HAVE_COMPETING_VCCIO,PASS,IO_000006,Voltage Compatibility Checks,The I/O bank should not have competing VCCIO values.,Critical,0 such failures found.,,I/O,,
+IO_RULES,CHECK_UNAVAILABLE_LOC,PASS,IO_000007,Valid Location Checks,Checks for unavailable locations.,Critical,0 such failures found.,,I/O,,
+IO_RULES,CHECK_RESERVED_LOC,INAPPLICABLE,IO_000008,Valid Location Checks,Checks for reserved locations.,Critical,No reserved LogicLock region found.,,I/O,,
+IO_RULES,LOC_SUPPORT_IO_STD,PASS,IO_000009,I/O Properties Checks for One I/O,The location should support the requested I/O standard.,Critical,0 such failures found.,,I/O,,
+IO_RULES,LOC_SUPPORT_IO_DIR,PASS,IO_000010,I/O Properties Checks for One I/O,The location should support the requested I/O direction.,Critical,0 such failures found.,,I/O,,
+IO_RULES,LOC_SUPPORT_CURRENT_STRENGTH,INAPPLICABLE,IO_000011,I/O Properties Checks for One I/O,The location should support the requested Current Strength.,Critical,No Current Strength assignments found.,,I/O,,
+IO_RULES,LOC_SUPPORT_OCT_VALUE,PASS,IO_000012,I/O Properties Checks for One I/O,The location should support the requested On Chip Termination value.,Critical,0 such failures found.,,I/O,,
+IO_RULES,LOC_SUPPORT_BUS_HOLD_VALUE,INAPPLICABLE,IO_000013,I/O Properties Checks for One I/O,The location should support the requested Bus Hold value.,Critical,No Enable Bus-Hold Circuitry assignments found.,,I/O,,
+IO_RULES,LOC_SUPPORT_WEAK_PULL_UP_VALUE,INAPPLICABLE,IO_000014,I/O Properties Checks for One I/O,The location should support the requested Weak Pull Up value.,Critical,No Weak Pull-Up Resistor assignments found.,,I/O,,
+IO_RULES,LOC_SUPPORT_PCI_CLAMP_DIODE,PASS,IO_000015,I/O Properties Checks for One I/O,The location should support the requested PCI Clamp Diode.,Critical,0 such failures found.,,I/O,,
+IO_RULES,IO_STD_SUPPORT_CURRENT_STRENGTH,INAPPLICABLE,IO_000018,I/O Properties Checks for One I/O,The I/O standard should support the requested Current Strength.,Critical,No Current Strength assignments found.,,I/O,,
+IO_RULES,IO_STD_SUPPORT_OCT_VALUE,PASS,IO_000019,I/O Properties Checks for One I/O,The I/O standard should support the requested On Chip Termination value.,Critical,0 such failures found.,,I/O,,
+IO_RULES,IO_STD_SUPPORT_PCI_CLAMP_DIODE,PASS,IO_000020,I/O Properties Checks for One I/O,The I/O standard should support the requested PCI Clamp Diode.,Critical,0 such failures found.,,I/O,,
+IO_RULES,IO_STD_SUPPORT_WEAK_PULL_UP_VALUE,INAPPLICABLE,IO_000021,I/O Properties Checks for One I/O,The I/O standard should support the requested Weak Pull Up value.,Critical,No Weak Pull-Up Resistor assignments found.,,I/O,,
+IO_RULES,IO_STD_SUPPORT_BUS_HOLD_VALUE,INAPPLICABLE,IO_000022,I/O Properties Checks for One I/O,The I/O standard should support the requested Bus Hold value.,Critical,No Enable Bus-Hold Circuitry assignments found.,,I/O,,
+IO_RULES,IO_STD_SUPPORT_OPEN_DRAIN_VALUE,INAPPLICABLE,IO_000023,I/O Properties Checks for One I/O,The I/O standard should support the Open Drain value.,Critical,No open drain assignments found.,,I/O,,
+IO_RULES,IO_DIR_SUPPORT_OCT_VALUE,PASS,IO_000024,I/O Properties Checks for One I/O,The I/O direction should support the On Chip Termination value.,Critical,0 such failures found.,,I/O,,
+IO_RULES,OCT_AND_CURRENT_STRENGTH_NOT_USED_SIMULTANEOUSLY,INAPPLICABLE,IO_000026,I/O Properties Checks for One I/O,On Chip Termination and Current Strength should not be used at the same time.,Critical,No Current Strength assignments found.,,I/O,,
+IO_RULES,WEAK_PULL_UP_AND_BUS_HOLD_NOT_USED_SIMULTANEOUSLY,INAPPLICABLE,IO_000027,I/O Properties Checks for One I/O,Weak Pull Up and Bus Hold should not be used at the same time.,Critical,No Enable Bus-Hold Circuitry or Weak Pull-Up Resistor assignments found.,,I/O,,
+IO_RULES,IO_STD_SUPPORTS_SLEW_RATE,INAPPLICABLE,IO_000045,I/O Properties Checks for One I/O,The I/O standard should support the requested Slew Rate value.,Critical,No Slew Rate assignments found.,,I/O,,
+IO_RULES,LOC_SUPPORTS_SLEW_RATE,INAPPLICABLE,IO_000046,I/O Properties Checks for One I/O,The location should support the requested Slew Rate value.,Critical,No Slew Rate assignments found.,,I/O,,
+IO_RULES,OCT_SUPPORTS_SLEW_RATE,INAPPLICABLE,IO_000047,I/O Properties Checks for One I/O,On Chip Termination and Slew Rate should not be used at the same time.,Critical,No Slew Rate assignments found.,,I/O,,
+IO_RULES,CURRENT_DENSITY_FOR_CONSECUTIVE_IO_NOT_EXCEED_CURRENT_VALUE,PASS,IO_000033,Electromigration Checks,Current density for consecutive I/Os should not exceed 160mA for row I/Os and 160mA for column I/Os.,Critical,0 such failures found.,,I/O,,
+IO_RULES,SINGLE_ENDED_OUTPUTS_LAB_ROWS_FROM_DIFF_IO,INAPPLICABLE,IO_000034,SI Related Distance Checks,Single-ended outputs should be 5 LAB row(s) away from a differential I/O.,High,No Differential I/O Standard assignments found.,,I/O,,
+IO_RULES,MAX_20_OUTPUTS_ALLOWED_IN_VREFGROUP,INAPPLICABLE,IO_000042,SI Related SSO Limit Checks,No more than 20 outputs are allowed in a VREF group when VREF is being read from.,High,No VREF I/O Standard assignments found.,,I/O,,
+IO_RULES,DEV_IO_RULE_OCT_DISCLAIMER,,,,,,,,,,
+IO_RULES_MATRIX,Pin/Rules,IO_000001;IO_000002;IO_000003;IO_000004;IO_000005;IO_000006;IO_000007;IO_000008;IO_000009;IO_000010;IO_000011;IO_000012;IO_000013;IO_000014;IO_000015;IO_000018;IO_000019;IO_000020;IO_000021;IO_000022;IO_000023;IO_000024;IO_000026;IO_000027;IO_000045;IO_000046;IO_000047;IO_000033;IO_000034;IO_000042,
+IO_RULES_MATRIX,Total Pass,45;0;45;0;0;45;45;0;45;45;0;42;0;0;3;0;42;3;0;0;0;42;0;0;0;0;0;45;0;0,
+IO_RULES_MATRIX,Total Unchecked,0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0,
+IO_RULES_MATRIX,Total Inapplicable,0;45;0;45;45;0;0;45;0;0;45;3;45;45;42;45;3;42;45;45;45;3;45;45;45;45;45;0;45;45,
+IO_RULES_MATRIX,Total Fail,0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0,
+IO_RULES_MATRIX,SUA,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SUB,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SUC,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SUD,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SUE,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SUF,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SUG,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SDA,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SDB,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SDC,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SDD,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SDE,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SDF,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,SDG,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MUA,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MUB,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MUC,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MUD,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MUE,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MUF,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MUG,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MDA,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MDB,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MDC,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MDD,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MDE,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MDF,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,MDG,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HUA,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HUB,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HUC,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HUD,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HUE,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HUF,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HUG,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HDB,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HDC,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HDD,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HDE,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HDF,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HDG,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,HDA,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,B1,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,B2,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_MATRIX,CK,Pass;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Pass;Inapplicable;Pass;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Inapplicable;Pass;Inapplicable;Inapplicable,
+IO_RULES_SUMMARY,Total I/O Rules,30,
+IO_RULES_SUMMARY,Number of I/O Rules Passed,12,
+IO_RULES_SUMMARY,Number of I/O Rules Failed,0,
+IO_RULES_SUMMARY,Number of I/O Rules Unchecked,0,
+IO_RULES_SUMMARY,Number of I/O Rules Inapplicable,18,
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.rdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.rdb"
new file mode 100644
index 00000000..1a400743
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp.rdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp_merge.kpt" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp_merge.kpt"
new file mode 100644
index 00000000..2073321a
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.cmp_merge.kpt" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.db_info" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.db_info"
new file mode 100644
index 00000000..2566ad18
--- /dev/null
+++ "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.db_info"
@@ -0,0 +1,3 @@
+Quartus_Version = Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition
+Version_Index = 419480576
+Creation_Time = Thu Feb 23 23:14:56 2017
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.eco.cdb" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.eco.cdb"
new file mode 100644
index 00000000..4c57c12e
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.eco.cdb" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.eda.qmsg" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.eda.qmsg"
new file mode 100644
index 00000000..ac6cb094
--- /dev/null
+++ "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.eda.qmsg"
@@ -0,0 +1,7 @@
+{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1486913986021 ""}
+{ "Info" "IQEXE_START_BANNER_PRODUCT" "EDA Netlist Writer Quartus Prime " "Running Quartus Prime EDA Netlist Writer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition " "Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1486913986024 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sun Feb 12 12:39:45 2017 " "Processing started: Sun Feb 12 12:39:45 2017" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1486913986024 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "EDA Netlist Writer" 0 -1 1486913986024 ""}
+{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_eda --read_settings_files=off --write_settings_files=off relogio -c relogio " "Command: quartus_eda --read_settings_files=off --write_settings_files=off relogio -c relogio" { } { } 0 0 "Command: %1!s!" 0 0 "EDA Netlist Writer" 0 -1 1486913986024 ""}
+{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "EDA Netlist Writer" 0 -1 1486913986351 ""}
+{ "Warning" "WQNETO_SWITCH_TO_FUNCTIONAL_SIMULATION" "" "Generated the EDA functional simulation netlist because it is the only supported netlist type for this device." { } { } 0 10905 "Generated the EDA functional simulation netlist because it is the only supported netlist type for this device." 0 0 "EDA Netlist Writer" 0 -1 1486913986367 ""}
+{ "Info" "IWSC_DONE_HDL_GENERATION" "relogio.vo C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/simulation/modelsim/ simulation " "Generated file relogio.vo in folder \"C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/simulation/modelsim/\" for EDA simulation tool" { } { } 0 204019 "Generated file %1!s! in folder \"%2!s!\" for EDA %3!s! tool" 0 0 "EDA Netlist Writer" 0 -1 1486913986468 ""}
+{ "Info" "IQEXE_ERROR_COUNT" "EDA Netlist Writer 0 s 2 s Quartus Prime " "Quartus Prime EDA Netlist Writer was successful. 0 errors, 2 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "505 " "Peak virtual memory: 505 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1486913986509 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sun Feb 12 12:39:46 2017 " "Processing ended: Sun Feb 12 12:39:46 2017" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1486913986509 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1486913986509 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1486913986509 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "EDA Netlist Writer" 0 -1 1486913986509 ""}
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.fit.qmsg" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.fit.qmsg"
new file mode 100644
index 00000000..029f31a0
--- /dev/null
+++ "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.fit.qmsg"
@@ -0,0 +1,51 @@
+{ "Warning" "WQCU_PARALLEL_USER_SHOULD_SPECIFY_NUM_PROC" "" "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." { } { } 0 18236 "Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance." 0 0 "Fitter" 0 -1 1486913969122 ""}
+{ "Info" "IQCU_PARALLEL_AUTODETECT_MULTIPLE_PROCESSORS" "4 4 " "Parallel compilation is enabled and will use 4 of the 4 processors detected" { } { } 0 20030 "Parallel compilation is enabled and will use %1!i! of the %2!i! processors detected" 0 0 "Fitter" 0 -1 1486913969122 ""}
+{ "Info" "IMPP_MPP_USER_DEVICE" "relogio 10M50DAF484C7G " "Selected device 10M50DAF484C7G for design \"relogio\"" { } { } 0 119006 "Selected device %2!s! for design \"%1!s!\"" 0 0 "Fitter" 0 -1 1486913969128 ""}
+{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1486913969165 ""}
+{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1486913969165 ""}
+{ "Info" "IFITCC_FITCC_INFO_AUTO_FIT_COMPILATION_ON" "" "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" { } { } 0 171003 "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" 0 0 "Fitter" 0 -1 1486913969359 ""}
+{ "Warning" "WCPT_FEATURE_DISABLED_POST" "LogicLock " "Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." { } { } 0 292013 "Feature %1!s! is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." 0 0 "Fitter" 0 -1 1486913969364 ""}
+{ "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED" "" "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" { { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M08DAF484I7G " "Device 10M08DAF484I7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913969442 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M16DAF484C7G " "Device 10M16DAF484C7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913969442 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M16DAF484I7G " "Device 10M16DAF484I7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913969442 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M25DAF484C7G " "Device 10M25DAF484C7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913969442 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M25DAF484I7G " "Device 10M25DAF484I7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913969442 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M50DAF484I7G " "Device 10M50DAF484I7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913969442 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M50DAF484I7P " "Device 10M50DAF484I7P is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913969442 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M40DAF484C7G " "Device 10M40DAF484C7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913969442 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "10M40DAF484I7G " "Device 10M40DAF484I7G is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1486913969442 ""} } { } 2 176444 "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" 0 0 "Fitter" 0 -1 1486913969442 ""}
+{ "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION" "8 " "Fitter converted 8 user pins into dedicated programming pins" { { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_TMS~ H2 " "Pin ~ALTERA_TMS~ is reserved at location H2" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_TMS~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 337 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913969444 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_TCK~ G2 " "Pin ~ALTERA_TCK~ is reserved at location G2" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_TCK~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 339 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913969444 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_TDI~ L4 " "Pin ~ALTERA_TDI~ is reserved at location L4" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_TDI~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 341 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913969444 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_TDO~ M5 " "Pin ~ALTERA_TDO~ is reserved at location M5" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_TDO~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 343 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913969444 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_CONFIG_SEL~ H10 " "Pin ~ALTERA_CONFIG_SEL~ is reserved at location H10" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_CONFIG_SEL~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 345 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913969444 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_nCONFIG~ H9 " "Pin ~ALTERA_nCONFIG~ is reserved at location H9" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_nCONFIG~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 347 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913969444 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_nSTATUS~ G9 " "Pin ~ALTERA_nSTATUS~ is reserved at location G9" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_nSTATUS~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 349 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913969444 ""} { "Info" "IFIOMGR_RESERVED_PIN_WITH_LOCATION_SUB" "~ALTERA_CONF_DONE~ F8 " "Pin ~ALTERA_CONF_DONE~ is reserved at location F8" { } { { "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/16.1/quartus/bin64/pin_planner.ppl" { ~ALTERA_CONF_DONE~ } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 351 14176 15139 0 0 "" 0 "" "" } } } } } 0 169125 "Pin %1!s! is reserved at location %2!s!" 0 0 "Design Software" 0 -1 1486913969444 ""} } { } 0 169124 "Fitter converted %1!d! user pins into dedicated programming pins" 0 0 "Fitter" 0 -1 1486913969444 ""}
+{ "Info" "IFIOMGR_RESERVE_PIN_NO_DATA0" "" "DATA\[0\] dual-purpose pin not reserved" { } { } 0 169141 "DATA\[0\] dual-purpose pin not reserved" 0 0 "Fitter" 0 -1 1486913969445 ""}
+{ "Info" "IFIOMGR_PIN_NOT_RESERVE" "Data\[1\]/ASDO " "Data\[1\]/ASDO dual-purpose pin not reserved" { } { } 0 12825 "%1!s! dual-purpose pin not reserved" 0 0 "Fitter" 0 -1 1486913969445 ""}
+{ "Info" "IFIOMGR_PIN_NOT_RESERVE" "nCSO " "nCSO dual-purpose pin not reserved" { } { } 0 12825 "%1!s! dual-purpose pin not reserved" 0 0 "Fitter" 0 -1 1486913969445 ""}
+{ "Info" "IFIOMGR_PIN_NOT_RESERVE" "DCLK " "DCLK dual-purpose pin not reserved" { } { } 0 12825 "%1!s! dual-purpose pin not reserved" 0 0 "Fitter" 0 -1 1486913969445 ""}
+{ "Warning" "WCUT_CUT_ATOM_PINS_WITH_INCOMPLETE_IO_ASSIGNMENTS" "" "Some pins have incomplete I/O assignments. Refer to the I/O Assignment Warnings report for details" { } { } 0 15714 "Some pins have incomplete I/O assignments. Refer to the I/O Assignment Warnings report for details" 0 0 "Fitter" 0 -1 1486913969446 ""}
+{ "Critical Warning" "WSTA_SDC_NOT_FOUND" "relogio.sdc " "Synopsys Design Constraints File file not found: 'relogio.sdc'. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." { } { } 1 332012 "Synopsys Design Constraints File file not found: '%1!s!'. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design." 0 0 "Fitter" 0 -1 1486913970153 ""}
+{ "Info" "ISTA_NO_CLOCK_FOUND_NO_DERIVING_MSG" "base clocks " "No user constrained base clocks found in the design" { } { } 0 332144 "No user constrained %1!s! found in the design" 0 0 "Fitter" 0 -1 1486913970154 ""}
+{ "Info" "ISTA_UNKNOWN_UNATE_EDGE_ASSUMED_POS" "" "The following timing edges are non-unate. TimeQuest will assume pos-unate behavior for these edges in the clock network." { { "Info" "ISTA_CLOCK_MGR_INFO" "Cell: inst21\|9 from: datac to: combout " "Cell: inst21\|9 from: datac to: combout" { } { } 0 332098 "%1!s!" 0 0 "Design Software" 0 -1 1486913970155 ""} { "Info" "ISTA_CLOCK_MGR_INFO" "Cell: inst21\|9~1 from: datac to: combout " "Cell: inst21\|9~1 from: datac to: combout" { } { } 0 332098 "%1!s!" 0 0 "Design Software" 0 -1 1486913970155 ""} } { } 0 332097 "The following timing edges are non-unate. TimeQuest will assume pos-unate behavior for these edges in the clock network." 0 0 "Fitter" 0 -1 1486913970155 ""}
+{ "Info" "ISTA_NO_CLOCK_UNCERTAINTY_FOUND_DERIVING" "\"derive_clock_uncertainty\" " "No user constrained clock uncertainty found in the design. Calling \"derive_clock_uncertainty\"" { } { } 0 332143 "No user constrained clock uncertainty found in the design. Calling %1!s!" 0 0 "Fitter" 0 -1 1486913970156 ""}
+{ "Info" "ISTA_NO_UNCERTAINTY_FOUND" "" "The derive_clock_uncertainty command did not apply clock uncertainty to any clock-to-clock transfers." { } { } 0 332154 "The derive_clock_uncertainty command did not apply clock uncertainty to any clock-to-clock transfers." 0 0 "Fitter" 0 -1 1486913970156 ""}
+{ "Info" "ISTA_TDC_NO_DEFAULT_OPTIMIZATION_GOALS" "" "Timing requirements not specified -- quality metrics such as performance may be sacrificed to reduce compilation time." { } { } 0 332130 "Timing requirements not specified -- quality metrics such as performance may be sacrificed to reduce compilation time." 0 0 "Fitter" 0 -1 1486913970157 ""}
+{ "Info" "IFSAC_FSAC_ASSIGN_AUTO_GLOBAL_TO_SIGNAL" "CK~input (placed in PIN N5 (CLK0p, DIFFIO_RX_L28p, DIFFOUT_L28p, High_Speed)) " "Automatically promoted node CK~input (placed in PIN N5 (CLK0p, DIFFIO_RX_L28p, DIFFOUT_L28p, High_Speed))" { { "Info" "IFSAC_FSAC_ASSIGN_AUTO_GLOBAL_TO_SIGNAL_FANOUTS" "destinations Global Clock CLKCTRL_G4 " "Automatically promoted destinations to use location or clock signal Global Clock CLKCTRL_G4" { } { } 0 176355 "Automatically promoted %1!s! to use location or clock signal %2!s!" 0 0 "Design Software" 0 -1 1486913970173 ""} { "Info" "IFSAC_FSAC_GLOBAL_UNASSIGNED_FANOUTS" "" "Following destination nodes may be non-global or may not use global or regional clocks" { { "Info" "IFSAC_FSAC_GLOBAL_UNASSIGNED_FANOUTS_SUB" "divisor_clock:inst\|74160:inst4\|9 " "Destination node divisor_clock:inst\|74160:inst4\|9" { } { { "74160.bdf" "" { Schematic "c:/intelfpga_lite/16.1/quartus/libraries/others/maxplus2/74160.bdf" { { 784 1032 1096 864 "9" "" } } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 180 14176 15139 0 0 "" 0 "" "" } } } } } 0 176357 "Destination node %1!s!" 0 0 "Design Software" 0 -1 1486913970173 ""} { "Info" "IFSAC_FSAC_GLOBAL_UNASSIGNED_FANOUTS_SUB" "divisor_clock:inst\|74160:inst6\|9 " "Destination node divisor_clock:inst\|74160:inst6\|9" { } { { "74160.bdf" "" { Schematic "c:/intelfpga_lite/16.1/quartus/libraries/others/maxplus2/74160.bdf" { { 784 1032 1096 864 "9" "" } } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 168 14176 15139 0 0 "" 0 "" "" } } } } } 0 176357 "Destination node %1!s!" 0 0 "Design Software" 0 -1 1486913970173 ""} { "Info" "IFSAC_FSAC_GLOBAL_UNASSIGNED_FANOUTS_SUB" "divisor_clock:inst\|74160:inst7\|9 " "Destination node divisor_clock:inst\|74160:inst7\|9" { } { { "74160.bdf" "" { Schematic "c:/intelfpga_lite/16.1/quartus/libraries/others/maxplus2/74160.bdf" { { 784 1032 1096 864 "9" "" } } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 162 14176 15139 0 0 "" 0 "" "" } } } } } 0 176357 "Destination node %1!s!" 0 0 "Design Software" 0 -1 1486913970173 ""} { "Info" "IFSAC_FSAC_GLOBAL_UNASSIGNED_FANOUTS_SUB" "divisor_clock:inst\|74160:inst8\|9 " "Destination node divisor_clock:inst\|74160:inst8\|9" { } { { "74160.bdf" "" { Schematic "c:/intelfpga_lite/16.1/quartus/libraries/others/maxplus2/74160.bdf" { { 784 1032 1096 864 "9" "" } } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 155 14176 15139 0 0 "" 0 "" "" } } } } } 0 176357 "Destination node %1!s!" 0 0 "Design Software" 0 -1 1486913970173 ""} } { } 0 176356 "Following destination nodes may be non-global or may not use global or regional clocks" 0 0 "Design Software" 0 -1 1486913970173 ""} } { { "relogio.bdf" "" { Schematic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/relogio.bdf" { { 72 -80 88 88 "CK" "" } } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 331 14176 15139 0 0 "" 0 "" "" } } } } } 0 176353 "Automatically promoted node %1!s! %2!s!" 0 0 "Fitter" 0 -1 1486913970173 ""}
+{ "Info" "IFSAC_FSAC_ASSIGN_AUTO_GLOBAL_TO_SIGNAL" "74153m:inst21\|9 " "Automatically promoted node 74153m:inst21\|9 " { { "Info" "IFSAC_FSAC_ASSIGN_AUTO_GLOBAL_TO_SIGNAL_FANOUTS" "destinations Global Clock " "Automatically promoted destinations to use location or clock signal Global Clock" { } { } 0 176355 "Automatically promoted %1!s! to use location or clock signal %2!s!" 0 0 "Design Software" 0 -1 1486913970174 ""} } { { "74153m.bdf" "" { Schematic "c:/intelfpga_lite/16.1/quartus/libraries/others/maxplus2/74153m.bdf" { { 200 600 664 272 "9" "" } } } } { "temporary_test_loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 0 { 0 ""} 0 75 14176 15139 0 0 "" 0 "" "" } } } } } 0 176353 "Automatically promoted node %1!s! %2!s!" 0 0 "Fitter" 0 -1 1486913970174 ""}
+{ "Info" "IFSAC_FSAC_REGISTER_PACKING_START_REGPACKING_INFO" "" "Starting register packing" { } { } 0 176233 "Starting register packing" 0 0 "Fitter" 0 -1 1486913970561 ""}
+{ "Extra Info" "IFSAC_FSAC_START_REG_LOCATION_PROCESSING" "" "Performing register packing on registers with non-logic cell location assignments" { } { } 1 176273 "Performing register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1486913970561 ""}
+{ "Extra Info" "IFSAC_FSAC_FINISH_REG_LOCATION_PROCESSING" "" "Completed register packing on registers with non-logic cell location assignments" { } { } 1 176274 "Completed register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1486913970561 ""}
+{ "Extra Info" "IFSAC_FSAC_REGISTER_PACKING_BEGIN_FAST_REGISTER_INFO" "" "Started Fast Input/Output/OE register processing" { } { } 1 176236 "Started Fast Input/Output/OE register processing" 1 0 "Fitter" 0 -1 1486913970562 ""}
+{ "Extra Info" "IFSAC_FSAC_REGISTER_PACKING_FINISH_FAST_REGISTER_INFO" "" "Finished Fast Input/Output/OE register processing" { } { } 1 176237 "Finished Fast Input/Output/OE register processing" 1 0 "Fitter" 0 -1 1486913970562 ""}
+{ "Extra Info" "IFSAC_FSAC_START_MAC_SCAN_CHAIN_INFERENCING" "" "Start inferring scan chains for DSP blocks" { } { } 1 176238 "Start inferring scan chains for DSP blocks" 1 0 "Fitter" 0 -1 1486913970563 ""}
+{ "Extra Info" "IFSAC_FSAC_FINISH_MAC_SCAN_CHAIN_INFERENCING" "" "Inferring scan chains for DSP blocks is complete" { } { } 1 176239 "Inferring scan chains for DSP blocks is complete" 1 0 "Fitter" 0 -1 1486913970563 ""}
+{ "Extra Info" "IFSAC_FSAC_START_IO_MULT_RAM_PACKING" "" "Moving registers into I/O cells, Multiplier Blocks, and RAM blocks to improve timing and density" { } { } 1 176248 "Moving registers into I/O cells, Multiplier Blocks, and RAM blocks to improve timing and density" 1 0 "Fitter" 0 -1 1486913970563 ""}
+{ "Extra Info" "IFSAC_FSAC_FINISH_IO_MULT_RAM_PACKING" "" "Finished moving registers into I/O cells, Multiplier Blocks, and RAM blocks" { } { } 1 176249 "Finished moving registers into I/O cells, Multiplier Blocks, and RAM blocks" 1 0 "Fitter" 0 -1 1486913970563 ""}
+{ "Info" "IFSAC_FSAC_REGISTER_PACKING_FINISH_REGPACKING_INFO" "" "Finished register packing" { { "Extra Info" "IFSAC_NO_REGISTERS_WERE_PACKED" "" "No registers were packed into other blocks" { } { } 1 176219 "No registers were packed into other blocks" 0 0 "Design Software" 0 -1 1486913970564 ""} } { } 0 176235 "Finished register packing" 0 0 "Fitter" 0 -1 1486913970564 ""}
+{ "Info" "IFITCC_FITTER_PREPARATION_END" "00:00:01 " "Fitter preparation operations ending: elapsed time is 00:00:01" { } { } 0 171121 "Fitter preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1486913970646 ""}
+{ "Info" "IVPR20K_VPR_FAMILY_APL_ERROR" "" "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." { } { } 0 14896 "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." 0 0 "Fitter" 0 -1 1486913970650 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_START" "" "Fitter placement preparation operations beginning" { } { } 0 170189 "Fitter placement preparation operations beginning" 0 0 "Fitter" 0 -1 1486913971924 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_END" "00:00:00 " "Fitter placement preparation operations ending: elapsed time is 00:00:00" { } { } 0 170190 "Fitter placement preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1486913971986 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_START" "" "Fitter placement operations beginning" { } { } 0 170191 "Fitter placement operations beginning" 0 0 "Fitter" 0 -1 1486913972008 ""}
+{ "Info" "IFITAPI_FITAPI_INFO_VPR_PLACEMENT_FINISH" "" "Fitter placement was successful" { } { } 0 170137 "Fitter placement was successful" 0 0 "Fitter" 0 -1 1486913972932 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_END" "00:00:01 " "Fitter placement operations ending: elapsed time is 00:00:01" { } { } 0 170192 "Fitter placement operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1486913972932 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_START" "" "Fitter routing operations beginning" { } { } 0 170193 "Fitter routing operations beginning" 0 0 "Fitter" 0 -1 1486913973448 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_PERCENT_ROUTING_RESOURCE_USAGE" "0 " "Router estimated average interconnect usage is 0% of the available device resources" { { "Info" "IFITAPI_FITAPI_VPR_PEAK_ROUTING_REGION" "0 X67_Y44 X78_Y54 " "Router estimated peak interconnect usage is 0% of the available device resources in the region that extends from location X67_Y44 to location X78_Y54" { } { { "loc" "" { Generic "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/" { { 1 { 0 "Router estimated peak interconnect usage is 0% of the available device resources in the region that extends from location X67_Y44 to location X78_Y54"} { { 12 { 0 ""} 67 44 12 11 } } } } } } } 0 170196 "Router estimated peak interconnect usage is %1!d!%% of the available device resources in the region that extends from location %2!s! to location %3!s!" 0 0 "Design Software" 0 -1 1486913974882 ""} } { } 0 170195 "Router estimated average interconnect usage is %1!d!%% of the available device resources" 0 0 "Fitter" 0 -1 1486913974882 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED" "" "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." { { "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED_FOR_ROUTABILITY" "" "Optimizations that may affect the design's routability were skipped" { } { } 0 170201 "Optimizations that may affect the design's routability were skipped" 0 0 "Design Software" 0 -1 1486913975376 ""} } { } 0 170199 "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." 0 0 "Fitter" 0 -1 1486913975376 ""}
+{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_END" "00:00:01 " "Fitter routing operations ending: elapsed time is 00:00:01" { } { } 0 170194 "Fitter routing operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1486913975379 ""}
+{ "Info" "IVPR20K_VPR_TIMING_ANALYSIS_TIME" "the Fitter 0.13 " "Total time spent on timing analysis during the Fitter is 0.13 seconds." { } { } 0 11888 "Total time spent on timing analysis during %1!s! is %2!s! seconds." 0 0 "Fitter" 0 -1 1486913975554 ""}
+{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "Fitter" 0 -1 1486913975562 ""}
+{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "Fitter" 0 -1 1486913975866 ""}
+{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "Fitter" 0 -1 1486913975866 ""}
+{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "Fitter" 0 -1 1486913976321 ""}
+{ "Info" "IFITCC_FITTER_POST_OPERATION_END" "00:00:01 " "Fitter post-fit operations ending: elapsed time is 00:00:01" { } { } 0 11218 "Fitter post-fit operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1486913976848 ""}
+{ "Info" "IRDB_WROTE_SUPPRESSED_MSGS" "C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/output_files/relogio.fit.smsg " "Generated suppressed messages file C:/projetos/provas/S01/Eletrnica Digital/2016.2/4. Relogio/quartus/output_files/relogio.fit.smsg" { } { } 0 144001 "Generated suppressed messages file %1!s!" 0 0 "Fitter" 0 -1 1486913977197 ""}
+{ "Info" "IQEXE_ERROR_COUNT" "Fitter 0 s 4 s Quartus Prime " "Quartus Prime Fitter was successful. 0 errors, 4 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "1445 " "Peak virtual memory: 1445 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1486913977648 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sun Feb 12 12:39:37 2017 " "Processing ended: Sun Feb 12 12:39:37 2017" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1486913977648 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:09 " "Elapsed time: 00:00:09" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1486913977648 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:12 " "Total CPU time (on all processors): 00:00:12" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1486913977648 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Fitter" 0 -1 1486913977648 ""}
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.hier_info" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.hier_info"
new file mode 100644
index 00000000..60122f26
--- /dev/null
+++ "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.hier_info"
@@ -0,0 +1,643 @@
+|relogio
+SUA <= 7447:inst19.OA
+B2 => 74153M:inst21.A
+B1 => 74153M:inst21.B
+CK => divisor_clock:inst.CK10MHZ
+SUB <= 7447:inst19.OB
+SUC <= 7447:inst19.OC
+SUD <= 7447:inst19.OD
+SUE <= 7447:inst19.OE
+SUF <= 7447:inst19.OF
+SUG <= 7447:inst19.OG
+SDA <= 7447:inst18.OA
+SDB <= 7447:inst18.OB
+SDC <= 7447:inst18.OC
+SDD <= 7447:inst18.OD
+SDE <= 7447:inst18.OE
+SDF <= 7447:inst18.OF
+SDG <= 7447:inst18.OG
+MUA <= 7447:inst25.OA
+MUB <= 7447:inst25.OB
+MUC <= 7447:inst25.OC
+MUD <= 7447:inst25.OD
+MUE <= 7447:inst25.OE
+MUF <= 7447:inst25.OF
+MUG <= 7447:inst25.OG
+MDA <= 7447:inst26.OA
+MDB <= 7447:inst26.OB
+MDC <= 7447:inst26.OC
+MDD <= 7447:inst26.OD
+MDE <= 7447:inst26.OE
+MDF <= 7447:inst26.OF
+MDG <= 7447:inst26.OG
+HUA <= 7447:inst4.OA
+HUB <= 7447:inst4.OB
+HUC <= 7447:inst4.OC
+HUD <= 7447:inst4.OD
+HUE <= 7447:inst4.OE
+HUF <= 7447:inst4.OF
+HUG <= 7447:inst4.OG
+HDB <= 7447:inst7.OB
+HDC <= 7447:inst7.OC
+HDD <= 7447:inst7.OD
+HDE <= 7447:inst7.OE
+HDF <= 7447:inst7.OF
+HDG <= 7447:inst7.OG
+HDA <= 7447:inst7.OA
+
+
+|relogio|7447:inst19
+OG <= 87.DB_MAX_OUTPUT_PORT_TYPE
+C => 25.IN0
+LTN => 25.IN1
+LTN => 27.IN1
+LTN => 29.IN1
+LTN => 13.IN5
+LTN => 38.IN3
+BIN => 37.IN0
+B => 27.IN0
+D => 14.IN0
+A => 29.IN0
+RBIN => 15.IN0
+OF <= 86.DB_MAX_OUTPUT_PORT_TYPE
+OE <= 85.DB_MAX_OUTPUT_PORT_TYPE
+RBON <= 13.DB_MAX_OUTPUT_PORT_TYPE
+OD <= 84.DB_MAX_OUTPUT_PORT_TYPE
+OC <= 83.DB_MAX_OUTPUT_PORT_TYPE
+OB <= 82.DB_MAX_OUTPUT_PORT_TYPE
+OA <= 81.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|74160:inst14
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|74153M:inst21
+Y <= 9.DB_MAX_OUTPUT_PORT_TYPE
+GN => 26.IN0
+B => 27.IN0
+A => 29.IN0
+C0 => 1.IN3
+C1 => 2.IN3
+C2 => 3.IN3
+C3 => 4.IN3
+
+
+|relogio|divisor_clock:inst
+CK1MHZ <= 74160:inst2.QD
+CK10MHZ => 74160:inst2.CLK
+CK10MHZ => 74160:inst3.CLK
+CK10MHZ => 74160:inst4.CLK
+CK10MHZ => 74160:inst5.CLK
+CK10MHZ => 74160:inst6.CLK
+CK10MHZ => 74160:inst7.CLK
+CK10MHZ => 74160:inst8.CLK
+CK100KHZ <= 74160:inst3.QD
+CK10KHZ <= 74160:inst4.QD
+CK1KHZ <= 74160:inst5.QD
+CK100HZ <= 74160:inst6.QD
+CK10HZ <= 74160:inst7.QD
+CK1HZ <= 74160:inst8.QD
+
+
+|relogio|divisor_clock:inst|74160:inst2
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|divisor_clock:inst|74160:inst3
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|divisor_clock:inst|74160:inst4
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|divisor_clock:inst|74160:inst5
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|divisor_clock:inst|74160:inst6
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|divisor_clock:inst|74160:inst7
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|divisor_clock:inst|74160:inst8
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|7447:inst18
+OG <= 87.DB_MAX_OUTPUT_PORT_TYPE
+C => 25.IN0
+LTN => 25.IN1
+LTN => 27.IN1
+LTN => 29.IN1
+LTN => 13.IN5
+LTN => 38.IN3
+BIN => 37.IN0
+B => 27.IN0
+D => 14.IN0
+A => 29.IN0
+RBIN => 15.IN0
+OF <= 86.DB_MAX_OUTPUT_PORT_TYPE
+OE <= 85.DB_MAX_OUTPUT_PORT_TYPE
+RBON <= 13.DB_MAX_OUTPUT_PORT_TYPE
+OD <= 84.DB_MAX_OUTPUT_PORT_TYPE
+OC <= 83.DB_MAX_OUTPUT_PORT_TYPE
+OB <= 82.DB_MAX_OUTPUT_PORT_TYPE
+OA <= 81.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|74160:inst16
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|7400:inst17
+1 <= 4.DB_MAX_OUTPUT_PORT_TYPE
+2 => 4.IN0
+3 => 4.IN1
+
+
+|relogio|7447:inst25
+OG <= 87.DB_MAX_OUTPUT_PORT_TYPE
+C => 25.IN0
+LTN => 25.IN1
+LTN => 27.IN1
+LTN => 29.IN1
+LTN => 13.IN5
+LTN => 38.IN3
+BIN => 37.IN0
+B => 27.IN0
+D => 14.IN0
+A => 29.IN0
+RBIN => 15.IN0
+OF <= 86.DB_MAX_OUTPUT_PORT_TYPE
+OE <= 85.DB_MAX_OUTPUT_PORT_TYPE
+RBON <= 13.DB_MAX_OUTPUT_PORT_TYPE
+OD <= 84.DB_MAX_OUTPUT_PORT_TYPE
+OC <= 83.DB_MAX_OUTPUT_PORT_TYPE
+OB <= 82.DB_MAX_OUTPUT_PORT_TYPE
+OA <= 81.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|74160:inst23
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|7411:inst5
+1 <= 5.DB_MAX_OUTPUT_PORT_TYPE
+4 => 5.IN0
+3 => 5.IN1
+2 => 5.IN2
+
+
+|relogio|7447:inst26
+OG <= 87.DB_MAX_OUTPUT_PORT_TYPE
+C => 25.IN0
+LTN => 25.IN1
+LTN => 27.IN1
+LTN => 29.IN1
+LTN => 13.IN5
+LTN => 38.IN3
+BIN => 37.IN0
+B => 27.IN0
+D => 14.IN0
+A => 29.IN0
+RBIN => 15.IN0
+OF <= 86.DB_MAX_OUTPUT_PORT_TYPE
+OE <= 85.DB_MAX_OUTPUT_PORT_TYPE
+RBON <= 13.DB_MAX_OUTPUT_PORT_TYPE
+OD <= 84.DB_MAX_OUTPUT_PORT_TYPE
+OC <= 83.DB_MAX_OUTPUT_PORT_TYPE
+OB <= 82.DB_MAX_OUTPUT_PORT_TYPE
+OA <= 81.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|74160:inst24
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|7400:inst6
+1 <= 4.DB_MAX_OUTPUT_PORT_TYPE
+2 => 4.IN0
+3 => 4.IN1
+
+
+|relogio|7447:inst4
+OG <= 87.DB_MAX_OUTPUT_PORT_TYPE
+C => 25.IN0
+LTN => 25.IN1
+LTN => 27.IN1
+LTN => 29.IN1
+LTN => 13.IN5
+LTN => 38.IN3
+BIN => 37.IN0
+B => 27.IN0
+D => 14.IN0
+A => 29.IN0
+RBIN => 15.IN0
+OF <= 86.DB_MAX_OUTPUT_PORT_TYPE
+OE <= 85.DB_MAX_OUTPUT_PORT_TYPE
+RBON <= 13.DB_MAX_OUTPUT_PORT_TYPE
+OD <= 84.DB_MAX_OUTPUT_PORT_TYPE
+OC <= 83.DB_MAX_OUTPUT_PORT_TYPE
+OB <= 82.DB_MAX_OUTPUT_PORT_TYPE
+OA <= 81.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|74160:inst2
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|7411:inst1
+1 <= 5.DB_MAX_OUTPUT_PORT_TYPE
+4 => 5.IN0
+3 => 5.IN1
+2 => 5.IN2
+
+
+|relogio|7400:inst8
+1 <= 4.DB_MAX_OUTPUT_PORT_TYPE
+2 => 4.IN0
+3 => 4.IN1
+
+
+|relogio|74160:inst3
+RCO <= 45.DB_MAX_OUTPUT_PORT_TYPE
+ENT => 45.IN0
+ENT => 47.IN0
+ENT => 65.IN0
+CLRN => 6.ACLR
+CLRN => 9.ACLR
+CLRN => 8.ACLR
+CLRN => 7.ACLR
+CLK => 6.CLK
+CLK => 9.CLK
+CLK => 8.CLK
+CLK => 7.CLK
+LDN => 32.IN0
+LDN => 47.IN2
+LDN => 33.IN0
+LDN => 49.IN1
+LDN => 27.IN0
+LDN => 30.IN0
+ENP => 47.IN1
+ENP => 65.IN1
+A => 31.IN0
+D => 24.IN0
+C => 26.IN0
+B => 29.IN0
+QD <= 9.DB_MAX_OUTPUT_PORT_TYPE
+QC <= 8.DB_MAX_OUTPUT_PORT_TYPE
+QB <= 7.DB_MAX_OUTPUT_PORT_TYPE
+QA <= 6.DB_MAX_OUTPUT_PORT_TYPE
+
+
+|relogio|7447:inst7
+OG <= 87.DB_MAX_OUTPUT_PORT_TYPE
+C => 25.IN0
+LTN => 25.IN1
+LTN => 27.IN1
+LTN => 29.IN1
+LTN => 13.IN5
+LTN => 38.IN3
+BIN => 37.IN0
+B => 27.IN0
+D => 14.IN0
+A => 29.IN0
+RBIN => 15.IN0
+OF <= 86.DB_MAX_OUTPUT_PORT_TYPE
+OE <= 85.DB_MAX_OUTPUT_PORT_TYPE
+RBON <= 13.DB_MAX_OUTPUT_PORT_TYPE
+OD <= 84.DB_MAX_OUTPUT_PORT_TYPE
+OC <= 83.DB_MAX_OUTPUT_PORT_TYPE
+OB <= 82.DB_MAX_OUTPUT_PORT_TYPE
+OA <= 81.DB_MAX_OUTPUT_PORT_TYPE
+
+
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.hif" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.hif"
new file mode 100644
index 00000000..0cfd11ac
Binary files /dev/null and "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.hif" differ
diff --git "a/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.lpc.html" "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.lpc.html"
new file mode 100644
index 00000000..c88d82fa
--- /dev/null
+++ "b/S01 - Eletr\303\264nica Digital/2016.2/4. Relogio/quartus/db/relogio.lpc.html"
@@ -0,0 +1,34 @@
+
Curso de C da Engenharia Eltrica da UFMG - 1996-1999
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas.html"
new file mode 100644
index 00000000..3d60d851
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas.html"
@@ -0,0 +1,18 @@
+
+
+
+Aulas
+
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/avalia.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/avalia.html"
new file mode 100644
index 00000000..7ed85a08
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/avalia.html"
@@ -0,0 +1,296 @@
+
+
+
+
+Avaliao do Curso de C
+
+
+
+
+
Pgina de Avaliao do Curso de C
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/avaliaold.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/avaliaold.html"
new file mode 100644
index 00000000..91481fc3
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/avaliaold.html"
@@ -0,0 +1,297 @@
+
+
+
+
+Avaliao do Curso de C
+
+
+
+
+
Pgina de Avaliao do Curso de C
+
+
+
+
+
+
Curso de C do CPEE/UFMG - 1996 - 1999
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c100.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c100.html"
new file mode 100644
index 00000000..b2a6b972
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c100.html"
@@ -0,0 +1,67 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
INTRODUO
+
+
Vamos, neste curso, aprender os conceitos bsicos da linguagem de programao C a
+qual tem se tornado cada dia mais popular, devido sua versatilidade e ao seu poder. Uma
+das grandes vantagens do C que ele possui tanto caractersticas de "alto
+nvel" quanto de "baixo nvel".
+
+
Apesar de ser bom, no pr-requesito do curso um conhecimento anterior de
+linguagens de programao. importante uma familiaridade com computadores. O que
+importante que voc tenha vontade de aprender, dedicao ao curso e, caso esteja em
+uma das turmas do curso, acompanhe atentamente as discusses que ocorrem na lista de
+discusses do curso.
+
+
O C nasceu na dcada de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira
+vez usando um DEC PDP-11 rodando o sistema operacional UNIX. O C derivado de uma outra
+linguagem: o B, criado por Ken Thompson. O B, por sua vez, veio da linguagem BCPL,
+inventada por Martin Richards.
+
+
O C uma linguagem de programao genrica que utilizada para a criao de
+programas diversos como processadores de texto, planilhas eletrnicas, sistemas
+operacionais, programas de comunicao, programas para a automao industrial,
+gerenciadores de bancos de dados, programas de projeto assistido por computador, programas
+para a soluo de problemas da Engenharia, Fsica, Qumica e outras Cincias, etc ...
+ bem provvel que o Navegador que voc est usando para ler este texto tenha sido
+escrito em C ou C++.
+
+
Estudaremos a estrutura do ANSI C, o C padronizado pela ANSI. Veremos ainda
+algumas funes comuns em compiladores para alguns sistemas operacionais. Quando no
+houver equivalentes para as funes em outros sistemas, apresentaremos formas
+alternativas de uso dos comandos.
+
+
Sugerimos que o aluno realmente use o mximo possvel dos exemplos, problemas e
+exerccios aqui apresentados, gerando os programas executveis com o seu compilador.
+Quando utilizamos o compilador aprendemos a lidar com mensagens de aviso, mensagens de
+erro, bugs, etc. Apenas ler os exemplos no basta. O conhecimento de uma linguagem de
+programao transcede o conhecimento de estruturas e funes. O C exige, alm do
+domnio da linguagem em si, uma familiaridade com o compilador e experincia em achar
+"bugs" nos programas. importante ento que o leitor digite, compile e
+execute os exemplos apresentados.
Curso de C da Engenharia Eltrica da UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c110.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c110.html"
new file mode 100644
index 00000000..75794804
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c110.html"
@@ -0,0 +1,300 @@
+
+
+
+
+
+Sumrio: Curso de C
+
+
+
+
+
+
Sumrio
+
+
+
+
+
+Nesta pgina apresentamos de maneira mais detalhada todos os tpicos que sero
+estudados no curso. No utilize esta pgina para navegar: prefira a utilizao da
+barra lateral esquerda, ou as setas ao final de cada pgina.
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c210.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c210.html"
new file mode 100644
index 00000000..db9677ef
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c210.html"
@@ -0,0 +1,33 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
O C "Case Sensitive"
+
+
Vamos comear o nosso curso ressaltando um ponto de suma importncia: o C
+"Case Sensitive", isto , maisculas e minsculas fazem diferena. Se
+se declarar uma varivel com o nome soma ela ser diferente de Soma, SOMA,
+SoMa ou sOmA. Da mesma maneira, os comandos do C if e for, por
+exemplo, s podem ser escritos em minsculas pois seno o compilador no ir
+interpret-los como sendo comandos, mas sim como variveis.
A linha #include <stdio.h> diz ao compilador que ele deve incluir o
+arquivo-cabealho stdio.h. Neste arquivo existem declaraes de funes teis
+para entrada e sada de dados (std = standard, padro em ingls; io = Input/Output,
+entrada e sada ==> stdio = Entrada e sada padronizadas). Toda vez que voc quiser
+usar uma destas funes deve-se incluir este comando. O C possui diversos
+arquivos-cabealhos.
+
+
Quando fazemos um programa, uma boa idia usar comentrios que ajudem a
+elucidar o funcionamento do mesmo. No caso acima temos um comentrio: /* Um Primeiro
+Programa */. O compilador C desconsidera qualquer coisa que esteja comeando com /*
+e terminando com */. Um comentrio pode, inclusive, ter mais de uma linha.
+
+
A linha int main() indica que estamos definindo uma funo de nome main.
+Todos os programas em C tm que ter uma funo main, pois esta funo que
+ser chamada quando o programa for executado. O contedo da funo delimitado por
+chaves { }. O cdigo que estiver dentro das chaves ser executado sequencialmente
+quando a funo for chamada. A palavra int indica que esta funo retorna um inteiro.
+O que significa este retorno ser visto posteriormente, quando estudarmos um pouco mais
+detalhadamente as funes do C. A ltima linha do programa, return(0);
+, indica o nmero inteiro que est sendo retornado pela funo, no caso o nmero 0.
+
+
A nica coisa que o programa realmente faz chamar a funo printf(),
+passando a string (uma string uma seqncia de caracteres, como veremos brevemente) "Ola!
+Eu estou vivo!\n" como argumento. por causa do uso da funo printf()
+pelo programa que devemos incluir o arquivo- cabealho stdio.h . A funo printf()
+neste caso ir apenas colocar a string na tela do computador. O \n uma
+constante chamada de constante barra invertida. No caso, o \n a constante
+barra invertida de "new line" e ele interpretado como um comando de mudana
+de linha, isto , aps imprimir Ola! Eu estou vivo! o cursor passar para a
+prxima linha. importante observar tambm que os comandos do C terminam com ;
+.
+
+
Podemos agora tentar um programa mais complicado:
+
+
+
#include <stdio.h>
+ int main ()
+ {
+ int Dias; /* Declaracao de Variaveis */
+ float Anos;
+ printf ("Entre com o nmero de dias: "); /* Entrada de Dados */
+ scanf ("%d",&Dias);
+ Anos=Dias/365.25; /* Conversao Dias->Anos */
+ printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos);
+ return(0);
+ }
+
+
Vamos entender como o programa acima funciona. So declaradas duas variveis chamadas
+Dias e Anos. A primeira um int (inteiro) e a segunda um float
+(ponto flutuante). As variveis declaradas como ponto flutuante existem para armazenar
+nmeros que possuem casas decimais, como 5,1497.
+
+
feita ento uma chamada funo printf(), que coloca uma mensagem na
+tela.
+
+
Queremos agora ler um dado que ser fornecido pelo usurio e coloc-lo na
+varivel inteira Dias. Para tanto usamos a funo scanf(). A string "%d"
+diz funo que iremos ler um inteiro. O segundo parmetro passado funo diz
+que o dado lido dever ser armazenado na varivel Dias. importante ressaltar a
+necessidade de se colocar um & antes do nome da varivel a ser lida quando se
+usa a funo scanf(). O motivo disto s ficar claro mais tarde. Observe que,
+no C, quando temos mais de um parmetro para uma funo, eles sero separados por
+vrgula.
+
+
Temos ento uma expresso matemtica simples que atribui a Anos o valor
+de Dias dividido por 365.25 (365.25 uma constante ponto flutuante 365,25). Como Anos
+ uma varivel float o compilador far uma converso automtica entre os tipos
+das variveis (veremos isto com detalhes mais tarde).
+
+
A segunda chamada funo printf() tem trs argumentos. A string "\n\n%d
+dias equivalem a %f anos.\n" diz funo para pular duas linhas, colocar um
+inteiro na tela, colocar a mensagem " dias equivalem a ", colocar um
+valor float na tela, colocar a mensagem " anos." e pular
+outra linha. Os outros parmetros so as variveis, Dias e Anos,
+das quais devem ser lidos os valores do inteiro e do float, respectivamente.
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
1 - Veja como voc est. O que faz o seguinte
+programa?
+ #include
+<stdio.h>
+ int main()
+ {
+ int x;
+
+scanf("%d",&x);
+
+printf("%d",x);
+ return(0);
+
+}
Uma funo um bloco de cdigo de programa que pode ser usado diversas vezes em
+sua execuo. O uso de funes permite que o programa fique mais legvel, mais bem
+estruturado. Um programa em C consiste, no fundo, de vrias funes colocadas juntas.
Este programa ter o mesmo resultado que o primeiro exemplo da seo
+anterior. O que ele faz definir uma funo mensagem() que coloca uma
+string na tela e retorna 0. Esta funo chamada a partir de main() , que, como
+j vimos, tambm uma funo. A diferena fundamental entre main e as demais
+funes do problema que main uma funo especial, cujo diferencial o fato de
+ser a primeira funo a ser executada em um programa.
+
+
+
+
Argumentos
+
+
Argumentos so as entradas que a funo recebe. atravs dos argumentos que
+passamos parmetros para a funo. J vimos funes com argumentos. As
+funes printf() e scanf() so funes que recebem argumentos. Vamos
+ver um outro exemplo simples de funo com argumentos:
+
+
+
+
#include <stdio.h>
+
+ int square (int x) /* Calcula o quadrado de x */
+ {
+ printf ("O quadrado e %d",(x*x));
+ return(0);
+ }
+
+ int main ()
+ {
+ int num;
+ printf ("Entre com um numero: ");
+ scanf ("%d",&num);
+ printf ("\n\n");
+ square(num);
+ return(0);
+ }
+
+
Na definio de square() dizemos que a funo receber um argumento inteiro
+x. Quando fazemos a chamada funo, o inteiro num passado como
+argumento. H alguns pontos a observar. Em primeiro lugar temos de satisfazer aos
+requesitos da funo quanto ao tipo e quantidade de argumentos quando a chamamos.
+Apesar de existirem algumas converses de tipo, que o C faz automaticamente,
+importante ficar atento. Em segundo lugar, no importante o nome da varivel que se
+passa como argumento, ou seja, a varivel num, ao ser passada como argumento para square()
+ copiada para a varivel x. Dentro de square() trabalha-se apenas com x.
+Se mudarmos o valor de x dentro de square() o valor de num na
+funo main() permanece inalterado.
+
+
Vamos dar um exemplo de funo de mais de uma varivel. Repare que, neste
+caso, os argumentos so separados por vrgula e que deve-se explicitar o tipo de cada um
+dos argumentos, um a um. Note, tambm, que os argumentos passados para a funo no
+necessitam ser todos variveis porque mesmo sendo constantes sero copiados para a
+varivel de entrada da funo.
+
+
+
+
#include <stdio.h>
+
+
+
int mult (float a, float b,float c) /* Multiplica 3 numeros */
+ {
+ printf ("%f",a*b*c);
+ return(0);
+ }
+
+ int main ()
+ {
+ float x,y;
+ x=23.5;
+ y=12.9;
+ mult (x,y,3.87);
+ return(0);
+ }
+
+
Retornando valores
+
+
Muitas vezes necessrio fazer com que uma funo retorne um valor. As funes
+que vimos at aqui estavam retornando o nmero 0. Podemos especificar um tipo de retorno
+indicando-o antes do nome da funo. Mas para dizer ao C o que vamos retornar
+precisamos da palavra reservada return. Sabendo disto fica fcil fazer uma
+funo para multiplicar dois inteiros e que retorna o resultado da multiplicao.
+Veja:
+
+
+
+
#include <stdio.h>
+ int prod (int x,int y)
+ {
+ return (x*y);
+ }
+
+ int main ()
+ {
+ int saida;
+ saida=prod (12,7);
+ printf ("A saida e: %d\n",saida);
+ return(0);
+ }
+
+
Veja que, como prod retorna o valor de 12 multiplicado por 7, este valor pode ser usado
+em uma expresso qualquer. No programa fizemos a atribuio deste resultado
+varivel saida, que posteriormente foi impressa usando o printf. Uma observao
+adicional: se no especificarmos o tipo de retorno de uma funo, o compilador C
+automaticamente supor que este tipo inteiro. Porm, no uma boa prtica no se
+especificar o valor de retorno e, neste curso, este valor ser sempre especificado.
+
+
Com relao funo main, o retorno sempre ser inteiro. Normalmente faremos a
+funo main retornar um zero quando ela executada sem qualquer tipo de erro.
+
+
Mais um exemplo de funo, que agora recebe dois floats e tambm retorna um float::
Os caracteres so um tipo de dado: o char. O C trata os caracteres ('a', 'b',
+'x', etc ...) como sendo variveis de um byte (8 bits). Um bit
+ a menor unidade de armazenamento de informaes em um computador. Os inteiros (ints)
+tm um nmero maior de bytes. Dependendo da implementao do compilador, eles
+podem ter 2 bytes (16 bits) ou 4 bytes (32 bits). Isto
+ser melhor explicado na aula
+3. Na linguagem C, tambm podemos usar um char para armazenar valores
+numricos inteiros, alm de us-lo para armazenar caracteres de texto. Para indicar um
+caractere de texto usamos apstrofes. Veja um exemplo de programa que usa caracteres:
+
No programa acima, %c indica que printf() deve colocar um caractere na
+tela. Como vimos anteriormente, um char tambm usado para armazenar
+um nmero inteiro. Este nmero conhecido como o cdigo ASCII correspondente ao
+caractere. Veja o programa abaixo:
+
+
#include <stdio.h>
+int main ()
+{
+ char Ch;
+ Ch='D';
+ printf ("%d",Ch); /* Imprime o caracter como inteiro */
+ return(0);
+}
+
+
Este programa vai imprimir o nmero 68 na tela, que o cdigo ASCII correspondente
+ao caractere 'D' (d maisculo).
+
+
Muitas vezes queremos ler um caractere fornecido pelo usurio. Para isto as funes
+mais usadas, quando se est trabalhando em ambiente DOS ou Windows, so getch() e
+getche(). Ambas retornam o caractere pressionado. getche() imprime o
+caractere na tela antes de retorn-lo e getch() apenas retorna o caractere
+pressionado sem imprim-lo na tela. Ambas as funes podem ser encontradas no arquivo
+de cabealho conio.h. Geralmente estas funes no esto disponveis
+em ambiente Unix (compiladores cc e gcc), pois no fazem parte do
+padro ANSI. Podem ser substitudas pela funo scanf(),
+porm sem as mesmas funcionalidades. Eis um exemplo que usa a funo getch(), e
+seu correspondente em ambiente Unix:
+
+
+
#include <stdio.h>
+#include <conio.h>
+/* Este programa usa conio.h . Se voc no tiver a conio, ele no funcionar no Unix */
+int main ()
+{
+ char Ch;
+ Ch=getch();
+ printf ("Voce pressionou a tecla %c",Ch);
+ return(0);
+}
+
+
Equivalente ANSI-C para o ambiente Unix do programa acima, sem usar getch():
A principal diferena da verso que utiliza getch() para a verso que no utiliza
+getch() que no primeiro caso o usurio simplesmente aperta a tecla e o sistema l
+diretamente a tecla pressionada. No segundo caso, necessrio apertar tambm a tecla
+<ENTER>. Lembre-se que, se voc quiser manter a portabilidade de seus
+programas, no deve utilizar as funes getch e getche, pois estas no fazem parte do
+padro ANSI C !!!
+
+
+
+
Strings
+
+
No C uma string um vetor de caracteres terminado com um caractere nulo. O caracter
+nulo um caractere com valor inteiro igual a zero (cdigo ASCII igual a 0). O
+terminador nulo tambm pode ser escrito usando a conveno de barra invertida do C como
+sendo '\0'. Embora o assunto vetores seja discutido posteriormente,
+veremos aqui os fundamentos necessrios para que possamos utilizar as strings. Para
+declarar uma string, podemos usar o seguinte formato geral:
+
+
char nome_da_string[tamanho];
+
+
Isto declara um vetor de caracteres (uma string) com nmero de posies igual a tamanho.
+Note que, como temos que reservar um caractere para ser o terminador nulo, temos que
+declarar o comprimento da string como sendo, no mnimo, um caractere maior que a maior
+string que pretendemos armazenar. Vamos supor que declaremos uma string de 7 posies e
+coloquemos a palavra Joo nela. Teremos:
+
+
+
+
+
+
+
J
+
o
+
a
+
o
+
\0
+
...
+
...
+
+
+
+
+
No caso acima, as duas clulas no usadas tm valores indeterminados. Isto acontece
+porque o C no inicializa variveis, cabendo ao programador esta tarefa. Portanto
+as nicas clulas que so inicializadas so as que contm os caracteres 'J', 'o',
+'a', 'o' e '\0' .
+
+
Se quisermos ler uma string fornecida pelo usurio podemos usar a funo gets().
+Um exemplo do uso desta funo apresentado abaixo. A funo gets() coloca o
+terminador nulo na string, quando voc aperta a tecla "Enter".
Neste programa, o tamanho mximo da string que voc pode entrar uma string de 99
+caracteres. Se voc entrar com uma string de comprimento maior, o programa ir aceitar,
+mas os resultados podem ser desastrosos. Veremos porque posteriormente.
+
+
Como as strings so vetores de caracteres, para se acessar um
+determinado caracter de uma string, basta "indexarmos", ou seja, usarmos um
+ndice para acessarmos o caracter desejado dentro da string. Suponha uma string chamada str.
+Podemos acessar a segunda letra de str da seguinte forma:
+
+
str[1] = 'a';
+
+
Por qu se est acessando a segunda letra e no a primeira? Na linguagem C, o
+ndice comea em zero. Assim, a primeira letra da string
+sempre estar na posio 0. A segunda letra sempre estar na posio 1 e assim
+sucessivamente. Segue um exemplo que imprimir a segunda letra da string
+"Joao", apresentada acima. Em seguida, ele mudar esta letra e apresentar a
+string no final.
Nesta string, o terminador nulo est na posio 4. Das posies 0 a 4, sabemos que
+temos caracteres vlidos, e portanto podemos escrev-los. Note a forma como
+inicializamos a string str com os caracteres 'J' 'o' 'a' 'o' e '\0'
+simplesmente declarando char str[10] = "Joao". Veremos, posteriormente que
+"Joao" (uma cadeia de caracteres entre aspas) o que chamamos de string
+constante, isto , uma cadeia de caracteres que est pr-carregada com valores que no
+podem ser modificados. J a string str uma string varivel, pois podemos modificar o
+que nela est armazenado, como de fato fizemos.
+
+
No programa acima, %s indica que printf() deve colocar uma string na
+tela. Vamos agora fazer uma abordagem inicial s duas funes que j temos usado para
+fazer a entrada e sada.
+
+
+
+
printf
+
+
A funo printf() tem a seguinte forma geral:
+
+
printf (string_de_controle,lista_de_argumentos);
+
+
Teremos, na string de controle, uma descrio de tudo que a funo vai
+colocar na tela. A string de controle mostra no apenas os caracteres que devem ser
+colocados na tela, mas tambm quais as variveis e suas respectivas posies. Isto
+feito usando-se os cdigos de controle, que usam a notao %. Na string de
+controle indicamos quais, de qual tipo e em que posio esto as variveis a serem
+apresentadas. muito importante que, para cada cdigo de controle, tenhamos um
+argumento na lista de argumentos. Apresentamos agora alguns dos cdigos %:
+
+
+
+
+
+
+
Cdigo
+
Significado
+
+
+
%d
+
Inteiro
+
+
+
%f
+
Float
+
+
+
%c
+
Caractere
+
+
+
%s
+
String
+
+
+
%%
+
Coloca na tela um %
+
+
+
+
+
+
Vamos ver alguns exemplos de printf() e o que eles exibem:
+
+
+
printf ("Teste %% %%") -> "Teste % %"
+printf ("%f",40.345) -> "40.345"
+printf ("Um caractere %c e um inteiro %d",'D',120) -> "Um caractere D e um inteiro 120"
+printf ("%s e um exemplo","Este") -> "Este e um exemplo"
+printf ("%s%d%%","Juros de ",10) -> "Juros de 10%"
Usando a funo scanf() podemos pedir dados ao usurio. Um exemplo de
+uso, pode ser visto acima. Mais uma vez, devemos ficar atentos a
+fim de colocar o mesmo nmero de argumentos que o de cdigos de controle na string de
+controle. Outra coisa importante lembrarmos de colocar o & antes das
+variveis da lista de argumentos. impossvel justificar isto agora, mas veremos
+depois a razo para este procedimento. Maiores detalhes sobre a funo scanf()
+sero vistos posteriormente, mas podem ser consultados de
+antemo pelos interessados.
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est:
+
+
a) Escreva um programa que leia um caracter digitado pelo usurio,
+imprima o caracter digitado e o cdigo ASCII correspondente a este caracter.
+
+
b) Escreva um programa que leia duas strings e
+as coloque na tela. Imprima tambm a segunda letra de cada string.
Os comandos de controle de fluxo so aqueles que permitem ao programador alterar a
+sequncia de execuo do programa. Vamos dar uma breve introduo a dois comandos de
+controle de fluxo. Outros comandos sero estudados posteriormente.
+
+
+
+
if
+
+
O comando if representa uma tomada de deciso do tipo "SE isto ENTO
+aquilo". A sua forma geral :
+
+
if (condio) declarao;
+
+
A condio do comando if uma expresso que ser avaliada. Se o
+resultado for zero a declarao no ser executada. Se o resultado for qualquer coisa
+diferente de zero a declarao ser executada. A declarao pode ser um bloco de
+cdigo ou apenas um comando. interessante notar que, no caso da declarao ser um
+bloco de cdigo, no necessrio (e nem permitido) o uso do ; no final do
+bloco. Isto uma regra geral para blocos de cdigo. Abaixo apresentamos um exemplo:
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int num;
+ printf ("Digite um numero: ");
+ scanf ("%d",&num);
+ if (num>10) printf ("\n\nO numero e maior que 10");
+ if (num==10)
+ {
+ printf ("\n\nVoce acertou!\n");
+ printf ("O numero e igual a 10.");
+ }
+ if (num<10) printf ("\n\nO numero e menor que 10");
+ return (0);
+}
+
+
No programa acima a expresso num>10 avaliada e retorna um valor
+diferente de zero, se verdadeira, e zero, se falsa. No exemplo, se num for maior que 10,
+ser impressa a frase: "O nmero e maior que 10". Repare que, se o
+nmero for igual a 10, estamos executando dois comandos. Para que isto fosse possvel,
+tivemos que agrupa-los em um bloco que se inicia logo aps a comparao e termina aps
+o segundo printf. Repare tambm que quando queremos testar igualdades usamos o operador ==
+e no =. Isto porque o operador = representa apenas uma
+atribuio. Pode parecer estranho primeira vista, mas se escrevssemos
+
+
+
+
if (num=10) ... /* Isto esta errado */
+
+
o compilador iria atribuir o valor 10 varivel num e a expresso num=10
+iria retornar 10, fazendo com que o nosso valor de num fosse modificado e fazendo
+com que a declarao fosse executada sempre. Este problema gera erros frequentes entre
+iniciantes e, portanto, muita ateno deve ser tomada.
+
+
Os operadores de comparao so: == (igual), != (diferente
+de), > (maior que), < (menor que), >= (maior ou
+igual), <= (menor ou igual).
+
+
+
+
for
+
+
O loop (lao) for usado para repetir um comando, ou bloco de comandos,
+diversas vezes, de maneira que se possa ter um bom controle sobre o loop. Sua forma geral
+:
+
+
for (inicializao;condio;incremento) declarao;
+
+
A declarao no comando for tambm pode ser um bloco ({ } ) e neste caso o ; omitido. O melhor modo de se entender o loop for ver
+de que maneira ele funciona "por dentro". O loop for equivalente a se
+fazer o seguinte:
+
+
+
+
+
inicializao;
+
if (condio)
+
{
+
declarao;
+
incremento;
+
"Volte para o comando if"
+
}
+
+
+
+
Podemos ver que o for executa a inicializao incondicionalmente e testa a
+condio. Se a condio for falsa ele no faz mais nada. Se a condio for
+verdadeira ele executa a declarao, o incremento e volta a testar a condio. Ele
+fica repetindo estas operaes at que a condio seja falsa. Abaixo vemos um
+programa que coloca os primeiros 100 nmeros na tela:
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int count;
+ for (count=1;count<=100;count=count+1) printf ("%d ",count);
+ return(0);
+}
+
+
Outro exemplo interessante mostrado a seguir: o programa l uma string e conta
+quantos dos caracteres desta string so iguais letra 'c'
+
+
#include <stdio.h>
+int main ()
+{
+ char string[100]; /* String, ate' 99 caracteres
+*/
+ int i, cont;
+ printf("\n\nDigite uma frase: ");
+ gets(string); /* Le a string */
+ printf("\n\nFrase digitada:\n%s", string);
+ cont = 0;
+ for (i=0; string[i] != '\0'; i=i+1)
+ {
+ if ( string[i] == 'c' )
+ /* Se for a letra 'c' */
+ cont = cont +1;
+ /* Incrementa o contador de caracteres */
+
+ }
+ printf("\nNumero de caracteres c = %d", cont);
+ return(0);
+}
+
+
+
Note o teste que est sendo feito no for: o caractere armazenado em string[i]
+comparado com '\0' (caractere final da string). Caso o caractere seja diferente de '\0', a
+condio verdadeira e o bloco do for executado. Dentro do bloco existe um if que
+testa se o caractere igual a 'c'. Caso seja, o contador de caracteres c
+incrementado.
+
+
+
+
Mais um exemplo, agora envolvendo caracteres:
+
+
+/* Este programa imprime o alfabeto: letras maisculas */
+
+#include <stdio.h>
+int main()
+{
+ char letra;
+ for(letra = 'A' ; letra <= 'Z' ; letra =letra+1)
+ printf("%c ", letra);
+}
+
+
+
Este programa funciona porque as letras maisculas de A a Z possuem cdigo inteiro
+sequencial.
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
a) Explique porque est errado fazer
+
+
if (num=10) ...
+
+
+
O que ir acontecer?
+
+
b) Escreva um programa que coloque os nmeros de 1 a 100 na tela
+na ordem inversa (comeando em 100 e terminando em 1).
+
+
c) Escreva um programa que leia uma string, conte quantos caracteres desta string
+so iguais a 'a' e substitua os que forem iguais a 'a' por 'b'. O programa deve imprimir
+o nmero de caracteres modificados e a string modificada.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c260.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c260.html"
new file mode 100644
index 00000000..417c1102
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c260.html"
@@ -0,0 +1,46 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Comentrios
+
+
Como j foi dito, o uso de comentrios torna o cdigo do programa mais fcil de se
+entender. Os comentrios do C devem comear com /* e terminar com */. O C
+padro no permite comentrios aninhados (um dentro do outro), mas alguns compiladores
+os aceitam.
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est:
+
+
Escreva comentrios para os programas dos exerccios j realizados.
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c270.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c270.html"
new file mode 100644
index 00000000..65fab99a
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c270.html"
@@ -0,0 +1,80 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Palavras Reservadas do C
+
+
Todas as linguagens de programao tm palavras reservadas. As palavras reservadas
+no podem ser usadas a no ser nos seus propsitos originais, isto , no podemos
+declarar funes ou variveis com os mesmos nomes. Como o C "case
+sensitive" podemos declarar uma varivel For, apesar de haver uma palavra
+reservada for, mas isto no uma coisa recomendvel de se fazer pois pode gerar
+confuso.
+
+
Apresentamos a seguir as palavras reservadas do ANSI C. Veremos o significado
+destas palavras chave medida em que o curso for progredindo:
+
+
+
+
+
+
+
auto
+ break
+ case
+ char
+ const
+ continue
+ default
+ do
+
double
+ else
+ enum
+ extern
+ float
+ for
+ goto
+ if
+
int
+ long
+ register
+ return
+ short
+ signed
+ sizeof
+ static
+
struct
+ switch
+ typedef
+ union
+ unsigned
+ void
+ volatile
+ while
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c310.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c310.html"
new file mode 100644
index 00000000..94324e68
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c310.html"
@@ -0,0 +1,37 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Nomes de Variveis
+
+
As variveis no C podem ter qualquer nome se duas condies forem satisfeitas: o
+nome deve comear com uma letra ou sublinhado (_) e os caracteres subsequentes devem ser
+letras, nmeros ou sublinhado (_). H apenas mais duas restries: o nome de uma
+varivel no pode ser igual a uma palavra reservada, nem igual ao nome de uma funo
+declarada pelo programador, ou pelas bibliotecas do C. Variveis de at 32 caracteres
+so aceitas. Mais uma coisa: bom sempre lembrar que o C "case sensitive"
+e portanto deve-se prestar ateno s maisculas e minsculas.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c315.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c315.html"
new file mode 100644
index 00000000..c3e27da6
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c315.html"
@@ -0,0 +1,31 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Quanto aos nomes de variveis...
+
+
+
uma prtica tradicional do C, usar letras minsculas para nomes de variveis e
+ maisculas para nomes de constantes. Isto facilita na hora da leitura do cdigo;
+
Quando se escreve cdigo usando nomes de variveis em portugus, evita-se possveis
+ conflitos com nomes de rotinas encontrados nas diversas bibliotecas, que so em sua
+ maioria absoluta, palavras em ingls.
+
+
+
+
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c320.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c320.html"
new file mode 100644
index 00000000..25060250
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c320.html"
@@ -0,0 +1,180 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Os Tipos do C
+
+
O C tem 5 tipos bsicos: char, int, float, void, double.
+Destes no vimos ainda os dois ltimos: O double o ponto flutuante duplo e
+pode ser visto como um ponto flutuante com muito mais preciso. O void o tipo vazio,
+ou um "tipo sem tipo". A aplicao deste "tipo" ser vista
+posteriormente.
+
+
Para cada um dos tipos de variveis existem os modificadores de
+tipo. Os modificadores de tipo do C so quatro: signed, unsigned, long
+e short. Ao float no se pode aplicar nenhum e ao double pode-se
+aplicar apenas o long. Os quatro modificadores podem ser aplicados a inteiros. A
+inteno que short e long devam prover tamanhos diferentes de inteiros
+onde isto for prtico. Inteiros menores (short) ou maiores (long).
+int normalmente ter o tamanho natural para uma determinada mquina. Assim, numa
+mquina de 16 bits, int provavelmente ter 16 bits. Numa mquina de 32, int
+dever ter 32 bits. Na verdade, cada compilador livre para escolher tamanhos adequados
+para o seu prprio hardware, com a nica restrio de que shorts ints e ints
+devem ocupar pelo menos 16 bits, longs ints pelo menos 32 bits, e short int
+no pode ser maior que int, que no pode ser maior que long int. O
+modificador unsigned serve para especificar variveis sem sinal. Um unsigned
+int ser um inteiro que assumir apenas valores positivos. A seguir esto
+listados os tipos de dados permitidos e seu valores mximos e mnimos em um compilador
+tpico para um hardware de 16 bits. Tambm nesta tabela est especificado o formato que
+deve ser utilizado para ler os tipos de dados com a funo scanf():
+
+
+
+
+
+
Tipo
+
Num de bits
+
Formato para leitura com scanf
+
Intervalo
+
+
+
Inicio
+
Fim
+
+
+
char
+
8
+
%c
+
-128
+
127
+
+
+
unsigned char
+
8
+
%c
+
0
+
255
+
+
+
signed char
+
8
+
%c
+
-128
+
127
+
+
+
int
+
16
+
%i
+
-32.768
+
32.767
+
+
+
unsigned int
+
16
+
%u
+
0
+
65.535
+
+
+
signed int
+
16
+
%i
+
-32.768
+
32.767
+
+
+
short int
+
16
+
%hi
+
-32.768
+
32.767
+
+
+
unsigned short int
+
16
+
%hu
+
0
+
65.535
+
+
+
signed short int
+
16
+
%hi
+
-32.768
+
32.767
+
+
+
long int
+
32
+
%li
+
-2.147.483.648
+
2.147.483.647
+
+
+
signed long int
+
32
+
%li
+
-2.147.483.648
+
2.147.483.647
+
+
+
unsigned long int
+
32
+
%lu
+
0
+
4.294.967.295
+
+
+
float
+
32
+
%f
+
3,4E-38
+
3.4E+38
+
+
+
double
+
64
+
%lf
+
1,7E-308
+
1,7E+308
+
+
+
long double
+
80
+
%Lf
+
3,4E-4932
+
3,4E+4932
+
+
+
+
+
O tipo long double o tipo de ponto flutuante com maior preciso.
+importante observar que os intervalos de ponto flutuante, na tabela acima, esto
+indicados em faixa de expoente, mas os nmeros podem assumir valores tanto
+positivos quanto negativos.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c330.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c330.html"
new file mode 100644
index 00000000..bd2239b2
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c330.html"
@@ -0,0 +1,156 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Declarao e Inicializao de Variveis
+
+
As variveis no C devem ser declaradas antes de serem usadas. A forma geral da
+declarao de variveis :
+
+
tipo_da_varivel lista_de_variveis;
+
+
As variveis da lista de variveis tero todas o mesmo tipo e devero ser
+separadas por vrgula. Como o tipo default do C o int, quando vamos declarar
+variveis int com algum dos modificadores de tipo, basta colocar o nome do
+modificador de tipo. Assim um long basta para declarar um long int.
+
+
Por exemplo, as declaraes
+
+
char ch, letra;
+ long count;
+ float pi;
+
+
declaram duas variveis do tipo char (ch e letra), uma variavel long int
+(count) e um float pi.
+
+
H trs lugares nos quais podemos declarar variveis. O primeiro fora de
+todas as funes do programa. Estas variveis so chamadas variveis globais e
+podem ser usadas a partir de qualquer lugar no programa. Pode-se dizer que, como elas
+esto fora de todas as funes, todas as funes as vem. O segundo lugar no qual se
+pode declarar variveis no incio de um bloco de cdigo. Estas
+variveis so chamadas locais e s tm validade dentro do bloco no qual so
+declaradas, isto , s a funo qual ela pertence sabe da existncia desta
+varivel, dentro do bloco no qual foram declaradas. O terceiro lugar onde se pode
+declarar variveis na lista de parmetros de uma funo. Mais uma
+vez, apesar de estas variveis receberem valores externos, estas variveis so
+conhecidas apenas pela funo onde so declaradas.
+
+
Veja o programa abaixo:
+
+
#include <stdio.h>
+ int contador;
+
+
int func1(int j) {
+
+
/* aqui viria o cdigo da funcao
+ ...
+ */
+
+
}
+
+
+ int main()
+ {
+ char condicao;
+
+
int i;
+
+
for (i=0; i<100; i=i+1)
+ { /* Bloco do for */
+
+
float f2;
+ /* etc ...
+ ...
+ */
+
+
func1(i);
+ }
+ /* etc ... */
+ return(0);
+ }
+
+
+
+
A varivel contador uma varivel global, e acessvel de qualquer parte
+do programa. As variveis condio e i, s existem dentro de
+main(), isto so variveis locais de main. A varivel float f2 um exemplo
+de uma varivel de bloco, isto , ela somente conhecida dentro do bloco do for,
+pertencente funo main. A varivel inteira j um exemplo de declarao
+na lista de parmetros de uma funo (a funo func1).
+
+
As regras que regem onde uma varivel vlida chamam-se regras de escopo
+da varivel. H mais dois detalhes que devem ser ressaltados. Duas variveis globais
+no podem ter o mesmo nome. O mesmo vale para duas variveis locais de uma mesma
+funo. J duas variveis locais, de funes diferentes, podem ter o mesmo nome sem
+perigo algum de conflito.
+
+
Podemos inicializar variveis no momento de sua declarao. Para fazer isto
+podemos usar a forma geral
+
+
tipo_da_varivel nome_da_varivel = constante;
+
+
Isto importante pois quando o C cria uma varivel ele no a
+inicializa. Isto significa que at que um primeiro valor seja atribudo nova
+varivel ela tem um valor indefinido e que no pode ser utilizado para nada. Nunca
+presuma que uma varivel declarada vale zero ou qualquer outro valor. Exemplos de
+inicializao so dados abaixo:
+
+
+
+
char ch='D';
+ int count=0;
+ float pi=3.141;
+
+
Ressalte-se novamente que, em C, uma varivel tem que ser declarada no incio
+de um bloco de cdigo. Assim, o programa a seguir no vlido em C (embora seja
+vlido em C++).
+
+
int main()
+{
+ int i;
+ int j;
+ j = 10;
+ int k = 20; /* Esta declaracao de varivel no vlida, pois no est sendo feita no incio do bloco */
+ return(0);
+}
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est:
+
+
Escreva um programa que declare uma varivel inteira global e atribua
+o valor 10 a ela. Declare outras 5 variveis inteiras locais ao programa principal e
+atribua os valores 20, 30, ..., 60 a elas. Declare 6 variveis caracteres e
+atribua a elas as letras c, o, e, l, h, a . Finalmente, o programa dever
+imprimir, usando todas as variaveis declaradas:
+
+
As variaveis inteiras contem os numeros: 10,20,30,40,50,60
+
+
O animal contido nas variaveis caracteres e' a coelha
Constantes so valores que so mantidos fixos pelo compilador. J usamos constantes
+neste curso. So consideradas constantes, por exemplo, os nmeros e caracteres como
+45.65 ou 'n', etc...
+
+
+
+
Constantes dos tipos bsicos
+
+
Abaixo vemos as constantes relativas aos tipos bsicos do C:
+
+
+
+
Tipo de Dado
+
+
Exemplos de
+ Constantes
+
+
+
char
+
'b' '\n' '\0'
+
+
+
int
+
2 32000 -130
+
+
+
long int
+
100000 -467
+
+
+
short int
+
100 -30
+
+
+
unsigned int
+
50000 35678
+
+
+
float
+
0.0 23.7 -12.3e-10
+
+
+
double
+
12546354334.0 -0.0000034236556
+
+
+
+
+
+
Constantes hexadecimais e octais
+
+
Muitas vezes precisamos inserir constantes hexadecimais (base dezesseis) ou octais
+(base oito) no nosso programa. O C permite que se faa isto. As constantes hexadecimais
+comeam com 0x. As constantes octais comeam em 0. Alguns exemplos:
+
+
+
+
+
Constante
+
Tipo
+
+
+
0xEF
+
Constante Hexadecimal (8 bits)
+
+
+
0x12A4
+
Constante Hexadecimal (16 bits)
+
+
+
03212
+
Constante Octal (12 bits)
+
+
+
034215432
+
Constante Octal (24 bits)
+
+
+
+
+
Nunca escreva portanto 013 achando que o C vai compilar isto como se fosse 13. Na
+linguagem C 013 diferente de 13!
como o C trata strings. Vamos agora alertar para o fato de que uma
+string "Joao" na realidade uma constante string. Isto implica, por
+exemplo, no fato de que 't' diferente de "t", pois 't'
+ um char enquanto que "t" uma constante string com dois chars
+onde o primeiro 't' e o segundo '\0'.
+
+
+
+
Constantes de barra invertida
+
+
O C utiliza, para nos facilitar a tarefa de programar, vrios cdigos chamados
+cdigos de barra invertida. Estes so caracteres que podem ser usados como qualquer
+outro. Uma lista com alguns dos cdigos de barra invertida dada a seguir:
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c350.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c350.html"
new file mode 100644
index 00000000..78eea4e8
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c350.html"
@@ -0,0 +1,153 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Operadores Aritmticos e de Atribuio
+
+
Os operadores aritmticos so usados para desenvolver operaes matemticas. A
+seguir apresentamos a lista dos operadores aritmticos do C:
+
+
+
+
+
+
Operador
+ +
+ -
+ *
+ /
+ %
+ ++
+ --
+
Ao
+ Soma (inteira e ponto flutuante)
+ Subtrao ou Troca de sinal (inteira e ponto flutuante)
+ Multiplicao (inteira e ponto flutuante)
+ Diviso (inteira e ponto flutuante)
+ Resto de diviso (de inteiros)
+ Incremento (inteiro e ponto flutuante)
+ Decremento (inteiro e ponto flutuante)
+
+
+
+
O C possui operadores unrios e binrios. Os unrios agem sobre uma varivel
+apenas, modificando ou no o seu valor, e retornam o valor final da varivel. Os
+binrios usam duas variveis e retornam um terceiro valor, sem alterar as variveis
+originais. A soma um operador binrio pois pega duas variveis, soma seus valores,
+sem alterar as variveis, e retorna esta soma. Outros operadores binrios so os
+operadores - (subtrao), *, / e %. O operador - como
+troca de sinal um operador unrio que no altera a varivel sobre a qual
+aplicado, pois ele retorna o valor da varivel multiplicado por -1.
+
+
O operador / (diviso) quando aplicado a variveis inteiras, nos fornece o resultado
+da diviso inteira; quando aplicado a variveis em ponto flutuante nos fornece o
+resultado da diviso "real". O operador % fornece o resto da diviso de dois
+inteiros. Assim seja o seguinte trecho de cdigo:
+
+
int
+a = 17, b = 3;
+ int x, y;
+ float z = 17.
+, z1, z2;
+ x = a / b;
+ y = a % b;
+ z1 = z / b;
+ z2 = a/b;
+
+
ao final da execuo destas linhas, os valores calculados seriam x = 5, y
+= 2, z1 = 5.666666 e z2 = 5.0 . Note que, na linha correspondente a z2,
+primeiramente feita uma diviso inteira (pois os dois operandos so inteiros).
+Somente aps efetuada a diviso que o resultado atribudo a uma varivel float.
+
+
Os operadores de incremento e decremento so unrios que alteram a varivel
+sobre a qual esto aplicados. O que eles fazem incrementar ou decrementar, a varivel
+sobre a qual esto aplicados, de 1. Ento
+
+
+
x++;
+ x--;
+
+
so equivalentes a
+
+
x=x+1;
+ x=x-1;
+
+
Estes operadores podem ser pr-fixados ou ps- fixados. A diferena que quando
+so pr-fixados eles incrementam e retornam o valor da varivel j incrementada.
+Quando so ps-fixados eles retornam o valor da varivel sem o incremento e depois
+incrementam a varivel. Ento, em
+
+
+
+
x=23;
+ y=x++;
+
+
teremos, no final, y=23 e x=24. Em
+
+
x=23;
+ y=++x;
+
+
teremos, no final, y=24 e x=24. Uma curiosidade: a linguagem de
+programao C++ tem este nome pois ela seria um "incremento" da linguagem C
+padro. A linguagem C++ igual a linguagem C s que com extenses que permitem a
+programao orientada a objeto, o que um recurso extra.
+
+
O operador de atribuio do C o =. O que ele faz pegar o valor
+direita e atribuir varivel da esquerda. Alm disto ele retorna o valor que ele
+atribuiu. Isto faz com que as seguintes expresses sejam vlidas:
A expresso 1 vlida, pois quando fazemos z=1.5 ela retorna 1.5, que
+passado adiante, fazendo y = 1.5 e posteriormente x = 1.5. A expresso 2 ser verdadeira
+se w for diferente de zero, pois este ser o valor retornado por k=w. Pense
+bem antes de usar a expresso dois, pois ela pode gerar erros de interpretao. Voc no
+est comparando k e w. Voc est atribuindo o valor de w a k
+e usando este valor para tomar a deciso.
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est:
+
+
Diga o resultado das variveis x, y e z depois da seguinte sequncia
+de operaes:
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c360.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c360.html"
new file mode 100644
index 00000000..06d49a62
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c360.html"
@@ -0,0 +1,248 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Operadores Relacionais e Lgicos
+
+
Os operadores relacionais do C realizam comparaes entre variveis.
+So eles:
+
+
+
+
+
+
+
Operador
+ >
+ >=
+ <
+ <=
+ ==
+ !=
+
Ao
+ Maior do que
+ Maior ou igual a
+ Menor do que
+ Menor ou igual a
+ Igual a
+ Diferente de
+
+
+
+
+
Os operadores relacionais retornam verdadeiro (1) ou falso (0). Para verificar o
+funcionamento dos operadores relacionais, execute o programa abaixo:
+
+
+/* Este programa ilustra o funcionamento dos operadores relacionais. */
+#include <stdio.h>
+int main()
+{
+ int i, j;
+ printf("\nEntre com dois numeros inteiros: ");
+ scanf("%d%d", &i, &j);
+ printf("\n%d == %d %d\n", i, j, i==j);
+ printf("\n%d != %d %d\n", i, j, i!=j);
+ printf("\n%d <= %d %d\n", i, j, i<=j);
+ printf("\n%d >= %d %d\n", i, j, i>=j);
+ printf("\n%d < %d %d\n", i, j, i<j);
+ printf("\n%d > %d %d\n", i, j, i>j);
+ return(0);
+}
+
+
+
Voc pode notar que o resultado dos operadores relacionais sempre igual a 0 (falso)
+ou 1 (verdadeiro).
+
+
Para fazer operaes com valores lgicos (verdadeiro e falso) temos os
+operadores lgicos:
+
+
+
+
+
+
+
Operador
+ &&
+ ||
+ !
+
Ao
+ AND (E)
+ OR (OU)
+ NOT (NO)
+
+
+
+
+
Usando os operadores relacionais e lgicos podemos realizar uma grande gama de testes.
+A tabela-verdade destes operadores dada a seguir:
+
+
+
+
+
+
+
p
+ falso
+ falso
+ verdadeiro
+ verdadeiro
+
q
+ falso
+ verdadeiro
+ falso
+ verdadeiro
+
p AND q
+ falso
+ falso
+ falso
+ verdadeiro
+
p OR q
+ falso
+ verdadeiro
+ verdadeiro
+ verdadeiro
+
+
+
+
+
O programa a seguir ilustra o funcionamento dos operadores lgicos.
+Compile-o e faa testes com vrios valores para i e j:
+
+
+#include <stdio.h>
+int main()
+{
+ int i, j;
+ printf("informe dois nmeros(cada um sendo 0 ou 1): ");
+ scanf("%d%d", &i, &j);
+ printf("%d AND %d %d\n", i, j, i && j);
+ printf("%d OR %d %d\n", i, j, i || j);
+ printf("NOT %d %d\n", i, !i);
+}
+
+
+
Exemplo: No trecho de programa abaixo a operao j++ ser executada,
+pois o resultado da expresso lgica verdadeiro:
+
+
int i = 5, j =7;
+if ( (i > 3) && ( j <= 7) && ( i != j) ) j++;
+ V AND
+V AND V = V
+
+
Mais um exemplo. O programa abaixo, imprime na tela somente os nmeros
+pares entre 1 e 100, apesar da variao de i ocorrer de 1 em 1:
+
+
+/* Imprime os nmeros pares entre 1 e 100. */
+#include <stdio.h>
+int main()
+{
+ int i;
+ for(i=1; i<=100; i++)
+ if(!(i%2)) printf("%d ",i); /* o operador de resto dar falso (zero) */
+} /* quando usada c/ nmero par. Esse resultado*/
+ /* invertido pelo ! */
+
+
+
Operadores Lgicos Bit a Bit
+
+
O C permite que se faa operaes lgicas "bit-a- bit"
+em nmeros. Ou seja, neste caso, o nmero representado por sua forma binria e as
+operaes so feitas em cada bit dele. Imagine um nmero inteiro de 16 bits, a
+varivel i, armazenando o valor 2. A representao binria de i, ser:
+0000000000000010 (quinze zeros e um nico 1 na segunda posio da direita para a
+esquerda). Poderemos fazer operaes em cada um dos bits deste nmero. Por exemplo, se
+fizermos a negao do nmero (operao binria NOT, ou operador binrio ~ em C),
+isto , ~i, o nmero se transformar em 1111111111111101. As operaes binrias
+ajudam programadores que queiram trabalhar com o computador em "baixo nvel".
+As operaes lgicas bit a bit s podem ser usadas nos tipos char, int e
+long int. Os operadores so:
+
+
+
+
+
+
Operador
+
Ao
+
+
+
&
+
AND
+
+
+
|
+
OR
+
+
+
^
+
XOR (OR exclusivo)
+
+
+
~
+
NOT
+
+
+
>>
+
Deslocamento de bits a direita
+
+
+
<<
+
Deslocamento de bits a esquerda
+
+
+
+
+
Os operadores &, |, ^ e ~ so as operaes lgicas
+bit a bit. A forma geral dos operadores de deslocamento :
+
+
valor>>nmero_de_deslocamentos
+
+
valor<<nmero_de_deslocamentos
+
+
O nmero_de_deslocamentos indica o quanto cada bit ir ser deslocado. Por
+exemplo, para a varivel i anterior, armazenando o nmero 2:
+
+
i << 3;
+
+
far com que i agora tenha a representao binria:
+0000000000010000, isto , o valor armazenado em i passa a ser igual a 16.
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est:
+
+
Diga se as seguintes expresses sero verdadeiras ou falsas:
Expresses so combinaes de variveis, constantes e operadores. Quando montamos
+expresses temos que levar em considerao a ordem com que os operadores so
+executados, conforme a tabela de precedncias da linguagem C.
Quando o C avalia expresses onde temos variveis de tipos diferentes o compilador
+verifica se as converses so possveis. Se no so, ele no compilar o programa,
+dando uma mensagem de erro. Se as converses forem possveis ele as faz, seguindo as
+regras abaixo:
+
+
+
+
+
Todos os chars e short ints so convertidos para ints. Todos os floats
+ so convertidos para doubles.
+
Para pares de operandos de tipos diferentes: se um deles long double o outro
+ convertido para long double; se um deles double o outro convertido
+ para double; se um long o outro convertido para long; se um unsigned
+ o outro convertido para unsigned.
+
+
+
Expresses que Podem ser Abreviadas
+
+
O C admite as seguintes equivalncias, que podem ser usadas para
+simplificar expresses ou para facilitar o entendimento de um programa:
+
+
+
+
+
+
Expresso Original
+
Expresso Equivalente
+
+
+
x=x+k;
+
x+=k;
+
+
+
x=x-k;
+
x-=k;
+
+
+
x=x*k;
+
x*=k;
+
+
+
x=x/k;
+
x/=k;
+
+
+
x=x>>k;
+
x>>=k;
+
+
+
x=x<<k;
+
x<<=k;
+
+
+
x=x&k;
+
x&=k;
+
+
+
etc...
+
+
+
+
+
+
+
Encadeando expresses: o operador ,
+
+
O operador , determina uma lista de expresses que devem ser executadas
+sequencialmente. Em sntese, a vrgula diz ao compilador: execute as duas expresses
+separadas pela vrgula, em seqncia. O valor retornado por uma expresso com o
+operador , sempre dado pela expresso mais direita. No exemplo abaixo:
+
+
x=(y=2,y+3);
+
+
o valor 2 vai ser atribudo a y, se somar 3 a y e
+o retorno (5) ser atribudo varivel x . Pode-se encadear quantos operadores
+, forem necessrios.
+
+
O exemplo a seguir mostra um outro uso para o operador , dentro de um for:
+
+
#include<stdio.h>
+int main()
+{
+ int x, y;
+ for(x=0 , y=0 ; x+y < 100 ; ++x , y++) /* Duas variveis de controle: x e y . Foi atribudo o valor zero a cada uma delas na inicializao do for e ambas so incrementadas na parte de incremento do for */
+ printf("\n%d ", x+y); /* o programa imprimir os nmeros pares de 2 a 98 */
+}
+
+
+
+
+
+
Tabela de Precedncias do C
+
+
Esta a tabela de precedncia dos operadores em C. Alguns (poucos) operadores
+ainda no foram estudados, e sero apresentados em aulas posteriores.
+
Uma dica aos iniciantes: Voc no precisa saber toda a tabela de precedncias de
+cor. til que voc conhea as principais relaes, mas aconselhvel que ao
+escrever o seu cdigo, voc tente isolar as expresses com parnteses, para tornar o
+seu programa mais legvel.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c380.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c380.html"
new file mode 100644
index 00000000..90648c28
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c380.html"
@@ -0,0 +1,53 @@
+
+
+
+
+
+ Curso de C
+
+
+
+
CURSO DE C
+
+
+
+Modeladores (Casts)
+Um modelador é aplicado a uma expressão. Ele força
+a mesma a ser de um tipo especificado. Sua forma geral é:
+
+
(tipo)expressão
+Um exemplo:
+
+
#include <stdio.h>
+ int main ()
+ {
+ int num;
+ float f;
+ num=10;
+ f=(float)num/7; /* Uso do modelador . Força a transformação de num em um float */
+ printf ("%f",f);
+ return(0);
+ }
+Se não tivéssemos usado o modelador no exemplo acima o C
+faria uma divisão inteira entre 10 e 7. O resultado seria 1 (um)
+e este seria depois convertido para float mas continuaria a ser
+1.0. Com o modelador temos o resultado correto.
+
+
+
+
+
AUTO AVALIAÇÃO
+
+
Veja como você está:
+
Compile o exemplo acima sem usar o modelador, e verifique
+os resultados. Compile-o novamente usando o modelador e compare a saida
+com os resultados anteriores.
+
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c390.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c390.html"
new file mode 100644
index 00000000..7d8bdfcc
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c390.html"
@@ -0,0 +1,485 @@
+
+
+
+
+
+Curso de C - Avaliao automtica da aula 3
+
+
+
+
+
As estruturas de controle de fluxo so fundamentais para qualquer linguagem de
+programao. Sem elas s haveria uma maneira do programa ser executado: de cima para
+baixo comando por comando. No haveria condies, repeties ou saltos. A linguagem C
+possui diversos comandos de controle de fluxo. possvel resolver todos os problemas
+sem utilizar todas elas, mas devemos nos lembrar que a elegncia e facilidade de
+entendimento de um programa dependem do uso correto das estruturas no local certo.
+
A expresso, na condio, ser avaliada. Se ela for zero, a declarao no
+ser executada. Se a condio for diferente de zero a declarao ser executada.
+Aqui reapresentamos o exemplo de um uso do comando if:
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int num;
+ printf ("Digite um numero: ");
+ scanf ("%d",&num);
+ if (num>10)
+ printf ("\n\nO numero e maior que 10");
+ if (num==10)
+ {
+ printf ("\n\nVoce acertou!\n");
+ printf ("O numero e igual a 10.");
+ }
+ if (num<10)
+ printf ("\n\nO numero e menor que 10");
+ return(0);
+}
+
+
O else
+
+
Podemos pensar no comando else como sendo um complemento do comando if. O comando if completo tem a
+seguinte forma geral:
+
+
if (condio) declarao_1;
+else declarao_2;
+
+
A expresso da condio ser avaliada. Se ela for diferente de zero a
+declarao 1 ser executada. Se for zero a declarao 2 ser executada.
+importante nunca esquecer que, quando usamos a estrutura if-else, estamos
+garantindo que uma das duas declaraes ser executada. Nunca sero executadas as duas
+ou nenhuma delas. Abaixo est um exemplo do uso do if-else que deve funcionar como
+o programa da seo anterior.
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int num;
+ printf ("Digite um numero: ");
+ scanf ("%d",&num);
+ if (num==10)
+ {
+ printf ("\n\nVoce acertou!\n");
+ printf ("O numero e igual a 10.\n");
+ }
+ else
+ {
+ printf ("\n\nVoce errou!\n");
+ printf ("O numero e diferente de 10.\n");
+ }
+ return(0);
+}
+
+
O if-else-if
+
+
A estrutura if-else-if apenas uma extenso da estrutura if-else. Sua forma geral pode ser escrita como sendo:
+
+
if (condio_1) declarao_1;
+else if (condio_2) declarao_2;
+else if (condio_3) declarao_3;
+.
+.
+.
+else if (condio_n) declarao_n;
+else declarao_default;
+
+
A estrutura acima funciona da seguinte maneira: o programa comea a testar as
+condies comeando pela 1 e continua a testar at que ele ache uma expresso cujo
+resultado d diferente de zero. Neste caso ele executa a declarao correspondente. S
+uma declarao ser executada, ou seja, s ser executada a declarao equivalente
+ primeira condio que der diferente de zero. A ltima declarao (default)
+ a que ser executada no caso de todas as condies darem zero e opcional. Um
+exemplo da estrutura acima:
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int num;
+ printf ("Digite um numero: ");
+ scanf ("%d",&num);
+ if (num>10)
+ printf ("\n\nO numero e maior que 10");
+ else if (num==10)
+ {
+ printf ("\n\nVoce acertou!\n");
+ printf ("O numero e igual a 10.");
+ }
+ else if (num<10)
+ printf ("\n\nO numero e menor que 10");
+ return(0);
+}
+
+
A expresso condicional
+
+
Quando o compilador avalia uma condio, ele quer um valor de retorno para poder
+tomar a deciso. Mas esta expresso no necessita ser uma expresso no sentido
+convencional. Uma varivel sozinha pode ser uma "expresso" e esta retorna o
+seu prprio valor. Isto quer dizer que teremos as seguintes expresses:
+
+
+
+
int num;
+ if (num!=0) ....
+ if (num==0) ....
+ for (i = 0; string[i] != '\0'; i++)
+
+
equivalem a
+
+
+
+
int num;
+ if (num) ....
+ if (!num) ....
+ for (i = 0; string[i]; i++)
+
+
Isto quer dizer que podemos simplificar algumas expresses simples.
+
+
+
+
ifs aninhados
+
+
O if aninhado simplesmente um if dentro da declarao de um outro if
+externo. O nico cuidado que devemos ter o de saber exatamente a qual if um determinado else est
+ligado. Vejamos um exemplo:
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int num;
+ printf ("Digite um numero: ");
+ scanf ("%d",&num);
+ if (num==10)
+ {
+ printf ("\n\nVoce acertou!\n");
+ printf ("O numero e igual a 10.\n");
+ }
+ else
+ {
+ if (num>10)
+ {
+ printf ("O numero e maior que 10.");
+ }
+ else
+ {
+ printf ("O numero e menor que 10.");
+ }
+ }
+ return(0);
+}
+
+
O Operador ?
+
+
Uma expresso como:
+
+
if (a>0)
+ b=-150;
+else
+ b=150;
+
+
pode ser simplificada usando-se o operador ? da seguinte maneira:
+
+
b=a>0?-150:150;
+
+
De uma maneira geral expresses do tipo:
+
+
+
if (condio)
+
expresso_1;
+
else
+
expresso_2;
+
+
+
podem ser substitudas por:
+
+
condio?expresso_1:expresso_2;
+
+
O operador ? limitado (no atende a uma gama muito grande de casos) mas pode
+ser usado para simplificar expresses complicadas. Uma aplicao interessante a do
+contador circular. Veja o exemplo:
O nome Joao escrito na tela verticalmente at a varivel contador determinar o
+trmino do programa. Enquanto isto a varivel index assume os valores 0, 1, 2, 3, , 0,
+1, ... progressivamente.
+
+
+
+
+
AUTO-AVALIAO
+
+
+
+
Veja como voc est:
+
+
Altere o ltimo exemplo para que ele escreva cada letra 5 vezes
+seguidas. Para isto, use um 'if' para testar se o contador divisvel por cinco
+(utilize o operador %) e s ento realizar a atualizao em index.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c420.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c420.html"
new file mode 100644
index 00000000..020e3aa7
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c420.html"
@@ -0,0 +1,112 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
O Comando switch
+
+
O comando if-else e o comando switch
+so os dois comandos de tomada de deciso. Sem dvida alguma o mais importante dos dois
+ o if, mas o comando switch tem aplicaes
+valiosas. Mais uma vez vale lembrar que devemos usar o comando certo no local certo. Isto
+assegura um cdigo limpo e de fcil entendimento. O comando switch prprio
+para se testar uma varivel em relao a diversos valores pr-estabelecidos. Sua forma
+geral :
Podemos fazer uma analogia entre o switch e a estrutura if-else-ifapresentada
+anteriormente. A diferena fundamental que a estrutura switchno
+aceita expresses. Aceita apenas constantes. O switch testa a varivel e executa
+a declarao cujo case corresponda ao valor atual da varivel. A declarao default
+ opcional e ser executada apenas se a varivel, que est sendo testada, no for
+igual a nenhuma das constantes.
+
+
O comando break, faz com que o switch seja
+interrompido assim que uma das declaraes seja executada. Mas ele no essencial ao
+comando switch. Se aps a execuo da declarao no houver um break, o programa continuar executando. Isto pode ser til em
+algumas situaes, mas eu recomendo cuidado. Veremos agora um exemplo do comando switch:
+
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int num;
+ printf ("Digite um numero: ");
+ scanf ("%d",&num);
+ switch (num)
+ {
+ case 9:
+ printf ("\n\nO numero e igual a 9.\n");
+ break;
+ case 10:
+ printf ("\n\nO numero e igual a 10.\n");
+ break;
+ case 11:
+ printf ("\n\nO numero e igual a 11.\n");
+ break;
+ default:
+ printf ("\n\nO numero nao e nem 9 nem 10 nem 11.\n");
+ }
+ return(0);
+}
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
Escreva um programa que pede para o usurio entrar um nmero
+correspondente a um dia da semana e que ento apresente na tela o nome do dia. utilizando
+o comando switch.
for a primeira de uma srie de trs estruturas para se trabalhar com loops
+de repetio. As outras so while e do. As trs compem a segunda famlia de comandos de controle
+de fluxo. Podemos pensar nesta famlia como sendo a das estruturas de repetio
+controlada.
+
+
Como j foi dito, o loop for usado para repetir um comando, ou bloco
+de comandos, diversas vezes, de maneira que se possa ter um bom controle sobre o loop. Sua
+forma geral :
+
+
for (inicializao;condio;incremento) declarao;
+
+
O melhor modo de se entender o loop for ver como ele funciona "por
+dentro". O loop for equivalente a se fazer o seguinte:
+
+
+
+
+
inicializao;
+
if (condio)
+
{
+
+ declarao;
+ incremento;
+ "Volte para o comando if"
+ }
+
+
+
+
Podemos ver, ento, que o for executa a inicializao incondicionalmente e
+testa a condio. Se a condio for falsa ele no faz mais nada. Se a condio for
+verdadeira ele executa a declarao, faz o incremento e volta a testar a condio. Ele
+fica repetindo estas operaes at que a condio seja falsa. Um ponto importante
+que podemos omitir qualquer um dos elementos do for, isto , se no quisermos uma
+inicializao poderemos omiti-la. Abaixo vemos um programa que coloca os primeiros 100
+nmeros inteiros na tela:
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int count;
+ for (count=1; count<=100; count++) printf ("%d ",count);
+ return(0);
+}
+
+
Note que, no exemplo acima, h uma diferena em relao ao exemplo anterior. O incremento da varivel count
+ feito usando o operador de incremento que ns agora j conhecemos. Esta a forma
+usual de se fazer o incremento (ou decremento) em um loop for.
+
+
O for na linguagem C bastante flexvel. Temos acesso
+inicializao, condio e ao incremento. Qualquer uma destas partes do for pode ser
+uma expresso qualquer do C, desde que ela seja vlida. Isto nos permite fazer o que
+quisermos com o comando. As trs formas do for abaixo so vlidas:
Preste ateno ao ltimo exemplo: o incremento est sendo feito de dois em dois.
+Alm disto, no teste est sendo utilizada uma funo (BusqueNumeroDeElementos() ) que
+retorna um valor que est sendo comparado com count.
+
+
O loop infinito
+
+
O loop infinito tem a forma
+
+
for (inicializao; ;incremento) declarao;
+
+
Este loop chama-se loop infinito porque ser executado para sempre (no
+existindo a condio, ela ser sempre considerada verdadeira), a no ser que ele seja
+interrompido. Para interromper um loop como este usamos o comando break.
+O comando break vai quebrar o loop infinito e o programa
+continuar sua execuo normalmente.
+
+
Como exemplo vamos ver um programa que faz a leitura de uma tecla e sua
+impresso na tela, at que o usuario aperte uma tecla sinalizadora de final (um FLAG). O
+nosso FLAG ser a letra 'X'. Repare que tivemos que usar dois scanf() dentro do for. Um
+busca o caractere que foi digitado e o outro busca o outro caracter digitado na
+seqncia, que o caractere correspondente ao <ENTER>.
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int Count;
+ char ch;
+ printf(" Digite uma letra - <X para sair> ");
+ for (Count=1;;Count++)
+ {
+ scanf("%c", &ch);
+ if (ch == 'X') break;
+ printf("\nLetra: %c \n",ch);
+ scanf("%c", &ch);
+ }
+ return(0);
+}
+
+
+
+
O loop sem contedo
+
+
Loop sem contedo aquele no qual se omite a declarao. Sua forma geral
+(ateno ao ponto e vrgula!):
+
+
for (inicializao;condio;incremento);
+
+
Uma das aplicaes desta estrutura gerar tempos de espera. O programa
+
+
#include <stdio.h>
+int main ()
+{
+ long int i;
+ printf("\a"); /* Imprime o caracter de alerta (um beep) */
+ for (i=0; i<10000000; i++); /* Espera 10.000.000 de iteracoes */
+ printf("\a"); /* Imprime outro caracter de alerta */
+ return(0);
+}
+
+
faz isto.
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
Faa um programa que inverta uma string: leia a string com gets e
+armazene-a invertida em outra string. Use o comando for para varrer a string at o seu
+final.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c440.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c440.html"
new file mode 100644
index 00000000..cc9f524d
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c440.html"
@@ -0,0 +1,94 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
O Comando while
+
+
O comando while tem a seguinte forma geral:
+
+
while (condio) declarao;
+
+
Assim como fizemos para o comando for, vamos tentar mostrar como
+o while funciona fazendo uma analogia. Ento o while seria equivalente a:
+
+
if (condio)
+
+
+
{
+
+ declarao;
+ "Volte para o comando if"
+ }
+
+
+
+
Podemos ver que a estrutura while testa uma condio. Se esta for verdadeira a
+declarao executada e faz-se o teste novamente, e assim por diante. Assim como no
+caso do for, podemos fazer um loop infinito. Para tanto
+basta colocar uma expresso eternamente verdadeira na condio. Pode-se tambm omitir
+a declarao e fazer um loop sem contedo. Vamos ver um exemplo do uso do while.
+ O programa abaixo executado enquanto i for menor que 100. Veja que ele seria
+implementado mais naturalmente com um for ...
+
+
#include <stdio.h>
+int main ()
+{
+ int i = 0;
+ while ( i < 100)
+ {
+ printf(" %d", i);
+ i++;
+ }
+ return(0);
+}
+
+
O programa abaixo espera o usurio digitar a tecla 'q' e s depois finaliza:
A terceira estrutura de repetio que veremos o do-while de forma geral:
+
+
+
+
+
do
+
{
+
declarao;
+ } while (condio);
+
+
+
Mesmo que a declarao seja apenas um comando uma boa prtica deixar
+as chaves. O ponto-e- vrgula final obrigatrio. Vamos, como anteriormente, ver o
+funcionamento da estrutura do-while "por dentro":
+
+
declarao;
+if (condio) "Volta para a declarao"
+
+
Vemos pela anlise do bloco acima que a estrutura do-while
+executa a declarao, testa a condio e, se esta for verdadeira, volta para a
+declarao. A grande novidade no comando do-while que ele, ao contrrio do for e do while, garante que a
+declarao ser executada pelo menos uma vez.
+
+
Um dos usos da extrutura do-while em menus, nos quais
+voc quer garantir que o valor digitado pelo usurio seja vlido, conforme apresentado
+abaixo:
+
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int i;
+ do
+ {
+ printf ("\n\nEscolha a fruta pelo numero:\n\n");
+ printf ("\t(1)...Mamao\n");
+ printf ("\t(2)...Abacaxi\n");
+ printf ("\t(3)...Laranja\n\n");
+ scanf("%d", &i);
+ } while ((i<1)||(i>3));
+
+ switch (i)
+ {
+ case 1:
+ printf ("\t\tVoce escolheu Mamao.\n");
+ break;
+ case 2:
+ printf ("\t\tVoce escolheu Abacaxi.\n");
+ break;
+ case 3:
+ printf ("\t\tVoce escolheu Laranja.\n");
+ break;
+ }
+ return(0);
+}
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
Refaa o exerccio da pgina c410.html utilizando o lao do-while para controlar o
+fluxo.
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c460.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c460.html"
new file mode 100644
index 00000000..8cccc7d3
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c460.html"
@@ -0,0 +1,60 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
O Comando break
+
+
Ns j vimos dois usos para o comando break: interrompendo os comandos switch e for. Na verdade, estes
+so os dois usos do comando break: ele pode quebrar a execuo de um comando
+(como no caso do switch) ou interromper a execuo de qualquer loop (como
+no caso do for, do while ou do do while). O break faz com que
+a execuo do programa continue na primeira linha seguinte ao loop ou bloco que
+est sendo interrompido.
+
+
+Observe que um break causar uma sada somente do lao mais
+interno. Por exemplo:
+
+for(t=0; t<100; ++t)
+{
+ count=1;
+ for(;;)
+ {
+ printf("%d", count);
+ count++;
+ if(count==10) break;
+ }
+}
+
+
+
O cdigo acima imprimir os nmeros de 1 a 10 cem vezes na tela.
+Toda vez que o break encontrado, o controle devolvido para o lao for externo.
+
+
Outra observaao o fato que um break usado dentro de uma
+declaraao switch afetar somente os dados relacionados com o switch e nao qualquer
+outro lao em que o switch estiver.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c470.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c470.html"
new file mode 100644
index 00000000..45c4857f
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c470.html"
@@ -0,0 +1,70 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
O Comando continue
+
+
O comando continue pode ser visto como sendo o oposto do break.
+Ele s funciona dentro de um loop. Quando o comando continue encontrado, o loop
+pula para a prxima iterao, sem o abandono do loop, ao contrrio do que acontecia no
+comando break.
+
+
O programa abaixo exemplifica o uso do continue:
+
+
#include <stdio.h>
+int main()
+{
+ int opcao;
+ while (opcao != 5)
+ {
+ printf("\n\n Escolha uma opcao entre 1 e 5: ");
+ scanf("%d", &opcao);
+ if ((opcao > 5)||(opcao <1)) continue; /* Opcao invalida: volta ao inicio do loop */
+ switch (opcao)
+ {
+ case 1:
+ printf("\n --> Primeira opcao..");
+ break;
+ case 2:
+ printf("\n --> Segunda opcao..");
+ break;
+ case 3:
+ printf("\n --> Terceira opcao..");
+ break;
+ case 4:
+ printf("\n --> Quarta opcao..");
+ break;
+ case 5:
+ printf("\n --> Abandonando..");
+ break;
+ }
+ }
+return(0);
+}
+
+
O programa acima ilustra uma aplicao simples para o continue. Ele recebe uma
+opo do usuario. Se esta opo for invlida, o continue faz com que o fluxo
+seja desviado de volta ao incio do loop. Caso a opo escolhida seja vlida o
+programa segue normalmente.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c480.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c480.html"
new file mode 100644
index 00000000..c8a42deb
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c480.html"
@@ -0,0 +1,138 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
O Comando goto
+
+
Vamos mencionar o goto apenas para que voc saiba que ele existe. O goto o
+ltimo comando de controle de fluxo. Ele pertence a uma classe parte: a dos comandos
+de salto incondicional. O goto realiza um salto para um local especificado. Este
+local determinado por um rtulo. Um rtulo, na linguagem C, uma marca no programa.
+Voc d o nome que quiser a esta marca. Podemos tentar escrever uma forma geral:
+
+
+
+
+
nome_do_rtulo:
+
....
+
+ goto nome_do_rtulo;
+ ....
+
+
+
+
Devemos declarar o nome do rtulo na posio para a qual vamos dar o salto seguido
+de :. O goto pode saltar para um rtulo que esteja mais frente ou para
+trs no programa. Uma observao importante que o rtulo e o goto devem
+estar dentro da mesma funo. Como exemplo do uso do goto vamos reescrever
+o equivalente ao comando for apresentado na seo
+equivalente ao mesmo:
O comando goto deve ser utilizado com parcimnia, pois o abuso no seu uso tende
+a tornar o cdigo confuso. O goto no um comando necessrio, podendo
+sempre ser substitudo por outras estruturas de controle. Recomendamos que o goto
+nunca seja usado.
+
+
Existem algumas situaes muito especficas onde o comando goto pode tornar
+um cdigo mais fcil de se entender se ele
+for bem empregado. Um caso em que ele pode ser til quando temos vrios loops e ifs
+aninhados e se queira, por algum motivo, sair destes loops e ifs todos de uma vez.
+Neste caso um goto resolve o problema mais elegantemente que vrios breaks,
+sem contar que os breaks exigiriam muito mais testes. Ou seja, neste caso o goto
+ mais elegante e mais rpido.
+
+
O exemplo da pgina anterior pode ser reescrito usando-se o goto:
+
+
+#include <stdio.h>
+int main()
+{
+ int opcao;
+ while (opcao != 5)
+ {
+ REFAZ: printf("\n\n Escolha uma opcao entre 1 e 5: ");
+ scanf("%d", &opcao);
+ if ((opcao > 5)||(opcao <1)) goto REFAZ; /* Opcao invalida: volta ao rotulo REFAZ */
+ switch (opcao)
+ {
+ case 1:
+ printf("\n --> Primeira opcao..");
+ break;
+ case 2:
+ printf("\n --> Segunda opcao..");
+ break;
+ case 3:
+ printf("\n --> Terceira opcao..");
+ break;
+ case 4:
+ printf("\n --> Quarta opcao..");
+ break;
+ case 5:
+ printf("\n --> Abandonando..");
+ break;
+ }
+ }
+ return(0);
+}
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
Escreva um programa que pea trs inteiros, correspondentes a dia
+, ms e ano. Pea os nmeros at conseguir valores que estejam na faixa
+correta (dias entre 1 e 31, ms entre 1 e 12 e ano entre 1900 e 2100). Verifique se o
+ms e o nmero de dias batem (incluindo verificao de anos bissextos). Se estiver
+tudo certo imprima o nmero que aquele dia corresponde no ano. Comente seu programa.
+
+
PS: Um ano bissexto se for divisvel por 4 e no for divisvel
+por 100, exceto para os anos divisveis por 400, que tambm so bissextos.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c510.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c510.html"
new file mode 100644
index 00000000..ee8ab177
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c510.html"
@@ -0,0 +1,113 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Vetores
+
+
Vetores nada mais so que matrizes unidimensionais. Vetores so uma estrutura de
+dados muito utilizada. importante notar que vetores, matrizes bidimensionais e matrizes
+de qualquer dimenso so caracterizadas por terem todos os elementos pertencentes ao
+mesmo tipo de dado. Para se declarar um vetor podemos utilizar a seguinte forma geral:
+
+
tipo_da_varivel nome_da_varivel [tamanho];
+
+
Quando o C v uma declarao como esta ele reserva um espao na memria
+suficientemente grande para armazenar o nmero de clulas especificadas em tamanho. Por
+exemplo, se declararmos:
+
+
+
+
float exemplo [20];
+
+
o C ir reservar 4x20=80 bytes. Estes bytes so reservados de maneira contgua. Na
+linguagem C a numerao comea sempre em zero. Isto significa que, no exemplo acima, os
+dados sero indexados de 0 a 19. Para acess-los vamos escrever:
+
+
+
+
exemplo[0]
+ exemplo[1]
+ .
+ .
+ .
+ exemplo[19]
+
+
Mas ningum o impede de escrever:
+
+
+
+
exemplo[30]
+ exemplo[103]
+
+
Por qu? Porque o C no verifica se o ndice que voc usou est dentro dos limites
+vlidos. Este um cuidado que voc deve tomar. Se o programador no tiver
+ateno com os limites de validade para os ndices ele corre o risco de ter variveis
+sobreescritas ou de ver o computador travar. Bugs terrveis podem surgir. Vamos ver agora
+um exemplo de utilizao de vetores:
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int num[100]; /* Declara um vetor de inteiros de 100 posicoes */
+ int count=0;
+ int totalnums;
+ do
+ {
+ printf ("\nEntre com um numero (-999 p/ terminar): ");
+ scanf ("%d",&num[count]);
+ count++;
+ } while (num[count-1]!=-999);
+ totalnums=count-1;
+ printf ("\n\n\n\t Os nmeros que voc digitou foram:\n\n");
+ for (count=0;count<totalnums;count++)
+ printf (" %d",num[count]);
+ return(0);
+}
+
+
No exemplo acima, o inteiro count inicializado em 0. O programa pede pela
+entrada de nmeros at que o usurio entre com o Flag -999. Os nmeros so
+armazenados no vetor num. A cada nmero armazenado, o contador do vetor
+incrementado para na prxima iterao escrever na prxima posio do vetor. Quando o
+usurio digita o flag, o programa abandona o primeiro loop e armazena o total de nmeros
+gravados. Por fim, todos os nmeros so impressos. bom lembrar aqui que nenhuma
+restrio feita quanto a quantidade de nmeros digitados. Se o usurio digitar mais
+de 100 nmeros, o programa tentar ler normalmente, mas o programa os escrever em uma
+parte no alocada de memria, pois o espao alocado foi para somente 100 inteiros. Isto
+pode resultar nos mais variados erros no instante da execuo do programa.
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
Reescreva o exemplo acima, realizando a cada leitura um teste para ver
+se a dimenso do vetor no foi ultrapassada. Caso o usurio entre com 100 nmeros, o
+programa dever abortar o loop de leitura automaticamente. O uso do Flag (-999) no deve
+ser retirado.
Strings so vetores de chars. Nada mais e nada menos.
+As strings so o uso mais comum para os vetores. Devemos apenas ficar atentos para o fato
+de que as strings tm o seu ltimo elemento como um '\0'. A declarao geral
+para uma string :
+
+
char nome_da_string [tamanho];
+
+
Devemos lembrar que o tamanho da string deve incluir o '\0' final. A biblioteca
+padro do C possui diversas funes que manipulam strings. Estas funes so teis
+pois no se pode, por exemplo, igualar duas strings:
+
+
+
+
string1=string2; /* NAO faca isto */
+
+
Fazer isto um desastre. Quando voc terminar de ler a seo que trata de
+ponteiros voc entender porqu. As strings devem ser igualadas elemento a elemento.
+
+
Quando vamos fazer programas que tratam de string muitas vezes podemos fazer bom
+proveito do fato de que uma string termina com '\0' (isto , o nmero inteiro 0). Veja,
+por exemplo, o programa abaixo que serve para igualar duas strings (isto , copia os
+caracteres de uma string para o vetor da outra):
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int count;
+ char str1[100],str2[100];
+ .... /* Aqui o programa le str1 que sera copiada para str2 */
+ for (count=0;str1[count];count++)
+ str2[count]=str1[count];
+ str2[count]='\0';
+.... /* Aqui o programa continua */
+}
+
+
A condio no loop for acima baseada no fato de que
+a string que est sendo copiada termina em '\0'. Quando o elemento encontrado em str1[count]
+ o '\0', o valor retornado para o teste condicional falso (nulo). Desta forma a
+expresso que vinha sendo verdadeira (no zero) continuamente, torna-se falsa.
+
+
Vamos ver agora algumas funes bsicas para manipulao de strings.
+
+
+
+
gets
+
+
A funo gets() l uma string do teclado. Sua forma geral :
+
+
gets (nome_da_string);
+
+
O programa abaixo demonstra o funcionamento da funo gets():
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ char string[100];
+ printf ("Digite o seu nome: ");
+ gets (string);
+ printf ("\n\n Ola %s",string);
+ return(0);
+}
+
+
Repare que vlido passar para a funo printf() o nome da string. Voc
+ver mais adiante porque isto vlido. Como o primeiro argumento da funo printf()
+ uma string tambm vlido fazer:
+
+
+
+
printf (string);
+
+
isto simplesmente imprimir a string.
+
+
+
strcpy
+
+
Sua forma geral :
+
+
strcpy (string_destino,string_origem);
+
+
A funo strcpy() copia a string-origem para a string- destino. Seu
+funcionamento semelhante ao da rotina apresentada na seo
+anterior. As funes apresentadas nestas sees esto no arquivo cabealho string.h.
+A seguir apresentamos um exemplo de uso da funo strcpy():
+
+
+
+
#include <stdio.h>
+#include <string.h>
+int main ()
+{
+ char str1[100],str2[100],str3[100];
+ printf ("Entre com uma string: ");
+ gets (str1);
+ strcpy (str2,str1); /* Copia str1 em str2 */
+ strcpy (str3,"Voce digitou a string "); /* Copia "Voce digitou a string" em str3 */
+ printf ("\n\n%s%s",str3,str2);
+ return(0);
+}
+
+
strcat
+
+
A funo strcat() tem a seguinte forma geral:
+
+
strcat (string_destino,string_origem);
+
+
A string de origem permanecer inalterada e ser anexada ao fim da string de
+destino. Um exemplo:
+
+
+
+
#include <stdio.h>
+#include <string.h>
+int main ()
+{
+ char str1[100],str2[100];
+ printf ("Entre com uma string: ");
+ gets (str1);
+ strcpy (str2,"Voce digitou a string ");
+ strcat (str2,str1); /* str2 armazenara' Voce digitou a string + o conteudo de str1 */
+ printf ("\n\n%s",str2);
+ return(0);
+}
+
+
strlen
+
+
Sua forma geral :
+
+
strlen (string);
+
+
A funo strlen() retorna o comprimento da string fornecida. O
+terminador nulo no contado. Isto quer dizer que, de fato, o comprimento do vetor da
+string deve ser um a mais que o inteiro retornado por strlen(). Um exemplo do seu
+uso:
+
+
+
+
#include <stdio.h>
+#include <string.h>
+int main ()
+{
+ int size;
+ char str[100];
+ printf ("Entre com uma string: ");
+ gets (str);
+ size=strlen (str);
+ printf ("\n\nA string que voce digitou tem tamanho %d",size);
+ return(0);
+}
+
+
strcmp
+
+
Sua forma geral :
+
+
strcmp (string1,string2);
+
+
A funo strcmp() compara a string 1 com a string 2. Se as duas forem
+idnticas a funo retorna zero. Se elas forem diferentes a funo retorna no-zero.
+Um exemplo da sua utilizao:
+
+
#include <stdio.h>
+#include <string.h>
+int main ()
+{
+ char str1[100],str2[100];
+ printf ("Entre com uma string: ");
+ gets (str1);
+ printf ("\n\nEntre com outra string: ");
+ gets (str2);
+ if (strcmp(str1,str2))
+ printf ("\n\nAs duas strings so diferentes.");
+ else printf ("\n\nAs duas strings so iguais.");
+ return(0);
+}
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
Faa um programa que leia quatro palavras pelo teclado, e armazene
+cada palavra em uma string. Depois, concatene todas as strings lidas numa nica string.
+Por fim apresente esta como resultado ao final do programa.
J vimos como declarar matrizes unidimensionais (vetores). Vamos tratar agora de
+matrizes bidimensionais. A forma geral da declarao de uma matriz bidimensional
+muito parecida com a declarao de um vetor:
muito importante ressaltar que, nesta estrutura, o ndice da esquerda indexa
+as linhas e o da direita indexa as colunas. Quando vamos preencher ou ler uma matriz no C
+o ndice mais direita varia mais rapidamente que o ndice esquerda. Mais uma vez
+ bom lembrar que, na linguagem C, os ndices variam de zero ao valor declarado, menos
+um; mas o C no vai verificar isto para o usurio. Manter os ndices na faixa permitida
+ tarefa do programador. Abaixo damos um exemplo do uso de uma matriz:
No exemplo acima, a matriz mtrx preenchida, sequencialmente por linhas, com
+os nmeros de 1 a 200. Voc deve entender o funcionamento do programa acima antes de
+prosseguir.
+
+
+
+
Matrizes de strings
+
+
Matrizes de strings so matrizes bidimensionais. Imagine uma string. Ela um vetor.
+Se fizermos um vetor de strings estaremos fazendo uma lista de vetores. Esta estrutura
+uma matriz bidimensional de chars. Podemos ver a forma
+geral de uma matriz de strings como sendo:
Uma matriz N-dimensional funciona basicamente como outros tipos de matrizes.
+Basta lembrar que o ndice que varia mais rapidamente o ndice mais direita.
+
+
+
+
Inicializao
+
+
Podemos inicializar matrizes, assim como podemos inicializar
+variveis. A forma geral de uma matriz como inicializao :
A lista de valores composta por valores (do mesmo tipo da varivel) separados
+por vrgula. Os valores devem ser dados na ordem em que sero colocados na matriz.
+Abaixo vemos alguns exemplos de inicializaes de matrizes:
O primeiro demonstra inicializao de vetores. O segundo exemplo demonstra a
+inicializao de matrizes multidimensionais, onde matrx est sendo inicializada
+com 1, 2, 3 e 4 em sua primeira linha, 5, 6, 7 e 8 na segunda linha e 9, 10, 11 e 12 na
+ltima linha. No terceiro exemplo vemos como inicializar uma string e, no quarto exemplo,
+um modo mais compacto de inicializar uma string. O quinto exemplo combina as duas
+tcnicas para inicializar um vetor de strings. Repare que devemos incluir o ; no final da
+inicializao.
+
+
+
+
Inicializao sem especificao de tamanho
+
+
Podemos, em alguns casos, inicializar matrizes das quais no sabemos o tamanho a
+priori. O compilador C vai, neste caso verificar o tamanho do que voc declarou e
+considerar como sendo o tamanho da matriz. Isto ocorre na hora da compilao e no
+poder mais ser mudado durante o programa, sendo muito til, por exemplo, quando vamos
+inicializar uma string e no queremos contar quantos caracteres sero necessrios.
+Alguns exemplos:
+
+
char mess [] = "Linguagem C: flexibilidade e poder.";
+ int matrx [][2] = { 1,2,2,4,3,6,4,8,5,10 };
+
+
No primeiro exemplo, a string mess ter tamanho 36. Repare que o artifcio para
+realizar a inicializao sem especificao de tamanho no especificar o tamanho!
+No segundo exemplo o valor no especificado ser 5.
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
O que imprime o programa a seguir? Tente entend-lo e responder. A seguir,
+execute-o e comprove o resultado.
+
+# include <stdio.h>
+int main()
+{
+ int t, i, M[3][4];
+ for (t=0; t<3; ++t)
+ for (i=0; i<4; ++i)
+ M[t][i] = (t*4)+i+1;
+
+ for (t=0; t<3; ++t)
+ {
+ for (i=0; i<4; ++i)
+ printf ("%3d
+", M[t][i]);
+ printf ("\n");
+ }
+ return(0);
+}
O C altamente dependente dos ponteiros. Para ser um bom programador em C
+fundamental que se tenha um bom domnio deles. Por isto, recomendo ao leitor um carinho
+especial com esta parte do curso que trata deles. Ponteiros so to importantes na
+linguagem C que voc j os viu e nem percebeu, pois mesmo para se fazer um introduo
+bsica linguagem C precisa-se deles.
+
+
O Ministrio da Sade adverte: o uso descuidado de ponteiros pode levar
+a srios bugs e a dores de cabea terrveis :-).
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c610.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c610.html"
new file mode 100644
index 00000000..3652e3af
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c610.html"
@@ -0,0 +1,47 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Como Funcionam os Ponteiros
+
+
Os ints guardam inteiros. Os floats
+guardam nmeros de ponto flutuante. Os chars guardam
+caracteres. Ponteiros guardam endereos de memria. Quando voc anota o endereo de um
+colega voc est criando um ponteiro. O ponteiro este seu pedao de papel. Ele tem
+anotado um endereo. Qual o sentido disto? Simples. Quando voc anota o endereo de
+um colega, depois voc vai usar este endereo para ach-lo. O C funciona assim. Voce
+anota o endereo de algo numa varivel ponteiro para depois usar.
+
+
Da mesma maneira, uma agenda, onde so guardados endereos de vrios amigos,
+poderia ser vista como sendo uma matriz de ponteiros no C.
+
+
Um ponteiro tambm tem tipo. Veja: quando voc anota um endereo de um amigo
+voc o trata diferente de quando voc anota o endereo de uma firma. Apesar de o
+endereo dos dois locais ter o mesmo formato (rua, nmero, bairro, cidade, etc.) eles
+indicam locais cujos contedos so diferentes. Ento os dois endereos so ponteiros
+de tipos diferentes.
+
+
No C quando declaramos ponteiros ns informamos ao compilador para que tipo de
+varivel vamos apont-lo. Um ponteiro int aponta para um
+inteiro, isto , guarda o endereo de um inteiro.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c620.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c620.html"
new file mode 100644
index 00000000..b8287f1d
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c620.html"
@@ -0,0 +1,227 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Declarando e Utilizando Ponteiros
+
+
Para declarar um ponteiro temos a seguinte forma geral:
+
+
tipo_do_ponteiro *nome_da_varivel;
+
+
o asterisco (*) que faz o compilador saber que aquela varivel no
+vai guardar um valor mas sim um endereo para aquele tipo especificado. Vamos ver
+exemplos de declaraes:
+
+
+
+
int *pt;
+ char *temp,*pt2;
+
+
O primeiro exemplo declara um ponteiro para um inteiro. O segundo declara dois
+ponteiros para caracteres. Eles ainda no foram inicializados (como toda varivel do C
+que apenas declarada). Isto significa que eles apontam para um lugar indefinido. Este
+lugar pode estar, por exemplo, na poro da memria reservada ao sistema operacional do
+computador. Usar o ponteiro nestas circunstnicias pode levar a um travamento do micro,
+ou a algo pior. O ponteiro deve ser inicializado (apontado para algum lugar conhecido)
+antes de ser usado! Isto de suma importncia!
+
+
Para atribuir um valor a um ponteiro recm-criado poderamos igual-lo a um
+valor de memria. Mas, como saber a posio na memria de uma varivel do nosso
+programa? Seria muito difcil saber o endereo de cada varivel que usamos, mesmo
+porque estes endereos so determinados pelo compilador na hora da compilao e
+realocados na execuo. Podemos ento deixar que o compilador faa este trabalho por
+ns. Para saber o endereo de uma varivel basta usar o operador &. Veja o
+exemplo:
+
+
+
+
int count=10;
+ int *pt;
+ pt=&count;
+
+
Criamos um inteiro count com o valor 10 e um apontador para um inteiro pt.
+A expresso &count nos d o endereo de count, o qual armazenamos em pt.
+Simples, no ? Repare que no alteramos o valor de count, que continua
+valendo 10.
+
+
Como ns colocamos um endereo em pt, ele est agora
+"liberado" para ser usado. Podemos, por exemplo, alterar o valor de count
+usando pt. Para tanto vamos usar o operador "inverso" do operador &.
+ o operador *. No exemplo acima, uma vez que fizemos pt=&count a
+expresso *pt equivalente ao prprio count. Isto significa que, se
+quisermos mudar o valor de count para 12, basta fazer *pt=12.
+
+
Vamos fazer uma pausa e voltar nossa analogia para ver o que est
+acontecendo.
+
+
Digamos que exista uma firma. Ela como uma varivel que j foi declarada.
+Voc tem um papel em branco onde vai anotar o endereo da firma. O papel um ponteiro
+do tipo firma. Voc ento liga para a firma e pede o seu endereo, o qual voc vai
+anotar no papel. Isto equivalente, no C, a associar o papel firma com o operador &.
+Ou seja, o operador & aplicado firma equivalente a voc ligar para a
+mesma e pedir o endereo. Uma vez de posse do endereo no papel voc poderia, por
+exemplo, fazer uma visita firma. No C voc faz uma visita firma aplicando o
+operador * ao papel. Uma vez dentro da firma voc pode copiar seu contedo ou
+modific-lo.
+
+
Uma observao importante: apesar do smbolo ser o mesmo, o operador *
+(multiplicao) no o mesmo operador que o * (referncia de ponteiros). Para
+comear o primeiro binrio, e o segundo unrio pr-fixado.
+
+
Aqui vo dois exemplos de usos simples de ponteiros:
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int num,valor;
+ int *p;
+ num=55;
+ p=# /* Pega o endereco de num */
+ valor=*p; /* Valor e igualado a num de uma maneira indireta */
+ printf ("\n\n%d\n",valor);
+ printf ("Endereco para onde o ponteiro aponta: %p\n",p);
+ printf ("Valor da variavel apontada: %d\n",*p);
+ return(0);
+}
+
+#include <stdio.h>
+int main ()
+{
+ int num,*p;
+ num=55;
+ p=# /* Pega o endereco de num */
+ printf ("\nValor inicial: %d\n",num);
+ *p=100; /* Muda o valor de num de uma maneira indireta */
+ printf ("\nValor final: %d\n",num);
+ return(0);
+}
+
+
Nos exemplos acima vemos um primeiro exemplo do funcionamento dos ponteiros. No
+primeiro exemplo, o cdigo %p usado na funo printf() indica funo
+que ela deve imprimir um endereo.
+
+
Podemos fazer algumas operaes aritmticas com ponteiros. A primeira, e mais
+simples, igualar dois ponteiros. Se temos dois ponteiros p1 e p2 podemos
+igual-los fazendo p1=p2. Repare que estamos fazendo com que p1 aponte para
+o mesmo lugar que p2. Se quisermos que a varivel apontada por p1 tenha o
+mesmo contedo da varivel apontada por p2 devemos fazer *p1=*p2.
+Basicamente, depois que se aprende a usar os dois operadores (& e *)
+fica fcil entender operaes com ponteiros.
+
+
As prximas operaes, tambm muito usadas, so o incremento e o decremento.
+Quando incrementamos um ponteiro ele passa a apontar para o prximo valor do mesmo tipo
+para o qual o ponteiro aponta. Isto , se temos um ponteiro para um inteiro e o
+incrementamos ele passa a apontar para o prximo inteiro. Esta mais uma razo pela
+qual o compilador precisa saber o tipo de um ponteiro: se voc incrementa um ponteiro char*
+ele anda 1 byte na memria e se voc incrementa um ponteiro double* ele anda 8
+bytes na memria. O decremento funciona semelhantemente. Supondo que p um
+ponteiro, as operaes so escritas como:
+
+
+
+
p++;
+ p--;
+
+
Mais uma vez insisto. Estamos falando de operaes com ponteiros e no de
+operaes com o contedo das variveis para as quais eles apontam. Por exemplo, para
+incrementar o contedo da varivel apontada pelo ponteiro p, faz-se:
+
+
+
+
(*p)++;
+
+
Outras operaes aritmticas teis so a soma e subtrao de inteiros com
+ponteiros. Vamos supor que voc queira incrementar um ponteiro de 15. Basta fazer:
+
+
+
+
p=p+15; ou p+=15;
+
+
E se voc quiser usar o contedo do ponteiro 15 posies adiante:
+
+
+
+
*(p+15);
+
+
A subtrao funciona da mesma maneira. Uma outra operao, s vezes til, a
+comparao entre dois ponteiros. Mas que informao recebemos quando comparamos dois
+ponteiros? Bem, em primeiro lugar, podemos saber se dois ponteiros so iguais ou
+diferentes (== e !=). No caso de operaes do tipo >, <,
+>= e <= estamos comparando qual ponteiro aponta para uma posio
+mais alta na memria. Ento uma comparao entre ponteiros pode nos dizer qual
+dos dois est "mais adiante" na memria. A comparao entre dois ponteiros
+se escreve como a comparao entre outras duas variveis quaisquer:
+
+
+
+
p1>p2
+
+
H entretanto operaes que voc no pode efetuar num ponteiro. Voc no
+pode dividir ou multiplicar ponteiros, adicionar dois ponteiros, adicionar ou subtrair floats ou doubles de ponteiros.
+
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
a) Explique a diferena entre
+
+
p++; (*p)++; *(p++);
+
+
+
O que quer dizer *(p+10);?
+
Explique o que voc entendeu da comparao entre ponteiros
+
+
+
b) Qual o valor de y no final do programa? Tente primeiro descobrir e depois
+verifique no computador o resultado. A seguir, escreva um /* comentrio */ em cada
+comando de atribuio explicando o que ele faz e o valor da varivel esquerda do '='
+aps sua execuo.
+
+int main()
+{
+ int y, *p, x;
+ y = 0;
+ p = &y;
+ x = *p;
+ x = 4;
+ (*p)++;
+ x--;
+ (*p) += x;
+ printf ("y = %d\n", y);
+ return(0);
+}
+
+
o compilador C calcula o tamanho, em bytes, necessrio para armazenar esta
+matriz. Este tamanho :
+
+
tam1 x tam2 x tam3 x ... x tamN x tamanho_do_tipo
+
+
O compilador ento aloca este nmero de bytes em um espao livre de memria.
+O nome da varivel que voc declarou na verdade um ponteiro para o tipo da
+varivel da matriz. Este conceito fundamental. Eis porque: Tendo alocado na
+memria o espao para a matriz, ele toma o nome da varivel (que um ponteiro) e
+aponta para o primeiro elemento da matriz.
+
+
Mas a surge a pergunta: ento como que podemos usar a seguinte notao?
+
+
nome_da_varivel[ndice]
+
+
Isto pode ser facilmente explicado desde que voc entenda que a notao acima
+ absolutamente equivalente a se fazer:
+
+
*(nome_da_varivel+ndice)
+
+
Agora podemos entender como que funciona um vetor! Vamos ver o que podemos
+tirar de informao deste fato. Fica claro, por exemplo, porque que, no C, a
+indexao comea com zero. porque, ao pegarmos o valor do primeiro elemento de um
+vetor, queremos, de fato, *nome_da_varivel e ento devemos ter um ndice igual
+a zero. Ento sabemos que:
+
+
*nome_da_varivel equivalente a nome_da_varivel[0]
+
+
Outra coisa: apesar de, na maioria dos casos, no fazer muito sentido,
+poderamos ter ndices negativos. Estaramos pegando posies de memria antes do
+vetor. Isto explica tambm porque o C no verifica a validade dos ndices. Ele no
+sabe o tamanho do vetor. Ele apenas aloca a memria, ajusta o ponteiro do nome do vetor
+para o incio do mesmo e, quando voc usa os ndices, encontra os elementos
+requisitados.
+
+
Vamos ver agora um dos usos mais importantes dos ponteiros: a varredura
+sequencial de uma matriz. Quando temos que varrer todos os elementos de uma matriz de uma
+forma sequencial, podemos usar um ponteiro, o qual vamos incrementando. Qual a vantagem?
+Considere o seguinte programa para zerar uma matriz:
+
+
+
+
int main ()
+{
+ float matrx [50][50];
+ int i,j;
+ for (i=0;i<50;i++)
+ for (j=0;j<50;j++)
+ matrx[i][j]=0.0;
+ return(0);
+}
+
+
Podemos reescrev-lo usando ponteiros:
+
+
+
+
int main ()
+{
+ float matrx [50][50];
+ float *p;
+ int count;
+ p=matrx[0];
+ for (count=0;count<2500;count++)
+ {
+ *p=0.0;
+ p++;
+ }
+ return(0);
+}
+
+
No primeiro programa, cada vez que se faz matrx[i][j] o programa tem que
+calcular o deslocamento para dar ao ponteiro. Ou seja, o programa tem que calcular 2500
+deslocamentos. No segundo programa o nico clculo que deve ser feito o de um
+incremento de ponteiro. Fazer 2500 incrementos em um ponteiro muito mais rpido que
+calcular 2500 deslocamentos completos.
+
+
H uma diferena entre o nome de um vetor e um ponteiro que deve ser frisada:
+um ponteiro uma varivel, mas o nome de um vetor no uma varivel. Isto
+significa, que no se consegue alterar o endereo que apontado pelo "nome do
+vetor". Seja:
+
+
int vetor[10];
+ int *ponteiro, i;
+ ponteiro = &i;
+
+ /* as operacoes a seguir sao invalidas */
+
+ vetor = vetor + 2; /* ERRADO: vetor nao e' variavel */
+ vetor++; /* ERRADO: vetor nao e' variavel */
+ vetor = ponteiro; /* ERRADO: vetor nao e' variavel */
+
+
Teste as operaes acima no seu compilador. Ele dar uma mensagem de erro. Alguns
+compiladores diro que vetor no um Lvalue. Lvalue, significa "Left value",
+um smbolo que pode ser colocado do lado esquerdo de uma expresso de atribuio, isto
+, uma varivel. Outros compiladores diro que tem-se "incompatible types in
+assignment", tipos incompatveis em uma atribuio.
+
+
/* as operacoes abaixo sao validas */
+
+ ponteiro = vetor; /* CERTO: ponteiro e' variavel */
+ ponteiro = vetor+2; /* CERTO: ponteiro e' variavel */
+
+
O que voc aprendeu nesta seo de suma importncia. No siga adiante
+antes de entend- la bem.
+
+
+
+
Ponteiros como vetores
+
+
Sabemos agora que, na verdade, o nome de um vetor um ponteiro constante. Sabemos
+tambm que podemos indexar o nome de um vetor. Como consequncia podemos tambm indexar
+um ponteiro qualquer. O programa mostrado a seguir funciona perfeitamente:
+
+
+
+
#include <stdio.h>
+int main ()
+{
+ int matrx [10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
+ int *p;
+ p=matrx;
+ printf ("O terceiro elemento do vetor e: %d",p[2]);
+ return(0);
+}
+
+
Podemos ver que p[2] equivale a *(p+2).
+
+
+
+
Strings
+
+
Seguindo o raciocnio acima, nomes de strings, so do tipo char*. Isto nos
+permite escrever a nossa funo StrCpy(), que funcionar de forma semelhante
+funo strcpy() da biblioteca:
H vrios pontos a destacar no programa acima. Observe que podemos passar ponteiros
+como argumentos de funes. Na verdade assim que funes como gets() e strcpy() funcionam. Passando o ponteiro voc
+possibilita funo alterar o contedo das strings. Voc j estava passando
+os ponteiros e no sabia. No comando while (*origem) estamos usando o fato de que
+a string termina com '\0' como critrio de parada. Quando fazemos origem++ e destino++
+o leitor poderia argumentar que estamos alterando o valor do ponteiro-base da string,
+contradizendo o que recomendei que se deveria fazer, no final de uma
+seo anterior. O que o leitor talvez no saiba ainda (e que ser estudado em
+detalhe mais adiante) que, no C, so passados para as funes cpias dos
+argumentos. Desta maneira, quando alteramos o ponteiro origem na funo StrCpy()
+o ponteiro str2 permanece inalterado na funo main().
+
+
+
+
Endereos de elementos de vetores
+
+
Nesta seo vamos apenas ressaltar que a notao
+
+
&nome_da_varivel[ndice]
+
+
vlida e retorna o endereo do ponto do vetor indexado por ndice. Isto
+seria equivalente a nome_da_varivel + indice. interessante notar que, como
+consequncia, o ponteiro nome_da_varivel tem o endereo &nome_da_varivel[0],
+que indica onde na memria est guardado o valor do primeiro elemento do vetor.
+
+
+
+
Vetores de ponteiros
+
+
Podemos construir vetores de ponteiros como declaramos vetores de qualquer outro tipo.
+Uma declarao de um vetor de ponteiros inteiros poderia ser:
+
+
+
+
int *pmatrx [10];
+
+
No caso acima, pmatrx um vetor que armazena 10 ponteiros para
+inteiros.
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
Fizemos a funo StrCpy(). Faa uma funo StrLen() e StrCat() que
+funcionem como as funes strlen() e strcat() de string.h respectivamente
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c640.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c640.html"
new file mode 100644
index 00000000..4378b4e7
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c640.html"
@@ -0,0 +1,80 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Inicializando Ponteiros
+
+
Podemos inicializar ponteiros. Vamos ver um caso interessante dessa inicializao de
+ponteiros com strings.
+
+
Precisamos, para isto, entender como o C trata as strings constantes. Toda string
+que o programador insere no programa colocada num banco de strings que o compilador
+cria. No local onde est uma string no programa, o compilador coloca o endereo do
+incio daquela string (que est no banco de strings). por isto que podemos usar strcpy() do seguinte modo:
pede dois parmetros do tipo char*. Como o compilador
+substitui a string "String constante." pelo seu endereo no banco de
+strings, tudo est bem para a funo strcpy().
+
+
+
O que isto tem a ver com a inicializao de ponteiros? que, para uma string
+que vamos usar vrias vezes, podemos fazer:
+
+
+
+
char *str1="String constante.";
+
+
A poderamos, em todo lugar que precisarmos da string, usar a varivel str1.
+Devemos apenas tomar cuidado ao usar este ponteiro. Se o alterarmos vamos perder a string.
+Se o usarmos para alterar a string podemos facilmente corromper o banco de strings que o
+compilador criou.
+
+
Mais uma vez fica o aviso: ponteiros so poderosos mas, se usados com descuido,
+podem ser uma tima fonte de dores de cabea.
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
Escreva a funo
+
+
int strend(char *s, char *t)
+
+
+
que retorna 1 (um) se a cadeia de caracteres t ocorrer no final da cadeia s,
+e 0 (zero) caso contrrio.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c650.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c650.html"
new file mode 100644
index 00000000..51b45ea8
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c650.html"
@@ -0,0 +1,91 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Ponteiros para Ponteiros
+
+
Um ponteiro para um ponteiro como se voc anotasse o endereo de um papel que tem
+o endereo da casa do seu amigo. Podemos declarar um ponteiro para um ponteiro com a
+seguinte notao:
+
+
tipo_da_varivel **nome_da_varivel;
+
+
Algumas consideraes: **nome_da_varivel o contedo final da
+varivel apontada; *nome_da_varivel o contedo do ponteiro intermedirio.
+
+
No C podemos declarar ponteiros para ponteiros para ponteiros, ou ento,
+ponteiros para ponteiros para ponteiros para ponteiros (UFA!) e assim por diante. Para
+fazer isto (no me pergunte a utilidade disto!) basta aumentar o nmero de asteriscos na
+declaraco. A lgica a mesma.
+
+
Para acessar o valor desejado apontado por um ponteiro para ponteiro, o operador
+asterisco deve ser aplicado duas vezes, como mostrado no exemplo abaixo:
+
+
+
+
#include <stdio.h>
+int main()
+{
+ float fpi = 3.1415, *pf, **ppf;
+ pf = &fpi;
+
+/* pf armazena o endereco de fpi */
+ ppf = &pf;
+
+/* ppf armazena o endereco de pf */
+ printf("%f", **ppf); /* Imprime
+o valor de fpi */
+ printf("%f", *pf);
+/* Tambem imprime o valor de fpi */
+ return(0);
+}
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
Verifique o programa abaixo. Encontre o seu erro e corrija-o para que escreva o
+numero 10 na tela.
+
+
+
#include <stdio.h>
+int main()
+{
+ int x, *p, **q;
+ p = &x;
+ q = &p;
+ x = 10;
+ printf("\n%d\n", &q);
+ return(0);
+}
+
+
+
+
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c660.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c660.html"
new file mode 100644
index 00000000..efd37fd7
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c660.html"
@@ -0,0 +1,63 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Cuidados a Serem Tomados ao se Usar Ponteiros
+
+
O principal cuidado ao se usar um ponteiro deve ser: saiba sempre para onde o
+ponteiro est apontando. Isto inclui: nunca use um ponteiro que no foi inicializado. Um
+pequeno programa que demonstra como no usar
+um ponteiro:
+
+
+
+
int main () /* Errado - Nao Execute */
+{
+ int x,*p;
+ x=13;
+ *p=x;
+ return(0);
+}
+
+
Este programa compilar e rodar. O que acontecer? Ningum sabe. O ponteiro p pode
+estar apontando para qualquer lugar. Voc estar gravando o nmero 13 em um lugar
+desconhecido. Com um nmero apenas, voc provavelmente no vai ver nenhum defeito.
+Agora, se voc comear a gravar nmeros em posies aleatrias no seu computador,
+no vai demorar muito para travar o micro (se no acontecer coisa pior).
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+
+
Escreva um programa que declare uma matriz 100x100 de inteiros. Voc
+deve inicializar a matriz com zeros usando ponteiros para enderear seus elementos.
+Preencha depois a matriz com os nmeros de 1 a 10000, tambm usando ponteiros.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c710.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c710.html"
new file mode 100644
index 00000000..5edefa2c
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c710.html"
@@ -0,0 +1,52 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
A Funo
+
+
Funes so as estruturas que permitem ao usurio separar seus programas em blocos.
+Se no as tivssemos, os programas teriam que ser curtos e de pequena complexidade. Para
+fazermos programas grandes e complexos temos de constru-los bloco a bloco.
O tipo-de-retorno o tipo de varivel que a funo vai retornar. O default
+ o tipo int, ou seja, uma funo para qual no declaramos o tipo de retorno
+considerada como retornando um inteiro. A declarao de parmetros uma lista com a
+seguinte forma geral:
+
+
tipo nome1, tipo nome2, ... , tipo nomeN
+
+
Repare que o tipo deve ser especificado para cada uma das N variveis de
+entrada. na declarao de parmetros que informamos ao compilador quais sero as
+entradas da funo (assim como informamos a sada no tipo-de-retorno).
+
+
O corpo da funo a sua alma. nele que as entradas so processadas,
+sadas so geradas ou outras coisas so feitas.
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c720.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c720.html"
new file mode 100644
index 00000000..21d23efd
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c720.html"
@@ -0,0 +1,106 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
O Comando return
+
+
O comando return tem a seguinte forma geral:
+
+
return valor_de_retorno; ou return;
+
+
Digamos que uma funo est sendo executada. Quando se chega a uma
+declarao return a funo encerrada imediatamente e, se o valor de retorno
+ informado, a funo retorna este valor. importante lembrar que o valor de retorno
+fornecido tem que ser compatvel com o tipo de retorno declarado para a funo.
+
+
Uma funo pode ter mais de uma declarao return. Isto se torna claro
+quando pensamos que a funo terminada quando o programa chega primeira
+declarao return. Abaixo esto dois exemplos de uso do return:
+
+
+
+
#include <stdio.h>
+int Square (int a)
+{
+ return (a*a);
+}
+int main ()
+{
+ int num;
+ printf ("Entre com um numero: ");
+ scanf ("%d",&num);
+ num=Square(num);
+ printf ("\n\nO seu quadrado vale: %d\n",num);
+ return 0;
+}
+
+#include <stdio.h>
+int EPar (int a)
+{
+ if (a%2) /* Verifica se a e divisivel por dois */
+ return 0; /* Retorna 0 se nao for divisivel */
+ else
+ return 1; /* Retorna 1 se for divisivel */
+}
+int main ()
+{
+ int num;
+ printf ("Entre com numero: ");
+ scanf ("%d",&num);
+ if (EPar(num))
+ printf ("\n\nO numero e par.\n");
+ else
+ printf ("\n\nO numero e impar.\n");
+ return 0;
+}
+
+
importante notar que, como as funes retornam valores, podemos aproveit-los
+para fazer atribuies, ou mesmo para que estes valores participem de expresses. Mas no
+podemos fazer:
+
+
+
+
func(a,b)=x; /* Errado! */
+
+
No segundo exemplo vemos o uso de mais de um return em uma funo.
+
+
Fato importante: se uma funo retorna um valor voc no precisa
+aproveitar este valor. Se voc no fizer nada com o valor de retorno de uma funo
+ele ser descartado. Por exemplo, a funo printf() retorna um inteiro que ns
+nunca usamos para nada. Ele descartado.
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est. Escreva a funo
+'EDivisivel(int a, int b)' (tome como base EPar(int a)). A funo dever retornar 1 se
+o resto da diviso de a por b for zero. Caso contrrio, a funo dever retornar
+zero.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c730.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c730.html"
new file mode 100644
index 00000000..28c8929a
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c730.html"
@@ -0,0 +1,80 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Prottipos de Funes
+
+
At agora, nos exemplos apresentados, escrevemos as funes antes de escrevermos a
+funo main(). Isto , as funes esto fisicamente antes da funo main().
+Isto foi feito por uma razo. Imagine-se na pele do compilador. Se voc fosse compilar a
+funo main(), onde so chamadas as funes, voc teria que saber com
+antecedncia quais so os tipos de retorno e quais so os parmetros das funes
+para que voc pudesse gerar o cdigo corretamente. Foi por isto as funes foram
+colocadas antes da funo main(): quando o compilador chegasse funo main()
+ele j teria compilado as funes e j saberia seus formatos.
+
+
Mas, muitas vezes, no poderemos nos dar ao luxo de escrever nesta ordem. Muitas
+vezes teremos o nosso programa espalhado por vrios arquivos. Ou seja, estaremos chamando
+funes em um arquivo que sero compiladas em outro arquivo. Como manter a coerncia?
+
+
A soluo so os prottipos de funes. Prottipos so nada mais, nada
+menos, que declaraes de funes. Isto , voc declara uma funo que ir usar.
+O compilador toma ento conhecimento do formato daquela funo antes de compil-la. O
+cdigo correto ser ento gerado. Um prottipo tem o seguinte formato:
onde o tipo-de-retorno, o nome-da-funo e a declarao-de-parmetros so
+os mesmos que voc pretende usar quando realmente escrever a funo. Repare que os
+prottipos tm uma ntida semelhana com as declaraes de
+variveis. Vamos implementar agora um dos exemplos da seo
+anterior com algumas alteraes e com prottipos:
+
+
+
+
#include <stdio.h>
+float Square (float a);
+int main ()
+{
+ float num;
+ printf ("Entre com um numero: ");
+ scanf ("%f",&num);
+ num=Square(num);
+ printf ("\n\nO seu quadrado vale: %f\n",num);
+ return 0;
+}
+float Square (float a)
+{
+ return (a*a);
+}
+
+
Observe que a funo Square() est colocada depois de main(), mas o
+seu prottipo est antes. Sem isto este programa no funcionaria corretamente.
+
+
Usando prottipos voc pode construir funes que retornam quaisquer tipos de
+variveis. bom ressaltar que funes podem tambm retornar ponteiros sem qualquer
+problema. Os prottipos no s ajudam o compilador. Eles ajudam a voc tambm: usando
+prottipos, o compilador evita erros, no deixando que o programador use funes com
+os parmetros errados e com o tipo de retorno errado, o que uma grande ajuda!
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c740.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c740.html"
new file mode 100644
index 00000000..7e6a0a1f
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c740.html"
@@ -0,0 +1,97 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
O Tipo void
+
+
Agora vamos ver o nico tipo da linguagem C que no detalhamos ainda: o void.
+Em ingls, void quer dizer vazio e isto mesmo que o void . Ele nos
+permite fazer funes que no retornam nada e funes que no tm parmetros!
+Podemos agora escrever o prottipo de uma funo que no retorna nada:
+
+
void nome_da_funo (declarao_de_parmetros);
+
+
Numa funo, como a acima, no temos valor de retorno na declarao return. Alis, neste caso, o comando return
+no necessrio na funo.
+
+
Podemos, tambm, fazer funes que no tm parmetros:
+
+
tipo_de_retorno nome_da_funo (void);
+
+
ou, ainda, que no tem parmetros e no retornam nada:
Se quisermos que a funo retorne algo, devemos usar a declarao return. Se no quisermos, basta declarar a funo como tendo
+tipo-de-retorno void. Devemos lembrar agora que a funo main()
+uma funo e como tal devemos trat-la. O compilador acha que a funo main()
+deve retornar um inteiro. Isto pode ser interessante se quisermos que o sistema
+operacional receba um valor de retorno da funo main(). Se assim o quisermos,
+devemos nos lembrar da seguinte conveno: se o programa retornar zero, significa que
+ele terminou normalmente, e, se o programa retornar um valor diferente de zero, significa
+que o programa teve um trmino anormal. Se no estivermos interessados neste tipo de
+coisa, basta declarar a funo main como retornando void.
+
+
As duas funes main() abaixo so vlidas:
+
+
+
+
main (void)
+{
+ ....
+ return 0;
+}
+
+void main (void)
+{
+ ....
+}
+
+
A primeira forma vlida porque, como j vimos, as funes em C tm, por
+padro, retorno inteiro.. Alguns compiladores reclamaro da segunda forma de main,
+dizendo que main sempre deve retornar um inteiro. Se isto acontecer com o compilador que
+voc est utilizando, basta fazer main retornar um inteiro.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c750.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c750.html"
new file mode 100644
index 00000000..7da9e533
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c750.html"
@@ -0,0 +1,108 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Arquivos-Cabealhos
+
+
Arquivos-cabealhos so aqueles que temos mandado o compilador incluir no incio de
+nossos exemplos e que sempre terminam em .h. A extenso .h vem de
+header (cabealho em ingls). J vimos exemplos como stdio.h, conio.h,
+string.h. Estes arquivos, na verdade, no possuem os cdigos completos das
+funes. Eles s contm prottipos de funes. o que basta. O compilador
+l estes prottipos e, baseado nas informaes l contidas, gera o cdigo correto. O
+corpo das funes cujos prottipos esto no arquivo-cabealho, no caso das funes
+do prprio C, j esto compiladas e normalmente so includas no programa no instante
+da "linkagem". Este o instante em que todas as referncias a funes cujos
+cdigos no esto nos nossos arquivos fontes so resolvidas, buscando este cdigo nos
+arquivos de bibliotecas.
+
+
Se voc criar algumas funes que queira aproveitar em vrios programas
+futuros, ou mdulos de programas, voc pode escrever arquivos-cabealhos e inclu-los
+tambm.
+
+
Suponha que a funo 'int EPar(int a)', do segundo exemplo da pgina c720.html seja importante em vrios programas, e desejemos
+declar-la num mdulo separado. No arquivo de cabealho chamado por exemplo de
+'funcao.h' teremos a seguinte declarao:
+
+
int EPar(int a);
+
+
O cdigo da funo ser escrito num arquivo a parte. Vamos cham-lo de 'funcao.c'.
+Neste arquivo teremos a definio da funo:
+
+
int EPar (int a)
+{
+if (a%2) /* Verifica se a e divisivel por dois */
+ return 0;
+else
+ return 1;
+}
+
+
Por fim, no arquivo do programa principal teremos o programa principal. Vamos chamar
+este arquivo aqui de 'princip.c'.
+
+
#include <stdio.h>
+#include "funcao.h"
+void main ()
+{
+ int num;
+ printf ("Entre com numero: ");
+ scanf ("%d",&num);
+ if (EPar(num))
+ printf ("\n\nO numero e par.\n");
+ else
+ printf ("\n\nO numero e impar.\n");
+}
+
+
Este programa poderia ser compilado usando a seguinte linha de comando para o gcc:
+
+
gcc princip.c funcao.c -o saida
+
+
onde 'saida' seria o arquivo executvel gerado.
+
+
Para gerar o executvel deste programa no Rhide voc deve
+criar um projeto, com a opo Project -> Open. Digitar um nome para o seu projeto
+(por exemplo saida). Ao apertar OK, o Rhide criar uma janela de projeto, onde voc
+dever adicionar os arquivos que sero usados para compor o seu executvel. Para isto,
+voc deve apertar a tecla <Insert> e em seguida escolher os arquivos princip.c e
+funcao.c . Da, s mandar compilar o projeto, com a opo Compile -> Make. Se
+no der erro, pode executar!
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est:
+ Escreva um programa que faa uso da funo EDivisivel(int a, int
+b), criada na pgina c720.html. Organize o seu programa em trs
+arquivos: o arquivo prog.c , conter o programa principal; o arquivo func.c conter a
+funo; o arquivo func.h conter o prottipo da funo. Compile os arquivos e gere o
+executvel a partir deles.
uma introduo ao escopo de variveis. O escopo o conjunto de
+regras que determinam o uso e a validade de variveis nas diversas partes do programa.
+
+
+
+
Variveis locais
+
+
O primeiro tipo de variveis que veremos so as variveis locais. Estas so aquelas
+que s tm validade dentro do bloco no qual so declaradas. Sim. Podemos declarar
+variveis dentro de qualquer bloco. S para lembrar: um bloco comea quando abrimos uma
+chave e termina quando fechamos a chave. At agora s tnhamos visto variveis locais
+para funes completas. Mas um comando for pode ter variveis locais e que no
+sero conhecidas fora dali. A declarao de variveis locais a primeira coisa que
+devemos colocar num bloco. A caracterstica que torna as variveis locais to
+importantes justamente a de serem exclusivas do bloco. Podemos ter quantos blocos
+quisermos com uma varivel local chamada x, por exemplo, e elas no apresentaro
+conflito entre elas.
+
+
A palavra reservada do C auto serve para dizer que uma varivel local.
+Mas no precisaremos us-la pois as variveis declaradas dentro de um bloco j so
+consideradas locais.
+
+
Abaixo vemos um exemplo de variveis locais:
+
+
+
+
func1 (...)
+{
+ int abc,x;
+ ...
+}
+func (...)
+{
+ int abc;
+ ...
+}
+void main ()
+{
+ int a,x,y;
+ for (...)
+ {
+ float a,b,c;
+ ...
+ }
+ ...
+}
+
+
No programa acima temos trs funes. As variveis locais de cada uma delas no
+iro interferir com as variveis locais de outras funes. Assim, a varivel abc
+de func1() no tem nada a ver (e pode ser tratada independentemente) com a
+varivel abc de func2(). A varivel x de func1() tambm
+completamente independente da varivel x de main(). As variveis a,
+b e c so locais ao bloco for. Isto quer dizer que s so
+conhecidas dentro deste bloco for e so desconhecidas no resto da funo main().
+Quando usarmos a varivel a dentro do bloco for estaremos usando a
+varivel a local ao for e no a varivel a da funo main().
+
+
+
+
+
Parmetros formais
+
+
O segundo tipo de varivel que veremos so os parmetros formais. Estes so
+declarados como sendo as entradas de uma funo. No h motivo para se preocupar com o
+escopo deles. fcil: o parmetro formal uma varivel local da funo.
+Voc pode tambm alterar o valor de um parmetro formal, pois esta alterao no
+ter efeito na varivel que foi passada funo. Isto tem sentido, pois quando o C
+passa parmetros para uma funo, so passadas apenas cpias das variveis. Isto ,
+os parmetros formais existem independentemente das variveis que foram passadas para a
+funo. Eles tomam apenas uma cpia dos valores passados para a funo.
+
+
+
+
Variveis globais
+
+
Variveis globais so declaradas, como j sabemos, fora de todas as funes do
+programa. Elas so conhecidas e podem ser alteradas por todas as funes do programa.
+Quando uma funo tem uma varivel local com o mesmo nome de uma varivel global a
+funo dar preferncia varivel local. Vamos ver um exemplo:
+
+
+
+
int z,k;
+func1 (...)
+{
+ int x,y;
+ ...
+}
+
+func2 (...)
+{
+ int x,y,z;
+ ...
+ z=10;
+ ...
+}
+
+main ()
+{
+ int count;
+...
+}
+
+
No exemplo acima as variveis z e k so globais. Veja que func2()
+tem uma varivel local chamada z. Quando temos ento, em func2(), o
+comando z=10 quem recebe o valor de 10 a varivel local, no afetando o
+valor da varivel global z.
+
+
Evite ao mximo o uso de variveis globais. Elas ocupam memria o tempo
+todo (as locais s ocupam memria enquanto esto sendo usadas) e tornam o programa mais
+difcil de ser entendido e menos geral.
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est. Estude o seguinte
+programa e aponte o valor de cada varivel sempre que solicitado:
+
+
#include <stdio.h>
+int num;
+int func(int a, int b)
+{
+ a = (a+b)/2; /* Qual e o valor de a apos a atribuicao? */
+ num -= a;
+ return a;
+}
+
+main()
+{
+ int first = 0, sec = 50;
+ num = 10;
+ num += func(first, sec); /* Qual e o valor de num, first e sec */
+ /* antes e depois da atribuicao? */
+ printf("\n\nConfira! num = %d\tfirst = %d\tsec = %d",num, first, sec);
+}
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c770.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c770.html"
new file mode 100644
index 00000000..23a2aedb
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c770.html"
@@ -0,0 +1,126 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Passagem de parmetros por valor e passagem por referncia
+
+
J vimos que, na linguagem C, quando chamamos uma funo os parmetros formais da
+funo copiam os valores dos parmetros que so passados para a funo. Isto quer
+dizer que no so alterados os valores que os parmetros tm fora da funo. Este
+tipo de chamada de funo denominado chamada por valor. Isto ocorre porque so
+passados para a funo apenas os valores dos parmetros e no os prprios
+parmetros. Veja o exemplo abaixo:
+
+
+
+
#include <stdio.h>
+float sqr (float num);
+void main ()
+{
+ float num,sq;
+ printf ("Entre com um numero: ");
+ scanf ("%f",&num);
+ sq=sqr(num);
+ printf ("\n\nO numero original e: %f\n",num);
+ printf ("O seu quadrado vale: %f\n",sq);
+}
+
+float sqr (float num)
+{
+ num=num*num;
+ return num;
+}
+
+
No exemplo acima o parmetro formal num da funo sqr() sofre
+alteraes dentro da funo, mas a varivel num da funo main()
+permanece inalterada: uma chamada por valor.
+
+
Outro tipo de passagem de parmetros para uma funo ocorre quando
+alteraes nos parmetros formais, dentro da funo, alteram os valores dos
+parmetros que foram passados para a funo. Este tipo de chamada de funo tem o
+nome de "chamada por referncia". Este nome vem do fato de que, neste tipo de
+chamada, no se passa para a funo os valores das variveis, mas sim suas
+referncias (a funo usa as referncias para alterar os valores das variveis fora
+da funo).
+
+
O C s faz chamadas por valor. Isto bom quando queremos usar os parmetros
+formais vontade dentro da funo, sem termos que nos preocupar em estar alterando os
+valores dos parmetros que foram passados para a funo. Mas isto tambm pode ser ruim
+s vezes, porque podemos querer mudar os valores dos parmetros fora da funo
+tambm. O C++ tem um recurso que permite ao programador fazer chamadas por referncia.
+H entretanto, no C, um recurso de programao que podemos usar para simular uma
+chamada por referncia.
+
+
Quando queremos alterar as variveis que so passadas para uma funo, ns
+podemos declarar seus parmetros formais como sendo ponteiros. Os ponteiros so a
+"referncia" que precisamos para poder alterar a varivel fora da funo. O
+nico inconveniente que, quando usarmos a funo, teremos de lembrar de colocar um &
+na frente das variveis que estivermos passando para a funo. Veja um exemplo:
No muito difcil. O que est acontecendo que passamos para a funo Swap o
+endereo das variveis num1 e num2. Estes endereos so copiados nos ponteiros a e b.
+Atravs do operador * estamos acessando o contedo apontado pelos ponteiros e
+modificando-o. Mas, quem este contedo? Nada mais que os valores armazenados em num1 e
+num2, que, portanto, esto sendo modificados!
+
+
Espere um momento... ser que ns j no vimos esta estria de chamar uma funo
+com as variveis precedidas de &? J! assim que ns chamamos a funo scanf().
+Mas porqu? Vamos pensar um pouco. A funo scanf() usa chamada por referncia
+porque ela precisa alterar as variveis que passamos para ela! No para isto mesmo
+que ela feita? Ela l variveis para ns e portanto precisa alterar seus valores.
+Por isto passamos para a funo o endereo da varivel a ser modificada!
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est:
+ Escreva uma funo que receba duas variveis inteiras e
+"zere" o valor das variveis. Use o que voc aprendeu nesta pgina para
+fazer a implementao
Nos trs casos, teremos dentro de func() um int* chamado matrx.
+Ao passarmos um vetor para uma funo, na realidade estamos passando um ponteiro. Neste
+ponteiro armazenado o endereo do primeiro elemento do vetor. Isto significa que
+no feita uma cpia, elemento a elemento do vetor. Isto faz com que possamos alterar
+o valor dos elementos do vetor dentro da funo.
+
+
Um exemplo disto j foi visto quando implementamos a
+funo StrCpy().
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est.
+ Escreva um programa que leia um vetor de inteiros pelo teclado e o
+apresente na tela. Crie uma funo (void levetor(int *vet, int
+dimensao)) para fazer a leitura do vetor.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c790.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c790.html"
new file mode 100644
index 00000000..b78d7326
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c790.html"
@@ -0,0 +1,99 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Os Argumentos argc e argv
+
+
A funo main() pode ter parmetros formais. Mas o programador no pode
+escolher quais sero eles. A declarao mais completa que se pode ter para a funo main()
+:
+
+
int main (int argc,char *argv[]);
+
+
Os parmetros argc e argv do ao programador acesso linha de comando
+com a qual o programa foi chamado.
+
+
O argc (argument count) um inteiro e possui o nmero de argumentos com
+os quais a funo main() foi chamada na linha de comando. Ele , no mnimo 1,
+pois o nome do programa contado como sendo o primeiro argumento.
+
+
O argv (argument values) um ponteiro para uma matriz de strings. Cada
+string desta matriz um dos parmetros da linha de comando. O argv[0] sempre
+aponta para o nome do programa (que, como j foi dito, considerado o primeiro
+argumento). para saber quantos elementos temos em argv que temos argc.
+
+
Exemplo: Escreva um programa que faa uso dos paramentros argv
+e argc. O programa dever receber da linha de comando o dia, ms e ano correntes,
+e imprimir a data em formato apropriado. Veja o exemplo, supondo que o executvel se
+chame data:
if(argc == 4) /* Testa se o numero de parametros fornecidos esta' correto
+
+o primeiro parametro e' o nome do programa, o segundo o dia
+
+o terceiro o mes e o quarto os dois ultimos algarismos do ano */
+{
+ mes = atoi(argv[2]); /* argv contem strings. A string
+referente ao mes deve ser
+
+transformada em um numero inteiro. A funcao atoi esta
+
+sendo usada para isto: recebe a string e transforma no
+
+inteiro equivalente */
+
+
if (mes<1 || mes>12) /* Testa se o mes e' valido */
+
+ printf("Erro!\nUso: data dia mes ano,
+todos inteiros");
+ else
+ printf("\n%s de %s de 19%s", argv[1],
+nomemes[mes-1], argv[3]);
+}
+
+
else printf("Erro!\nUso: data dia mes ano, todos inteiros");
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c7a0.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c7a0.html"
new file mode 100644
index 00000000..77167d8f
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c7a0.html"
@@ -0,0 +1,65 @@
+
+
+
+
+
+Curso de C - Recursividade
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Recursividade
+
+
Na linguagem C, assim como em muitas outras linguagens de programao, uma funo
+pode chamar a si prpria. Uma funo assim chamada funo recursiva. Todo cuidado
+ pouco ao se fazer funes recursivas. A primeira coisa a se providenciar um
+critrio de parada. Este vai determinar quando a funo dever parar de chamar a si
+mesma. Isto impede que a funo se chame infinitas vezes.
+
+
Uma funo que calcule o fatorial de um nmero inteiro n um bom exemplo de uma
+funo recursiva:
+
+
#include <stdio.h>
+int fat(int n)
+{
+ if (n)
+ return n*fat(n-1);
+ else return 1;
+}
+
+int main()
+{
+ int n;
+ printf("\n\nDigite um valor para n: ");
+ scanf("%d", &n);
+ printf("\nO fatorial de %d e' %d", n, fat(n));
+ return 0;
+}
+
+
Note que, enquanto n no for igual a 0, a funo fat chama a si mesma, cada vez com
+um valor menor. n=0 critrio de parada para esta funo.
+
+
H certos algoritmos que so mais eficientes quando feitos de maneira recursiva, mas
+a recursividade algo a ser evitado sempre que possvel, pois, se usada incorretamente,
+tende a consumir muita memria e ser lenta. Lembre-se que memria consumida cada vez
+que o computador faz uma chamada a uma funo. Com funes recursivas a memria do
+computador pode se esgotar rapidamente.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c7b0.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c7b0.html"
new file mode 100644
index 00000000..35ffe708
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c7b0.html"
@@ -0,0 +1,50 @@
+
+
+
+
+Curso de C - Outras questes sobre funes
+
+
+
+
+
+
CURSO DE C
+
+
+
+
Outras Questes
+
+
Uma funo, como foi dito anteriormente, um bloco de construo muito til. No
+C as funes so flexveis. A flexibilidade d poder, mas exige cuidado.
+
+
Funes devem ser implementadas, quando possvel, da maneira mais geral
+possvel. Isto as torna mais fceis de serem reutilizadas e entendidas. Evite, sempre
+que possvel, funes que usem variveis globais.
+
+
Se houver uma rotina que deve ser o mais veloz possvel, seria bom
+implement-la sem nenhuma (ou com o mnimo de) chamadas a funes, porque uma chamada
+a uma funo consome tempo e memria.
+
+
Um outro ponto importante que, como j sabemos um bocado a respeito de
+funes, quando formos ensinar uma das funes das bibliotecas do C vamos mostrar, em
+primeiro lugar, o seu prottipo. Quem entendeu tudo que foi ensinado nesta parte sobre
+funes pode retirar inmeras informaes de um prottipo (tipo de retorno, nome da
+funo, tipo dos argumentos, passagem por valor ou passagem por referncia).
+
+
Sugiro que neste ponto, o leitor leia um arquivo-cabealho como, por exemplo o stdio.h
+ou o string.h. um bom treino. Estes arquivo podem ser encontrados no diretrio
+apropriado do compilador que voc estiver utilizando (geralmente o subdiretrio include
+do diretrio onde voc instalou o compilador).
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c810.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c810.html"
new file mode 100644
index 00000000..36ef1e50
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c810.html"
@@ -0,0 +1,61 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
+
As Diretivas de Compilao
+
+
O pr-processador C um programa que examina o programa fonte escrito em C e executa
+certas modificaes nele, baseado nas Diretivas de Compilao. As diretivas
+de compilao so comandos que no so compilados, sendo dirigidos ao
+pr-processador, que executado pelo compilador antes da execuo do processo de
+compilao propriamente dito.
+
+
Portanto, o pr-processador modifica o programa fonte, entregando para o compilador um
+programa modificado. Todas as diretivas de compilao so iniciadas pelo caracter #. As
+diretivas podem ser colocadas em qualquer parte do programa. J vimos, e usamos muito, a
+diretiva #include. Sabemos que ela no gera cdigo mas diz ao compilador
+que ele deve incluir um arquivo externo na hora da compilao. As diretivas do C so
+identificadas por comearem por #. As diretivas que estudaremos so definidas
+pelo padro ANSI:
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c820.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c820.html"
new file mode 100644
index 00000000..f98ecd75
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c820.html"
@@ -0,0 +1,45 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
A Diretiva include
+
+
A diretiva #include j foi usada durante o nosso curso diversas vezes. Ela diz
+ao compilador para incluir, na hora da compilao, um arquivo especificado. Sua forma
+geral :
+
+
#include "nome_do_arquivo" ou
+#include <nome_do_arquivo>
+
+
A diferena entre se usar " " e < > somente a
+ordem de procura nos diretrios pelo arquivo especificado. Se voc quiser informar o
+nome do arquivo com o caminho completo, ou se o arquivo estiver no diretrio de trabalho,
+use " ". Se o arquivo estiver nos caminhos de procura pr-especificados
+do compilador, isto , se ele for um arquivo do prprio sistema (como o caso de
+arquivos como stdio.h, string.h, etc...) use < >.
+
+
Observe que no h ponto e vrgula aps a diretiva de compilao. Esta uma
+caracterstica importante de todas as diretivas de compilao e no somente da
+diretiva #include
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c830.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c830.html"
new file mode 100644
index 00000000..acb8ab65
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c830.html"
@@ -0,0 +1,166 @@
+
+
+
+
+
+Curso de C
+
+
+
+
+
+
+
CURSO DE C
+
+
+
+
+
As Diretivas define e undef
+
+
A diretiva #define tem a seguinte forma geral:
+
+
#define nome_da_macro sequncia_de_caracteres
+
+
Quando voc usa esta diretiva, voc est dizendo ao compilador para que, toda
+vez que ele encontrar o nome_da_macro no programa a ser compilado, ele deve substitu-lo
+pela sequncia_de_caracteres fornecida. Isto muito til para deixar o programa mais
+geral. Veja um exemplo:
+
+
#include <stdio.h>
+#define PI 3.1416
+#define VERSAO "2.02"
+int main ()
+{
+ printf ("Programa versao %s",VERSAO);
+ printf ("O numero pi vale: %f",PI);
+ return 0;
+}
+
+
Se quisermos mudar o nosso valor de PI, ou da VERSAO, no programa acima,
+basta mexer no incio do programa. Isto torna o programa mais flexvel. H quem diga
+que, em um programa, nunca se deve usar constantes como 10, 3.1416, etc., pois estes so
+nmeros que ningum sabe o que significam (muitas pessoas os chamam de "nmeros
+mgicos"). Ao invs disto, deve-se usar apenas #defines. uma conveno
+de programao (que deve ser seguida, pois torna o programa mais legvel) na linguagem
+C que as macros declaradas em #defines devem ser todas em maisculas.
+
+
Um outro uso da diretiva #define o de simplesmente definir uma macro. Neste
+caso usa-se a seguinte forma geral:
+
+
#define nome_da_macro
+
+
Neste caso o objetivo no usar a macro no programa (pois ela seria
+substituda por nada), mas, sim, definir uma macro para ser usada como uma espcie de
+flag. Isto quer dizer que estamos definindo um valor como sendo "verdadeiro"
+para depois podermos test-lo.
+
+
Tambm possvel definir macros com argumentos. Veja o exemplo a seguir:
Embora parea uma chamada de funo, o uso de max
+(ou min) simplesmente substitui, em tempo de
+compilao, o cdigo especificado. Cada ocorrncia de um parmetro formal (A ou B, na
+definio) ser substitudo pelo argumento real correspondente. Assim, a linha de
+cdigo:
+
+
+
x = max(i,j);
+
+ser substituda pela linha:
+
+x = ((i)>(j) ? (i):(j));
+
+A linha de cdigo:
+
+
x = max(p+q,r+s);
+
+
+
ser substituda pela linha:
+
+
+
x = ((p+q)>(r+s) ? (p+q):(r+s));
+
+
+
Isto pode ser muito til. Verifique que as macros max
+e min no possuem especificao de tipo. Logo,
+elas trabalham corretamente para qualquer tipo de dado, enquanto os argumentos passados
+forem coerentes. Mas isto pode trazer tambm algumas armadilhas. Veja que a linha
+
+
+
x = max(p++,r++);
+
+
+
ser substituda pelo cdigo
+
+
+
x = ((p++)>(r++) ? (p++):(r++));
+
+
+
e em consequncia, incrementar o maior valor duas vezes.
+
+
Outra armadilha em macros est relacionada com o uso de parnteses. Seja a macro:
+
+
#define SQR(X) X*X
+
+
Imagine que voc utilize esta macro na expresso abaixo:
+
+
y = SQR(A+B);
+
+
Ao fazer isto, a substituio que ser efetuada no estar correta. A expresso
+gerada ser:
+
+
y = A+B*A+B;
+
+
que obviamente diferente de (A+B)*(A+B) !
+
+
A soluo para este problema incluir parnteses na definio da macro:
+
+
#define SQR(X)(X)*(X)
+
+
+
+
Quando voc utiliza a diretiva #define nunca deve haver espaos em branco no
+identificador. Por exemplo, a macro:
+
+
#define PRINT (i) printf(" %d \n", i)
+
+
no funcionar corretamente porque existe um espao em branco entre PRINT e
+(i). Ao se tirar o espao, a macro funcionar corretamente e poder ser utilizada para
+imprimir o nmero inteiro i, saltando em seguida para a prxima linha.
+
+
+
+
A diretiva #undef tem a seguinte forma geral:
+
+
#undef nome_da_macro
+
+
Ela faz com que a macro que a segue seja apagada da tabela interna que guarda as
+macros.O compilador passa a partir deste ponto a no conhecer mais esta macro.
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est: Escreva uma macro que retorne 1 se o seu argumento
+for um nmero mpar e 0 se for um nmero par.
+
+
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c840.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c840.html"
new file mode 100644
index 00000000..e3845971
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c840.html"
@@ -0,0 +1,56 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
As Diretivas ifdef e endif
+
+
Nesta seo, e at mais a frente, veremos as diretivas de
+compilao condicional. Elas so muito parecidas com os comandos de execuo
+condicional do C. As duas primeiras diretivas que veremos so as #ifdef e #endif.
+Suas formas gerais so:
A sequncia de declaraes ser compilada apenas se o nome da macro estiver
+definido. A diretiva de compilao #endif util para definir o fim de uma
+sequncia de declaraes para todas as diretivas de compilao condicional. As linhas
+
demonstram como estas diretivas podem ser utilizadas. Caso PORT_0 tenha sido
+previamente definido, a macro PORTA definida e o header file port.h
+includo.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c860.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c860.html"
new file mode 100644
index 00000000..40f893d3
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c860.html"
@@ -0,0 +1,42 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
A Diretiva if
+
+
A diretiva #if tem a seguinte forma geral:
+
+
+
+
+
#if expresso_constante
+
sequncia_de_declaraes
+
#endif
+
+
+
+
A sequncia de declaraes ser compilada se a expresso-constante for verdadeira.
+ muito importande ressaltar que a expresso fornecida deve ser constante, ou seja, no
+deve ter nenhuma varivel.
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c870.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c870.html"
new file mode 100644
index 00000000..818ce155
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c870.html"
@@ -0,0 +1,63 @@
+
+
+
+
+
+Curso de C
+
+
+
+
+
+
+
CURSO DE C
+
+
+
+
+
A Diretiva else
+
+
A diretiva #else tem a seguinte forma geral:
+
+
+
+
+
#if expresso_constante
+
sequncia_de_declaraes
+
#else
+
sequncia_de_declaraes
+
#endif
+
+
+
+
Ela funciona como seu correspondente, o comando else.
+
+
+
Imagine que voc esteja trabalhando em um sistema, e deseje que todo o cdigo possa
+ser compilado em duas diferentes plataformas (i.e. Unix e Dos). Para obter isto, voc
+"encapsula" toda a parte de entrada e sada em arquivos separados, que sero
+carregados de acordo com o header file carregado. Isto pode ser facilmente implementado da
+seguinte forma:
+
+
+#define SISTEMA DOS
+...
+/*linhas de codigo..*/
+...
+#if SISTEMA == DOS
+ #define CABECALHO "dos_io.h"
+#else
+ #define CABECALHO "unix_io.h"
+#endif
+#include CABECALHO
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c880.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c880.html"
new file mode 100644
index 00000000..4d084b9b
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c880.html"
@@ -0,0 +1,50 @@
+
+
+
+
+Curso de C
+
+
+
+
+
+
CURSO DE C
+
+
+
+
A Diretiva elif
+
+
A diretiva #elif serve para implementar a estrutura if-else-if. Sua forma geral :
+
+
+
+
+
#if expresso_constante_1
+
sequncia_de_declaraes_1
+
#elif expresso_constante_2
+
sequncia_de_declaraes_2
+
#elif expresso_constante_3
+
sequncia_de_declaraes_3
+
.
+
.
+
.
+
#elif expresso_constante_n
+
sequncia_de_declaraes_n
+
#endif
+
+
+
+
O funcionamento desta estrutura idntico ao funcionamento apresentado anteriormente.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c910.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c910.html"
new file mode 100644
index 00000000..80ec63e7
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c910.html"
@@ -0,0 +1,59 @@
+
+
+
+
+
+Curso de C
+
+
+
+
+
+
+
Entradas e Sadas padronizadas
+
+
+
+
+
Introduo
+
+
O sistema de entrada e sada da linguagem C est estruturado na forma de uma
+biblioteca de funes . J vimos algumas destas funes, e agora elas sero
+reestudadas. Novas funes tambm sero apresentadas.
+
+
No objetivo deste curso explicar, em detalhes, todas as possveis funes da
+biblioteca de entrada e sada do C. A sintaxe completa destas funes pode ser
+encontrada no manual do seu compilador. Alguns sistemas trazem um descrio das
+funes na ajuda do compilador, que pode ser acessada "on line". Isto pode ser
+feito, por exemplo, no Rhide.
+
+
Um ponto importante que agora, quando apresentarmos uma funo, vamos, em primeiro
+lugar, apresentar o seu prottipo. Voc j deve ser capaz de interpretar as
+informaes que um prottipo nos passa. Se no, deve voltar a estudar a aula sobre funes.
+
+
Outro aspecto importante, quando se discute a entrada e sada na linguagem C o
+conceito de fluxo. Seja qual for o dispositivo de entrada e sada (discos,
+terminais, teclados, acionadores de fitas) que se estiver trabalhando, o C vai enxerg-lo
+como um fluxo, que nada mais que um dispositivo lgico de entrada ou sada. Todos os
+fluxos so similares em seu funcionamento e independentes do dispositivo ao qual esto
+associados. Assim, as mesmas funes que descrevem o acesso aos discos podem ser
+utilizadas para se acessar um terminal de vdeo. Todas as operaes de entrada e sada
+so realizadas por meio de fluxos.
+
+
Na linguagem C, um arquivo entendido como um conceito que pode ser aplicado a
+arquivos em disco, terminais, modens, etc ... Um fluxo associado a um arquivo atravs
+da realizao de uma operao de abertura. Uma vez aberto, informaes podem ser
+trocadas entre o arquivo e o programa. Um arquivo dissociado de um fluxo atravs de
+uma operao de fechamento de arquivo.
Uma das funes mais bsicas de um sistema a entrada e sada de informaes em
+dispositivos. Estes podem ser um monitor, uma impressora ou um arquivo em disco. Vamos ver
+os principais comandos que o C nos fornece para isto.
+
+
getche e getch
+
+
As funes getch() e getche() no so definidas pelo padro ANSI. Porm, elas
+geralmente so includas em compiladores baseados no DOS, e se encontram no header file conio.h.
+Vale a pena repetir: so funes comuns apenas para compiladores baseados em DOS e, se
+voc estiver no UNIX normalmente no ter estas funes disponveis.
+
+
Prottipos:
+
+
int getch (void);
+ int getche (void);
+
+
+
getch() espera que o usurio digite uma tecla e retorna este caractere. Voc pode
+estar estranhando o fato de getch() retornar um inteiro, mas no h problema pois
+este inteiro tal que quando igualado a um char a converso feita
+corretamente. A funo getche() funciona exatamente como getch(). A
+diferena que getche() gera um "echo" na tela antes de retornar a
+tecla.
+
+
Se a tecla pressionada for um caractere especial estas funes retornam zero. Neste
+caso voc deve usar as funes novamente para pegar o cdigo da tecla extendida
+pressionada.
+
+
A funo equivalente a getche() no mundo ANSI o getchar().
+O problema com getchar que o caracter lido colocado em uma rea intermediria at
+que o usurio digite um <ENTER>, o que pode ser extremamente inconveniente em
+ambientes interativos.
+
+
putchar
+
+
Prottipo:
+
+
int putchar (int c);
+
+
+
putchar() coloca o caractere c na tela. Este caractere colocado na posio
+atual do cursor. Mais uma vez os tipos so inteiros, mas voc no precisa se preocupar
+com este fato. O header file stdio.h.
Pede ao usurio que entre uma string, que ser armazenada na string s. O
+ponteiro que a funo retorna o prprio s.
+gets no uma funo segura. Por qu? Simplesmente porque com gets
+pode ocorrer um estouro da quantidade de posies que foi especificada na string . Veja
+o exemplo abaixo:
+
+
#include <stdio.h>
+int main()
+{
+ char buffer[10];
+ printf("Entre com o seu nome");
+ gets(buffer);
+ printf("O nome : %s", buffer);
+ return 0;
+}
+
+
Se o usurio digitar como entrada:
+
+
Renato Cardoso Mesquita
+
+
ou seja, digitar um total de 23 caracteres: 24 posies (incluindo o '\0' ) sero
+utilizadas para armazenar a string. Como a string buffer[] s tem 10 caracteres, os 14
+caracteres adicionais sero colocados na rea de memria subsequente ocupada por
+ela, escrevendo uma regio de memria que no est reservada string. Este efeito
+conhecido como "estouro de buffer" e pode causar problemas imprevisveis. Uma
+forma de se evitar este problema usar a funo fgets,
+conforme veremos posteriormente
+
+
+
+
puts
+
+
Prottipo:
+
+
int puts (char *s);
+
+
+
puts() coloca a string s na tela.
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est. Escreva um programa que
+leia nomes pelo teclado e os imprima na tela. Use as funes puts e gets para a leitura
+e impresso na tela.
As funes que resumem todas as funes de entrada e sada formatada no C so as
+funes printf() e scanf(). Um domnio destas funes fundamental ao
+programador.
+
+
printf
+
+
Prottipo:
+
+
int printf (char *str,...);
+
+
As reticncias no prottipo da funo indicam que esta funo tem um nmero de
+argumentos varivel. Este nmero est diretamente relacionado com a string de controle str,
+que deve ser fornecida como primeiro argumento. A string de controle tem dois componentes.
+O primeiro so caracteres a serem impressos na tela. O segundo so os comandos de
+formato. Como j vimos, os ltimos determinam uma exibio de variveis na sada. Os
+comandos de formato so precedidos de %. A cada comando de formato deve
+corresponder um argumento na funo printf(). Se isto no ocorrer podem
+acontecer erros imprevisveis no programa.
+
+
Abaixo apresentamos a tabela de cdigos de formato:
+
+
+
+
+
+
Cdigo
+
Formato
+
+
+
%c
+
Um caracter (char)
+
+
+
%d
+
Um nmero inteiro decimal (int)
+
+
+
%i
+
O mesmo que %d
+
+
+
%e
+
Nmero em notao cientfica com o "e"minsculo
+
+
+
%E
+
Nmero em notao cientfica com o "e"maisculo
+
+
+
%f
+
Ponto flutuante decimal
+
+
+
%g
+
Escolhe automaticamente o melhor entre %f e %e
+
+
+
%G
+
Escolhe automaticamente o melhor entre %f e %E
+
+
+
%o
+
Nmero octal
+
+
+
%s
+
String
+
+
+
%u
+
Decimal "unsigned" (sem sinal)
+
+
+
%x
+
Hexadecimal com letras minsculas
+
+
+
%X
+
Hexadecimal com letras maisculas
+
+
+
%%
+
Imprime um %
+
+
+
%p
+
Ponteiro
+
+
+
+
+
Vamos ver alguns exemplos:
+
+
+
+
+
+
Cdigo
+
Imprime
+
+
+
printf ("Um %%%c %s",'c',"char");
+
Um %c char
+
+
+
printf ("%X %f %e",107,49.67,49.67);
+
6B 49.67 4.967e1
+
+
+
printf ("%d %o",10,10);
+
10 12
+
+
+
+
+
possvel tambm indicar o tamanho do campo, justificao e o nmero de casas
+decimais. Para isto usa-se cdigos colocados entre o % e a letra que indica o tipo
+de formato.
+
+
Um inteiro indica o tamanho mnimo, em caracteres, que deve ser reservado para a
+sada. Se colocarmos ento %5d estamos indicando que o campo ter cinco
+caracteres de comprimento no mnimo. Se o inteiro precisar de mais de cinco
+caracteres para ser exibido ento o campo ter o comprimento necessrio para exibi-lo.
+Se o comprimento do inteiro for menor que cinco ento o campo ter cinco de comprimento
+e ser preenchido com espaos em branco. Se se quiser um preenchimento com zeros pode-se
+colocar um zero antes do nmero. Temos ento que %05d reservar cinco casas para
+o nmero e se este for menor ento se far o preenchimento com zeros.
+
+
O alinhamento padro direita. Para se alinhar um nmero esquerda usa-se um
+sinal - antes do nmero de casas. Ento %-5d ser o nosso inteiro com o nmero
+mnimo de cinco casas, s que justificado a esquerda.
+
+
Pode-se indicar o nmero de casas decimais de um nmero de ponto flutuante. Por
+exemplo, a notao %10.4f indica um ponto flutuante de comprimento total dez e
+com 4 casas decimais. Entretanto, esta mesma notao, quando aplicada a tipos como
+inteiros e strings indica o nmero mnimo e mximo de casas. Ento %5.8d um
+inteiro com comprimento mnimo de cinco e mximo de oito.
+
+
Vamos ver alguns exemplos:
+
+
+
+
+
+
Cdigo
+
Imprime
+
+
+
printf ("%-5.2f",456.671);
+
| 456.67|
+
+
+
printf ("%5.2f",2.671);
+
| 2.67|
+
+
+
printf ("%-10s","Ola");
+
|Ola |
+
+
+
+
+
Nos exemplos o "pipe" ( | ) indica o incio e o fim do
+campo mas no so escritos na tela.
+
+
scanf
+
+
Prottipo:
+
+
int scanf (char *str,...);
+
+
A string de controle str determina, assim como com a funo printf(), quantos
+parmetros a funo vai necessitar. Devemos sempre nos lembrar que a funo scanf()
+deve receber ponteiros como parmetros. Isto significa que as variveis que no sejam
+por natureza ponteiros devem ser passadas precedidas do operador &. Os
+especificadores de formato de entrada so muito parecidos com os de printf(). Os
+caracteres de converso d, i, u e x podem ser precedidos por h para
+indicarem que um apontador para short ao invs de int aparece na lista de
+argumento, ou pela letra l (letra ele) para indicar que que um apontador para long
+aparece na lista de argumento. Semelhantemente, os caracteres de converso e, f e
+g podem ser precedidos por l para indicarem que um apontador para double ao
+invs de float est na lista de argumento. Exemplos:
+
+
+
+
+
Cdigo
+
Formato
+
+
+
%c
+
Um nico caracter (char)
+
+
+
%d
+
Um nmero decimal (int)
+
+
+
%i
+
Um nmero inteiro
+
+
+
%hi
+
Um short int
+
+
+
%li
+
Um long int
+
+
+
%e
+
Um ponto flutuante
+
+
+
%f
+
Um ponto flutuante
+
+
+
%lf
+
Um double
+
+
+
%h
+
Inteiro curto
+
+
+
%o
+
Nmero octal
+
+
+
%s
+
String
+
+
+
%x
+
Nmero hexadecimal
+
+
+
%p
+
Ponteiro
+
+
+
+
+
sprintf e sscanf
+
+
sprintf e sscanf so semelhantes a printf e scanf. Porm, ao invs de escreverem na
+sada padro ou lerem da entrada padro, escrevem ou leem em uma string. Os prottipos
+so:
+
+
int sprintf (char *destino, char *controle, ...);
+
+
int sscanf (char *destino, char *controle, ...);
+
+
Estas funes so muito utilizadas para fazer a converso entre dados na forma
+numrica e sua representao na forma de strings. No programa abaixo, por exemplo, a
+varivel i "impressa" em string1. Alm da representao de i como uma
+string, string1 tambm conter "Valor de i=" .
+
+
#include <stdio.h>
+int main()
+{
+ int i;
+ char string1[20];
+ printf( " Entre um valor inteiro: ");
+ scanf("%d", &i);
+ sprintf(string1,"Valor de i = %d", i);
+ puts(string1);
+ return 0;
+}
+
+
J no programa abaixo, foi utilizada a funo sscanf para converter a informao
+armazenada em string1 em seu valor numrico:
Veja como voc est. Escreva um programa que
+leia (via teclado) e apresente uma matriz 3X3 na tela. Utilize os novos cdigos de
+formato aprendidos para que a matriz se apresente corretamente identada. Altere os tipos
+de dados da matriz (int, float, double) e verifique a formatao correta para a
+identao. Verifique tambm a leitura e impresso de nmeros hexadecimais.
+
+
+
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c950.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c950.html"
new file mode 100644
index 00000000..2ed48f5e
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c950.html"
@@ -0,0 +1,209 @@
+
+
+
+
+
+Curso de C
+
+
+
+
+
+
O sistema de entrada e sada do ANSI C composto por uma srie de funes, cujos
+prottipos esto reunidos em stdio.h . Todas estas funes trabalham
+com o conceito de "ponteiro de arquivo". Este no um tipo propriamente dito,
+mas uma definio usando o comando typedef. Esta definio
+tambm est no arquivo stdio.h. Podemos declarar um ponteiro de arquivo da
+seguinte maneira:
+
+
FILE *p;
+
+
+
p ser ento um ponteiro para um arquivo. usando este tipo de ponteiro que
+vamos poder manipular arquivos no C.
+
+
fopen
+
+
Esta a funo de abertura de arquivos. Seu prottipo :
+
+
FILE *fopen (char *nome_do_arquivo,char *modo);
+
+
O nome_do_arquivo determina qual arquivo dever ser aberto. Este nome deve ser vlido
+no sistema operacional que estiver sendo utilizado. O modo de abertura diz funo fopen()
+que tipo de uso voc vai fazer do arquivo. A tabela abaixo mostra os valores de modo
+vlidos:
+
+
+
+
+
+
Modo
+
Significado
+
+
+
"r"
+
Abre um arquivo texto para leitura. O arquivo deve existir antes de
+ ser aberto.
+
+
+
"w"
+
Abrir um arquivo texto para gravao. Se o arquivo no existir, ele
+ ser criado. Se j existir, o contedo anterior ser destrudo.
+
+
+
"a"
+
Abrir um arquivo texto para gravao. Os dados sero adicionados no
+ fim do arquivo ("append"), se ele j existir, ou um novo arquivo ser criado,
+ no caso de arquivo no existente anteriormente.
+
+
+
"rb"
+
Abre um arquivo binrio para leitura. Igual ao modo "r"
+ anterior, s que o arquivo binrio.
+
+
+
"wb"
+
Cria um arquivo binrio para escrita, como no modo "w"
+ anterior, s que o arquivo binrio.
+
+
+
"ab"
+
Acrescenta dados binrios no fim do arquivo, como no modo
+ "a" anterior, s que o arquivo binrio.
+
+
+
"r+"
+
Abre um arquivo texto para leitura e gravao. O arquivo deve
+ existir e pode ser modificado.
+
+
+
"w+"
+
Cria um arquivo texto para leitura e gravao. Se o arquivo existir,
+ o contedo anterior ser destrudo. Se no existir, ser criado.
+
+
+
"a+"
+
Abre um arquivo texto para gravao e leitura. Os dados sero
+ adicionados no fim do arquivo se ele j existir, ou um novo arquivo ser criado, no caso
+ de arquivo no existente anteriormente.
+
+
+
"r+b"
+
Abre um arquivo binrio para leitura e escrita. O mesmo que
+ "r+" acima, s que o arquivo binrio.
+
+
+
"w+b"
+
Cria um arquivo binrio para leitura e escrita. O mesmo que
+ "w+" acima, s que o arquivo binrio.
+
+
+
"a+b"
+
Acrescenta dados ou cria uma arquivo binrio para leitura e escrita.
+ O mesmo que "a+" acima, s que o arquivo binrio
+
+
+
+
+
Poderamos ento, para abrir um arquivo binrio para escrita, escrever:
+
+
+
FILE *fp; /* Declarao da estrutura
+fp=fopen ("exemplo.bin","wb"); /* o arquivo se chama exemplo.bin e est localizado no diretrio corrente */
+if (!fp)
+ printf ("Erro na abertura do arquivo.");
+
+
A condio !fp testa se o arquivo foi aberto com sucesso porque no caso de um
+erro a funo fopen() retorna um ponteiro nullo (NULL).
+
+
Uma vez aberto um arquivo, vamos poder ler ou escrever nele utilizando as funes que
+sero apresentadas nas prximas pginas.
+
+
Toda vez que estamos trabalhando com arquivos, h uma espcie de posio atual no
+arquivo. Esta a posio de onde ser lido ou escrito o prximo caractere.
+Normalmente, num acesso sequencial a um arquivo, no temos que mexer nesta posio pois
+quando lemos um caractere a posio no arquivo automaticamente atualizada. Num acesso
+randmico teremos que mexer nesta posio (ver fseek()).
+
+
exit
+
+
Aqui abrimos um parnteses para explicar a funo exit() cujo prottipo :
+
+
void exit (int codigo_de_retorno);
+
+
Para utiliz-la deve-se colocar um include para o arquivo de cabealho stdlib.h. Esta
+funo aborta a execuo do programa. Pode ser chamada de qualquer ponto no programa e
+faz com que o programa termine e retorne, para o sistema operacional, o
+cdigo_de_retorno. A conveno mais usada que um programa retorne zero no caso de um
+trmino normal e retorne um nmero no nulo no caso de ter ocorrido um problema. A
+funo exit() se torna importante em casos como alocao dinmica e abertura
+de arquivos pois nestes casos, se o programa no conseguir a memria necessria ou
+abrir o arquivo, a melhor sada pode ser terminar a execuo do programa. Poderamos
+reescrever o exemplo da seo anterior usando agora o exit() para garantir que o
+programa no deixar de abrir o arquivo:
+
+
#include <stdio.h>
+#include <stdlib.h> /* Para a funo exit() */
+main (void)
+{
+FILE *fp;
+...
+fp=fopen ("exemplo.bin","wb");
+if (!fp)
+ {
+ printf ("Erro na abertura do arquivo. Fim de programa.");
+ exit (1);
+ }
+...
+return 0;
+}
+
+
fclose
+
+
Quando acabamos de usar um arquivo que abrimos, devemos fech-lo. Para tanto usa-se a
+funo fclose():
+
+
int fclose (FILE *fp);
+
+
O ponteiro fp passado funo fclose() determina o arquivo a ser
+fechado. A funo retorna zero no caso de sucesso.
+
+
Fechar um arquivo faz com que qualquer caracter que tenha permanecido no
+"buffer" associado ao fluxo de sada seja gravado. Mas, o que este
+"buffer"? Quando voc envia caracteres para serem gravados em um arquivo, estes
+caracteres so armazenados temporariamente em uma rea de memria (o
+"buffer") em vez de serem escritos em disco imediatamente. Quando o
+"buffer" estiver cheio, seu contedo escrito no disco de uma vez. A razo
+para se fazer isto tem a ver com a eficincia nas leituras e gravaes de arquivos. Se,
+para cada caracter que fossemos gravar, tivssemos que posicionar a cabea de gravao
+em um ponto especfico do disco, apenas para gravar aquele caracter, as gravaes
+seriam muito lentas. Assim estas gravaes s sero efetuadas quando houver um volume
+razovel de informaes a serem gravadas ou quando o arquivo for fechado.
+
+
A funo exit() fecha todos os arquivos que um programa tiver
+aberto.
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c960.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c960.html"
new file mode 100644
index 00000000..c54d7b43
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c960.html"
@@ -0,0 +1,168 @@
+
+
+
+
+
+Curso de C
+
+
+
+
+
+
A funo putc a primeira funo de escrita de arquivo que veremos. Seu
+prottipo :
+
+
int putc (int ch,FILE *fp);
+
+
Escreve um caractere no arquivo.
+
+
O programa a seguir l uma string do teclado e escreve-a, caractere por caractere em
+um arquivo em disco (o arquivo arquivo.txt, que ser aberto no diretrio corrente).
+
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+int main()
+{
+ FILE *fp;
+ char string[100];
+ int i;
+ fp = fopen("arquivo.txt","w"); /* Arquivo ASCII, para escrita */
+ if(!fp)
+ {
+ printf( "Erro na abertura do arquivo");
+ exit(0);
+ }
+ printf("Entre com a string a ser gravada no arquivo:");
+ gets(string);
+ for(i=0; string[i]; i++) putc(string[i], fp); /* Grava a string, caractere a caractere */
+ fclose(fp);
+ return 0;
+}
+
+
Depois de executar este programa, verifique o contedo do arquivo arquivo.txt (voc
+pode usar qualquer editor de textos). Voc ver que a string que voc digitou est
+armazenada nele.
+
+
getc
+
+
Retorna um caractere lido do arquivo. Prottipo:
+
+
int getc (FILE *fp);
+
+
feof
+
+
EOF ("End of file") indica o fim de um arquivo. s vezes, necessrio
+verificar se um arquivo chegou ao fim. Para isto podemos usar a funo feof().
+Ela retorna no-zero se o arquivo chegou ao EOF, caso contrrio retorna zero. Seu
+prottipo :
+
+
int feof (FILE *fp);
+
+
Outra forma de se verificar se o final do arquivo foi atingido comparar o caractere
+lido por getc com EOF. O programa a seguir abre um arquivo j existente e o l, caracter
+por caracter, at que o final do arquivo seja atingido. Os caracteres lidos so
+apresentados na tela:
+
+
#include <stdio.h>
+#include <stdlib.h>
+int main()
+{
+FILE *fp;
+char c;
+fp = fopen("arquivo.txt","r"); /* Arquivo ASCII, para
+leitura */
+if(!fp)
+{
+ printf( "Erro na abertura do arquivo");
+ exit(0);
+}
+while((c = getc(fp) ) != EOF) /* Enquanto no chegar ao
+final do arquivo */
+ printf("%c", c);
+
+/* imprime o caracter lido */
+fclose(fp);
+return 0;
+}
+
+
+
+
A seguir apresentado um programa onde vrias operaes com arquivos so
+realizadas, usando as funes vistas nesta pgina. Primeiro o arquivo aberto para a
+escrita, e imprime-se algo nele. Em seguida, o arquivo fechado e novamente aberto para
+a leitura. Verifique o exemplo.
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+void main()
+{
+ FILE *p;
+ char c, str[30], frase[80] = "Este e um arquivo chamado: ";
+ int i;
+ /* Le um nome para o arquivo a ser aberto: */
+ printf("\n\n Entre com um nome para o arquivo:\n");
+ gets(str);
+
+ if (!(p = fopen(str,"w"))) /* Caso ocorra algum erro na abertura do arquivo..*/
+ { /* o programa aborta automaticamente */
+ printf("Erro! Impossivel abrir o arquivo!\n");
+ exit(1);
+ }
+ /* Se nao houve erro, imprime no arquivo e o fecha ...*/
+ strcat(frase, str);
+ for (i=0; frase[i]; i++)
+ putc(frase[i],p);
+ fclose(p);
+
+ /* Abre novamente para leitura */
+ p = fopen(str,"r");
+ c = getc(p); /* Le o primeiro caracter */
+ while (!feof(p)) /* Enquanto no se chegar no final do arquivo */
+ {
+ printf("%c",c); /* Imprime o caracter na tela */
+ c = getc(p); /* Le um novo caracter no arquivo */
+ }
+ fclose(p); /* Fecha o arquivo */
+}
+
+
+
+
+
Auto-Avaliao
+
+
Veja como voc est: escreva um programa que abra um arquivo texto e conte o
+nmero de caracteres presentes nele. Imprima o nmero de caracteres na tela.
+
+
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c970.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c970.html"
new file mode 100644
index 00000000..4a927b2a
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/c970.html"
@@ -0,0 +1,325 @@
+
+
+
+
+
+Curso de C
+
+
+
+
+
+
Quando se comea a execuo de um programa, o sistema automaticamente abre alguns
+arquivos pr-definidos:
+
+
+
stdin: dispositivo de entrada padro (geralmente o teclado)
+
stdout: dispositivo de sada padro (geralmente o vdeo)
+
stderr: dispositivo de sada de erro padro (geralmente o vdeo)
+
stdaux: dispositivo de sada auxiliar (em muitos sistemas, associado
+ porta serial)
+
stdprn : dispositivo de impresso padro (em muitos sistemas,
+ associado porta paralela)
+
+
+
Cada uma destas constantes pode ser utilizada como um ponteiro para FILE, para acessar
+os perifricos associados a eles. Desta maneira, pode-se, por exemplo, usar:
+
+
+ch =getc(stdin);
+
+
para efetuar a leitura de um caracter a partir do teclado, ou :
+
+
+putc(ch, stdout);
+
+
para imprim-lo na tela.
+
+
fgets
+
+
Para se ler uma string num arquivo podemos usar fgets() cujo prottipo :
+
+
char *fgets (char *str, int tamanho,FILE *fp);
+
+
A funo recebe 3 argumentos: a string a ser lida, o limite mximo de caracteres a
+serem lidos e o ponteiro para FILE, que est associado ao arquivo de onde a string ser
+lida. A funo l a string at que um caracter de nova linha seja lido ou tamanho-1
+caracteres tenham sido lidos. Se o caracter de nova linha ('\n') for lido, ele far parte
+da string, o que no acontecia com gets. A string resultante sempre terminar com '\0'
+(por isto somente tamanho-1 caracteres, no mximo, sero lidos).
+
+
A funo fgets semelhante funo gets(),
+porm, alm dela poder fazer a leitura a partir de um arquivo de dados e incluir o
+caracter de nova linha na string, ela ainda especifica o tamanho mximo da string de
+entrada. Como vimos, a funo gets no tinha este controle, o
+que poderia acarretar erros de "estouro de buffer". Portanto, levando em
+conta que o ponteiro fp pode ser substitudo por stdin, como vimos acima,
+uma alternativa ao uso de gets usar a seguinte construo:
+
+
+ fgets (str, tamanho, stdin);
+
+
onde str e' a string que se est lendo e tamanho deve ser igual ao tamanho alocado
+para a string subtrado de 1, por causa do '\0'.
+
+
fputs
+
+
Prottipo:
+
+
char *fputs (char *str,FILE *fp);
+
+
Escreve uma string num arquivo.
+
+
+
+
ferror e perror
+
+
Prottipo de ferror:
+
+
int ferror (FILE *fp);
+
+
A funo retorna zero, se nenhum erro ocorreu e um nmero diferente de zero se algum
+erro ocorreu durante o acesso ao arquivo.
+
+
ferror() se torna muito til quando queremos verificar se cada acesso a um
+arquivo teve sucesso, de modo que consigamos garantir a integridade dos nossos dados. Na
+maioria dos casos, se um arquivo pode ser aberto, ele pode ser lido ou gravado. Porm,
+existem situaes em que isto no ocorre. Por exemplo, pode acabar o espao em disco
+enquanto gravamos, ou o disco pode estar com problemas e no conseguimos ler, etc.
+
+
Uma funo que pode ser usada em conjunto com ferror() a funo
+perror() (print error), cujo argumento uma string que normalmente
+indica em que parte do programa o problema ocorreu.
+
+
No exemplo a seguir, fazemos uso de ferror,perror e fputs
Podemos escrever e ler blocos de dados. Para tanto, temos as funes fread() e
+fwrite(). O prottipo de fread() :
+
+
unsigned fread (void *buffer, int numero_de_bytes, int count, FILE *fp);
+
+
O buffer a regio de memria na qual sero armazenados os dados lidos. O
+nmero de bytes o tamanho da unidade a ser lida. count indica
+quantas unidades devem ser lidas. Isto significa que o nmero total de bytes lidos :
+
+
+
numero_de_bytes*count
+
+
A funo retorna o nmero de unidades efetivamente lidas. Este nmero pode ser
+menor que count quando o fim do arquivo for encontrado ou ocorrer algum erro.
+
+
Quando o arquivo for aberto para dados binrios, fread pode ler qualquer tipo de
+dados.
+
+
fwrite
+
+
A funo fwrite() funciona como a sua companheira fread(), porm
+escrevendo no arquivo. Seu prottipo :
A funo retorna o nmero de itens escritos. Este valor ser igual a count a menos
+que ocorra algum erro.
+
+
O exemplo abaixo ilustra o uso de fwrite e fread para
+gravar e posteriormente ler uma varivel float em um arquivo binrio.
+
+
#include <stdio.h>
+#include <stdlib.h>
+int main()
+{
+FILE *pf;
+float pi = 3.1415;
+float pilido;
+if((pf = fopen("arquivo.bin", "wb")) == NULL) /* Abre arquivo binrio
+para escrita */
+{
+ printf("Erro na abertura do arquivo");
+ exit(1);
+}
+if(fwrite(&pi, sizeof(float), 1,pf) != 1) /* Escreve a
+varivel pi */
+ printf("Erro na escrita do arquivo");
+fclose(pf);
+
+/* Fecha o arquivo */
+if((pf = fopen("arquivo.bin", "rb")) == NULL) /* Abre o arquivo
+novamente para leitura */
+{
+ printf("Erro na abertura do arquivo");
+ exit(1);
+}
+if(fread(&pilido, sizeof(float), 1,pf) != 1) /* Le em pilido o valor da
+varivel armazenada anteriormente */
+ printf("Erro na leitura do arquivo");
+printf("\nO valor de PI, lido do arquivo e': %f", pilido);
+fclose(pf);
+return(0);
+}
+
+
Note-se o uso do operador sizeof, que retorna o tamanho em bytes da varivel ou do
+tipo de dados.
+
+
fseek
+
+
Para se fazer procuras e acessos randmicos em arquivos usa-se a funo fseek().
+Esta move a posio corrente de leitura ou escrita no arquivo de um valor especificado,
+a partir de um ponto especificado. Seu prottipo :
+
+
int fseek (FILE *fp,long numbytes,int origem);
+
+
O parmetro origem determina a partir de onde os numbytes de
+movimentao sero contados. Os valores possveis so definidos por macros em stdio.h
+e so:
+
+
+
+
+
+
Nome
+
Valor
+
Significado
+
+
+
SEEK_SET
+
0
+
Incio do arquivo
+
+
+
SEEK_CUR
+
1
+
Ponto corrente no arquivo
+
+
+
SEEK_END
+
2
+
Fim do arquivo
+
+
+
+
+
Tendo-se definido a partir de onde ir se contar, numbytes determina
+quantos bytes de deslocamento sero dados na posio atual.
+
+
+
+
rewind
+
+
A funo rewind() de prottipo
+
+
void rewind (FILE *fp);
+
+
retorna a posio corrente do arquivo para o incio.
+
+
remove
+
+
Prottipo:
+
+
int remove (char *nome_do_arquivo);
+
+
Apaga um arquivo especificado.
+
+
O exerccio da pgina anterior poderia ser reescrito usando-se, por exemplo, fgets()
+e fputs(), ou fwrite() e fread(). A seguir apresentamos uma segunda
+verso que se usa das funes fgets() e fputs(), e que acrescenta algumas
+inovaes.
+
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+
+int main()
+{
+ FILE *p;
+ char str[30], frase[] = "Este e um arquivo chamado: ", resposta[80];
+ int i;
+
+ /* Le um nome para o arquivo a ser aberto: */
+ printf("\n\n Entre com um nome para o arquivo:\n");
+ fgets(str,29,stdin); /* Usa fgets como se fosse gets */
+ for(i=0; str[i]; i++) if(str[i]=='\n') str[i]=0; /* Elimina o \n da string lida */
+ if (!(p = fopen(str,"w"))) /* Caso ocorra algum erro na abertura do arquivo..*/
+ { /* o programa aborta automaticamente */
+ printf("Erro! Impossivel abrir o arquivo!\n");
+ exit(1);
+ }
+ /* Se nao houve erro, imprime no arquivo, e o fecha ...*/
+ fputs(frase, p);
+ fputs(str,p);
+ fclose(p);
+
+ /* abre novamente e le */
+ p = fopen(str,"r");
+ fgets(resposta, 79, p);
+ printf("\n\n%s\n", resposta);
+ fclose(p); /* Fecha o arquivo */
+ remove(str); /* Apaga o arquivo */
+ return(0);
+}
Os fluxos padro em arquivos permitem ao programador ler e escrever em arquivos da
+maneira padro com a qual o j lamos e escrevamos na tela.
+
+
fprintf
+
+
A funo fprintf() funciona como a funo printf(). A diferena
+que a sada de fprintf() um arquivo e no a tela do computador. Prottipo:
+
+
int fprintf (FILE *fp,char *str,...);
+
+
Como j poderamos esperar, a nica diferena do prottipo de fprintf()
+para o de printf() a especificao do arquivo destino atravs do ponteiro de
+arquivo.
+
+
fscanf
+
+
A funo fscanf() funciona como a funo scanf(). A diferena que
+fscanf() l de um arquivo e no do teclado do computador. Prottipo:
+
+
int fscanf (FILE *fp,char *str,...);
+
+
Como j poderamos esperar, a nica diferena do prottipo de fscanf() para
+o de scanf() a especificao do arquivo destino atravs do ponteiro de
+arquivo.
+
+
Talvez a forma mais simples de escrever o programa da pgina c960.html
+seja usando fprintf () e fscanf(). Fica assim:
+
+
#include <stdio.h>
+#include <stdlib.h>
+int main()
+{
+ FILE *p;
+ char str[80],c;
+
+ /* Le um nome para o arquivo a ser aberto: */
+ printf("\n\n Entre com um nome para o arquivo:\n");
+ gets(str);
+
+ if (!(p = fopen(str,"w"))) /* Caso ocorra algum erro na abertura do arquivo..*/
+ { /* o programa aborta automaticamente */
+ printf("Erro! Impossivel abrir o arquivo!\n");
+ exit(1);
+ }
+ /* Se nao houve erro, imprime no arquivo, fecha ...*/
+ fprintf(p,"Este e um arquivo chamado:\n%s\n", str);
+ fclose(p);
+
+ /* abre novamente para a leitura */
+ p = fopen(str,"r");
+ while (!feof(p))
+ {
+ fscanf(p,"%c",&c);
+ printf("%c",c);
+ }
+ fclose(p);
+ return(0);
+}
+
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est. Escreva um
+programa que leia uma lista de nomes e idades de um arquivo texto. Prepare um arquivo para
+ser lido com nomes e idades. Apresente os dados lidos em forma de tabela na tela. Use as
+funes de sua preferncia, mas faa pelo menos duas verses do programa usando
+funes de leitura diferentes.
Vimos tambm que existem modificadores de tipos. Estes modificam o tipo da varivel
+declarada. Destes, j vimos os modificadores signed, unsigned, long,
+e short. Estes modificadores so includos na declarao da varivel da
+seguinte maneira:
Estes modificadores, como o prprio nome indica, mudam a maneira com a qual a
+varivel acessada e modificada.
+
+
const
+
+
O modificador const faz com que a varivel no possa ser modificada no
+programa. Como o nome j sugere til para se declarar constantes. Poderamos ter,
+por exemplo:
+
+
const float PI=3.141;
+
+
Podemos ver pelo exemplo que as variveis com o modificador const podem ser
+inicializadas. Mas PI no poderia ser alterado em qualquer outra parte do
+programa. Se o programador tentar modificar PI o compilador gerar um erro de
+compilao.
+
+
O uso mais importante de const no declarar variveis constantes no
+programa. Seu uso mais comum evitar que um parmetro de uma funo seja alterado
+pela funo. Isto muito til no caso de um ponteiro, pois o contedo de um ponteiro
+pode ser alterado por uma funo. Para tanto, basta declarar o parmetro como const.
+Veja o exemplo:
No exemplo, num est protegido contra alteraes. Isto quer dizer que, se
+tentssemos fazer
+
+
*num=10;
+
+
dentro da funo sqr() o compilador daria uma mensagem de erro.
+
+
volatile
+
+
O modificador volatile diz ao compilador que a varivel em questo pode ser
+alterada sem que este seja avisado. Isto evita "bugs" serssimos. Digamos que,
+por exemplo, tenhamos uma varivel que o BIOS do computador altera de minuto em minuto
+(um relgio por exemplo). Seria muito bom que declarssemos esta varivel como sendo volatile.
+
Estes modificadores de tipo atuam sobre a maneira com a qual o compilador vai armazenar
+a varivel.
+
+
auto
+
+
O especificador de classe de armazenamento auto define variveis automticas,
+isto , variveis locais. Raramente usado pois todas as variveis locais do C so auto
+por definio.
+
+
extern
+
+
O extern define variveis que sero usadas em um arquivo apesar de terem sido
+declaradas em outro. Ao contrrio dos programas at aqui vistos, podemos ter programas
+de vrios milhares de linhas. Estes podem ser divididos em vrios arquivos (mdulos)
+que sero compilados separadamente. Digamos que para um programa grande tenhamos duas
+variveis globais: um inteiro count e um float sum. Estas variveis so
+declaradas normalmente em um dos mdulos do programa. Por exemplo:
Num outro mdulo do programa temos uma rotina que deve usar as variveis globais
+acima. Digamos que a rotina que queremos se chama RetornaCount() e retorna o valor
+atual de count. O problema que este mdulo ser compilado em separado e no
+tomar conhecimento dos outros mdulos. O que fazer? Ser que funcionaria se fizermos
+assim:
No. O mdulo compilaria sem problema, mas, na hora que fizermos a linkagem (unio
+dos mdulos j compilados para gerar o executvel) vamos nos deparar com uma mensagem
+de erro dizendo que as variveis globais count e sum foram declaradas mais de uma vez. A
+maneira correta de se escrever o mdulo com a funo RetornaCount() :
Assim, o compilador ir saber que count e sum esto sendo usados no
+bloco mas que foram declarados em outro.
+
+
static
+
+
O funcionamento das variveis declaradas como static depende se estas so
+globais ou locais.
+
+
Variveis globais static funcionam como variveis globais dentro de um
+mdulo, ou seja, so variveis globais que no so (e nem podem ser) conhecidas em
+outros modulos. Isto util se quisermos isolar pedaos de um programa para evitar
+mudanas acidentais em variveis globais.
+
+
Variveis locais static so variveis cujo valor mantido de uma chamada da
+funo para a outra. Veja o exemplo:
+
+
int count (void)
+{
+static int num=0;
+num++;
+return num;
+}
+
+
A funo count() retorna o nmero de vezes que ela j foi chamada. Veja que
+a varivel local int inicializada. Esta inicializao s vale para a primeira
+vez que a funo chamada pois num deve manter o seu valor de uma chamada para
+a outra. O que a funo faz incrementar num a cada chamada e retornar o seu valor. A
+melhor maneira de se entender esta varivel local static implementando. Veja
+por si mesmo, executando seu prprio programa que use este conceito.
+
+
register
+
+
O computador tem a memria principal e os registradores da CPU. As variveis (assim
+como o programa como um todo) so armazenados na memria. O modificador register
+diz ao compilador que a varivel em questo deve ser, se possvel, usada em um
+registrador da CPU.
+
+
Vamos agora ressaltar vrios pontos importantes. Em primeiro lugar, porque usar o register?
+Variveis nos registradores da CPU vo ser acessadas em um tempo muito menor pois os
+registradores so muito mais rpidos que a memria. Em segundo lugar, em que tipo de
+varivel usar o register? O registerno pode ser usado em
+variveis globais. Isto implicaria que um registrador da CPU ficaria o tempo todo ocupado
+por conta de uma varivel. Os tipos de dados onde mais aconselhado o uso do register
+so os tipos char e int, mas pode-se us-lo em qualquer tipo de dado. Em
+terceiro lugar, o register um pedido que o programador faz ao compilador. Este
+no precisa ser atendido necessariamente.
+
+
Um exemplo do uso do register dado:
+
+
main (void)
+{
+register int count;
+for (count=0;count<10;count++)
+ {
+ ...
+ }
+return 0;
+}
+
+
O loop for acima ser executado mais rapidamente do que seria se no
+usssemos o register. Este o uso mais recomendvel para o register: uma
+varivel que ser usada muitas vezes em seguida.
+
+
+
+
+
+
Auto-Avaliao
+
+
Veja como voc est:
+
+
Considerando o conceito e finalidade dos modificadores de tipo,
+relacione as afirmativas com as palavras reservadas correspondentes (todas as afirmativas
+devem ser preenchidas com o nmero relacionado ao modificador correspondente, e existe
+pelo menos uma afirmativa para cada modificador):
+ (1)const
+(3)extern (5)register (7)void
+ (2)volatile
+(4)static
+(6)auto
+
+
( ) informa ao compilador que o valor da varivel no
+pode ser alterado por nenhum comando do programa, mas que pode ser inicializado
+( ) informa ao compilador que nenhum valor ser devolvido pela funo
+( ) informa ao compilador que a varivel pode ser modificada por algum evento
+que no est sob o controle do programa
+( ) avisa ao compilador que as variveis que o seguem j foram declaradas em
+outro lugar
+( ) torna a varivel permanente, mantendo seu valor entre chamadas
+( ) til ao escrever funes generalizadas e funes de biblioteca que
+podem ser usadas por outros programadores, pois permite esconder pores do
+programa de outras partes do cdigo, evitando assim o uso de varivel global
+( ) quando apontadores forem passados para a funo, garante que nenhum
+cdigo na funo poder modificar os objetos apontados
+( ) armazena o valor da varivel em um registrador da CPU, acelerando
+operaes
+( ) usada para declarar variveis locais automticas, mas muito pouco usada
+por j ser o padro (default)
+( ) avisa ao compilador que a varivel em questo sera largamente usada e
+deve permanecer acessvel da forma mais eficiente possvel
+( ) permite ao compilador conhecer a varivel sem criar armazenamento para
+ela novamente em outro modulo
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/ca30.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/ca30.html"
new file mode 100644
index 00000000..f11d948e
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/ca30.html"
@@ -0,0 +1,99 @@
+
+
+
+
+Curso de C
+
+
+
+
+
Curso de C
+
+
+
+
Converso de Tipos
+
+
Em atribuies no C temos o seguinte formato:
+
+
destino=orgem;
+
+
Se o destino e a orgem so de tipos diferentes o compilador faz uma converso entre
+os tipos. Nem todas as converses so possveis. O primeiro ponto a ser ressaltado
+que o valor de origem convertido para o valor de destino antes de ser atribudo e no
+o contrrio.
+
+
importante lembrar que quando convertemos um tipo numrico para outro ns nunca ganhamos
+preciso. Ns podemos perder preciso ou no mximo manter a preciso anterior. Isto
+pode ser entendido de uma outra forma. Quando convertemos um nmero no estamos
+introduzindo no sistema nenhuma informao adicional. Isto implica que nunca vamos ganhar
+preciso.
+
+
Abaixo vemos uma tabela de converses numricas com perda de
+preciso, para um compilador com palavra de 16 bits:
+
Uma funo pode aceitar um modificador de tipo. Este vai modificar o modo como a
+funo opera na passagem de parmetros. A forma geral da funo ficaria ento:
+
+
O nosso curso no aborda detalhes do funcionamento interno de funes. Para saber
+mais, consulte o manual do seu compilador ou algum livro especializado.
+
+
pascal
+
+
Faz com que a funo use a conveno de funes da linguagem de programao
+Pascal. Isto faz com que as funes sejam compatveis com programas em Pascal.
+
+
cdecl
+
+
O modificador de tipo cdecl faz com que a funo use a conveno para
+funes do C. Raramente usado pois o default. Pode-se pensar no cdecl como
+sendo o "inverso" do pascal.
+
+
interrupt
+
+
Diz ao compilador que a funo em questo ser usada como um manipulador de
+interrupes. Isto faz com que o compilador preserve os registradores da CPU antes e
+depois da chamada funo. Mais uma vez este tpico est fora do escopo do curso.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/ca50.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/ca50.html"
new file mode 100644
index 00000000..05a965a5
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/ca50.html"
@@ -0,0 +1,93 @@
+
+
+
+
+Curso de C
+
+
+
+
+
Curso de C
+
+
+
+
Ponteiros para Funes
+
+
O C permite que acessemos variveis e funes atravs de ponteiros! Podemos ento
+fazer coisas como, por exemplo, passar uma funo como argumento para outra funo. Um
+ponteiro para uma funo tem a seguinte declarao:
+
+
tipo_de_retorno (*nome_do_ponteiro)();
+
+
ou
+tipo_de_retorno (*nome_do_ponteiro)(declarao_de_parmetros);
+
+
Repare nos parnteses que devem ser colocados obrigatoriamente. Se declaramos:
+
+
tipo_de_retorno * nome(declarao_de_parmetros);
+
+
Estaramos, na realidade, declarando uma funo que retornaria um ponteiro para o
+tipo especificado.
+
+
Porm, no obrigatrio se declarar os parmetros da funo. Veja um exemplo do
+uso de ponteiros para funes:
+
+
#include <stdio.h>
+#include <string.h>
+void PrintString (char *str, int (*func)(const char *));
+main (void)
+{
+ char String [20]="Curso de C.";
+ int (*p)(const char *); /* Declaracao do ponteiro para funo
+ Funcao apontada e' inteira e recebe como parametro
+ uma string constante */
+ p=puts; /* O ponteiro p passa a apontar para a funo puts
+ que tem o seguinte prototipo: int puts(const char *) */
+ PrintString (String, p); /* O ponteiro passado como parametro para PrintString */
+ return 0;
+}
+void PrintString (char *str, int (*func)(const char *))
+{
+ (*func)(str); /* chamada a funo atravs do ponteiro para funo */
+ func(str); /* maneira tambm vlida de se fazer a chamada a funo puts
+ atravs do ponteiro para funo func */
+}
+
+
Veja que fizemos a atribuio de puts a p simplesmente usando:
+
+
p = puts;
+
+
Disto, conclumos que o nome de uma funo (sem os parnteses) , na realidade, o
+endereo daquela funo! Note, tambm, as duas formas alternativas de se chamar uma
+funo atravs de um ponteiro. No programa acima, fizemos esta chamada por:
+
+
(*func)(str);
+
+
e
+
+
func(str);
+
+
Estas formas so equivalentes entre si.
+
+
Alm disto, no programa, a funo PrintString() usa uma funo qualquer func
+para imprimir a string na tela. O programador pode ento fornecer no s a string mas
+tambm a funo que ser usada para imprim-la. No main() vemos como podemos
+atribuir, ao ponteiro para funes p, o endereo da funo puts() do C.
+
+
+
Em sntese, ao declarar um ponteiro para funo, podemos atribuir a este ponteiro o
+endereo de uma funo e podemos tambm chamar a funo apontada atravs dele. No
+podemos fazer algumas coisas que fazamos com ponteiros "normais",
+como, por exemplo, incrementar ou decrementar um ponteiro para funo.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/ca60.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/ca60.html"
new file mode 100644
index 00000000..1a402668
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/ca60.html"
@@ -0,0 +1,266 @@
+
+
+
+
+Curso de C
+
+
+
+
+
Curso de C
+
+
+
+
Alocao Dinmica
+
+
A alocao dinmica permite ao programador alocar memria para variveis
+quando o programa est sendo executado. Assim, poderemos definir, por exemplo, um vetor
+ou uma matriz cujo tamanho descobriremos em tempo de execuo. O padro C ANSI define
+apenas 4 funes para o sistema de alocao dinmica, disponveis na biblioteca stdlib.h:
+
+
No entanto, existem diversas outras funes que so amplamente utilizadas, mas
+dependentes do ambiente e compilador. Neste curso sero abordadas somente estas funes
+padronizadas.
+
+
malloc
+
+
A funo malloc() serve para alocar memria e tem o seguinte prottipo:
+
+
void *malloc (unsigned int num);
+
+
A funao toma o nmero de bytes que queremos alocar (num), aloca na memria e
+retorna um ponteiro void * para o primeiro byte alocado. O ponteiro void *
+pode ser atribudo a qualquer tipo de ponteiro. Se no houver memria suficiente para
+alocar a memria requisitada a funo malloc() retorna um ponteiro nulo. Veja um
+exemplo de alocao dinmica com malloc():
+
+
#include <stdio.h>
+
+#include <stdlib.h> /* Para usar malloc() */
+
+main (void)
+
+{
+
+ int *p;
+ int a;
+ int i;
+
+... /* Determina o valor de a em algum lugar */
+
+ p=(int *)malloc(a*sizeof(int)); /* Aloca a nmeros inteiros
+ p pode agora ser tratado como um vetor com
+ a posicoes */
+ if (!p)
+ {
+ printf ("** Erro: Memoria Insuficiente **");
+ exit;
+ }
+
+ for (i=0; i<a ; i++) /* p pode ser tratado como um vetor com a posicoes */
+ p[i] = i*i;
+
+...
+
+ return 0;
+}
+
+
No exemplo acima, alocada memria suficiente para se armazenar a nmeros
+inteiros. O operador sizeof() retorna o nmero de bytes de um inteiro. Ele util
+para se saber o tamanho de tipos. O ponteiro void* que malloc() retorna
+convertido para um int* pelo cast e atribudo a p. A declarao
+seguinte testa se a operao foi bem sucedida. Se no tiver sido, p ter um
+valor nulo, o que far com que !p retorne verdadeiro. Se a operao tiver sido
+bem sucedida, podemos usar o vetor de inteiros alocados normalmente, por exemplo,
+indexando-o de p[0] a p[(a-1)].
+
+
calloc
+
+
A funo calloc() tambm serve para alocar memria, mas possui um prottipo
+um pouco diferente:
+
+
void *calloc (unsigned int num, unsigned int size);
+
+
A funao aloca uma quantidade de memria igual a num * size, isto , aloca
+memria suficiente para um vetor de num objetos de tamanho size. Retorna um
+ponteiro void * para o primeiro byte alocado. O ponteiro void * pode ser
+atribudo a qualquer tipo de ponteiro. Se no houver memria suficiente para alocar a
+memria requisitada a funo calloc() retorna um ponteiro nulo. Veja um exemplo
+de alocao dinmica com calloc():
+
+
+
+
#include <stdio.h>
+
+#include <stdlib.h> /* Para usar calloc() */
+
+main (void)
+
+{
+
+ int *p;
+ int a;
+ int i;
+
+... /* Determina o valor de a em algum lugar */
+
+ p=(int *)calloc(a,sizeof(int)); /* Aloca a nmeros inteiros
+ p pode agora ser tratado como um vetor com
+ a posicoes */
+ if (!p)
+ {
+ printf ("** Erro: Memoria Insuficiente **");
+ exit;
+ }
+
+ for (i=0; i<a ; i++) /* p pode ser tratado como um vetor com a posicoes */
+ p[i] = i*i;
+
+...
+
+ return 0;
+}
+
+
No exemplo acima, alocada memria suficiente para se colocar a nmeros
+inteiros. O operador sizeof() retorna o nmero de bytes de um inteiro. Ele util
+para se saber o tamanho de tipos. O ponteiro void * que calloc() retorna
+convertido para um int * pelo cast e atribudo a p. A declarao
+seguinte testa se a operao foi bem sucedida. Se no tiver sido, p ter um
+valor nulo, o que far com que !p retorne verdadeiro. Se a operao tiver sido
+bem sucedida, podemos usar o vetor de inteiros alocados normalmente, por exemplo,
+indexando-o de p[0] a p[(a-1)].
+
+
realloc
+
+
A funo realloc() serve para realocar memria e tem o seguinte prottipo:
+
+
void *realloc (void *ptr, unsigned int num);
+
+
A funao modifica o tamanho da memria previamente alocada apontada por *ptr
+para aquele especificado por num. O valor de num pode ser maior ou menor que
+o original. Um ponteiro para o bloco devolvido porque realloc() pode precisar
+mover o bloco para aumentar seu tamanho. Se isso ocorrer, o contedo do bloco antigo
+copiado no novo bloco, e nenhuma informao perdida. Se ptr for nulo, aloca size
+bytes e devolve um ponteiro; se size zero, a memria apontada por ptr
+liberada. Se no houver memria suficiente para a alocao, um ponteiro nulo
+devolvido e o bloco original deixado inalterado.
+
+
+
+
#include <stdio.h>
+
+#include <stdlib.h> /* Para usar malloc() e realloc*/
+
+main (void)
+
+{
+
+ int *p;
+ int a;
+ int i;
+
+... /* Determina o valor de a em algum lugar */
+
+
a = 30;
+
+ p=(int *)malloc(a*sizeof(int)); /* Aloca a nmeros inteiros
+ p pode agora ser tratado como um vetor com
+ a posicoes */
+ if (!p)
+ {
+ printf ("** Erro: Memoria Insuficiente **");
+ exit;
+ }
+
+ for (i=0; i<a ; i++) /* p pode ser tratado como um vetor com a posicoes */
+ p[i] = i*i;
+
+ /* O tamanho de p deve ser modificado, por algum motivo ... */
+
+
a = 100;
+
+
p = realloc (p, a*sizeof(int));
+
+
for (i=0; i<a ; i++) /* p pode ser tratado como um vetor com a posicoes */
+ p[i] = a*i*(i-6);
+...
+
+ return 0;
+}
+
+
+
+
free
+
+
Quando alocamos memria dinamicamente necessrio que ns a liberemos quando ela
+no for mais necessria. Para isto existe a funo free() cujo prottipo :
+
+
void free (void *p);
+
+
Basta ento passar para free() o ponteiro que aponta para o incio da memria
+alocada. Mas voc pode se perguntar: como que o programa vai saber quantos bytes devem
+ser liberados? Ele sabe pois quando voc alocou a memria, ele guardou o nmero de
+bytes alocados numa "tabela de alocao" interna. Vamos reescrever o exemplo
+usado para a funo malloc() usando o free() tambm agora:
Veja como voc est. Refaa os exemplos desta
+pgina, mas ao invs de trabalhar com um vetor de inteiros, use um vetor de strings (ou
+uma matriz de char, como voc preferir). Faa leituras e apresente os resultados na
+tela.
A alocao dinmica de vetores utiliza os conceitos aprendidos na aula sobre ponteiros e as funes de alocao dinmica apresentados.
+Um exemplo de implementao para vetor real fornecido a seguir:
+
+
#include <stdio.h>
+#include <stdlib.h>
+
+float *Alocar_vetor_real (int n)
+{
+ float *v; /* ponteiro para o vetor */
+ if (n < 1) { /* verifica parametros recebidos */
+ printf ("** Erro: Parametro invalido **\n");
+ return (NULL);
+ }
+ /* aloca o vetor */
+ v = (float *) calloc (n, sizeof(float));
+ if (v == NULL) {
+ printf ("** Erro: Memoria Insuficiente **");
+ return (NULL);
+ }
+ return (v); /* retorna o ponteiro para o vetor */
+}
+
+float *Liberar_vetor_real (float *v)
+{
+ if (v == NULL) return (NULL);
+ free(v); /* libera o vetor */
+ return (NULL); /* retorna o ponteiro */
+}
+
+void main (void)
+{
+ float *p;
+ int a;
+ ... /* outros comandos, inclusive a inicializacao de a */
+ p = Alocar_vetor_real (a);
+ ... /* outros comandos, utilizando p[] normalmente */
+ p = Liberar_vetor_real (p);
+}
+
+
Alocao Dinmica de Matrizes
+
+
A alocao dinmica de memria para matrizes realizada da mesma forma que para
+vetores, com a diferena que teremos um ponteiro apontando para outro ponteiro que aponta
+para o valor final, ou seja um ponteiro para ponteiro, o que denominado indireo
+mltipla. A indireo mltipla pode ser levada a qualquer dimenso desejada, mas
+raramente necessrio mais de um ponteiro para um ponteiro. Um exemplo de
+implementao para matriz real bidimensional fornecido a seguir. A estrutura de dados
+utilizada neste exemplo composta por um vetor de ponteiros (correspondendo ao primeiro
+ndice da matriz), sendo que cada ponteiro aponta para o incio de uma linha da matriz.
+Em cada linha existe um vetor alocado dinamicamente, como descrito anteriormente
+(compondo o segundo ndice da matriz).
+
+
#include <stdio.h>
+#include <stdlib.h>
+
+float **Alocar_matriz_real (int m, int n)
+{
+ float **v; /* ponteiro para a matriz */
+ int i; /* variavel auxiliar */
+ if (m < 1 || n < 1) { /* verifica parametros recebidos */
+ printf ("** Erro: Parametro invalido **\n");
+ return (NULL);
+ }
+ /* aloca as linhas da matriz */
+ v = (float **) calloc (m, sizeof(float *)); / Um vetor de m ponteiros para float */
+ if (v == NULL) {
+ printf ("** Erro: Memoria Insuficiente **");
+ return (NULL);
+ }
+ /* aloca as colunas da matriz */
+ for ( i = 0; i < m; i++ ) {
+ v[i] = (float*) calloc (n, sizeof(float)); /* m vetores de n floats */
+ if (v[i] == NULL) {
+ printf ("** Erro: Memoria Insuficiente **");
+ return (NULL);
+ }
+ }
+ return (v); /* retorna o ponteiro para a matriz */
+}
+
+float **Liberar_matriz_real (int m, int n, float **v)
+{
+ int i; /* variavel auxiliar */
+ if (v == NULL) return (NULL);
+ if (m < 1 || n < 1) { /* verifica parametros recebidos */
+ printf ("** Erro: Parametro invalido **\n");
+ return (v);
+ }
+ for (i=0; i<m; i++) free (v[i]); /* libera as linhas da matriz */
+ free (v); /* libera a matriz (vetor de ponteiros) */
+ return (NULL); /* retorna um ponteiro nulo */
+}
+
+void main (void)
+{
+ float **mat; /* matriz a ser alocada */
+ int l, c; /* numero de linhas e colunas da matriz */
+ int i, j;
+ ... /* outros comandos, inclusive inicializacao para l e c */
+ mat = Alocar_matriz_real (l, c);
+
+ for (i = 0; i < l; i++)
+ for ( j = 0; j < c; j++)
+ mat[i][j] = i+j;
+
+ ... /* outros comandos utilizando mat[][] normalmente */
+ mat = Liberar_matriz_real (l, c, mat);
+ ...
+}
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est. Faca um programa que multiplique duas
+matrizes. O programa devera' estar estruturado de maneira que:
+1- o usuario forneca as dimensoes das matrizes (teste se as dimensoes sao
+compativeis, isto e', se as matrizes podem ser multiplicadas);
+2- as matrizes sejam alocadas dinamicamente (voce pode usar a funcao vista nesta pagina
+para isto);
+3- as matrizes sejam lidas pelo teclado (faca uma funcao para leitura das matrizes);
+4- as matrizes sejam, entao, multiplicadas (faca uma funcao para a multiplicacao);
+5- a matriz resultante seja apresentada em tela (faca uma funcao para apresentar a matriz
+na tela).
+
+
OBS:
+a) Faca, tambem, alocacao dinamica da matriz resultante.
+b) Caso algum no conhea o procedimento para a multiplicao de matrizes, segue
+aqui alguma orientao. Suponha as matrizes A(mXn)
Uma estrutura agrupa vrias variveis numa s. Funciona como uma ficha pessoal que
+tenha nome, telefone e endereo. A ficha seria uma estrutura. A estrutura, ento, serve
+para agrupar um conjunto de dados no similares, formando um novo tipo de dados.
+
+
Criando
+
+
Para se criar uma estrutura usa-se o comando struct. Sua forma geral :
+
+
+
struct nome_do_tipo_da_estrutura
+
{
+
tipo_1 nome_1;
+
tipo_2 nome_2;
+
...
+
tipo_n nome_n;
+
} variveis_estrutura;
+
+
+
O nome_do_tipo_da_estrutura o nome para a estrutura. As variveis_estrutura so
+opcionais e seriam nomes de variveis que o usurio j estaria declarando e que seriam
+do tipo nome_do_tipo_da_estrutura. Um primeiro exemplo:
+
+
struct est{
+ int i;
+ float f;
+} a, b;
+
+
Neste caso, est uma estrutura com dois campos, i e f. Foram tambm declaradas duas
+variveis, a e b que so do tipo da estrutura, isto , a possui os campos i e f, o
+mesmo acontecendo com b.
+
+
Vamos criar uma estrutura de endereo:
+
+
struct tipo_endereco
+{
+ char rua [50];
+ int numero;
+ char bairro [20];
+ char cidade [30];
+ char sigla_estado [3];
+ long int CEP;
+};
+
+
Vamos agora criar uma estrutura chamada ficha_pessoal com os dados pessoais de uma
+pessoa:
+
+
struct ficha_pessoal
+{
+ char nome [50];
+ long int telefone;
+ struct tipo_endereco endereco;
+};
+
+
Vemos, pelos exemplos acima, que uma estrutura pode fazer parte de outra ( a
+struct tipo_endereco usada pela struct ficha_pessoal).
+
+
Usando
+
+
Vamos agora utilizar as estruturas declaradas na seo anterior para escrever um
+programa que preencha uma ficha.
+
+
#include <stdio.h>
+#include <string.h>
+struct tipo_endereco
+{
+ char rua [50];
+ int numero;
+ char bairro [20];
+ char cidade [30];
+ char sigla_estado [3];
+ long int CEP;
+};
+
+struct ficha_pessoal
+{
+ char nome [50];
+ long int telefone;
+ struct tipo_endereco endereco;
+};
+
+main (void)
+{
+ struct ficha_pessoal ficha;
+ strcpy (ficha.nome,"Luiz Osvaldo Silva");
+ ficha.telefone=4921234;
+ strcpy (ficha.endereco.rua,"Rua das Flores");
+ ficha.endereco.numero=10;
+ strcpy (ficha.endereco.bairro,"Cidade Velha");
+ strcpy (ficha.endereco.cidade,"Belo Horizonte");
+ strcpy (ficha.endereco.sigla_estado,"MG");
+ ficha.endereco.CEP=31340230;
+ return 0;
+}
+
+
O programa declara uma varivel ficha do tipo ficha_pessoal e preenche os seus
+dados. O exemplo mostra como podemos acessar um elemento de uma estrutura: basta usar o
+ponto (.). Assim, para acessar o campo telefone de ficha, escrevemos:
+
+
+ficha.telefone = 4921234;
+
+
Como a struct ficha pessoal possui um campo, endereco, que tambm uma struct,
+podemos fazer acesso aos campos desta struct interna da seguinte maneira:
Desta forma, estamos acessando, primeiramente, o campo endereco da struct ficha e,
+dentro deste campo, estamos acessando o campo numero e o campo CEP.
+
+
Matrizes de estruturas
+
+
Um estrutura como qualquer outro tipo de dado no C. Podemos, portanto, criar
+matrizes de estruturas. Vamos ver como ficaria a declarao de um vetor de 100 fichas
+pessoais:
+
+
struct ficha_pessoal fichas [100];
+
+
Poderamos ento acessar a segunda letra da sigla de estado da dcima terceira ficha
+fazendo:
+
+
fichas[12].endereco.sigla_estado[1];
+
+
Analise atentamente como isto est sendo feito ...
+
+
+
+
+
AUTO AVALIAO
+
+
Veja como voc est. Escreva um programa
+fazendo o uso de struct's. Voc dever criar uma struct chamada Ponto, contendo apenas a
+posio x e y (inteiros) do ponto. Declare 2 pontos, leia a posio (coordenadas x e
+y) de cada um e calcule a distncia entre eles. Apresente no final a distncia entre os
+dois pontos.
Podemos atribuir duas estruturas que sejam do mesmo tipo. O C ir, neste caso,
+copiar uma estrutura, campo por campo, na outra. Veja o programa abaixo:
+
+
struct est1 {
+ int i;
+ float f;
+};
+
+
void main()
+{
+ struct est1 primeira, segunda;
+ /* Declara primeira e
+segunda como structs do tipo est1 */
+ primeira.i
+= 10;
+ primeira.f = 3.1415;
+ segunda = primeira;
+
+ /* A segunda struct e' agora igual a primeira */
+printf(" Os valores armazenasdos
+na segunda struct sao : %d e %f ", segunda.i , segunda.f);
+}
+
+
So declaradas duas estruturas do tipo est1, uma chamada primeira e
+outra chamada segunda. Atribuem-se valores aos dois campos da struct primeira.
+ Os valores de primeira so copiados em segunda apenas com a
+expresso de atribuio:
+
+
segunda = primeira;
+
+
Todos os campos de primeira sero copiados na segunda. Note que isto
+diferente do que acontecia em vetores, onde, para fazer a cpia dos elementos de
+um vetor em outro, tnhamos que copiar elemento por elemento do vetor. Nas structs
+muito mais fcil!
+
+
Porm, devemos tomar cuidado na atribuio de structs que contenham campos
+ponteiros. Veja abaixo:
+
+
#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+struct tipo_end
+{
+ char *rua; /* A struct possui um campo que um ponteiro */
+ int numero;
+};
+
+void main()
+{
+ struct tipo_end end1, end2;
+ char buffer[50];
+ printf("\nEntre o nome da rua:");
+ gets(buffer); /* Le o nome da rua em uma string de buffer */
+ end1.rua = (char *) malloc((strlen(buffer)+1)*sizeof(char)); /* Aloca a quantidade de memoria
+ suficiente para armazenar a string */
+ strcpy(end1.rua, buffer); /* Copia a string */
+ printf("\nEntre o numero:");
+ scanf("%d", &end1.numero);
+
+ end2 = end1; /* ERRADO end2.rua e end1.rua estao apontando para a mesma regiao de memoria */
+
+ printf("Depois da atribuicao:\n Endereco em end1 %s %d \n Endereco em end2 %s %d", end1.rua,end1.numero,end2.rua, end2.numero);
+
+ strcpy(end2.rua, "Rua Mesquita"); /* Uma modificacao na memoria apontada por end2.rua causara' a modificacao do
+ que e' apontado por end1.rua, o que, esta' errado !!! */
+ end2.numero = 1100; /* Nesta atribuicao nao ha problemas */
+
+ printf(" \n\nApos modificar o endereco em end2:\n Endereco em end1 %s %d \n Endereco em end2 %s %d", end1.rua, end1.numero, end2.rua, end2.numero);
+}
+
+
+
+
Neste programa h um erro grave, pois ao se fazer a atribuio end2 = end1, o campo
+rua de end2 estar apontando para a mesma posio de memria que o campo rua de end1.
+Assim, ao se modificar o contedo apontado por end2.rua estaremos tambm modificando o
+contedo apontado por end1.rua !!!
+
+
Passando para funes
+
+
No exemplo apresentado no tem usando, vimos o seguinte
+comando:
+
+
strcpy (ficha.nome,"Luiz Osvaldo Silva");
+
+
Neste comando um elemento de uma estrutura passado para uma funo. Este tipo de
+operao pode ser feita sem maiores consideraes.
+
+
Podemos tambm passar para uma funo uma estrutura inteira. Veja a seguinte
+funo:
Como vemos acima fcil passar a estrutura como um todo para a funo. Devemos
+observar que, como em qualquer outra funo no C, a passagem da estrutura feita por
+valor. A estrutura que est sendo passada, vai ser copiada, campo por campo, em uma
+varivel local da funo PreencheFicha. Isto significa que alteraes na estrutura
+dentro da funo no tero efeito na varivel fora da funo. Mais uma vez podemos
+contornar este pormenor usando ponteiros e passando para a funo um ponteiro para a
+estrutura.
+
+
Ponteiros
+
+
Podemos ter um ponteiro para uma estrutura. Vamos ver como poderia ser declarado um
+ponteiro para as estruturas de ficha que estamos usando nestas sees:
+
+
struct ficha_pessoal *p;
+
+
Os ponteiros para uma estrutura funcionam como os ponteiros para qualquer outro tipo de
+dados no C. Para us-lo, haveria duas possibilidades. A primeira apont-lo para uma
+varivel struct j existente, da seguinte maneira:
+
+
struct ficha_pessoal ficha;
+
+
struct ficha_pessoal *p;
+
+
p = &ficha;
+
+
A segunda alocando memria para ficha_pessoal usando, por exemplo, malloc():
+
+
#include <stdlib.h>
+
+
main()
+{
+ struct ficha_pessoal *p;
+ int a = 10; /* Faremos a alocacao dinamica de 10 fichas pessoais */
+ p = (struct ficha_pessoal *) malloc (a * sizeof(struct ficha_pessoal));
+ p[0].telefone = 3443768;
+ /* Exemplo de acesso ao
+campo telefone da primeira ficha apontada por p */
+ free(p);
+}
+
+
+
H mais um detalhe a ser considerado. Se apontarmos o ponteiro p para uma
+estrutura qualquer (como fizemos em p = &ficha;
+) e quisermos acessar um elemento da estrutura poderamos fazer:
+
+
(*p).nome
+
+
Os parnteses so necessrios, porque o operador . tem precedncia maior que o
+operador * . Porm, este formato no muito usado. O que comum de se fazer
+acessar o elemento nome atravs do operador seta, que formado por um sinal de
+"menos" (-) seguido por um sinal de "maior que" (>), isto : ->
+. Assim faremos:
+
+
p->nome
+
+
A declarao acima muito mais fcil e concisa. Para acessarmos o elemento CEP
+dentro de endereco faramos:
+
+
p->endereco.CEP
+
+
Fcil, no?
+
+
+
+
+
AUTO AVALIAO
+
+
Seja a seguinte struct que utilizada para descrever os produtos que esto no
+estoque de uma loja :
+
+
struct Produto {
+ char nome[30]; /* Nome do produto */
+ int codigo;
+ /* Codigo do produto */
+ double preco; /* Preco do produto */
+};
+
+
a) Escreva uma instruo que declare uma matriz de Produto com 10 itens de
+produtos;
+b) Atribua os valores "Pe de Moleque", 13205 e R$0,20 aos membros da posio 0
+e os valores "Cocada Baiana", 15202 e R$0,50 aos membros da posio 1 da
+matriz anterior;
+c) Faa as mudanas que forem necessrias para usar um ponteiro para Produto ao invs
+de uma matriz de Produtos. Faa a alocao de memria de forma que se possa armazenar
+10 produtos na rea de memria apontada por este ponteiro e refaa as atribuies da
+letra b;
+d) Escreva as instrues para imprimir os campos que foram atribudos na letra c.
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cb30.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cb30.html"
new file mode 100644
index 00000000..3c294a95
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cb30.html"
@@ -0,0 +1,104 @@
+
+
+
+
+Curso de C
+
+
+
+
+
Curso de C
+
+
+
+
Declarao Union
+
+
Uma declarao union determina uma nica localizao de memria
+onde podem estar armazenadas vrias variveis diferentes. A declarao de uma unio
+ semelhante declarao de uma estrutura:
+
+
Nela, temos duas variveis (graus e radianos) que, apesar de terem nomes
+diferentes, ocupam o mesmo local da memria. Isto quer dizer que s gastamos o
+espao equivalente a um nico float. Unies podem ser feitas tambm com
+variveis de diferentes tipos. Neste caso, a memria alocada corresponde ao tamanho da
+maior varivel no union. Veja o exemplo:
Temos que tomar o maior cuidado pois poderamos fazer:
+
+
#include <stdio.h>
+union numero
+ {
+ char Ch;
+ int I;
+ float F;
+ };
+
+
main (void)
+{
+union numero N;
+N.I = 123;
+printf ("%f",N.F); /* Vai imprimir algo que nao e' necessariamente 123 ...*/
+return 0;
+}
+
+
O programa acima muito perigoso pois voc est lendo uma regio da memria, que
+foi "gravada" como um inteiro, como se fosse um ponto flutuante. Tome cuidado! O
+resultado pode no fazer sentido.
+
O programador diz ao compilador que qualquer varivel do tipo dias_da_semana
+s pode ter os valores enumerados. Isto quer dizer que poderamos fazer o seguinte
+programa:
Voc deve estar se perguntando como que a enumerao funciona. Simples. O
+compilador pega a lista que voc fez de valores e associa, a cada um, um nmero inteiro.
+Ento, ao primeiro da lista, associado o nmero zero, o segundo ao nmero 1 e assim
+por diante. As variveis declaradas so ento variveis int.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cb50.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cb50.html"
new file mode 100644
index 00000000..5aada5b3
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cb50.html"
@@ -0,0 +1,71 @@
+
+
+
+
+Curso de C
+
+
+
+
+
Curso de C
+
+
+
+
O Comando sizeof
+
+
O operador sizeof usado para se saber o tamanho de variveis ou de tipos.
+Ele retorna o tamanho do tipo ou varivel em bytes. Devemos us-lo para garantir
+portabilidade. Por exemplo, o tamanho de um inteiro pode depender do sistema para o qual
+se est compilando. O sizeof um operador porque ele substitudo pelo
+tamanho do tipo ou varivel no momento da compilao. Ele no uma funo.
+O sizeof admite duas formas:
+
+
sizeof nome_da_varivel
+
+
sizeof (nome_do_tipo)
+
+
Se quisermos ento saber o tamanho de um float fazemos sizeof(float). Se
+declararmos a varivel f como float e quisermos saber o seu tamanho faremos
+sizeof f. O operador sizeof tambm funciona com estruturas, unies e
+enumeraes.
+Outra aplicao importante do operador sizeof para se saber o tamanho de tipos
+definidos pelo usurio. Seria, por exemplo, uma tarefa um tanto complicada a de alocar a
+memria para um ponteiro para a estrutura ficha_pessoal, criada na primeira pgina desta aula, se no fosse o uso de sizeof.
+Veja o exemplo:
+
+
#include <stdio.h>
+struct tipo_endereco
+ {
+ char rua [50];
+ int numero;
+ char bairro [20];
+ char cidade [30];
+ char sigla_estado [3];
+ long int CEP;
+ };
+struct ficha_pessoal
+ {
+ char nome [50];
+ long int telefone;
+ struct tipo_endereco endereco;
+ };
+void main(void)
+{
+struct ficha_pessoal *ex;
+ex = (struct ficha_pessoal *) malloc(sizeof(struct ficha_pessoal));
+...
+free(ex);
+}
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cb60.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cb60.html"
new file mode 100644
index 00000000..acd67365
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cb60.html"
@@ -0,0 +1,65 @@
+
+
+
+
+Curso de C
+
+
+
+
+
Curso de C
+
+
+
+
O Comando typedef
+
+
O comando typedef permite ao programador definir um novo nome para um
+determinado tipo. Sua forma geral :
+
+
typedef antigo_nome novo_nome;
+
+
Como exemplo vamos dar o nome de inteiro para o tipo int:
+
+
typedef int inteiro;
+
+
Agora podemos declarar o tipo inteiro.
+O comando typedef tambm pode ser utilizado para dar nome a tipos complexos, como
+as estruturas. As estruturas criadas no exemplo da pgina anterior
+poderiam ser definidas como tipos atravs do comando typedef. O exemplo ficaria:
+
+
#include <stdio.h>
+typedef struct tipo_endereco
+ {
+ char rua [50];
+ int numero;
+ char bairro [20];
+ char cidade [30];
+ char sigla_estado [3];
+ long int CEP;
+ } TEndereco;
+typedef struct ficha_pessoal
+ {
+ char nome [50];
+ long int telefone;
+ TEndereco endereco;
+ }TFicha;
+void main(void)
+{
+TFicha *ex;
+...
+}
+
+
Veja que no mais necessrio usar a palavra chave struct para declarar variveis
+do tipo ficha pessoal. Basta agora usar o novo tipo definido TFicha.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cb70.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cb70.html"
new file mode 100644
index 00000000..2e5bcd29
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cb70.html"
@@ -0,0 +1,219 @@
+
+
+
+
+Curso de C
+
+
+
+
+
Curso de C
+
+
+
+
Uma aplicao de structs: as listas simplesmente encadeadas
+
+
Vrias estruturas de dados complexas podem ser criadas utilizando simultaneamente
+structs e ponteiros. Uma destas estruturas a lista encadeada. Uma lista encadeada
+uma seqncia de structs, que so os ns da lista, ligados entre si
+atravs de ponteiros. Esta seqncia pode ser acessada atravs de um ponteiro para o
+primeiro n, que a cabea da lista. Cada n contm um ponteiro que aponta para a
+struct que a sua sucessora na lista. O ponteiro da ltima struct da lista aponta para
+NULL, indicando que se chegou ao final da lista. Esta estrutura de dados criada
+dinamicamente na memria (utiliza-se malloc() e free()), de modo que se torna simples
+introduzir ns nela, retirar ns, ordenar os ns, etc. No vamos entrar em detalhes
+sobre todos os algoritmos que poderamos criar em uma lista encadeada, pois isto
+geralmente feito em cursos de algoritmos e estruturas de dados, no se incluindo no
+escopo deste curso. Aqui, veremos somente formas de se criar uma lista encadeada em C e
+tambm maneiras simples de percorrer esta lista.
+
+
Supondo que queiramos criar uma lista encadeada para armazenar os produtos disponveis
+em uma loja. Poderamos criar um n desta lista usando a seguinte struct:
+
+
struct Produto {
+ int codigo; /* Codigo do produto */
+ double preco; /* Preco do produto */
+ struct Produto *proximo; /* Proximo elemento da lista
+encadeada de Produtos */
+};
+
+
Note que esta struct possui, alm dos campos de dados
+codigo e preco, um campo adicional que um ponteiro para uma struct do tipo Produto.
+este campo que ser utilizado para apontar para o prximo n da lista encadeada. O
+programa a seguir faz uso desta struct, atravs de um novo tipo criado por um typedef,
+para criar uma lista de produtos de uma loja:
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+
+/* Estrutura que ser usada para criar os ns da lista */
+
+typedef struct tipo_produto {
+ int codigo;
+
+/* Codigo do produto */
+ double preco;
+ /*
+Preco do produto */
+ struct tipo_produto *proximo; /* Proximo elemento da
+lista encadeada de Produtos */
+} TProduto;
+
+/* Prototipos das funcoes para inserir e listar produtos */
+
+void inserir(TProduto **cabeca);
+void listar (TProduto *cabeca);
+
+int main()
+{
+ TProduto *cabeca = NULL; /*
+Ponteiro para a cabeca da lista */
+ TProduto *noatual;
+ /* Ponteiro
+a ser usado para percorrer a lista no momento de desalocar seus elementos*/
+ char q;
+
+/* Caractere para receber a opcao do usuario */
+ do {
+ printf("\n\nOpcoes: \nI -> para inserir
+novo produto;\nL -> para listar os produtos; \nS -> para sair \n:");
+ scanf("%c", &q);
+ /* Le a opcao do usuario */
+ switch(q) {
+ case 'i': case 'I':
+inserir(&cabeca); break;
+ case 'l': case 'L':
+listar(cabeca); break;
+ case 's': case 'S':
+break;
+ default:
+printf("\n\n Opcao nao valida");
+ }
+ fflush(stdin); /* Limpa o
+buffer de entrada */
+ } while ((q != 's') && (q != 'S') );
+
+/* Desaloca a memoria alocada para os elementos da lista */
+
+ noatual = cabeca;
+ while (noatual != NULL)
+ {
+ cabeca = noatual->proximo;
+ free(noatual);
+ noatual = cabeca;
+ }
+}
+
+
+
/* Lista todos os elementos presentes na lista encadeada */
+
+
+void listar (TProduto *noatual)
+{
+ int i=0;
+ while( noatual != NULL) /* Enquanto nao chega no fim
+da lista */
+ {
+ i++;
+ printf("\n\nProduto numero %d\nCodigo: %d
+\nPreco:R$%.2lf", i, noatual->codigo, noatual->preco);
+ noatual = noatual->proximo;
+ /* Faz noatual apontar para o proximo no */
+ }
+}
+
+
+
/* Funcao para inserir um novo no, ao final da lista */
+
+
+void inserir (TProduto **cabeca)
+{
+ TProduto *noatual, *novono;
+ int cod;
+ double preco;
+ printf("\n Codigo do novo produto: ");
+ scanf("%d", &cod);
+ printf("\n Preco do produto:R$");
+ scanf("%lf", &preco);
+ if (*cabeca == NULL) /* Se ainda nao existe nenhum
+produto na lista */
+ {
+/* cria o no cabeca */
+ *cabeca = (TProduto *)
+malloc(sizeof(TProduto));
+ (*cabeca)->codigo = cod;
+ (*cabeca)->preco = preco;
+ (*cabeca)->proximo = NULL;
+ }
+ else
+ {
+/* Se ja existem elementos na lista, deve percorre-la ate' o seu final e inserir o novo
+elemento */
+ noatual = *cabeca;
+ while(noatual->proximo != NULL)
+ noatual =
+noatual->proximo; /* Ao final do while, noatual aponta para o ultimo
+no */
+ novono = (TProduto *)
+malloc(sizeof(TProduto));/* Aloca memoria para o novo no */
+ novono->codigo = cod;
+ novono->preco = preco;
+ novono->proximo = NULL;
+ noatual->proximo = novono;
+ /* Faz o ultimo no apontar para o novo no */
+ }
+}
+
+
interessante notar que, no programa anterior no existe limite para o nmero de
+produtos que se vai armazenar na lista. Toda vez que for necessrio criar um novo
+produto, memria para ele ser alocada e ele ser criado no final da lista. Note que a
+funo inserir recebe o endereo do ponteiro cabea da lista. Qual a razo disto? A
+razo que o endereo para o qual a cabea da lista aponta poder ser modificado
+caso se esteja inserindo o primeiro elemento na lista. Tente entender todos os passos
+deste programa, pois ele possui vrias das caractersticas presentes em programas que
+manipulam listas encadeadas. Tambm importante notar que vrias outras estruturas de
+dados complexas podem ser criadas com structs contendo ponteiros que apontam para outras
+structs.
+
+
+
+
+
+
+
AUTO AVALIAO
+
+
Crie uma struct para descrever restaurantes. Os campos devem armazenar o nome do
+restaurante, o endereo, o tipo de comida (brasileira, chinesa, francesa, italiana,
+japonesa, etc) e uma nota para a cozinha (entre 0 e 5). Crie uma lista encadeada com esta
+struct e escreva um programa que:
+
+
a) Insira um novo restaurante na lista;
+
+
b) Leia uma lista de restaurantes a partir de um arquivo;
+
+
c) Grave a lista de restaurantes para um arquivo;
+
+
d) Liste todos os restaurantes na tela;
+
+
e) Liste os restaurantes com cozinha com nota superior a um determinado valor,
+determinado pelo usurio;
+
+
f) Liste todos os restaurantes com determinado tipo de comida, determinado pelo
+usurio.
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cbiblio.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cbiblio.html"
new file mode 100644
index 00000000..91cb78c0
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cbiblio.html"
@@ -0,0 +1,42 @@
+
+
+
+
+Curso de C
+
+
+
+
+
Curso de C
+
+
+
+
Bibliografia
+
+
Kernighan, B. & Ritchie, D. C - A linguagem de programao padro ANSI.
+Editora Campus, 1990.
+
+
Schildt, H. Turbo C - guia do usurio . Editora McGraw-Hill, 1988.
+
+
Schildt, H. C - completo e total . Editora McGraw-Hill, 1990.
+
+
Carpenter, V. Learn C/C++ today : http://www.cyberdiem.com/vin/learn.html
+(uma coleo de referncias e tutoriais sobre as linguagens C e C++ disponveis na
+Internet)
+
+
Mizrahi, V. V. Treinamento em linguagem C - Mdulos 1 e 2. Editora McGraw-Hill,
+1990.
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cfinal.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cfinal.html"
new file mode 100644
index 00000000..e300aad0
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/cfinal.html"
@@ -0,0 +1,41 @@
+
+
+
+
+Curso de C
+
+
+
+
+
Curso de C
+
+
+
+
Consideraes finais
+
+
Chegamos ao final deste nosso Curso de Programao de Computadores utilizando
+a Linguagem C. Esperamos que vocs tenham gostado e aprendido alguma coisa
+conosco. Agradecemos pela pacincia ao acompanhar este longo curso e gostaramos de
+contar com a sua colaborao, respondendo avaliao que iro receber por e-mail
+(caso estejam matriculados no curso), ou ento preenchendo o formulrio
+de avaliao.
+
+
O aprendizado de uma linguagem como o C depende de se programar bastante e tentamos
+fazer isto no nosso curso. Porm, no apresentamos todos os detalhes da linguagem (isto
+no seria possvel em um curso com o tempo que propusemos) e, por isto, sugerimos
+queles que quiserem saber mais que consultem nossa bibliografia
+buscando l as referncias para o seu estudo.
+
+
Boa sorte, bons estudos e divirtam-se com esta fantstica linguagem que agora
+(esperamos) vocs dominam!
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/left.gif" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/left.gif"
new file mode 100644
index 00000000..0b5a4c10
Binary files /dev/null and "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/left.gif" differ
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/line.gif" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/line.gif"
new file mode 100644
index 00000000..c75bf933
Binary files /dev/null and "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/line.gif" differ
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/logo_s2n.gif" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/logo_s2n.gif"
new file mode 100644
index 00000000..d15656d6
Binary files /dev/null and "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/logo_s2n.gif" differ
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/mail.gif" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/mail.gif"
new file mode 100644
index 00000000..8aa34f86
Binary files /dev/null and "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/mail.gif" differ
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/right.gif" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/right.gif"
new file mode 100644
index 00000000..adaa9e90
Binary files /dev/null and "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/right.gif" differ
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/rule18.gif" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/rule18.gif"
new file mode 100644
index 00000000..ae45da17
Binary files /dev/null and "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/rule18.gif" differ
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/up.gif" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/up.gif"
new file mode 100644
index 00000000..d4614778
Binary files /dev/null and "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/aulas/up.gif" differ
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/bullet.gif" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/bullet.gif"
new file mode 100644
index 00000000..c8542102
Binary files /dev/null and "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/bullet.gif" differ
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/c.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/c.html"
new file mode 100644
index 00000000..79ce8ce9
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/c.html"
@@ -0,0 +1,19 @@
+
+
+
+Aulas
+
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/calendario.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/calendario.html"
new file mode 100644
index 00000000..3b6cd825
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/calendario.html"
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+Cronograma do Curso de C
+
+
+
+
+
+
Cronograma do Curso
+
+
+
+
+
Primeiro semestre de 2001
+
+
No primeiro semestre de 2001 as
+aulas se iniciaram no dia 16/04, quando o primeiro e-mail com instrues foi enviado
+para os alunos matriculados. Ser seguido o cronograma abaixo, durante as oito semanas
+seguintes:
Para criar seus programas em C e execut-los voc vai precisar de
+ um compilador C padro ANSI. Se no tiver um, pode usar o gcc (Linux), buscar o DevC++
+ (Windows), o DJGPP, o TClite ou o Turbo C (DOS), em verses gratuitas. Veja como, clicando aqui.
+
+
+
+
+
+
Curso de C da Engenharia Eltrica da UFMG - 1996-2001
+
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/faq-fram.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/faq-fram.html"
new file mode 100644
index 00000000..79a1147c
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/faq-fram.html"
@@ -0,0 +1,17 @@
+
+
+
+Perguntas Frequentes Sobre o Curso de Linguagem C
+
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/faq-main.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/faq-main.html"
new file mode 100644
index 00000000..9fc96b0a
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/faq-main.html"
@@ -0,0 +1,1170 @@
+
+
+
+
+
+
+
+
+Perguntas frequentes sobre o curso
+
+
+
+
+
+
1 - Tentei me inscrever no curso Virtual de C
+e obtive a seguinte resposta:
+ From listproc@ead1.eee.ufmg.br Mon Feb 16 08:03 EST 1998
+
+ Subject: SUBSCRIBE ESPERACURSOC Nome Sobrenome
+ Voce assinou a lista esperacursoc@ead1.eee.ufmg.br ... etc
+
+Seu endereco e' xxx@zzz.com.br. O que isto significa?
+
+Isto significa que voc esta' inscrito na nossa lista de espera para o
+proximo curso. Aguarde o incio do curso.
+
+
+
+
+
+
2 - O que seriam estas requisies
+administrativas? Para me inscrever no curso virtual de C preciso fazer mais alguma coisa
+alm do que j fiz ?
+
+
No, voc no precisa fazer mais nada. O listproc um programa
+de administracao de listas eletrnicas. O que ele quis dizer
+com estas "requisies administrativas" e' relativo aa administracao das
+proprias listas: por exemplo, para voce entrar numa lista, saber quem esta' inscrito numa
+lista, se desligar de uma lista, etc, deve enviar as suas requisicoes para
+listproc@ead1.eee.ufmg.br e no para o endereco da lista.
+
+
+
+
+
+
3 - Ser que voc poderia trocar o meu
+e-mail inscrito na lista do curso de C de xxx@zzz.com.br para yyy@www.com.br?
+
Veja na nossa pgina de inscries e desinscries.
+
+
+
+
+
+
+
5 - Eu pedi para trocar meu e-mail e fui
+desinscrito do curso? Estou participando ou no do curso?
+
+
Quando voc pede para trocar de e-mail, o e-mail antigo retirado
+do curso e o novo incluido. Voc recebe duas correspondncias: uma com a excluso do
+antigo endereo e outra com a incluso do novo endereo no curso.
+
+
+
+
+
+
b) Sobre o uso de Compiladores no curso
+
+
+
0 - necessrio um editor de texto
+especfico para escrever as rotinas em C?
+
+
Voc pode usar qualquer editor que gere arquivo ASCII. Exemplos:
+Edit (DOS), Notepad (Windows) ou o vi (Unix). Alguns compiladores possuem um ambiente
+integrado para desenvolvimento de programas em C (IDE, do ingls Integrated Development
+Environment). Neste caso, voce pode usar este ambiente para criar seus programas. E' o
+caso dos compiladores da Microsoft, da Borland, do LCC-Win32, do DevC++ e o caso do Rhide para o compilador gcc.
+
+
+
+
+
+
1 - Como conseguir uma cpia do compilador ?
+
+
+
Para fazer o curso, voc precisar de um compilador C, padrao
+ANSI, instalado em seu computador. No caso de mquinas Unix/Linux, este compilador
+normalmente j vem com o sistema operacional e se chama cc (C Compiler) ou gcc (GNU C
+Compiler). Estes compiladores geralmente seguem o padro ANSI.
+
+
Mquinas rodando o DOS ou Windows, necessitam da instalao um
+compilador C. Existem vrias opes:
+
+
a) No ambiente Windows voc tem duas boas opes
+de compiladores gratuitos.
Uma opo alternativa o LCC-Win32, que um compilador C que
+ pode ser baixado a partir do endereo http://www.cs.virginia.edu/~lcc-win32/index.html
+ . O compilador padro ANSI C (ele no compila programas em C++, apenas em C). A
+ documentao de uso deste compilador pode ser buscada aqui.
+
+
Dentre estas duas opes, recomendamos o DevC++, que, alm de
+ compilar programas em C, tambm compila em C++ e poder ser utilizado em seus estudos
+ futuros dessa linguagem.
+
+
+
b) Para DOS, tambm existem vrios compiladores
+gratuitos:
+
+
+
+
Existe uma verso grtis do compilador gcc para DOS, sob o nome de
+ DJGPP. Este compilador disponvel na Internet. Para saber quais arquivos so
+ necessrios, como baix-los e instal-los, leia as
+ instrues abaixo. Para instrues mais completas sobre o DJGPP voc pode
+ consultar o DJGPP-FAQ List.
+ Leia tambm o arquivo readme.1st.
+ Somente recomendamos este compilador para quem tem um certo
+ conhecimento de configurao utilizando o DOS. Se voc quer algo mais simples, pegue um
+ dos compiladores abaixo.
+
Outra opo de compilador grtis para DOS o TClite,
+ da Borland. Este compilador mais simples de instalar do que o DJGPP e pode ser obtido
+ em http://www.cprogramming.com/tclite.html. Para facilitar sua vida, tambm estamos
+ disponibilizando o arquivo aqui. As instrues de instalao
+ podem ser consultadas abaixo. Uma desvantagem do TClite que os
+ programas que voc gera somente podem ser executados dentro do ambiente do TClite.
+
+
A Borland recentemente disponibilizou verses gratuitas (antigas) do
+ Compilador Turbo C. Voc pode baixar a verso 2.01 do Turbo C em http://community.borland.com/museum/borland/software/TC201.zip
+ . A vantagem desta verso em relao ao TClite que ela gera programas que podem ser
+ executados fora do ambiente de compilao. A desvantagem que o ambiente de
+ compilao no trabalha com o mouse, com sua interface sendo toda baseada no teclado. A
+ instalao simples: voc deve descompactar o arquivo tc201.zip (por exemplo, usando
+ o winzip) e sero gerados 3 diretrios: disk1, disk2 e disk3 . A seguir, voc deve
+ copiar o contedo de cada um destes diretrios para um disquete e rodar o programa
+ install, a partir do primeiro disquete. Depois s seguir as instrues que
+ aparecero na tela, fornecendo, quando pedido, o segundo e depois o terceiro disquete.
+ Finalmente voc deve ir no diretrio raiz ( C:\ )e editar o autoexec.bat. Nele
+ escreva l no final mesmo as seguintes linhas, exatamente como abaixo (no coloque
+ nenhum espao em branco a mais!) :
SET PATH=C:\TC;%PATH%
+
+
Onde consta C:\TC acima ponha o nome do diretrio em que voc
+ instalou o Turbo C. Reinicie o computador, abra uma janela DOS, v ao diretrio em que
+ voc vai trabalhar e digite tc. O ambiente de edio e compilao um pouco pior do
+ que o do RHIDE, porm voc pode adaptar as instrues para uso do
+ Rhide para usar o tc.
O DJGPP no to simples de se instalar quanto o DevC++
+. Portanto, seguem algumas dicas:
+
+
Pegue os seguintes arquivos no site do curso (caso nosso site esteja
+muito carregado, melhor voc tentar um site alternativo) :
+
+
1----djdev202.zip
+
+2----gcc281b.zip
+
+3----bnu281b.zip
+
+4----rhide14b.zip
+
+5----csdpmi4b.zip,caso voc no v rodar o DJGPP em uma janela DOS do Windows 95 ou 98,
+ou seja, caso voc esteja trabalhando com o Windows 3.11, ou simplesmente com o DOS.
+
+
+
Se voce quiser compilar programas em C++ (e no apenas em C), deve
+tambm pegar o arquivo:
Consulte o readme.1st para verificar o
+que so os outros arquivos e qual a utilidade deles. Se quiser maiores detalhes ainda,
+pegue o arquivo de FAQ do
+DJGPP, ou os arquivos do programa INFO e instale-os em seu
+computador tambm.
+
+
Depois de pegar os 4 (ou 5, se voc tambm precisar do
+csdpmi4b.zip, ou 6, se for trabalhar com o C++) arquivos acima, descompacte-os mantendo a
+estrutura de diretrios presente nos arquivos *.zip (isto , se estiver usando o
+pkunzip, use o comando pkunzip -d *.zip. Se estiver usando o Winzip, marque a caixa
+"Use Folder Names" na hora de descompactar) em uma pasta (por exemplo crie a
+pasta C:\DJGPP ). OBS: No descompacte em uma pasta com
+nome com mais de 8 caracteres, pois o DJGPP no reconhece as pastas com nomes longos do
+Windows (ou mesmo pastas com espacos no nome, como Meus Documentos ou Arquivos de
+Programas). V no C:\ e edite o autoexec.bat. Nele escreva l no final mesmo as
+seguintes linhas, exatamente como abaixo:
+
+
SET DJGPP=C:\DJGPP\DJGPP.ENV
+SET PATH=C:\DJGPP\BIN;%PATH%
+
+
OBS:
+
+
+
Onde consta C:\DJGPP acima ponha o nome do diretrio em que voc
+ descompactou os seus arquivos.
+
No deixe nenhum espao alm dos constantes entre a palavra SET e
+ DJGPP e SET e PATH.
Reinicie o computador (d boot), abra uma janela DOS, v ao
+ diretrio em que voc vai trabalhar (isto , o diretrio onde voc vai armazenar seus
+ programas) e chame o programa Rhide. Siga as instrues de uso do
+ Rhide.
+
Se no funcionar, verifique passo a passo o que foi feito. Um
+ problema que as vezes acontece no se ter espao de ambiente suficiente para as
+ alteraes que esto sendo feitas no Autoexec.bat. Para verificar se este problema
+ est causando erros no seu caso e como solucion-lo, clique aqui.
+
Outra coisa que deve ser lembrada que o DJGPP um programa DOS e
+ no reconhece os nomes de arquivos longos do Windows 95. Portanto, d nomes de no
+ mximo 8 caracteres para seus arquivos fonte. O ideal instalar o DJGPP no diretrio
+ C:\DJGPP.
+
+
+
+
FIM!
Mais fcil que roubar o doce de uma criana, no? Porm, se voc achou tudo isto muito complicado, pode tentar o
+compilador DevC++, de instalao e uso bem mais simples.
+
+
+
+
+
+
3- Como instalar o TClite?
+
+
+
O TClite tambm precisa de algumas instrues de instalao, ao
+contrrio do DevC++. Seguem ...
+
+
+
Descompacte o arquivo tclite.zip mantendo a estrutura de
+ diretrios presente no arquivo. Isto , se estiver usando o pkunzip, use o comando
+ pkunzip -d tclite.zip. Se estiver usando o Winzip, marque a caixa "Use Folder
+ Names" na hora de descompactar. O TClite deve ser descompactado em um diretrio (por
+ exemplo o diretrio C:\TCLITE ).
+
V no C:\ e edite o autoexec.bat. Nele escreva l no final mesmo a
+ seguinte linha, exatamente como abaixo (OBS:substitua TCLITE abaixo pelo nome do
+ diretrio onde voc o instalou):
+
+
+
+
SET
+PATH=C:\TCLITE\BIN;%PATH%
+
+
+
No deixe nenhum espao alm dos constantes entre a palavra SET e
+ PATH.
+
+
+
+
No instale o TClite em um diretrio com um nome
+ com mais de 8 caracteres, pois ele um programa para DOS que no entende o sistema de
+ nomes com mais de 8 caracteres do Windows 95.
+
Reinicie o computador, abra uma janela DOS, v ao diretrio em que
+ voc vai trabalhar e digite tc. O ambiente de edio e compilao semelhante ao do
+ RHIDE e voc pode usar as instrues para uso do Rhide para
+ usar o tc.
+
+
+
+
Se voc baixou o TCLite, o instalou e est recebendo
+ mensagens de erro com relao falta de alguns arquivos .h (por exemplo, ele reclama
+ da falta do <stdio.h>, ento voc deve fazer o seguinte:
+
+
+
+
+
Digite tc
+ V em Options -> Directories...
+ Modifique: Include Directories
+
+ C:\TCLITE\INCLUDE; (substitua o TCLITE pelo diretrio onde
+ voc instalou o TCLITE)
+
Modifique: Library Directories:
+
+ C:\TCLITE\LIB; (substitua o TCLITE pelo diretrio onde
+ voc instalou o TCLITE)
+
+
+
+
+
+
4- Tenho o compilador xxx da empresa yyy.
+Posso us-lo no curso?
+
+Voce pode usar qualquer compilador C padro ANSI, conforme visto na resposta 1. Verifique na documentao do seu compilador se
+ele padro ANSI. Nao ensinaremos a trabalhar com este compilador ou
+com qualquer outro, especificamente. Voce deve sempre se referir documentao do seu
+compilador para verificar como produzir o seu programa executvel a partir dos seus
+fontes. Mostramos, apenas como exemplo, como compilar usando o DevC++,
+o ambiente RHIDE do DJGPP (o que tambm vlido para o TClite),
+o Borland C++ 5.0, o Microsoft
+Visual C++ 5.0, e o Borland Builder.
+
+
+
+
+
5- O compilador gcc para DOS (DJGPP) possui algum ambiente integrado de desenvolvimento,
+onde eu consiga editar o programa, compil-lo e debug-lo?
+
+
Sim! Existe um programa chamado RHIDE que pode ser usado junto com o
+DJGPP como ambiente integrado de desenvolvimento (IDE = Integrated Development
+Environment). Voc pode consegui-lo no mesmo site da Internet onde voc conseguiu o
+DJGPP, arquivo rhide14b.zip.
+As instrues de uso do Rhide podem ser consultadas clicando aqui.
+
+
+
+
+
+
+
6- O compilador C do LINUX padro ANSI?
+
+
+
O compilador C do linux (chamado gcc) ideal para o curso, j que
+ele segue o padrao ANSI. Com ele voc no ter problema algum.
+
+
+
+
+
+
7- Existe algum ambiente de desenvolvimento
+semelhante ao RHIDE para Linux?
2- Se voc usa o ambiente grfico do Linux, procure executar o
+XWPE (X Window Programming Environment) - que um ambiente de desenvolvimento, muito
+parecido com o do Turbo C do DOS. Para acionar o XWPE:
+
+
+
1 - Entre no ambiente grafico do linux (XFree86 ou outro);
+ 2 - Acione o menu start na barra de tarefas;
+ 3 - Acesse a opcao Xapplications;
+ 4 - Acesse a opcao XWpe.
+
1. Clique em Global Search (pesquisa ao repositorio);
+ 2. digite o nome "xwpe" + enter;
+ 3. depois que obtiver a lista dos arquivos disponiveis, voc tem que
+ escolher a verso que corresponde ao teu Linux (slackware, debian, redhat..). muito
+ fcil de instalar (soh tem q compilar, mas eh soh ler os arquivos que acompanham o
+ programa)
+
8- Gostaria de saber se existe muita diferenca
+entre o C padrao e TurboC.
+Existem diferencas entre o TurboC e o C padrao sim, mas o TurboC tem as
+funcoes do C padro, e algo a mais.
+
+
+
+
+
+
9- Alguns esclarecimentos sobre "C padrao
+ANSI"
+Um "padrao" e' um acordo documentado contendo especificacoes,
+tecnicas ou outro criterio preciso para ser usado consistentemente como regra, orientacao
+ou definicao de caracteristicas, para assegurar que o produtos, processos ou
+servicos sejam adequados para seus propositos. Um padrao e' periodicamente revisto e
+atualizado, de forma a incorporar novas necessidades e evolucoes. No nosso caso, "C
+padrao ANSI" significa que um grupo de especialistas em C pertencentes a ANSI
+(American National Standards Institute) se reuniu, discutiu muito, elaborou um documento
+"rascunho", submeteu a apreciacao da comunidade interessada e por fim aprovou um
+documento final extremamente detalhado que e' o padrao, devendo ser RIGOROSAMENTE cumprido
+por todos que dizem "seguir o padrao". Seguir um padrao para software e' muito
+importante, pois ele garante a compatibilidade e a portabilidade do software entre
+diversos compiladores e plataformas. Dai' a importancia deste assunto. O padrao ANSI
+apenas especifica uma biblioteca padrao minima, o que nao impede que compiladores que
+seguem o padrao nao possam incluir recursos adicionais. A maioria dos compiladores fornece
+bibliotecas que contem muito mais funcoes que as definidas pelo ANSI, visando facilitar a
+vida do programador e ser um diferencial para o produto. Assim sendo, compiladores que
+seguem o padrao, como o Turbo C, o gcc, etc, possuem tambem outros recursos (que podem ser
+- e sao - diferentes entre si), mas o que esta' definido no padrao e' seguido a risca.
+Mais uma observacao: algumas funcoes encontradas na versao original do C para UNIX nao sao
+definidas pelo padrao ANSI por serem consideradas redundantes.
+
+
+
+
+
+
10- Eu gostaria de saber se os compiladores
+dos unixes tem o header conio.h (acho que eh esse que tem o getche())?
+
+
Como esta citado no texto, a
+biblioteca conio nao faz parte das bibliotecas do C ANSI. Na realidade esta biblioteca foi
+introduzida pela Borland em uma das versoes do Turbo C (3.0?), salvo engano. Logo, os
+compiladores UNIX nao deverao ter esta biblioteca.
+
+
O conio.h significa console I/O, que e' diferente do stdio.h, que
+significa standard I/O. Para compiladores baseados em DOS, as funcoes de E/S direto pela
+console geralmente usam o arquivo de cabecalho CONIO.H (de toda forma, verifique no manual
+do seu compilador, pois o nome pode variar de um compilador para outro).
A biblioteca "conio.h" eh device-dependent, geralmente com
+funcoes especificas para cada hardware. Nao convem utiliza-la em um programa que se
+pretende "portar" para outras plataformas de hardware/software.
+
+
+
+
+
+
11- Mais alguem estah tendo problemas para
+usar o Rhide? Consigo compilar, mas no executar os programas. A opcao de menu RUN estah
+desbilitada 8(
2- Tive o mesmo problema, resolvendo-o da forma abaixo:
+-fechar o projeto existente (Project | Close);
+-abrir o arquivo novamente (File | Open);
+-informar o diretrio onde os arquivos esto sendo gravados (Options
+| Directories | Sources).
+
+
+
+
+
+
12- T com o Borland C++Builder 5.0, d pra
+compilar em C com ele?
+
+
Sim, d para compilar programas em C com o C++ Buider. Abra o
+programa e chame a opo File -> New ... -> Console Wizard. Escolha as
+opes: C e Console Application na caixa de dilogos que vai ser aberta e clique em OK.
+Digite seu cdigo na janela de textos. Para compilar e rodar seu programa, basta apertar
+a seta verde (Run) ou a tecla F9..
+
+
+
+
+
+
13- Como usar o Visual C++ da Microsoft para
+compilar programas em C?
+
+
Para compilar, criar executaveis e executar programas C padro ANSI
+no mesmo, deve-se proceder da seguinte forma:
+
+
+
1-Abrir o MSVC 5.0,
+ 2-Clicar em File,
+ 3-Clicar em New,
+ 4-Assim que abrir a janela, escolher na lista de tipos de projetos,
+ Win32 Console Aplication, nao esquecer de colocar o nome "nome" para o projeto e
+ modificar o caminho (se for o caso) nos campos ao lado, 5-Clicar OK (so
+ esta disponivel se tiver colocado o nome do projeto),
+ 6-Aparecendo a janela de tres paginas chamada Workspace nome, escolher
+ a pagina file (na parte de baixo),
+ 7-Clicar com o botao direito do mouse em nome files e escolher Add
+ Files to Project
+ 8-Ao aparecer a janela Insert Files into Project, colocar o nome:
+ nome_do_arquivo.c (nao esquecer da terminacao .c),
+ 9-Na janela de tres paginas que devera permanecer aberta na pagina
+ file, clicar no "mais" que esta antes de nome files e clicar duas veses em
+ nome.c,
+ 10-Escrever seu codigo no editor ao lado,
+ 11-Para compilar, criar executvel e executar a partir do MSVC ir em
+ Build na barra de menu e escolher a acao desejada.
+ 12-Se o aplicativo for executado a partir do MSVC aparecera a mensagem
+ Press any key to continue talvez ate mais de uma vez. Isto nao eh erro e basta apertar uma
+ tecla para continuar. Esta mensagem nao mais aparecera se voce executar o aplicativo de
+ fora do MSVC, como por exemplo, no explorer, indo no diretorio onde esta o seu projeto e
+ clicando duas vezes em nome.exe.
+
14- Como usar o Borland C++ 5.0 para compilar
+programas em C?
+
+
No Borland C++ 5.0, basta voce chamar a opcao File -> New ->
+Text Edit e ento digitar o seu programa na janela que vai aparecer. Depois so' chamar
+a opo Project -> Build all para compilar e linkar, gerando o executvel. Chame
+ento Debug -> Run, para rodar o seu executvel.
+
+
+
+
+
+
15- D pra usar o DJGPP e o Rhide no Windows
+NT 4.0?
+
+
Sim. Voc pode usar as mesmas instrues
+de instalao acima. A nica diferena que o arquivo equivalente ao
+AUTOEXEC.BAT para o WINDOWS NT 4.0 o AUTOEXEC.NT. O arquivo se encontra em
+C:\WINNT\SYSTEM32\ e deve ser editado da mesma forma que o AUTOEXEC.BAT. As
+alteraes no arquivo AUTOEXEC.NT como em vrios outros do sistema s podem ser
+efetuadas por um administrador de rede. Se voc no o administrador da mquina, deve
+criar um arquivo de lote (*.BAT) contendo as linhas onde so setadas as variveis de
+ambiente e execut-lo antes de executar o RHIDE.
+
+
+
+
+
+
16- Quais os argumentos que devem ser
+utilizados na hora de compilar com o gcc, por exemplo: gcc O .... ??
+ Execute o comando: man gcc, se voc estiver em ambiente Unix. Se
+estiver em ambiente DOS, pode instalar o FAQ e o help "info" (se ja nao tiver
+feito), que sao os arquivos faq211b.zip e txi312b.zip, respectivamente.
+Aps instalado o txi390b.zip, digite info no prompt do DOS. Porm, se estiver
+apenas compilando um programa composto de um nico arquivo, por exemplo, prog.c,
+execute gcc prog.c -o prog.exe .
+
+
+
+
+
+
17- Como compilar programas usando o DevC++?
+
+ Uma vez instalado o programa, voc pode criar um novo programa
+atravs da opo: File -> New Source File. Na janela que aparece, voc digita o seu
+programa. Veja que o DevC++ oferece para voc um programa inicial que voc pode apagar,
+se quiser. Uma vez digitado o seu programa, voc pode compila-lo e execut-lo atravs
+da opo: Execute -> Compile and Run, ou digitando diretamente Cntrl+F10, ou buscando
+a opo "Compile and Run" na barra de ferramentas. Note que se voc fizer
+isto para um programa que no espera nenhuma entrada do usurio, o programa ser
+executado, terminar sua execuo, e a janela onde ele est executando ser
+automaticamente fechada ao seu final. Com isto, voc no conseguir ver a sada do
+programa. Para evitar que isto acontea, voc pode modificar seus programas incluindo as
+linhas:
+
+
#include <stdlib.h>
+
+no incio do programa
+e
+system("pause");
+
+antes do return (0);
+
+como feito no primeiro programa, abaixo:
+
+
+
+
#include <stdlib.h>
+ #include <stdio.h>
+ /* Um Primeiro Programa */
+ int main ()
+ {
+ printf ("Ola! Eu estou vivo!\n");
+ system("pause");
+ return(0);
+ }
+
+
+
+
+
+
+
+
+
18- Como usar a biblioteca conio no
+DevC++?
+
+
Para usar as funes da biblioteca conio no DevC++ voce vai ter que "montar um
+projeto", seguindo os seguintes passos:
+
+1 - File -> New Project -> Console Application -> C Project (ou C++ Project, se
+voce preferir) -> OK;
+2 - Entre com um nome para o projeto. Exemplo: prconio -> OK -> Escolha a pasta onde
+o projeto sera' gravado;
+3 - Um arquivo inicial com um programa basico sera' criado. Voce pode digitar seu programa
+que utiliza a conio nesta janela;
+4 - Grave seu programa, com um nome diferente do nome do projeto (o Dev nao aceita o mesmo
+nome);
+5 - Antes de mandar compilar e executar, voce vai ter que modificar as opcoes de seu
+projeto, para poder utilizar a Conio. V em Project -> Project Options (ou clique no
+icone "Project Options" da barra de ferramentas). Na caixa "Further object
+files or linker options" escreva: C:\Dev-C++\Lib\conio.o , onde C:\Dev-C++\ deve ser
+substituido pela pasta onde voce instalou o Dev-C++. Clique
+em OK.
+6 - Pode compilar e executar, agora, que vai funcionar.
+
+Para testar, use o programa abaixo. Deve compilar e executar sem problemas no Dev, se as
+instrucoes acima forem seguidas:
Voc pode usar o programa gdb (GNU Debugger) que vem com o Dev. Porm, este programa
+no de uso muito simples. Se voc quiser uma interface mais intuitiva, pode buscar o
+Cygnus Insight Debugger. Ele tambem gratuito e pode ser baixado a partir da pagina http://www.bloodshed.net/dev/ . Uma vez instalado
+o Debugger, voce vai poder executar seu programa passo a passo, simplesmente apertando o
+botao "Debugger" que aparecera no ambiente do DevC++.
+
+
+
+
+
+
c) Sobre a linguagem C
+
+
1- Tenho uma dvida sobre a linguagem C.
+Onde achar a resposta?
+
+
Tente achar a resposta nas pginas
+do curso. Caso a resposta no esteja l, tente a nossa bibliografia.
+Caso sua dvida seja mais complexa, talvez seja o caso de tentar o FAQ sobre linguagem C.
+Se ainda no resolveu, mande a dvida para a
+lista do curso. Lembre-se, apenas, que a lista do curso funciona somente durante os
+cursos, e voc tem que estar inscrito no curso para poder participar.
+
+
1- Gostaria de saber se o curso de C tem
+duracao estabelecida, ou se extendera o quanto for necessario.
+
+
A durao estabelecida para o curso e' de 8 semanas, conforme pode
+ser verificado no nosso cronograma.
+
+
+
+
+
+
2- Gostaria de saber o quanto o curso entra
+no Windows 95/NT e nas WIN32, que e o meu objetivo a medio prazo . O que mais vamos
+estudar alm do C padrao?
+
+
Nao entra em nada relativo a programacao do Windows. O C e' uma
+linguagem que pode ser usada para efetuar programacao em varios ambientes, incluindo o
+Windows. Porem nao e' nosso objetivo neste curso estudar a programacao para o Windows. Uma
+excelente referencia sobre o uso da linguagem C para a programacao Windows 95 e' o livro
+do Charles Petzold: "Programming Windows ", da Microsoft Press, com 1100
+paginas de informao de excelente qualidade. O pr-requisito para entender este livro
+ conhecer bem a programao utilizando a linguagem C e isto voc poder obter no
+nosso curso!
+
+
No vamos estudar nada alm do C padro! Nao vamos estudar CGI's,
+programacao de portas seriais, de portas paralelas, programacao Windows 95, C++, Java, o
+movimento das galaxias, ou qualquer coisa alem do C. Qualquer duvida sobre o que vai ser
+visto, consultem o programa do curso.
+
+
+
+
+
+
3- Preciso saber alguma linguagem basica de
+programao para acompanhar o curso?
+
+
Nao precisa, porm seu aprendizado ser facilitado se voce ja'
+souber programar.
+
+
5-Se eu nao conseguir terminar o curso em 8
+semanas. Se precisar de mais tempo pra ler todas as aulas o que farei ?
+
+
Voce podera' continuar lendo as paginas do curso, que continuarao
+disponiveis, mesmo depois dele ter terminado. Apenas a lista devera' ser desativada
+algumas semanas depois de terminado o curso.
+
+
+
+
+
+
e) Sobre a organizao do curso
+
+
+
1- O curso de C em questo oferece
+certificado de concluso e participao ao trmino do mesmo?
+
+
No so fornecidos certificados de participao no curso pois
+no desenvolvemos ainda nenhum esquema de avaliao confivel (apenas
+auto-avaliao).
+
+
+
+
+
+
2- O curso vai ser dado na WWW ou via e-mail?
+
+
+
Ambos. O curso vai ser dado usando ambas ferramentas. Vocs lero
+"o livro" do curso nas pginas da WWW e interagiro com o professor, monitores
+e demais colegas usando o e-mail. As listas de exerccio sero enviadas para vocs
+tambm por e-mail. Vocs podero fazer perguntas, usando a lista do curso:
+cursoc@ead1.eee.ufmg.br . As respostas para suas perguntas sero tambm enviadas para
+esta lista.
+
+
+
+
+
+
3- Quais as regras para uso da lista do curso
+de C?
+
+1- S envie mensagens que tenham algo a ver com o curso de C(lembre-se
+que tem mais de 2000 pessoas te ouvindo). Cuidado com respostas que deveriam ir para
+o sujeito que postou a mensagem e que acabam sendo enviadas para toda a lista!
+2- Seja educado: use a Netiqueta. Se voce nao conhece a Netiqueta, de
+uma olhada em http://www.ifi.unicamp.br/ccjdr/netiqueta/dis.html
+
+3- A lista somente funciona durante o curso. Ela desativada aps o
+seu final e as mensagens deixaro de ser enviadas aos alunos.
+4- No espere que os monitores ou os outros alunos do curso resolvam
+os exerccios da matria de programao de computadores que voc est fazendo em sua
+universidade. Algum pode at te ajudar, mas a finalidade da lista no esta!
+5- No envie arquivos "attachados" nos seus e-mails para a
+lista. O envio de "attachments" cria problemas pelo fato das mensagens ficarem
+enormes, sobrecarregando o nosso servidor de e-mails.
+6- No envie mensagens acentuadas. Veja porque abaixo.
+
+7- No envie mensagens em HTML. Nem todo mundo na lista tem leitores
+de e-mail que entendem mensagens em HTML.
+8- No envie mensagens diretamente para o professor, apenas para a lista
+9 - No envie perguntas cujas respostas estejam no FAQ. Se sua pergunta estiver no FAQ e
+a resposta do FAQ no te satisfizer, explique isto em sua mensagem. Caso contrrio, ela
+no ser enviada lista.
+
+
+
+
+
+
4- Por que os e-mails tem que ser mandados
+para toda a lista e nao somente para os monitores?
+
+
Nosso objetivo nao e' que as perguntas sejam direcionadas apenas aos
+monitores. Segundo nossa concepcao, o aluno aprende muito com as duvidas dos outros. Alem
+disto, se tivessemos que responder individualmente a cada aluno, a equipe de monitores
+teria que crescer muito.
+
+
+
+
+
+
5- Por que no acentuar o texto do e-mail?
+
+
+
Por favor nao acentuem seus e-mails pq com certeza muita gente estah
+lendo seus e-mails com o pine ou qualquer outro leitor unix e eles no tm suporte a
+acentos.. fica tudo confuso... uma droga mesmo...
+
+
+
+
+
+
6- Vale qualquer pergunta sobre a linguagem C
+na lista?
+
+
Sim, valem perguntas que nao estejam estritamente dentro do topico
+em discussao. No inicio do curso, restringimos as mensagens que avanam na matria, para
+nao "assustar" os iniciantes em C. Deixe estas
+perguntas para o final do curso. Alm disto, lembre-se que a finalidade da lista no
+resolver os problemas que voc est tendo na matria de programao de computadores
+de sua universidade ...
+
+
+
+
+
+
7- Onde esto as listas de Exerccios? Qual
+o endereo para enviar as respostas?
+
+As listas de exerccios so enviadas semanalmente para a lista do
+Curso. Voc no precisa enviar as respostas para nenhum lugar. Resolva as questes e
+aguarde porque na prxima semana ser enviado um gabarito com as solues. Se voc
+perdeu alguma lista, clique aqui para acessar os arquivos das
+listas de exerccios:
+
+
+
+
+
+
8- O que so estas mensagens sem texto que
+aparecem de vez em quando na lista?
+
+
Na realidade estas so mensagens que foram enviadas por alguem
+usando o programa Outlook Express da Microsoft. O Listproc no est reconhecendo o
+formato MIME gerado pelo programa que acompanha o Internet Explorer. Para evitar
+este erro, peco as pessoas que estao usando o Outlook Express que faam uma pequena
+modificao em sua configurao. Na verso em Portugues do programa, escolher: Menu
+Ferramentas -> Opcoes -> Enviar -> Formato de envio de Mensagens ->
+Escolha a opcao Texto sem formatacao, ao invs da opo anterior que era HTML.
+
+
+
+
+
+
9- Existe alguma maneira de eu conseguir todos
+os e-mails que foram enviados para a lista de discusses?
10- Posso mandar uma dvida diretamente para
+o Professor Renato?
+
+
No. Suas dvidas devem ser enviadas para a lista do curso.
+Mensagens enviadas diretamente para o endereo do professor no sero respondidas, pois
+o professor no tem tempo para atender os mais de 2000 alunos individualmente.
+
+
+
+
+
+
f) Diversos
+
+
1- Gostaria de saber porque voces no
+colocam um curso de Matlab( verso nova).
+Porque nosso tempo e' finito! :-) Nao da' para colocar cursos de
+tudo quanto e' assunto ...
+
+
+
+
+
+
+
Curso de C da Engenharia Eltrica da UFMG - 1996-2001
+
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/faq.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/faq.html"
new file mode 100644
index 00000000..0506103f
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/faq.html"
@@ -0,0 +1,18 @@
+
+
+
+Perguntas Frequentes Sobre o Curso de Linguagem C
+
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/form-desinsc.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/form-desinsc.html"
new file mode 100644
index 00000000..4393cb7b
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/form-desinsc.html"
@@ -0,0 +1,52 @@
+
+
+
+
+Desinscrio no Curso de C
+
+
+
+
+
Formulrio de Desinscrio do
+Curso de C
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/form-inscri.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/form-inscri.html"
new file mode 100644
index 00000000..da105cf5
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/form-inscri.html"
@@ -0,0 +1,62 @@
+
+
+
+
+Inscrio no Curso de C
+
+
+
+
+
Formulrio de Inscrio no Curso
+de C
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/form-troca-email.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/form-troca-email.html"
new file mode 100644
index 00000000..b7af2693
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/form-troca-email.html"
@@ -0,0 +1,40 @@
+
+
+
+
+Troca de e-mail no curso de C
+
+
+
+
+
Formulrio de Troca de e-mail no
+Curso de C, depois do incio do curso
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/form-troca-email2.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/form-troca-email2.html"
new file mode 100644
index 00000000..f9b219b9
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/form-troca-email2.html"
@@ -0,0 +1,40 @@
+
+
+
+
+Troca de e-mail no curso de C
+
+
+
+
+
Formulrio de Troca de e-mail no
+Curso de C, antes do incio do curso
+
+
+
+
+
+
Curso de C da EE/UFMG - 1996 - 2000
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/help.gif" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/help.gif"
new file mode 100644
index 00000000..89ed919c
Binary files /dev/null and "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/help.gif" differ
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/home.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/home.html"
new file mode 100644
index 00000000..34e57cb3
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/home.html"
@@ -0,0 +1,86 @@
+
+
+
+
+
+Curso de Linguagem C
+
+
+
+
+
Este curso foi implementado na UFMG - Universidade Federal de Minas Gerais pelo
+Ncleo de Ensino Distncia da
+Escola de Engenharia - fazendo parte de um projeto apoiado pela Pr-Reitoria de
+Graduao da UFMG, atravs do programa PROGRAD97/FUNDO-FUNDEP. O curso oferecido
+regularmente, a cada semestre, desde 1997. Na nossa pgina de
+inscries voc pode verificar o nmero de participantes em cada edio. Desde
+sua primeira edio, o curso tem sido oferecido gratuitamente e no oferece
+certificados de concluso. Ou seja, voc deve fazer este curso se estiver interessado em
+seu aprimoramento pessoal.
+
+
Quem originalmente escreveu o curso de C foi o
+aluno de graduao em Engenharia Eltrica, Daniel Balparda de Carvalho. Algumas
+modificaes foram introduzidas pela aluna de doutorado Ana Liddy Cenni de Castro Magalhes e pelo
+aluno de graduao em Engenharia Eltrica, Ebenezer Silva
+Oliveira. Posteriormente, Guilherme Neves Cavalieri, tambm aluno de graduao em Engenharia
+Eltrica, modificou as pginas, de forma a facilitar a navegao e utilizao do
+curso. Atualmente ele mantido pelo professor Renato Cardoso Mesquita.
+
+
+
+
Funcionamento do Curso
+
+
O professor, seguindo o
+calendrio do curso, envia lista de
+discusso do curso uma srie de tarefas (que constam de tpicos a serem estudados nas pginas do curso e exercicios a serem resolvidos) e
+uma data limite para a soluo deles pelos alunos. Na data limite, um gabarito com as
+respostas dos exerccios enviado lista e novas tarefas so propostas.
+A lista de discusses tambm serve para que os alunos resolvam, assincronamente, suas
+dvidas. Um FAQ com as dvidas mais frequentes
+criado com o seu desenrolar.
+
+ Voc pode trabalhar a qualquer hora, desde que complete suas tarefas
+no tempo especificado pelo professor. Voc estuda nas
+pginas do Curso, tenta resolver os problemas propostos, envia suas dvidas para a
+lista (ou responde as dvidas de seus colegas) e, posteriormente, l as respostas. Isto
+e' chamado "Comunicao Assncrona".
+
+
O curso foi pensado para tirar partido dos pontos
+fortes da comunicao assncrona, ao invs de tentar copiar um modelo que funciona bem
+nas salas de aula tradicionais. Existem benefcios cognitivos significativos atribudos
+ comunicao assncrona. Como os estudantes tem tempo para rever o material
+(comentrios, pginas do WWW, discusses) e tambm podem gastar o tempo que quiserem
+para compor suas respostas, o material e os conceitos so abordados em uma velocidade
+individualizada. Pode-se atingir um nvel de profundidade na comunicao assncrona
+superior quele atingido com a comunicao sncrona.
+
+ Apesar da falta de contato fsico criar suas dificuldades, ela no
+necessariamente prejudica o processo educacional. Em um curso como este, todos os
+estudantes tm oportunidade de participao nas discusses igualadas - no somente os
+mais extrovertidos. Fatores potenciais de discriminao, como aparncia, raa, sexo,
+etc, desaparecem e as idias se tornam o foco principal da discusso.
+
+
+
+
O
+que necessrio para acompanhar o Curso?
+
+
Para acompanhar o curso voc
+necessitar de acesso WWW atravs de um navegador (Netscape ou Microsoft Internet
+Explorer) e tambm de um programa para envio e recebimento de e-mails. Alm disto,
+importante que voc tenha disponvel um compilador C, padro ANSI. Um compilador l o
+programa que voc escreveu em linguagem C e o converte em um cdigo objeto, que e' uma
+traduo do cdigo fonte em uma forma que o computador pode executar diretamente. Se
+voc no tem um compilador disponvel, clique aqui para
+verificar como obter um.
+
+
+
+
Curso de C da Engenharia Eltrica da UFMG - 1996-2000
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/insc.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/insc.html"
new file mode 100644
index 00000000..b1f42122
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/insc.html"
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+Inscricoes no Curso de C
+
+
+
+
+
+
Turmas do curso so oferecidas periodicamente,
+geralmente no incio de cada semestre letivo da UFMG. O prximo curso comear em
+16 de abril de 2001.
+
+
Este e' um curso extremamente
+movimentado, com uma grande interao entre alunos, monitores e professores. Para se ter
+uma ideia do grau de interao, na verso do curso do primeiro semestre de 1999, foram
+gerados 1144 e-mails na lista de discusso dos alunos, mais 29 e-mails de anncios do
+professor. Desta forma, recomendvel que voc se inscreva somente se tiver a
+possibilidade de dedicar um certo tempo dirio leitura do material on-line, e-mails e
+ execuo dos exerccios do curso.
+
+
No curso do primeiro semestre do ano 2000 tivemos
+2400 alunos inscritos. No do segundo semestre de 1999, limitamos o nmero de alunos em
+2000. No primeiro semestre de 1999, tivemos a participao de 2488 alunos inscritos. No
+segundo semestre de 1998, 1769 inscritos; no primeiro semestre de 1998, 865
+inscritos e no segundo semestre de 1997, 284.
Caso voc tenha sucesso em sua inscrio,
+receber um e-mail com contedo semelhante ao seguinte:
+
+
Voce assinou a lista esperacursoc@ead1.eee.ufmg.br.
+
+Seu endereco e'
+
+
+fulano@seuprovedor.com.br
+
+
Se uma mensagem sua for rejeitada, contacte o gerente
+da lista: renato@cpdee.ufmg.br
+Envie requisicoes administrativas para
+listproc@ead1.eee.ufmg.br.
+
+
Pronto, voc est inscrito.
+
+
Caso no receba esta
+mensagem, isto significa que houve algum problema com sua inscrio, e ela
+no foi efetuada. Provavelmente voc digitou seu e-mail incorretamente ...
+
+
+
+
Desinscries:
+
Para se desinscrever do curso de C, depois de iniciado o curso, basta
+ preencher o formulrio de desinscrio.
+
Se voc quiser se desinscrever
+ antes do curso se iniciar, envie e-mail para listproc@ead1.eee.ufmg.br
+ com o contedo: UNSUB ESPERACURSOC . No necessrio colocar nada no subject.
+
+
Mudana
+ de Endereo para o Curso:
+
Como trocar o meu e-mail inscrito no curso de C de xxx@zzz.com.br
+ para yyy@www.com.br?
+
Curso de C da Engenharia Eltrica da UFMG - 1996-2000
+
+
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/lista1.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/lista1.html"
new file mode 100644
index 00000000..c3395f9f
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/lista1.html"
@@ -0,0 +1,49 @@
+
+
+
+
+
+Curso de Linguagem C - Lista 1
+
+
+
+
+
+Lista de exerccios 1
+
+
+
+
Desenvolver as atividades de avaliacao para o
+mdulo 1:
+
+
+
Fazer a auto-avaliacao on-line para as aulas 1 e 2. Esta
+ auto-avaliacao pode ser acessada a partir da pagina http://ead1.eee.ufmg.br/cursos/C/aulas/c280.html
+ . As instrues para a auto-avaliao esto presentes na prpria pgina.
+
+
+
+
+
+
Fazer os exerccios de auto-avaliao presentes nas pginas
0 - Alfleury de Souza
+1 - Eduardo Henrique Lobo Prange
+2 - Erivelton Geraldo Nepomuceno
+3 - Fabrcio Las Casas
+4 - Glauco Marcos Viana de Paula e Helio Barbosa Yamaki
+5 - Leandro P. Cintra
+6 - Raoni Resende
+7 - Regina Clia Guedes Leite e Rosalia Gusmao Lima
+8 - Silvio Nunes
+9 - Vitor Angelo
+
+Os nmeros acima indicam o nmero final das questes que cada monitor ficar
+responsvel por "monitorar".
+
+
+
+
Curso de C da Engenharia Eletrica da UFMG - 1996-2001
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/o_curso_mudou.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/o_curso_mudou.html"
new file mode 100644
index 00000000..42301075
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/o_curso_mudou.html"
@@ -0,0 +1,31 @@
+
+
+
+
+
+Curso de Linguagem C - Informaes Gerais
+
+
+
+
+
+O Curso de C mudou de servidor!!!!!!!
+
+
+
+
Ateno: modifique seus bookmarks. O novo
+endereo do curso de Programao em linguagem C
Curso de C da Engenharia Eltrica da UFMG - 1996-1999
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/ponta.gif" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/ponta.gif"
new file mode 100644
index 00000000..f858d754
Binary files /dev/null and "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/ponta.gif" differ
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/pontagde.gif" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/pontagde.gif"
new file mode 100644
index 00000000..f858d754
Binary files /dev/null and "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/pontagde.gif" differ
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/prog1.c" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/prog1.c"
new file mode 100644
index 00000000..a97d6842
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/prog1.c"
@@ -0,0 +1,6 @@
+ #include
+ main () /* Um Primeiro Programa */
+ {
+ printf ("Ola! Eu estou vivo!\n");
+ }
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/rhide.html" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/rhide.html"
new file mode 100644
index 00000000..4aaa2977
--- /dev/null
+++ "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/rhide.html"
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+Uso do Rhide
+
+
+
+
+
+
Uso do RHIDE
+
+
+
+
+
Nesta pgina fornecemos algumas instrues bsicas para uso do
+ambiente de programao RHIDE (estas instrues tambm so vlidas para o TClite).
+O RHIDE facilita em muito a criao de programas em C. As instrues fornecidas so
+bsicas, para que se consiga compilar e executar os primeiros programas em C. Com o uso
+do HELP do RHIDE voc conseguir maiores informaes.
+
+
Passos a serem seguidos para utilizar o RHIDE:
+
+
+
1- Instalar o DJGPP e o RHIDE em seu computador. Veja
+como, clicando aqui.
+2- Abrir uma janela do DOS, ir para o diretrio onde voce vai criar
+seus programas e digitar: rhide
+3- Se voc vai criar um novo arquivo de programa, chamar a opo
+File -> New (ver figura abaixo)
+
+
+
+
+
4- Uma vez criado um novo arquivo, digite o seu
+programa nele, como indicado abaixo:
+
+
+
+
5- Agora voc pode salvar o seu programa, chamando
+File -> Save, e digitando o nome do arquivo .c que vai armazenar seu programa. Por
+exemplo, digite prog1.c e a seguir clique em Open (sim, Open mesmo, esta caixa de
+dilogo est trocada), como no exemplo abaixo:
+OBS:
+
+1) no use nomes com nmero de caracteres maior que 8. O Rhide um programa para DOS e
+no entende os nomes longos do Windows 95
+
+2) Sempre coloque a extenso do arquivo que voc est criando. O
+Rhide no coloca o .c automticamente!
+
+
+
+
6- O prximo passo a ser seguido compilar o programa (gerando o
+arquivo .o) e linkar com as bibliotecas do C (gerando o arquivo executvel, .exe). Chame
+a opo Compile -> Make. Caso no existam erros no seu programa, aparecero as
+mensagens:
na janela de mensagens, conforme a figura abaixo. Se
+houver erros, o Rhide indicar a linha onde este erro ocorreu e voc dever corrigir o
+seu programa.
+
+
+
+
7- Agora voc pode executar o programa, chamando a
+opo Run -> Run, conforme a figura abaixo:
+
+
+
+
8- Um programa simples como este vai enviar a mensagem Ola!
+Eu estou vivo! para a tela do DOS e terminar a execuo, apresentando uma
+caixa de dialgo com um boto de OK e a mensagem Program exit code -1 (0xffffff).
+No se assuste, isto no uma mensagem de erro! Se voc quiser ver a tela do DOS,
+aps o trmino da execuo, poder chamar FILE -> DOS Shell. Depois s digitar
+exit <enter> para voc voltar ao RHIDE. Voc tambm pode apertar simultaneamente
+as teclas <ALT> e <F5>, para chavear entre a tela do DOS e a
+tela do RHIDE. Se voc quiser ver a tela do DOS antes do trmino da execuo,
+ter que momentaneamente parar a execuo. Existem vrias formas de fazer isto. Uma
+delas modificar o seu programa para que ele tenha uma entrada "fictcia" de
+dados. Inclua a linha scanf("\n"); no programa, como indicado
+na figura abaixo.
+
+
+
+
9- Ao fazer isto, recompile o programa e
+execute-o novamente. Voc vai ver uma tela semelhante apresentada na figura abaixo.
+Repare a mensagem Ola! Estou vivo. , na parte inferior da tela. Para continuar a
+execuo, voc ter que digitar alguma coisa para o scanf e apertar a tecla
+<Enter> em seguida. O programa ento terminar sua execuo e voc voltar ao
+ambiente do Rhide.
+
+
+
+
10- Outra forma de verificar o que um programa est
+fazendo execut-lo passo a passo. O Rhide permite isto. Basta chamar a opo Run
+-> Step over, como indicado na figura abaixo, ou ento apertar a tecla F8. A cada vez
+que voc fizer isto, o programa executar uma instruo. A barra azul claro indica
+qual a instruo corrente. Para ver a tela de sada, voc pode apertar
+simultaneamente <ALT> e <F5>. Existem vrias outras opes de execuo
+disponveis no menu Run. Voc pode verificar o que elas fazem consultando o Help do Rhide, conforme item 11 abaixo. tambm interessante voc
+conhecer as opes que esto no menu Debug, que auxiliam
+bastante no processo de depurao de programas.
+
+
+
+
11- O Rhide possui um bom sistema de HELP, que
+voc deve consultar para verificar todas as suas potencialidades. Para acess-lo, basta
+chamar a opcao Help no menu principal. Veja que o Help tem opes no somente
+quanto ao uso do Rhide, mas tambm sobre funes da linguagem C. Veja a figura abaixo.
+
+
+
+
+
S apresentamos uma introduo ao uso do RHIDE. Com o seu
+uso, voc aprender muito mais, especialmente se voc no tiver medo de consultar o
+HELP! Voc tambm pode consultar a
+documentao on-line no site original do RHIDE para maiores detalhes.
+
+
+
+
+
Curso de C da Engenharia Eltrica da UFMG - 1996-1999
+
+
+
+
diff --git "a/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/up.gif" "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/up.gif"
new file mode 100644
index 00000000..2c81e218
Binary files /dev/null and "b/S01 - Introdu\303\247\303\243o \303\240 Programa\303\247\303\243o/Curso C - UFMG/up.gif" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2015.2/digitalizar0003.jpg" "b/S01 - L\303\263gica Matem\303\241tica/2015.2/digitalizar0003.jpg"
new file mode 100644
index 00000000..a940e0ee
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2015.2/digitalizar0003.jpg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2015.2/digitalizar0004.jpg" "b/S01 - L\303\263gica Matem\303\241tica/2015.2/digitalizar0004.jpg"
new file mode 100644
index 00000000..b444e555
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2015.2/digitalizar0004.jpg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2016.2/AP1 de L\303\263gica (J\303\242nio Kleo).jpg" "b/S01 - L\303\263gica Matem\303\241tica/2016.2/AP1 de L\303\263gica (J\303\242nio Kleo).jpg"
new file mode 100644
index 00000000..de1d9847
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2016.2/AP1 de L\303\263gica (J\303\242nio Kleo).jpg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2016.2/AP2 de L\303\263gica (J\303\242nio Kleo).jpg" "b/S01 - L\303\263gica Matem\303\241tica/2016.2/AP2 de L\303\263gica (J\303\242nio Kleo).jpg"
new file mode 100644
index 00000000..376f5788
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2016.2/AP2 de L\303\263gica (J\303\242nio Kleo).jpg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2016.2/AP3 de L\303\263gica (J\303\242nio Kleo).jpeg" "b/S01 - L\303\263gica Matem\303\241tica/2016.2/AP3 de L\303\263gica (J\303\242nio Kleo).jpeg"
new file mode 100644
index 00000000..cf4ada36
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2016.2/AP3 de L\303\263gica (J\303\242nio Kleo).jpeg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2016.2/AP4 de L\303\263gica (J\303\242nio Kleo).jpeg" "b/S01 - L\303\263gica Matem\303\241tica/2016.2/AP4 de L\303\263gica (J\303\242nio Kleo).jpeg"
new file mode 100644
index 00000000..4911af1c
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2016.2/AP4 de L\303\263gica (J\303\242nio Kleo).jpeg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2016.2/N1 Prova 1 - J\303\242nio Kleo.pdf" "b/S01 - L\303\263gica Matem\303\241tica/2016.2/N1 Prova 1 - J\303\242nio Kleo.pdf"
new file mode 100644
index 00000000..5043c104
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2016.2/N1 Prova 1 - J\303\242nio Kleo.pdf" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2016.2/N1 Prova 2 - J\303\242nio Kleo.pdf" "b/S01 - L\303\263gica Matem\303\241tica/2016.2/N1 Prova 2 - J\303\242nio Kleo.pdf"
new file mode 100644
index 00000000..0d1f363c
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2016.2/N1 Prova 2 - J\303\242nio Kleo.pdf" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2016.2/N2 Prova 1 - J\303\242nio Kleo.pdf" "b/S01 - L\303\263gica Matem\303\241tica/2016.2/N2 Prova 1 - J\303\242nio Kleo.pdf"
new file mode 100644
index 00000000..8d13891a
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2016.2/N2 Prova 1 - J\303\242nio Kleo.pdf" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2016.2/N2 Prova 2 - J\303\242nio Kleo.pdf" "b/S01 - L\303\263gica Matem\303\241tica/2016.2/N2 Prova 2 - J\303\242nio Kleo.pdf"
new file mode 100644
index 00000000..731b99a3
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2016.2/N2 Prova 2 - J\303\242nio Kleo.pdf" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2019.1 - Almir/AP1.jpg" "b/S01 - L\303\263gica Matem\303\241tica/2019.1 - Almir/AP1.jpg"
new file mode 100644
index 00000000..e2fea92a
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2019.1 - Almir/AP1.jpg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2019.1 - Almir/AP2.jpg" "b/S01 - L\303\263gica Matem\303\241tica/2019.1 - Almir/AP2.jpg"
new file mode 100644
index 00000000..b36b963e
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2019.1 - Almir/AP2.jpg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N1 - Prova 1 frente.jpeg" "b/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N1 - Prova 1 frente.jpeg"
new file mode 100644
index 00000000..d2f9318b
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N1 - Prova 1 frente.jpeg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N1 - Prova 1 verso.jpeg" "b/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N1 - Prova 1 verso.jpeg"
new file mode 100644
index 00000000..673518f8
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N1 - Prova 1 verso.jpeg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N1 - Prova 2 frente.jpeg" "b/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N1 - Prova 2 frente.jpeg"
new file mode 100644
index 00000000..87385c1c
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N1 - Prova 2 frente.jpeg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N1 - Prova 2 verso.jpeg" "b/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N1 - Prova 2 verso.jpeg"
new file mode 100644
index 00000000..42c69915
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N1 - Prova 2 verso.jpeg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N2 - Prova 3.jpeg" "b/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N2 - Prova 3.jpeg"
new file mode 100644
index 00000000..a8a1fa38
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/2022.1 - Nivando/N2 - Prova 3.jpeg" differ
diff --git "a/S01 - L\303\263gica Matem\303\241tica/Anota\303\247\303\265es L\303\263gica Matem\303\241tica.pdf" "b/S01 - L\303\263gica Matem\303\241tica/Anota\303\247\303\265es L\303\263gica Matem\303\241tica.pdf"
new file mode 100644
index 00000000..5a593cda
Binary files /dev/null and "b/S01 - L\303\263gica Matem\303\241tica/Anota\303\247\303\265es L\303\263gica Matem\303\241tica.pdf" differ
diff --git "a/S02 - C\303\241lculo II/2017.1 - Roberto Carlos/AP3 - Calculo 2.pdf" "b/S02 - C\303\241lculo II/2017.1 - Roberto Carlos/AP3 - Calculo 2.pdf"
new file mode 100644
index 00000000..f913b9a6
Binary files /dev/null and "b/S02 - C\303\241lculo II/2017.1 - Roberto Carlos/AP3 - Calculo 2.pdf" differ
diff --git "a/S02 - C\303\241lculo II/Conteudo Anterior/Prova-Murilo-2014.JPG" "b/S02 - C\303\241lculo II/Conteudo Anterior/Prova-Murilo-2014.JPG"
new file mode 100644
index 00000000..bc6ef995
Binary files /dev/null and "b/S02 - C\303\241lculo II/Conteudo Anterior/Prova-Murilo-2014.JPG" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/F\303\263rmulas Diodo Zener.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/F\303\263rmulas Diodo Zener.jpg"
new file mode 100644
index 00000000..0dcfdedc
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/F\303\263rmulas Diodo Zener.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/F\303\263rmulas Filtro Capacitivo em ponte e Retificador em ponte.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/F\303\263rmulas Filtro Capacitivo em ponte e Retificador em ponte.jpg"
new file mode 100644
index 00000000..6764b991
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/F\303\263rmulas Filtro Capacitivo em ponte e Retificador em ponte.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 1.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 1.jpg"
new file mode 100644
index 00000000..6c367b4e
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 1.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 10.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 10.jpg"
new file mode 100644
index 00000000..1a9a235d
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 10.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 11.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 11.jpg"
new file mode 100644
index 00000000..bf16e309
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 11.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 2.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 2.jpg"
new file mode 100644
index 00000000..72a80ca8
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 2.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 3.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 3.jpg"
new file mode 100644
index 00000000..00e4559e
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 3.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 4.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 4.jpg"
new file mode 100644
index 00000000..a35dafd2
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 4.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 5.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 5.jpg"
new file mode 100644
index 00000000..520b12ab
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 5.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 6.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 6.jpg"
new file mode 100644
index 00000000..b47d6e21
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 6.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 7.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 7.jpg"
new file mode 100644
index 00000000..ff99eaa1
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 7.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 8.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 8.jpg"
new file mode 100644
index 00000000..d0e7f04a
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 8.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 9.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 9.jpg"
new file mode 100644
index 00000000..3694d514
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/Material de Apoio/Revis\303\243o An\303\241lise de Circuitos 9.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - Respostas.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - Respostas.jpg"
new file mode 100644
index 00000000..73123503
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - Respostas.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 1.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 1.jpg"
new file mode 100644
index 00000000..7b1f5d10
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 1.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 2.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 2.jpg"
new file mode 100644
index 00000000..91b17a18
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 2.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 3.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 3.jpg"
new file mode 100644
index 00000000..bfac7015
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 3.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 4.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 4.jpg"
new file mode 100644
index 00000000..ecd0a689
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 4.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 5.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 5.jpg"
new file mode 100644
index 00000000..29346e43
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 1/Lista 1 - p\303\241g 5.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 1.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 1.jpg"
new file mode 100644
index 00000000..088cc997
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 1.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 2.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 2.jpg"
new file mode 100644
index 00000000..8bd6a161
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 2.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 3.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 3.jpg"
new file mode 100644
index 00000000..97037ca8
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 3.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 4.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 4.jpg"
new file mode 100644
index 00000000..6132aa15
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 4.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 5.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 5.jpg"
new file mode 100644
index 00000000..ebbbb6eb
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 5.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 6.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 6.jpg"
new file mode 100644
index 00000000..060ce17e
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 6.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 7.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 7.jpg"
new file mode 100644
index 00000000..2b36014a
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 7.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 8.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 8.jpg"
new file mode 100644
index 00000000..d2ede077
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - Respostas - p\303\241g 8.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - p\303\241g 1.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - p\303\241g 1.jpg"
new file mode 100644
index 00000000..2e307923
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - p\303\241g 1.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - p\303\241g 2.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - p\303\241g 2.jpg"
new file mode 100644
index 00000000..feeef1bf
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - p\303\241g 2.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - p\303\241g 3.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - p\303\241g 3.jpg"
new file mode 100644
index 00000000..639eecec
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Lista 2/Lista 2 - p\303\241g 3.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Provas/Prova N1.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Provas/Prova N1.jpg"
new file mode 100644
index 00000000..9bb632c7
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Provas/Prova N1.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Provas/Respostas Prova N1 - pag1.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Provas/Respostas Prova N1 - pag1.jpg"
new file mode 100644
index 00000000..5c6f9c18
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Provas/Respostas Prova N1 - pag1.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Provas/Respostas Prova N1 - pag2.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Provas/Respostas Prova N1 - pag2.jpg"
new file mode 100644
index 00000000..8977ae51
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N1/Provas/Respostas Prova N1 - pag2.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 1.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 1.jpg"
new file mode 100644
index 00000000..72723e9f
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 1.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 2.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 2.jpg"
new file mode 100644
index 00000000..190b128d
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 2.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 3.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 3.jpg"
new file mode 100644
index 00000000..f97490f1
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 3.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 4.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 4.jpg"
new file mode 100644
index 00000000..28acfebf
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 4.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 5.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 5.jpg"
new file mode 100644
index 00000000..8200f810
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 5.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 6.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 6.jpg"
new file mode 100644
index 00000000..5d9082ee
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 6.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 7.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 7.jpg"
new file mode 100644
index 00000000..b0d27dbe
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - Respostas - p\303\241g 7.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - p\303\241g 1.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - p\303\241g 1.jpg"
new file mode 100644
index 00000000..b5359fc6
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - p\303\241g 1.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - p\303\241g 2.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - p\303\241g 2.jpg"
new file mode 100644
index 00000000..059bbca4
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - p\303\241g 2.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - p\303\241g 3.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - p\303\241g 3.jpg"
new file mode 100644
index 00000000..004cf2a6
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 4/Lista 4 - p\303\241g 3.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - Respostas - p\303\241g 1.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - Respostas - p\303\241g 1.jpg"
new file mode 100644
index 00000000..84965a8b
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - Respostas - p\303\241g 1.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - Respostas - p\303\241g 2.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - Respostas - p\303\241g 2.jpg"
new file mode 100644
index 00000000..621cb861
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - Respostas - p\303\241g 2.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 1.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 1.jpg"
new file mode 100644
index 00000000..fc32336f
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 1.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 2.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 2.jpg"
new file mode 100644
index 00000000..d2ad0042
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 2.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 3.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 3.jpg"
new file mode 100644
index 00000000..483941bd
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 3.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 4.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 4.jpg"
new file mode 100644
index 00000000..0bb8e1fe
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 4.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 5.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 5.jpg"
new file mode 100644
index 00000000..388fe118
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 5.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 6.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 6.jpg"
new file mode 100644
index 00000000..f9fef06f
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 6.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 7.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 7.jpg"
new file mode 100644
index 00000000..82da09c4
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 5/Lista 5 - p\303\241g 7.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 6/Lista 6 - p\303\241g 1.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 6/Lista 6 - p\303\241g 1.jpg"
new file mode 100644
index 00000000..2d87ccb2
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 6/Lista 6 - p\303\241g 1.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 6/Lista 6 - p\303\241g 2.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 6/Lista 6 - p\303\241g 2.jpg"
new file mode 100644
index 00000000..b6a03997
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 6/Lista 6 - p\303\241g 2.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 6/Lista 6 - p\303\241g 3.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 6/Lista 6 - p\303\241g 3.jpg"
new file mode 100644
index 00000000..946e8389
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 6/Lista 6 - p\303\241g 3.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 6/Lista 6 - p\303\241g 4.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 6/Lista 6 - p\303\241g 4.jpg"
new file mode 100644
index 00000000..19e2c96b
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.1 - Bento/N2/Lista 6/Lista 6 - p\303\241g 4.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/Anota\303\247\303\265es Eletr\303\264nica Anal\303\263gica.pdf" "b/S02 - Eletronica Anal\303\263gica/2015.2/Anota\303\247\303\265es Eletr\303\264nica Anal\303\263gica.pdf"
new file mode 100644
index 00000000..d32de778
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/Anota\303\247\303\265es Eletr\303\264nica Anal\303\263gica.pdf" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/1\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-2015-2.pdf" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/1\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-2015-2.pdf"
new file mode 100644
index 00000000..9cdf7967
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/1\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-2015-2.pdf" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/1\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-Respostas-2015-2.pdf" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/1\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-Respostas-2015-2.pdf"
new file mode 100644
index 00000000..afade732
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/1\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-Respostas-2015-2.pdf" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/7errada.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/7errada.jpg"
new file mode 100644
index 00000000..82617eb4
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/7errada.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/c15d022f-5bb3-4fbb-a031-c68baa688415.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/c15d022f-5bb3-4fbb-a031-c68baa688415.jpg"
new file mode 100644
index 00000000..c300a1e2
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/c15d022f-5bb3-4fbb-a031-c68baa688415.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/c2976c2d-f987-4cb4-a942-ef37d04152dd.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/c2976c2d-f987-4cb4-a942-ef37d04152dd.jpg"
new file mode 100644
index 00000000..d2733026
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/c2976c2d-f987-4cb4-a942-ef37d04152dd.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/e82623d6-4890-4c3f-81fb-ff996ea68d7a.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/e82623d6-4890-4c3f-81fb-ff996ea68d7a.jpg"
new file mode 100644
index 00000000..a1537d46
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA01/e82623d6-4890-4c3f-81fb-ff996ea68d7a.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA02/2\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-2015-2.pdf" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA02/2\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-2015-2.pdf"
new file mode 100644
index 00000000..a19ee1bc
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA02/2\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-2015-2.pdf" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA02/2\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-Respostas-2015-2.pdf" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA02/2\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-Respostas-2015-2.pdf"
new file mode 100644
index 00000000..7193d2b7
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA02/2\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-Respostas-2015-2.pdf" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA03/3\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-2015-2-Respostas.pdf" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA03/3\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-2015-2-Respostas.pdf"
new file mode 100644
index 00000000..a5e49687
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA03/3\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-2015-2-Respostas.pdf" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA03/3\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-2015-2.pdf" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA03/3\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-2015-2.pdf"
new file mode 100644
index 00000000..5f0c2e67
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/LISTA03/3\302\252ListadeExerc\303\255ciosEletr\303\264nica-Computa\303\247\303\243o-2015-2.pdf" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.1/20160326192509.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.1/20160326192509.jpg"
new file mode 100644
index 00000000..3838d3f2
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.1/20160326192509.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.1/23tggdfgdfg.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.1/23tggdfgdfg.jpg"
new file mode 100644
index 00000000..621b8b77
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.1/23tggdfgdfg.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.2/0fb653dd-85a8-4be5-a375-b991b89f7f9b.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.2/0fb653dd-85a8-4be5-a375-b991b89f7f9b.jpg"
new file mode 100644
index 00000000..264e2e2e
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.2/0fb653dd-85a8-4be5-a375-b991b89f7f9b.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.2/8924b752-008f-4c81-b3be-d588a6942cea.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.2/8924b752-008f-4c81-b3be-d588a6942cea.jpg"
new file mode 100644
index 00000000..e62299ca
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.2/8924b752-008f-4c81-b3be-d588a6942cea.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.2/aabb3807-1070-4e7f-8e8d-7e37b92092a5.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.2/aabb3807-1070-4e7f-8e8d-7e37b92092a5.jpg"
new file mode 100644
index 00000000..7bc8a8c0
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.2/aabb3807-1070-4e7f-8e8d-7e37b92092a5.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.2/eeea9b34-3f1d-43cf-baee-d858f4f00fbf.jpg" "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.2/eeea9b34-3f1d-43cf-baee-d858f4f00fbf.jpg"
new file mode 100644
index 00000000..dffd88f8
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/N1/PROVA_N1.2/eeea9b34-3f1d-43cf-baee-d858f4f00fbf.jpg" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2015.2/PUD_-_Eletr\303\264nica_-_Computa\303\247\303\243o.pdf" "b/S02 - Eletronica Anal\303\263gica/2015.2/PUD_-_Eletr\303\264nica_-_Computa\303\247\303\243o.pdf"
new file mode 100644
index 00000000..5a4238ae
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2015.2/PUD_-_Eletr\303\264nica_-_Computa\303\247\303\243o.pdf" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2017.1 - Bento/Prova 1 - EA.pdf" "b/S02 - Eletronica Anal\303\263gica/2017.1 - Bento/Prova 1 - EA.pdf"
new file mode 100644
index 00000000..6a395410
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2017.1 - Bento/Prova 1 - EA.pdf" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2017.1 - Bento/Prova 2 - EA.pdf" "b/S02 - Eletronica Anal\303\263gica/2017.1 - Bento/Prova 2 - EA.pdf"
new file mode 100644
index 00000000..9d8beca3
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2017.1 - Bento/Prova 2 - EA.pdf" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2017.1 - Bento/Prova 3 - EA.pdf" "b/S02 - Eletronica Anal\303\263gica/2017.1 - Bento/Prova 3 - EA.pdf"
new file mode 100644
index 00000000..013205a4
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2017.1 - Bento/Prova 3 - EA.pdf" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2019.1/Prova 1 - Bento.pdf" "b/S02 - Eletronica Anal\303\263gica/2019.1/Prova 1 - Bento.pdf"
new file mode 100644
index 00000000..8a8cf0bf
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2019.1/Prova 1 - Bento.pdf" differ
diff --git "a/S02 - Eletronica Anal\303\263gica/2019.1/Prova 2 - Bento.pdf" "b/S02 - Eletronica Anal\303\263gica/2019.1/Prova 2 - Bento.pdf"
new file mode 100644
index 00000000..9f715eea
Binary files /dev/null and "b/S02 - Eletronica Anal\303\263gica/2019.1/Prova 2 - Bento.pdf" differ
diff --git a/S02 - Fisica I - Eletricidade/Conteudo Anterior/Gabarito problemas halliday 8a Ed..pdf b/S02 - Fisica I - Eletricidade/Conteudo Anterior/Gabarito problemas halliday 8a Ed..pdf
new file mode 100644
index 00000000..4c815943
Binary files /dev/null and b/S02 - Fisica I - Eletricidade/Conteudo Anterior/Gabarito problemas halliday 8a Ed..pdf differ
diff --git "a/S02 - Fisica I - Eletricidade/Conteudo Anterior/ms-matematica.blogspot.com.br-Resolu\303\247\303\243o - Fundamentos de F\303\255sica - 8\302\252 Edi\303\247\303\243o- Halliday Resnick.pdf" "b/S02 - Fisica I - Eletricidade/Conteudo Anterior/ms-matematica.blogspot.com.br-Resolu\303\247\303\243o - Fundamentos de F\303\255sica - 8\302\252 Edi\303\247\303\243o- Halliday Resnick.pdf"
new file mode 100644
index 00000000..f34094de
Binary files /dev/null and "b/S02 - Fisica I - Eletricidade/Conteudo Anterior/ms-matematica.blogspot.com.br-Resolu\303\247\303\243o - Fundamentos de F\303\255sica - 8\302\252 Edi\303\247\303\243o- Halliday Resnick.pdf" differ
diff --git a/S02 - Fisica I - Eletricidade/Conteudo Anterior/notas de aula.pdf b/S02 - Fisica I - Eletricidade/Conteudo Anterior/notas de aula.pdf
new file mode 100644
index 00000000..c1e61c4c
Binary files /dev/null and b/S02 - Fisica I - Eletricidade/Conteudo Anterior/notas de aula.pdf differ
diff --git "a/S02 - Matem\303\241tica Discreta/2010.2/Infinito Uma hist\303\263ria a contar.pdf" "b/S02 - Matem\303\241tica Discreta/2010.2/Infinito Uma hist\303\263ria a contar.pdf"
new file mode 100644
index 00000000..45a7a4e8
Binary files /dev/null and "b/S02 - Matem\303\241tica Discreta/2010.2/Infinito Uma hist\303\263ria a contar.pdf" differ
diff --git "a/S02 - Matem\303\241tica Discreta/2010.2/lista-INDU\303\207\303\202O.pdf" "b/S02 - Matem\303\241tica Discreta/2010.2/lista-INDU\303\207\303\202O.pdf"
new file mode 100644
index 00000000..c5e48694
Binary files /dev/null and "b/S02 - Matem\303\241tica Discreta/2010.2/lista-INDU\303\207\303\202O.pdf" differ
diff --git "a/S02 - Matem\303\241tica Discreta/2014.2 - Maria Eug\303\252nia/Lista 1 - Rela\303\247\303\265es.pdf" "b/S02 - Matem\303\241tica Discreta/2014.2 - Maria Eug\303\252nia/Lista 1 - Rela\303\247\303\265es.pdf"
new file mode 100644
index 00000000..30a84737
Binary files /dev/null and "b/S02 - Matem\303\241tica Discreta/2014.2 - Maria Eug\303\252nia/Lista 1 - Rela\303\247\303\265es.pdf" differ
diff --git "a/S02 - Matem\303\241tica Discreta/2014.2 - Maria Eug\303\252nia/Lista 2 - Congru\303\252ncias.pdf" "b/S02 - Matem\303\241tica Discreta/2014.2 - Maria Eug\303\252nia/Lista 2 - Congru\303\252ncias.pdf"
new file mode 100644
index 00000000..1c10a4fa
Binary files /dev/null and "b/S02 - Matem\303\241tica Discreta/2014.2 - Maria Eug\303\252nia/Lista 2 - Congru\303\252ncias.pdf" differ
diff --git "a/S02 - Matem\303\241tica Discreta/2014.2 - Maria Eug\303\252nia/Lista 3 - Indu\303\247\303\243o.pdf" "b/S02 - Matem\303\241tica Discreta/2014.2 - Maria Eug\303\252nia/Lista 3 - Indu\303\247\303\243o.pdf"
new file mode 100644
index 00000000..2f74517a
Binary files /dev/null and "b/S02 - Matem\303\241tica Discreta/2014.2 - Maria Eug\303\252nia/Lista 3 - Indu\303\247\303\243o.pdf" differ
diff --git "a/S02 - Matem\303\241tica Discreta/2015.2/N1 Discreta Professor Wellington.pdf" "b/S02 - Matem\303\241tica Discreta/2015.2/N1 Discreta Professor Wellington.pdf"
new file mode 100644
index 00000000..e77693a3
Binary files /dev/null and "b/S02 - Matem\303\241tica Discreta/2015.2/N1 Discreta Professor Wellington.pdf" differ
diff --git "a/S02 - Matem\303\241tica Discreta/2015.2/N1.2 Discreta.pdf" "b/S02 - Matem\303\241tica Discreta/2015.2/N1.2 Discreta.pdf"
new file mode 100644
index 00000000..7ddcf588
Binary files /dev/null and "b/S02 - Matem\303\241tica Discreta/2015.2/N1.2 Discreta.pdf" differ
diff --git "a/S02 - Matem\303\241tica Discreta/2017.1 - Murilo/AP 1 - Discreta.pdf" "b/S02 - Matem\303\241tica Discreta/2017.1 - Murilo/AP 1 - Discreta.pdf"
new file mode 100644
index 00000000..a458af65
Binary files /dev/null and "b/S02 - Matem\303\241tica Discreta/2017.1 - Murilo/AP 1 - Discreta.pdf" differ
diff --git "a/S02 - Matem\303\241tica Discreta/2017.1 - Murilo/AP 2 - Discreta.pdf" "b/S02 - Matem\303\241tica Discreta/2017.1 - Murilo/AP 2 - Discreta.pdf"
new file mode 100644
index 00000000..94c1401e
Binary files /dev/null and "b/S02 - Matem\303\241tica Discreta/2017.1 - Murilo/AP 2 - Discreta.pdf" differ
diff --git "a/S02 - Matem\303\241tica Discreta/2017.1 - Murilo/AP 3 - Discreta.pdf" "b/S02 - Matem\303\241tica Discreta/2017.1 - Murilo/AP 3 - Discreta.pdf"
new file mode 100644
index 00000000..a3a3e77e
Binary files /dev/null and "b/S02 - Matem\303\241tica Discreta/2017.1 - Murilo/AP 3 - Discreta.pdf" differ
diff --git "a/S02 - Matem\303\241tica Discreta/2017.1 - Murilo/AP 4 - Discreta.pdf" "b/S02 - Matem\303\241tica Discreta/2017.1 - Murilo/AP 4 - Discreta.pdf"
new file mode 100644
index 00000000..33e07e57
Binary files /dev/null and "b/S02 - Matem\303\241tica Discreta/2017.1 - Murilo/AP 4 - Discreta.pdf" differ
diff --git "a/S02 - Programa\303\247\303\243o Orientada a Objeto/2015.2/Projeto 1" "b/S02 - Programa\303\247\303\243o Orientada a Objeto/2015.2/Projeto 1"
new file mode 100644
index 00000000..c8bbfd3e
--- /dev/null
+++ "b/S02 - Programa\303\247\303\243o Orientada a Objeto/2015.2/Projeto 1"
@@ -0,0 +1,15 @@
+Projeto
+
+Desenvolver um sistema que gerencie um calendário de compromissos. Um compromisso inclui descrição, data, hora de início e hora de término. Por exemplo:
+
+Aula de POO 17/10/2008 10:00 12:00
+Dentista 01/11/2008 18:30
+
+Fornecer uma interface com o usuário para inserir compromissos, remover compromissos cancelados e imprimir a lista de compromissos de um dia particular.
+
+Pede-se:
+- Identificar os objetos necessários, bem como seus atributos e responsabilidades(operações)
+- A modelagem do sistema em diagrama de classes UML.
+- A implementação do sistema.
+- Escrever uma aplicação que use o sistema.
+
diff --git "a/S02 - Programa\303\247\303\243o Orientada a Objeto/2015.2/Slides/POO_Generics.pdf" "b/S02 - Programa\303\247\303\243o Orientada a Objeto/2015.2/Slides/POO_Generics.pdf"
new file mode 100644
index 00000000..fed97eb6
Binary files /dev/null and "b/S02 - Programa\303\247\303\243o Orientada a Objeto/2015.2/Slides/POO_Generics.pdf" differ
diff --git "a/S02 - Programa\303\247\303\243o Orientada a Objeto/2023.2 - Prof. Lucas Sousa/Prova POO - N1.pdf" "b/S02 - Programa\303\247\303\243o Orientada a Objeto/2023.2 - Prof. Lucas Sousa/Prova POO - N1.pdf"
new file mode 100644
index 00000000..b32e7e72
Binary files /dev/null and "b/S02 - Programa\303\247\303\243o Orientada a Objeto/2023.2 - Prof. Lucas Sousa/Prova POO - N1.pdf" differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/537122_321876307865798_100001302937173_801354_1733512279_n.jpg b/S03 - Arquitetura de Computadores/2011.1/537122_321876307865798_100001302937173_801354_1733512279_n.jpg
new file mode 100644
index 00000000..c3dc3683
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/537122_321876307865798_100001302937173_801354_1733512279_n.jpg differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/544497_321876027865826_100001302937173_801350_539002006_n.jpg b/S03 - Arquitetura de Computadores/2011.1/544497_321876027865826_100001302937173_801350_539002006_n.jpg
new file mode 100644
index 00000000..f251f16b
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/544497_321876027865826_100001302937173_801350_539002006_n.jpg differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Arm9/DDI0201D_arm946es_r1p1_trm.pdf b/S03 - Arquitetura de Computadores/2011.1/Arm9/DDI0201D_arm946es_r1p1_trm.pdf
new file mode 100644
index 00000000..037dd210
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Arm9/DDI0201D_arm946es_r1p1_trm.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Arm9/DVI0022A.pdf b/S03 - Arquitetura de Computadores/2011.1/Arm9/DVI0022A.pdf
new file mode 100644
index 00000000..7a80490e
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Arm9/DVI0022A.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Cronograma_2011_2.pdf b/S03 - Arquitetura de Computadores/2011.1/Cronograma_2011_2.pdf
new file mode 100644
index 00000000..5f6d0e2d
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Cronograma_2011_2.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/LISTA 02.docx b/S03 - Arquitetura de Computadores/2011.1/LISTA 02.docx
new file mode 100644
index 00000000..a511b46d
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/LISTA 02.docx differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Lista 1.docx b/S03 - Arquitetura de Computadores/2011.1/Lista 1.docx
new file mode 100644
index 00000000..66f380e9
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Lista 1.docx differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Lista_01.pdf b/S03 - Arquitetura de Computadores/2011.1/Lista_01.pdf
new file mode 100644
index 00000000..4fb59e5a
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Lista_01.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/N2 1.jpg b/S03 - Arquitetura de Computadores/2011.1/N2 1.jpg
new file mode 100644
index 00000000..9ac4801c
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/N2 1.jpg differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/N2 2.jpg b/S03 - Arquitetura de Computadores/2011.1/N2 2.jpg
new file mode 100644
index 00000000..cabc0c8d
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/N2 2.jpg differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Neander.pdf b/S03 - Arquitetura de Computadores/2011.1/Neander.pdf
new file mode 100644
index 00000000..3044a842
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Neander.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/NeanderRamses.pdf b/S03 - Arquitetura de Computadores/2011.1/NeanderRamses.pdf
new file mode 100644
index 00000000..a3fb6c98
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/NeanderRamses.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/OrgNea2004.pdf b/S03 - Arquitetura de Computadores/2011.1/OrgNea2004.pdf
new file mode 100644
index 00000000..6c6cec5b
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/OrgNea2004.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 1.docx b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 1.docx
new file mode 100644
index 00000000..4928489d
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 1.docx differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 2.docx b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 2.docx
new file mode 100644
index 00000000..ee21c23e
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 2.docx differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 3.docx b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 3.docx
new file mode 100644
index 00000000..7bace2b5
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 3.docx differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 4.docx b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 4.docx
new file mode 100644
index 00000000..e7072b4f
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 4.docx differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 5.docx b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 5.docx
new file mode 100644
index 00000000..4a7e4897
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 5.docx differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 6.docx b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 6.docx
new file mode 100644
index 00000000..63240ac9
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 6.docx differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 7.docx b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 7.docx
new file mode 100644
index 00000000..d2dfb6c8
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Resumo Semana 7.docx differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Slide01-introducao.pdf b/S03 - Arquitetura de Computadores/2011.1/Slide01-introducao.pdf
new file mode 100644
index 00000000..c75fe7c8
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Slide01-introducao.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Slide02-instrucoes.pdf b/S03 - Arquitetura de Computadores/2011.1/Slide02-instrucoes.pdf
new file mode 100644
index 00000000..66699a86
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Slide02-instrucoes.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Slide03-organizacaoNeander.pdf b/S03 - Arquitetura de Computadores/2011.1/Slide03-organizacaoNeander.pdf
new file mode 100644
index 00000000..2ef05b1b
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Slide03-organizacaoNeander.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Slide04-avaliacao_desempenho.pdf b/S03 - Arquitetura de Computadores/2011.1/Slide04-avaliacao_desempenho.pdf
new file mode 100644
index 00000000..6f58e34c
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Slide04-avaliacao_desempenho.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Slide06-instrucoes03.pdf b/S03 - Arquitetura de Computadores/2011.1/Slide06-instrucoes03.pdf
new file mode 100644
index 00000000..dc776972
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Slide06-instrucoes03.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Slide07-pipeline.pdf b/S03 - Arquitetura de Computadores/2011.1/Slide07-pipeline.pdf
new file mode 100644
index 00000000..89752a50
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Slide07-pipeline.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Slide08-RISCxCISC.pdf b/S03 - Arquitetura de Computadores/2011.1/Slide08-RISCxCISC.pdf
new file mode 100644
index 00000000..8e29c3aa
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Slide08-RISCxCISC.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Slide09-Superescalaridade.pdf b/S03 - Arquitetura de Computadores/2011.1/Slide09-Superescalaridade.pdf
new file mode 100644
index 00000000..72d0161d
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Slide09-Superescalaridade.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Slide10-VLIW.pdf b/S03 - Arquitetura de Computadores/2011.1/Slide10-VLIW.pdf
new file mode 100644
index 00000000..81f607d2
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Slide10-VLIW.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Slide11-Cache.pdf b/S03 - Arquitetura de Computadores/2011.1/Slide11-Cache.pdf
new file mode 100644
index 00000000..d1fe3ca6
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Slide11-Cache.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/Slide12-MemVirt.pdf b/S03 - Arquitetura de Computadores/2011.1/Slide12-MemVirt.pdf
new file mode 100644
index 00000000..1c84cbeb
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/Slide12-MemVirt.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/lista3.pdf b/S03 - Arquitetura de Computadores/2011.1/lista3.pdf
new file mode 100644
index 00000000..821cf63c
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/lista3.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/programa.pdf b/S03 - Arquitetura de Computadores/2011.1/programa.pdf
new file mode 100644
index 00000000..a816f198
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/programa.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/simuladores/Daedalus.exe b/S03 - Arquitetura de Computadores/2011.1/simuladores/Daedalus.exe
new file mode 100644
index 00000000..cb2e0e81
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/simuladores/Daedalus.exe differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/simuladores/Mars_4_1.jar b/S03 - Arquitetura de Computadores/2011.1/simuladores/Mars_4_1.jar
new file mode 100644
index 00000000..a7f6c6f7
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/simuladores/Mars_4_1.jar differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/simuladores/WAhmes.exe b/S03 - Arquitetura de Computadores/2011.1/simuladores/WAhmes.exe
new file mode 100644
index 00000000..2093401d
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/simuladores/WAhmes.exe differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/simuladores/WCesar16.exe b/S03 - Arquitetura de Computadores/2011.1/simuladores/WCesar16.exe
new file mode 100644
index 00000000..dc16edc9
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/simuladores/WCesar16.exe differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/simuladores/WNeander.exe b/S03 - Arquitetura de Computadores/2011.1/simuladores/WNeander.exe
new file mode 100644
index 00000000..bf6d6ab9
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/simuladores/WNeander.exe differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/simuladores/WRamses.exe b/S03 - Arquitetura de Computadores/2011.1/simuladores/WRamses.exe
new file mode 100644
index 00000000..4d2349f9
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/simuladores/WRamses.exe differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/simuladores/mult.MEM b/S03 - Arquitetura de Computadores/2011.1/simuladores/mult.MEM
new file mode 100644
index 00000000..baf2721b
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/simuladores/mult.MEM differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/simuladores/mult.TXT b/S03 - Arquitetura de Computadores/2011.1/simuladores/mult.TXT
new file mode 100644
index 00000000..fa7958d6
--- /dev/null
+++ b/S03 - Arquitetura de Computadores/2011.1/simuladores/mult.TXT
@@ -0,0 +1,250 @@
+ 0 22 0 LDR A #0
+ 2 24 80 LDR B 80
+ 4 A0 C JZ C
+ 6 30 81 ADD A 81
+ 8 76 1 SUB B #1
+ A 80 4 JMP 4
+ C 10 83 STR A 83
+ E F0 HLT
+ F 0 NOP
+10 0 NOP
+11 0 NOP
+12 0 NOP
+13 0 NOP
+14 0 NOP
+15 0 NOP
+16 0 NOP
+17 0 NOP
+18 0 NOP
+19 0 NOP
+1A 0 NOP
+1B 0 NOP
+1C 0 NOP
+1D 0 NOP
+1E 0 NOP
+1F 0 NOP
+20 0 NOP
+21 0 NOP
+22 0 NOP
+23 0 NOP
+24 0 NOP
+25 0 NOP
+26 0 NOP
+27 0 NOP
+28 0 NOP
+29 0 NOP
+2A 0 NOP
+2B 0 NOP
+2C 0 NOP
+2D 0 NOP
+2E 0 NOP
+2F 0 NOP
+30 0 NOP
+31 0 NOP
+32 0 NOP
+33 0 NOP
+34 0 NOP
+35 0 NOP
+36 0 NOP
+37 0 NOP
+38 0 NOP
+39 0 NOP
+3A 0 NOP
+3B 0 NOP
+3C 0 NOP
+3D 0 NOP
+3E 0 NOP
+3F 0 NOP
+40 0 NOP
+41 0 NOP
+42 0 NOP
+43 0 NOP
+44 0 NOP
+45 0 NOP
+46 0 NOP
+47 0 NOP
+48 0 NOP
+49 0 NOP
+4A 0 NOP
+4B 0 NOP
+4C 0 NOP
+4D 0 NOP
+4E 0 NOP
+4F 0 NOP
+50 0 NOP
+51 0 NOP
+52 0 NOP
+53 0 NOP
+54 0 NOP
+55 0 NOP
+56 0 NOP
+57 0 NOP
+58 0 NOP
+59 0 NOP
+5A 0 NOP
+5B 0 NOP
+5C 0 NOP
+5D 0 NOP
+5E 0 NOP
+5F 0 NOP
+60 0 NOP
+61 0 NOP
+62 0 NOP
+63 0 NOP
+64 0 NOP
+65 0 NOP
+66 0 NOP
+67 0 NOP
+68 0 NOP
+69 0 NOP
+6A 0 NOP
+6B 0 NOP
+6C 0 NOP
+6D 0 NOP
+6E 0 NOP
+6F 0 NOP
+70 0 NOP
+71 0 NOP
+72 0 NOP
+73 0 NOP
+74 0 NOP
+75 0 NOP
+76 0 NOP
+77 0 NOP
+78 0 NOP
+79 0 NOP
+7A 0 NOP
+7B 0 NOP
+7C 0 NOP
+7D 0 NOP
+7E 0 NOP
+7F 0 NOP
+
+80 5
+81 9
+82 0
+83 2D
+84 0
+85 0
+86 0
+87 0
+88 0
+89 0
+8A 0
+8B 0
+8C 0
+8D 0
+8E 0
+8F 0
+90 0
+91 0
+92 0
+93 0
+94 0
+95 0
+96 0
+97 0
+98 0
+99 0
+9A 0
+9B 0
+9C 0
+9D 0
+9E 0
+9F 0
+A0 0
+A1 0
+A2 0
+A3 0
+A4 0
+A5 0
+A6 0
+A7 0
+A8 0
+A9 0
+AA 0
+AB 0
+AC 0
+AD 0
+AE 0
+AF 0
+B0 0
+B1 0
+B2 0
+B3 0
+B4 0
+B5 0
+B6 0
+B7 0
+B8 0
+B9 0
+BA 0
+BB 0
+BC 0
+BD 0
+BE 0
+BF 0
+C0 0
+C1 0
+C2 0
+C3 0
+C4 0
+C5 0
+C6 0
+C7 0
+C8 0
+C9 0
+CA 0
+CB 0
+CC 0
+CD 0
+CE 0
+CF 0
+D0 0
+D1 0
+D2 0
+D3 0
+D4 0
+D5 0
+D6 0
+D7 0
+D8 0
+D9 0
+DA 0
+DB 0
+DC 0
+DD 0
+DE 0
+DF 0
+E0 0
+E1 0
+E2 0
+E3 0
+E4 0
+E5 0
+E6 0
+E7 0
+E8 0
+E9 0
+EA 0
+EB 0
+EC 0
+ED 0
+EE 0
+EF 0
+F0 0
+F1 0
+F2 0
+F3 0
+F4 0
+F5 0
+F6 0
+F7 0
+F8 0
+F9 0
+FA 0
+FB 0
+FC 0
+FD 0
+FE 0
+FF 0
diff --git a/S03 - Arquitetura de Computadores/2011.1/simuladores/multiplicar.TXT b/S03 - Arquitetura de Computadores/2011.1/simuladores/multiplicar.TXT
new file mode 100644
index 00000000..8a919042
--- /dev/null
+++ b/S03 - Arquitetura de Computadores/2011.1/simuladores/multiplicar.TXT
@@ -0,0 +1,29 @@
+ 0 10 82 STA 82
+ 2 20 80 LDA 80
+ 4 10 83 STA 83
+ 6 A0 21 JZ 21
+ 8 20 82 LDA 82
+ A 30 81 ADD 81
+ C 10 82 STA 82
+ E 20 83 LDA 83
+10 30 84 ADD 84
+12 80 4 JMP 4
+14 F0 HLT
+15 0 NOP
+16 0 NOP
+17 0 NOP
+18 0 NOP
+19 0 NOP
+1A 0 NOP
+1B 0 NOP
+1C 0 NOP
+1D 0 NOP
+1E 0 NOP
+1F 0 NOP
+20 0 NOP
+
+80 20
+81 7
+82 E0
+83 0
+84 FF
diff --git a/S03 - Arquitetura de Computadores/2011.1/simuladores/soma.MEM b/S03 - Arquitetura de Computadores/2011.1/simuladores/soma.MEM
new file mode 100644
index 00000000..e222ba43
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2011.1/simuladores/soma.MEM differ
diff --git a/S03 - Arquitetura de Computadores/2011.1/simuladores/somar.TXT b/S03 - Arquitetura de Computadores/2011.1/simuladores/somar.TXT
new file mode 100644
index 00000000..32cfc0ac
--- /dev/null
+++ b/S03 - Arquitetura de Computadores/2011.1/simuladores/somar.TXT
@@ -0,0 +1,8 @@
+ 0 20 80 LDA 80
+ 2 30 81 ADD 81
+ 4 10 82 STA 82
+ 6 F0 HLT
+
+80 10
+81 20
+82 30
diff --git a/S03 - Arquitetura de Computadores/2017.2 - Lucas Moura/Prova AC N1P1.pdf b/S03 - Arquitetura de Computadores/2017.2 - Lucas Moura/Prova AC N1P1.pdf
new file mode 100644
index 00000000..18d69700
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2017.2 - Lucas Moura/Prova AC N1P1.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2017.2 - Lucas Moura/Prova AC N1P2.pdf b/S03 - Arquitetura de Computadores/2017.2 - Lucas Moura/Prova AC N1P2.pdf
new file mode 100644
index 00000000..4817f415
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2017.2 - Lucas Moura/Prova AC N1P2.pdf differ
diff --git a/S03 - Arquitetura de Computadores/2017.2 - Lucas Moura/Prova AC N2.pdf b/S03 - Arquitetura de Computadores/2017.2 - Lucas Moura/Prova AC N2.pdf
new file mode 100644
index 00000000..f93ee7d6
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2017.2 - Lucas Moura/Prova AC N2.pdf differ
diff --git "a/S03 - Arquitetura de Computadores/2022.2 - Elias/Manual de sobrevive\314\202ncia em Arquitetura de Computadores.pdf" "b/S03 - Arquitetura de Computadores/2022.2 - Elias/Manual de sobrevive\314\202ncia em Arquitetura de Computadores.pdf"
new file mode 100644
index 00000000..e5ba7c79
Binary files /dev/null and "b/S03 - Arquitetura de Computadores/2022.2 - Elias/Manual de sobrevive\314\202ncia em Arquitetura de Computadores.pdf" differ
diff --git a/S03 - Arquitetura de Computadores/2023.1/AF Ultimate.pdf b/S03 - Arquitetura de Computadores/2023.1/AF Ultimate.pdf
new file mode 100644
index 00000000..8790cbe6
Binary files /dev/null and b/S03 - Arquitetura de Computadores/2023.1/AF Ultimate.pdf differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 01/IMG_20170328_143441.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 01/IMG_20170328_143441.jpg"
new file mode 100644
index 00000000..59a77161
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 01/IMG_20170328_143441.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 01/IMG_20170328_143454.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 01/IMG_20170328_143454.jpg"
new file mode 100644
index 00000000..adb35ac4
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 01/IMG_20170328_143454.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 01/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 01/Thumbs.db"
new file mode 100644
index 00000000..909c1589
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 01/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/IMG_20170329_143429.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/IMG_20170329_143429.jpg"
new file mode 100644
index 00000000..20280969
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/IMG_20170329_143429.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/IMG_20170329_150007.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/IMG_20170329_150007.jpg"
new file mode 100644
index 00000000..8b3bfbea
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/IMG_20170329_150007.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/IMG_20170329_150015.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/IMG_20170329_150015.jpg"
new file mode 100644
index 00000000..19dcf485
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/IMG_20170329_150015.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/IMG_20170329_152335.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/IMG_20170329_152335.jpg"
new file mode 100644
index 00000000..f23f4f50
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/IMG_20170329_152335.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/Thumbs.db"
new file mode 100644
index 00000000..71c0dbb1
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 02/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/IMG_20170404_140613.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/IMG_20170404_140613.jpg"
new file mode 100644
index 00000000..035faa59
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/IMG_20170404_140613.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/IMG_20170404_141608.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/IMG_20170404_141608.jpg"
new file mode 100644
index 00000000..b5be040b
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/IMG_20170404_141608.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/IMG_20170404_145116.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/IMG_20170404_145116.jpg"
new file mode 100644
index 00000000..3060dcd7
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/IMG_20170404_145116.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/IMG_20170404_152232.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/IMG_20170404_152232.jpg"
new file mode 100644
index 00000000..d421c455
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/IMG_20170404_152232.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/Thumbs.db"
new file mode 100644
index 00000000..4578d3ca
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 03/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_143016.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_143016.jpg"
new file mode 100644
index 00000000..04652402
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_143016.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_143022.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_143022.jpg"
new file mode 100644
index 00000000..9fab856a
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_143022.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_143643.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_143643.jpg"
new file mode 100644
index 00000000..603e112d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_143643.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_144741.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_144741.jpg"
new file mode 100644
index 00000000..321828e9
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_144741.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_150314.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_150314.jpg"
new file mode 100644
index 00000000..918bca9f
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_150314.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_152058.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_152058.jpg"
new file mode 100644
index 00000000..f130c87c
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/IMG_20170405_152058.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/Thumbs.db"
new file mode 100644
index 00000000..834d9b07
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 04/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_140555.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_140555.jpg"
new file mode 100644
index 00000000..80d2ee37
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_140555.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_142532.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_142532.jpg"
new file mode 100644
index 00000000..4b3f1a32
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_142532.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_143712.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_143712.jpg"
new file mode 100644
index 00000000..2014beaf
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_143712.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_144657.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_144657.jpg"
new file mode 100644
index 00000000..d0fa55b2
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_144657.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_145138.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_145138.jpg"
new file mode 100644
index 00000000..308cc2e0
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_145138.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_150242.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_150242.jpg"
new file mode 100644
index 00000000..b690ef99
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/IMG_20170411_150242.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/Thumbs.db"
new file mode 100644
index 00000000..a41e3c29
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 05/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_142246.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_142246.jpg"
new file mode 100644
index 00000000..3885c964
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_142246.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_144526.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_144526.jpg"
new file mode 100644
index 00000000..4ddf7b85
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_144526.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_145559.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_145559.jpg"
new file mode 100644
index 00000000..9a2a18aa
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_145559.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_145614.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_145614.jpg"
new file mode 100644
index 00000000..580c4d39
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_145614.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_145619.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_145619.jpg"
new file mode 100644
index 00000000..6a151609
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/IMG_20170412_145619.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/Thumbs.db"
new file mode 100644
index 00000000..abb8d836
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 06/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_135927.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_135927.jpg"
new file mode 100644
index 00000000..996f84d2
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_135927.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_135934.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_135934.jpg"
new file mode 100644
index 00000000..ee45f221
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_135934.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_135945.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_135945.jpg"
new file mode 100644
index 00000000..95e19ce7
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_135945.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_140705.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_140705.jpg"
new file mode 100644
index 00000000..47a86729
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_140705.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_142645.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_142645.jpg"
new file mode 100644
index 00000000..8a4e634c
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_142645.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_150107.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_150107.jpg"
new file mode 100644
index 00000000..d378ca3d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_150107.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_150906.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_150906.jpg"
new file mode 100644
index 00000000..851a1615
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_150906.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_150914.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_150914.jpg"
new file mode 100644
index 00000000..6b8c5c53
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_150914.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_150916.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_150916.jpg"
new file mode 100644
index 00000000..dc05362f
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/IMG_20170418_150916.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/Thumbs.db"
new file mode 100644
index 00000000..79dd9723
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 07/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_134545.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_134545.jpg"
new file mode 100644
index 00000000..a7318c87
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_134545.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_140723.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_140723.jpg"
new file mode 100644
index 00000000..83acd6c2
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_140723.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_140742.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_140742.jpg"
new file mode 100644
index 00000000..6ddb1d14
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_140742.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_141802.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_141802.jpg"
new file mode 100644
index 00000000..5095e5f5
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_141802.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_142540.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_142540.jpg"
new file mode 100644
index 00000000..7007ec6b
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_142540.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_150244.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_150244.jpg"
new file mode 100644
index 00000000..10c7bf98
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/IMG_20170419_150244.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/Thumbs.db"
new file mode 100644
index 00000000..c30ce47f
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 08/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_140038.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_140038.jpg"
new file mode 100644
index 00000000..d53dbe17
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_140038.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_140744.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_140744.jpg"
new file mode 100644
index 00000000..2d068a05
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_140744.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_141920.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_141920.jpg"
new file mode 100644
index 00000000..977e47e1
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_141920.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_144705.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_144705.jpg"
new file mode 100644
index 00000000..5e27f3a7
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_144705.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_145851.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_145851.jpg"
new file mode 100644
index 00000000..b1d77c4d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_145851.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_150233.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_150233.jpg"
new file mode 100644
index 00000000..82e79652
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/IMG_20170425_150233.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/Thumbs.db"
new file mode 100644
index 00000000..be72a3f7
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 09/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_141742.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_141742.jpg"
new file mode 100644
index 00000000..fa57c669
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_141742.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_141748.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_141748.jpg"
new file mode 100644
index 00000000..56c95d3b
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_141748.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_143621.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_143621.jpg"
new file mode 100644
index 00000000..a5b89289
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_143621.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_144231.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_144231.jpg"
new file mode 100644
index 00000000..36320f90
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_144231.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_144242.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_144242.jpg"
new file mode 100644
index 00000000..49e8c587
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_144242.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_144321.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_144321.jpg"
new file mode 100644
index 00000000..75a1fb82
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_144321.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_150408.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_150408.jpg"
new file mode 100644
index 00000000..8fcb28f4
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_150408.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_150411.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_150411.jpg"
new file mode 100644
index 00000000..ef6e4012
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_150411.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_151838.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_151838.jpg"
new file mode 100644
index 00000000..ec7d23ed
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_151838.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_151843.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_151843.jpg"
new file mode 100644
index 00000000..8fadc9b8
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_151843.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_151848.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_151848.jpg"
new file mode 100644
index 00000000..3a4956b6
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_151848.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_152238.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_152238.jpg"
new file mode 100644
index 00000000..1b7abed7
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_152238.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_152241.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_152241.jpg"
new file mode 100644
index 00000000..38817d7f
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_152241.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_172748.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_172748.jpg"
new file mode 100644
index 00000000..934284c0
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_172748.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_172751.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_172751.jpg"
new file mode 100644
index 00000000..207e6e66
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/IMG_20170502_172751.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/Thumbs.db"
new file mode 100644
index 00000000..65dd1faf
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 10/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_140000.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_140000.jpg"
new file mode 100644
index 00000000..a6ce9683
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_140000.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_140005.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_140005.jpg"
new file mode 100644
index 00000000..016833af
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_140005.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_140009.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_140009.jpg"
new file mode 100644
index 00000000..b4e3941b
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_140009.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_140011.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_140011.jpg"
new file mode 100644
index 00000000..88ca7b70
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_140011.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_141122.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_141122.jpg"
new file mode 100644
index 00000000..0947b64a
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_141122.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_141151.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_141151.jpg"
new file mode 100644
index 00000000..51e852a1
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_141151.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_141155.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_141155.jpg"
new file mode 100644
index 00000000..c9840d4c
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_141155.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_145044.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_145044.jpg"
new file mode 100644
index 00000000..e58f874f
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_145044.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_145048.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_145048.jpg"
new file mode 100644
index 00000000..a39e68ef
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_145048.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_145052.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_145052.jpg"
new file mode 100644
index 00000000..52bce4b4
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_145052.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_145107.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_145107.jpg"
new file mode 100644
index 00000000..8d086f41
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 11/IMG_20170503_145107.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/IMG_20170510_135829.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/IMG_20170510_135829.jpg"
new file mode 100644
index 00000000..55af24e0
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/IMG_20170510_135829.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/IMG_20170510_135836.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/IMG_20170510_135836.jpg"
new file mode 100644
index 00000000..94bf2ad2
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/IMG_20170510_135836.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/IMG_20170510_142056.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/IMG_20170510_142056.jpg"
new file mode 100644
index 00000000..36e6200e
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/IMG_20170510_142056.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/IMG_20170510_142059.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/IMG_20170510_142059.jpg"
new file mode 100644
index 00000000..c9fda2e8
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/IMG_20170510_142059.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/Thumbs.db"
new file mode 100644
index 00000000..42e1ed77
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Aula 12 - Corre\303\247\303\243o da N1/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205614.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205614.jpg"
new file mode 100644
index 00000000..68d27cba
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205614.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205629.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205629.jpg"
new file mode 100644
index 00000000..149dca6b
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205629.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205645.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205645.jpg"
new file mode 100644
index 00000000..d9798285
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205645.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205740.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205740.jpg"
new file mode 100644
index 00000000..9ffdaff3
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205740.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205751.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205751.jpg"
new file mode 100644
index 00000000..d93498f0
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Exercicio de Fixa\303\247\303\243o/IMG_20170507_205751.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/827400-1\302\252ListadeExerc\303\255cios-CircuitosEletr\303\264nicos-2017-1 (1).pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/827400-1\302\252ListadeExerc\303\255cios-CircuitosEletr\303\264nicos-2017-1 (1).pdf"
new file mode 100644
index 00000000..d0a2b516
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/827400-1\302\252ListadeExerc\303\255cios-CircuitosEletr\303\264nicos-2017-1 (1).pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/827403-1\302\252ListadeExerc\303\255cios-Circuitos_Eletr\303\264nicos_-2017-1-Respostas.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/827403-1\302\252ListadeExerc\303\255cios-Circuitos_Eletr\303\264nicos_-2017-1-Respostas.pdf"
new file mode 100644
index 00000000..d723d750
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/827403-1\302\252ListadeExerc\303\255cios-Circuitos_Eletr\303\264nicos_-2017-1-Respostas.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204454.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204454.jpg"
new file mode 100644
index 00000000..57c7ec63
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204454.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204513.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204513.jpg"
new file mode 100644
index 00000000..95554a49
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204513.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204527.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204527.jpg"
new file mode 100644
index 00000000..b2c63db5
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204527.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204546.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204546.jpg"
new file mode 100644
index 00000000..f8a2b74a
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204546.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204556.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204556.jpg"
new file mode 100644
index 00000000..6a9f066c
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204556.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204616.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204616.jpg"
new file mode 100644
index 00000000..87d6041c
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204616.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204628.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204628.jpg"
new file mode 100644
index 00000000..6b8be34a
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204628.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204640.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204640.jpg"
new file mode 100644
index 00000000..238c14f0
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 1/IMG_20170507_204640.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/833420-2\302\252ListadeExerc\303\255cios-CircuitosEletr\303\264nicos_-2017-1.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/833420-2\302\252ListadeExerc\303\255cios-CircuitosEletr\303\264nicos_-2017-1.pdf"
new file mode 100644
index 00000000..8fdcdde4
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/833420-2\302\252ListadeExerc\303\255cios-CircuitosEletr\303\264nicos_-2017-1.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/833421-2\302\252ListadeExerc\303\255cios-CircuitosEletr\303\264nicos-2017-1-Respostas.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/833421-2\302\252ListadeExerc\303\255cios-CircuitosEletr\303\264nicos-2017-1-Respostas.pdf"
new file mode 100644
index 00000000..5e41dc7e
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/833421-2\302\252ListadeExerc\303\255cios-CircuitosEletr\303\264nicos-2017-1-Respostas.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205207.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205207.jpg"
new file mode 100644
index 00000000..24221f51
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205207.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205211.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205211.jpg"
new file mode 100644
index 00000000..f5e54f0f
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205211.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205231.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205231.jpg"
new file mode 100644
index 00000000..7e8e2d2e
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205231.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205252.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205252.jpg"
new file mode 100644
index 00000000..c472ba77
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205252.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205308.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205308.jpg"
new file mode 100644
index 00000000..0589ca8a
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205308.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205332.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205332.jpg"
new file mode 100644
index 00000000..bcc7bcf2
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 2/IMG_20170507_205332.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/839540-3\302\252ListadeExerc\303\255cios-IFCE-CircuitosEletr\303\264nicos-2017-1.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/839540-3\302\252ListadeExerc\303\255cios-IFCE-CircuitosEletr\303\264nicos-2017-1.pdf"
new file mode 100644
index 00000000..22c32a22
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/839540-3\302\252ListadeExerc\303\255cios-IFCE-CircuitosEletr\303\264nicos-2017-1.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/839541-3\302\252ListadeExerc\303\255cios-IFCE-Circuitos_Eletr\303\264nicos-2017-1-Respostas.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/839541-3\302\252ListadeExerc\303\255cios-IFCE-Circuitos_Eletr\303\264nicos-2017-1-Respostas.pdf"
new file mode 100644
index 00000000..82280f0d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/839541-3\302\252ListadeExerc\303\255cios-IFCE-Circuitos_Eletr\303\264nicos-2017-1-Respostas.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003727.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003727.jpg"
new file mode 100644
index 00000000..a143bb7d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003727.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003851.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003851.jpg"
new file mode 100644
index 00000000..97f0a387
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003851.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003913.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003913.jpg"
new file mode 100644
index 00000000..ff0dd606
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003913.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003934.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003934.jpg"
new file mode 100644
index 00000000..1f851951
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003934.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003945.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003945.jpg"
new file mode 100644
index 00000000..7bb2f77a
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_003945.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_004024.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_004024.jpg"
new file mode 100644
index 00000000..906c6693
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/1\302\252 Etapa/Resolu\303\247\303\243o Lista 3/IMG_20170508_004024.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_141545.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_141545.jpg"
new file mode 100644
index 00000000..c334450d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_141545.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_141602.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_141602.jpg"
new file mode 100644
index 00000000..e0a673d8
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_141602.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_144042.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_144042.jpg"
new file mode 100644
index 00000000..8885e3b9
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_144042.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_144052.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_144052.jpg"
new file mode 100644
index 00000000..13a82d71
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_144052.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_145352.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_145352.jpg"
new file mode 100644
index 00000000..73c430c3
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_145352.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_145412.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_145412.jpg"
new file mode 100644
index 00000000..172d4a6d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/P_20170530_145412.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/Thumbs.db"
new file mode 100644
index 00000000..b5355ef9
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 13/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_135617.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_135617.jpg"
new file mode 100644
index 00000000..e30fcc55
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_135617.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_135621.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_135621.jpg"
new file mode 100644
index 00000000..8f590220
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_135621.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_135637.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_135637.jpg"
new file mode 100644
index 00000000..a9f65047
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_135637.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_141422.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_141422.jpg"
new file mode 100644
index 00000000..7e172bab
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_141422.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_143701.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_143701.jpg"
new file mode 100644
index 00000000..a94dec3c
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_143701.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_143706.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_143706.jpg"
new file mode 100644
index 00000000..0e71838b
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_143706.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_150116.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_150116.jpg"
new file mode 100644
index 00000000..9980d2b0
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_150116.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_150119.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_150119.jpg"
new file mode 100644
index 00000000..4ee4dfa1
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 14/P_20170531_150119.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_140203.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_140203.jpg"
new file mode 100644
index 00000000..22ce54b8
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_140203.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_140222.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_140222.jpg"
new file mode 100644
index 00000000..7c627750
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_140222.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_141537.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_141537.jpg"
new file mode 100644
index 00000000..75c196f2
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_141537.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_141557.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_141557.jpg"
new file mode 100644
index 00000000..2ef88b69
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_141557.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_142058.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_142058.jpg"
new file mode 100644
index 00000000..97802642
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_142058.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_143427.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_143427.jpg"
new file mode 100644
index 00000000..b9939a1d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_143427.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_144106.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_144106.jpg"
new file mode 100644
index 00000000..a965b057
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_144106.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_145253.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_145253.jpg"
new file mode 100644
index 00000000..9ab02830
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_145253.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_150534.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_150534.jpg"
new file mode 100644
index 00000000..bf0b8563
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/P_20170613_150534.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/Thumbs.db"
new file mode 100644
index 00000000..a20c6973
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 15/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_141301.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_141301.jpg"
new file mode 100644
index 00000000..d88d4572
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_141301.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_141317.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_141317.jpg"
new file mode 100644
index 00000000..bf5dc397
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_141317.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_142845.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_142845.jpg"
new file mode 100644
index 00000000..84989294
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_142845.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_144412.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_144412.jpg"
new file mode 100644
index 00000000..09d5f000
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_144412.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_144428.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_144428.jpg"
new file mode 100644
index 00000000..e0aec655
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_144428.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_151235.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_151235.jpg"
new file mode 100644
index 00000000..53ee16f9
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/P_20170620_151235.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/Thumbs.db"
new file mode 100644
index 00000000..ab3b3386
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 16/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_140610.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_140610.jpg"
new file mode 100644
index 00000000..bf9868b9
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_140610.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_140833.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_140833.jpg"
new file mode 100644
index 00000000..ec1d04a1
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_140833.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_141108.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_141108.jpg"
new file mode 100644
index 00000000..adda5058
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_141108.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_152048.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_152048.jpg"
new file mode 100644
index 00000000..d0cf7ab7
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_152048.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_152053.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_152053.jpg"
new file mode 100644
index 00000000..0379b940
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_152053.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_152101.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_152101.jpg"
new file mode 100644
index 00000000..b583e0fa
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 17/P_20170621_152101.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_142752.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_142752.jpg"
new file mode 100644
index 00000000..dd533d02
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_142752.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_142818.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_142818.jpg"
new file mode 100644
index 00000000..4a502b21
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_142818.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_142824.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_142824.jpg"
new file mode 100644
index 00000000..e4c08c26
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_142824.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_144924.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_144924.jpg"
new file mode 100644
index 00000000..9fc8eb8f
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_144924.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_151138.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_151138.jpg"
new file mode 100644
index 00000000..92cf265d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_151138.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_152121.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_152121.jpg"
new file mode 100644
index 00000000..95004d0d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/P_20170627_152121.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/Thumbs.db" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/Thumbs.db"
new file mode 100644
index 00000000..ef0890a5
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 18/Thumbs.db" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_135910.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_135910.jpg"
new file mode 100644
index 00000000..c5d17b37
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_135910.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_141219.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_141219.jpg"
new file mode 100644
index 00000000..89686fef
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_141219.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_142738.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_142738.jpg"
new file mode 100644
index 00000000..4caeb45c
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_142738.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_144659.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_144659.jpg"
new file mode 100644
index 00000000..b4b9a53b
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_144659.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_150222.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_150222.jpg"
new file mode 100644
index 00000000..7039ec85
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Aula 19/P_20170628_150222.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Avalia\303\247\303\243o 1 N2/P_20170629_213528.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Avalia\303\247\303\243o 1 N2/P_20170629_213528.jpg"
new file mode 100644
index 00000000..971698bf
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Avalia\303\247\303\243o 1 N2/P_20170629_213528.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Avalia\303\247\303\243o 1 N2/P_20170629_213540.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Avalia\303\247\303\243o 1 N2/P_20170629_213540.jpg"
new file mode 100644
index 00000000..4f04701a
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Avalia\303\247\303\243o 1 N2/P_20170629_213540.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Avalia\303\247\303\243o 1 N2/P_20170629_213551.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Avalia\303\247\303\243o 1 N2/P_20170629_213551.jpg"
new file mode 100644
index 00000000..18d15f7e
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Avalia\303\247\303\243o 1 N2/P_20170629_213551.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/854800-4\302\252ListadeExerc\303\255ciosCircuitosEletr\303\264nicos_-2017-1.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/854800-4\302\252ListadeExerc\303\255ciosCircuitosEletr\303\264nicos_-2017-1.pdf"
new file mode 100644
index 00000000..7215c168
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/854800-4\302\252ListadeExerc\303\255ciosCircuitosEletr\303\264nicos_-2017-1.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/854801-4\302\252ListadeExerc\303\255ciosCircuitos_Eletr\303\264nicos_-2017-1-Respostas.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/854801-4\302\252ListadeExerc\303\255ciosCircuitos_Eletr\303\264nicos_-2017-1-Respostas.pdf"
new file mode 100644
index 00000000..6a13057d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/854801-4\302\252ListadeExerc\303\255ciosCircuitos_Eletr\303\264nicos_-2017-1-Respostas.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154631.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154631.jpg"
new file mode 100644
index 00000000..2a77a8db
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154631.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154651.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154651.jpg"
new file mode 100644
index 00000000..1f38bd23
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154651.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154706.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154706.jpg"
new file mode 100644
index 00000000..5470acd4
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154706.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154731.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154731.jpg"
new file mode 100644
index 00000000..46922eda
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154731.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154750.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154750.jpg"
new file mode 100644
index 00000000..32a77a06
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154750.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154812.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154812.jpg"
new file mode 100644
index 00000000..3244133e
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 4/P_20170604_154812.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/1-5\302\252ListadeExerc\303\255cios-Circuitos_Eletr\303\264nicos-IFCE-2017-1-Respostas.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/1-5\302\252ListadeExerc\303\255cios-Circuitos_Eletr\303\264nicos-IFCE-2017-1-Respostas.pdf"
new file mode 100644
index 00000000..71648761
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/1-5\302\252ListadeExerc\303\255cios-Circuitos_Eletr\303\264nicos-IFCE-2017-1-Respostas.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/10-5\302\252ListadeExerc\303\255cios-CircuitosEletr\303\264nicos-IFCE-2017-1.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/10-5\302\252ListadeExerc\303\255cios-CircuitosEletr\303\264nicos-IFCE-2017-1.pdf"
new file mode 100644
index 00000000..3c526a34
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/10-5\302\252ListadeExerc\303\255cios-CircuitosEletr\303\264nicos-IFCE-2017-1.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225704.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225704.jpg"
new file mode 100644
index 00000000..cc26f319
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225704.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225721.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225721.jpg"
new file mode 100644
index 00000000..933d3c8c
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225721.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225737.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225737.jpg"
new file mode 100644
index 00000000..cdbe3868
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225737.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225751.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225751.jpg"
new file mode 100644
index 00000000..b73d6dbe
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225751.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225804.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225804.jpg"
new file mode 100644
index 00000000..00cdeba5
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225804.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225818.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225818.jpg"
new file mode 100644
index 00000000..8c507105
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170629_225818.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170703_225552.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170703_225552.jpg"
new file mode 100644
index 00000000..0ba92cfa
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170703_225552.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170703_225626.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170703_225626.jpg"
new file mode 100644
index 00000000..c916a5c1
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170703_225626.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080707.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080707.jpg"
new file mode 100644
index 00000000..2f0d0dfb
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080707.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080724.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080724.jpg"
new file mode 100644
index 00000000..d092c43b
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080724.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080737.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080737.jpg"
new file mode 100644
index 00000000..32446c8e
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080737.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080802.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080802.jpg"
new file mode 100644
index 00000000..ac5bacd6
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080802.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080823.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080823.jpg"
new file mode 100644
index 00000000..0903558f
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080823.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080841.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080841.jpg"
new file mode 100644
index 00000000..05c10e4a
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080841.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080907.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080907.jpg"
new file mode 100644
index 00000000..0ba94e84
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080907.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080922.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080922.jpg"
new file mode 100644
index 00000000..fb3346b1
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080922.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080939.jpg" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080939.jpg"
new file mode 100644
index 00000000..3d9fe99e
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/2\302\252 Etapa/Resolu\303\247\303\243o Lista 5/P_20170704_080939.jpg" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/Roteiros e PUD/821041-PUD_Circuitos_Eletr\303\264nicos-2017-1.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/Roteiros e PUD/821041-PUD_Circuitos_Eletr\303\264nicos-2017-1.pdf"
new file mode 100644
index 00000000..fdda08ba
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/Roteiros e PUD/821041-PUD_Circuitos_Eletr\303\264nicos-2017-1.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/Roteiros e PUD/827409-RoteirodeAula-Amplificador_Operacional-CircuitosEletr\303\264nicos-2017-1.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/Roteiros e PUD/827409-RoteirodeAula-Amplificador_Operacional-CircuitosEletr\303\264nicos-2017-1.pdf"
new file mode 100644
index 00000000..3967319d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/Roteiros e PUD/827409-RoteirodeAula-Amplificador_Operacional-CircuitosEletr\303\264nicos-2017-1.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/Roteiros e PUD/837870-RoteirodeAula-CircuitosLineares-Circuitos_Eletr\303\264nicos-IFCE-2017-1.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/Roteiros e PUD/837870-RoteirodeAula-CircuitosLineares-Circuitos_Eletr\303\264nicos-IFCE-2017-1.pdf"
new file mode 100644
index 00000000..e32b7378
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.1 - Bento de Freitas/Roteiros e PUD/837870-RoteirodeAula-CircuitosLineares-Circuitos_Eletr\303\264nicos-IFCE-2017-1.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.2 - Bento/Prova 1 - CE.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.2 - Bento/Prova 1 - CE.pdf"
new file mode 100644
index 00000000..b7e3d148
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.2 - Bento/Prova 1 - CE.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2017.2 - Bento/Prova 2 - CE.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2017.2 - Bento/Prova 2 - CE.pdf"
new file mode 100644
index 00000000..e209e91f
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2017.2 - Bento/Prova 2 - CE.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 1 - Resposta.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 1 - Resposta.pdf"
new file mode 100644
index 00000000..d216f9c6
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 1 - Resposta.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 1.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 1.pdf"
new file mode 100644
index 00000000..dfbb927e
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 1.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 2 - Resposta.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 2 - Resposta.pdf"
new file mode 100644
index 00000000..0abdc720
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 2 - Resposta.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 2.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 2.pdf"
new file mode 100644
index 00000000..1a9c89b1
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 2.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 3 - Respostas.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 3 - Respostas.pdf"
new file mode 100644
index 00000000..7a1daef4
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 3 - Respostas.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 3.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 3.pdf"
new file mode 100644
index 00000000..8945d927
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 3.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 4 - Respostas.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 4 - Respostas.pdf"
new file mode 100644
index 00000000..7d451134
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 4 - Respostas.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 4.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 4.pdf"
new file mode 100644
index 00000000..d14b9bab
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 4.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 5 - Respostas.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 5 - Respostas.pdf"
new file mode 100644
index 00000000..0f6192df
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 5 - Respostas.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 5.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 5.pdf"
new file mode 100644
index 00000000..d6055e74
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 5.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 6 - Respostas.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 6 - Respostas.pdf"
new file mode 100644
index 00000000..5276e512
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 6 - Respostas.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 6.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 6.pdf"
new file mode 100644
index 00000000..1d85cb1c
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 6.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 7 - Respostas.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 7 - Respostas.pdf"
new file mode 100644
index 00000000..988a248e
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 7 - Respostas.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 7.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 7.pdf"
new file mode 100644
index 00000000..ce980e6e
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/Lista 7.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 1 - Amplficador diferencial.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 1 - Amplficador diferencial.pdf"
new file mode 100644
index 00000000..e57d67b9
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 1 - Amplficador diferencial.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 10 - Oscilador Senoidal.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 10 - Oscilador Senoidal.pdf"
new file mode 100644
index 00000000..63b25dcc
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 10 - Oscilador Senoidal.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 2 - Amplficador operacional.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 2 - Amplficador operacional.pdf"
new file mode 100644
index 00000000..f686cf7d
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 2 - Amplficador operacional.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 3 - Realimenta\303\247\303\243o negativa e curto.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 3 - Realimenta\303\247\303\243o negativa e curto.pdf"
new file mode 100644
index 00000000..d915134e
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 3 - Realimenta\303\247\303\243o negativa e curto.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 4 - Circuitos b\303\241sicos com amplificador operacional.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 4 - Circuitos b\303\241sicos com amplificador operacional.pdf"
new file mode 100644
index 00000000..7dc54a52
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 4 - Circuitos b\303\241sicos com amplificador operacional.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 5 - Circuitos lineares.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 5 - Circuitos lineares.pdf"
new file mode 100644
index 00000000..03cc476c
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 5 - Circuitos lineares.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 6 - FIltros ativos.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 6 - FIltros ativos.pdf"
new file mode 100644
index 00000000..e9ff2b06
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 6 - FIltros ativos.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 7 - Integrador e diferenciador.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 7 - Integrador e diferenciador.pdf"
new file mode 100644
index 00000000..0d155a8a
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 7 - Integrador e diferenciador.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 8 - Circuitos Comparadores Usando o Amplificador Operacional.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 8 - Circuitos Comparadores Usando o Amplificador Operacional.pdf"
new file mode 100644
index 00000000..d214f4f5
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 8 - Circuitos Comparadores Usando o Amplificador Operacional.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 9 - Circuito Gerador de Onda Quadrada e Onda Triangular.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 9 - Circuito Gerador de Onda Quadrada e Onda Triangular.pdf"
new file mode 100644
index 00000000..e7b25c91
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.1 - Bento de Freitas/TD 9 - Circuito Gerador de Onda Quadrada e Onda Triangular.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.2 - Bento de Freitas/Lista 1 [v2] - Respostas.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.2 - Bento de Freitas/Lista 1 [v2] - Respostas.pdf"
new file mode 100644
index 00000000..d619de3b
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.2 - Bento de Freitas/Lista 1 [v2] - Respostas.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.2 - Bento de Freitas/Lista 1 [v2].pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.2 - Bento de Freitas/Lista 1 [v2].pdf"
new file mode 100644
index 00000000..61aede0b
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.2 - Bento de Freitas/Lista 1 [v2].pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.2 - Bento de Freitas/Lista 2 [v2] - Respostas.pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.2 - Bento de Freitas/Lista 2 [v2] - Respostas.pdf"
new file mode 100644
index 00000000..55426a1a
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.2 - Bento de Freitas/Lista 2 [v2] - Respostas.pdf" differ
diff --git "a/S03 - Circuitos Eletr\303\264nicos/2018.2 - Bento de Freitas/Lista 2 [v2].pdf" "b/S03 - Circuitos Eletr\303\264nicos/2018.2 - Bento de Freitas/Lista 2 [v2].pdf"
new file mode 100644
index 00000000..cbccdc17
Binary files /dev/null and "b/S03 - Circuitos Eletr\303\264nicos/2018.2 - Bento de Freitas/Lista 2 [v2].pdf" differ
diff --git a/S03 - Estrutura de Dados/2011.1/187495-Aula_13_-_07-12-2011.zip b/S03 - Estrutura de Dados/2011.1/187495-Aula_13_-_07-12-2011.zip
new file mode 100644
index 00000000..fec2ec88
Binary files /dev/null and b/S03 - Estrutura de Dados/2011.1/187495-Aula_13_-_07-12-2011.zip differ
diff --git a/S03 - Estrutura de Dados/2011.1/188865-Aula_15_-_12-12-2011.zip b/S03 - Estrutura de Dados/2011.1/188865-Aula_15_-_12-12-2011.zip
new file mode 100644
index 00000000..ef3cb1c1
Binary files /dev/null and b/S03 - Estrutura de Dados/2011.1/188865-Aula_15_-_12-12-2011.zip differ
diff --git a/S03 - Estrutura de Dados/2011.1/ArvoresAVL.pdf b/S03 - Estrutura de Dados/2011.1/ArvoresAVL.pdf
new file mode 100644
index 00000000..03d9c3a0
Binary files /dev/null and b/S03 - Estrutura de Dados/2011.1/ArvoresAVL.pdf differ
diff --git "a/S03 - Estrutura de Dados/2011.1/C\303\263digo de Huffman.pdf" "b/S03 - Estrutura de Dados/2011.1/C\303\263digo de Huffman.pdf"
new file mode 100644
index 00000000..70c29fc3
Binary files /dev/null and "b/S03 - Estrutura de Dados/2011.1/C\303\263digo de Huffman.pdf" differ
diff --git "a/S03 - Estrutura de Dados/2011.1/Exerc\303\255cios de revis\303\243o - \303\201rvores B e Tabela Hash.pdf" "b/S03 - Estrutura de Dados/2011.1/Exerc\303\255cios de revis\303\243o - \303\201rvores B e Tabela Hash.pdf"
new file mode 100644
index 00000000..a9ada5e3
Binary files /dev/null and "b/S03 - Estrutura de Dados/2011.1/Exerc\303\255cios de revis\303\243o - \303\201rvores B e Tabela Hash.pdf" differ
diff --git a/S03 - Estrutura de Dados/2011.1/GerandoCodigo.jar b/S03 - Estrutura de Dados/2011.1/GerandoCodigo.jar
new file mode 100644
index 00000000..1d042dbd
Binary files /dev/null and b/S03 - Estrutura de Dados/2011.1/GerandoCodigo.jar differ
diff --git a/S03 - Estrutura de Dados/2011.1/TRABALHO DE ESTRUTURAS DE DADOS.pdf b/S03 - Estrutura de Dados/2011.1/TRABALHO DE ESTRUTURAS DE DADOS.pdf
new file mode 100644
index 00000000..65aa8824
Binary files /dev/null and b/S03 - Estrutura de Dados/2011.1/TRABALHO DE ESTRUTURAS DE DADOS.pdf differ
diff --git a/S03 - Estrutura de Dados/2011.1/avl.pdf b/S03 - Estrutura de Dados/2011.1/avl.pdf
new file mode 100644
index 00000000..bc0e8a57
Binary files /dev/null and b/S03 - Estrutura de Dados/2011.1/avl.pdf differ
diff --git a/S03 - Estrutura de Dados/2011.1/grafos1p.pdf b/S03 - Estrutura de Dados/2011.1/grafos1p.pdf
new file mode 100644
index 00000000..c5869d70
Binary files /dev/null and b/S03 - Estrutura de Dados/2011.1/grafos1p.pdf differ
diff --git a/S03 - Estrutura de Dados/2011.1/links.txt b/S03 - Estrutura de Dados/2011.1/links.txt
new file mode 100644
index 00000000..6b0819dd
--- /dev/null
+++ b/S03 - Estrutura de Dados/2011.1/links.txt
@@ -0,0 +1,14 @@
+HUFFMAN CODE
+http://www.cs.ttu.edu/~eacosta/java/Huffcode/Huffcode.html
+
+HUFFMAN CODE E SORTING
+http://www.cs.auckland.ac.nz/software/AlgAnim/ds_ToC.html
+
+SORTING
+http://people.cs.ubc.ca/~harrison/Java/sorting-demo.html
+
+SORTING
+http://www.cs.rit.edu/~atk/Java/Sorting/sorting.html
+
+SORTING
+http://www.sorting-algorithms.com/
\ No newline at end of file
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Lista_01_Vetores e Pesquisa Binaria.pdf b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Lista_01_Vetores e Pesquisa Binaria.pdf
new file mode 100644
index 00000000..f6ca6fbf
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Lista_01_Vetores e Pesquisa Binaria.pdf differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_01/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_01/main.c
new file mode 100644
index 00000000..690e0d08
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_01/main.c
@@ -0,0 +1,65 @@
+#include
+#include
+#define FALSE 0
+#define TRUE !FALSE
+
+
+int main(){
+ int lista[100];
+ int dimensao, i, houveTroca, aux, impar, par, media;
+ printf("Digite a dimenso, no mximo 100:");
+ scanf("%d", &dimensao);
+ for(i = 0; i < dimensao; i++){
+ printf("Digite o elemento %d:\n", i);
+ scanf("%d", &lista[i]);
+ if(lista[i] > 256)
+ i--;
+ }
+ printf("\nLista como foi digitada:\n ");
+ mostraVetor(lista,dimensao);
+
+ //Ordem decrescente.
+ do{
+ houveTroca = FALSE;
+ for(i = 0; i < (dimensao - 1); i++){
+ if(lista[i] < lista[i+1]){
+ aux = lista[i];
+ lista[i] = lista[i+1];
+ lista[i+1] = aux;
+ houveTroca = TRUE;
+ }
+ }
+ }while(houveTroca);
+ printf("\nLista ordenada:\n ");
+ mostraVetor(lista, dimensao);
+ impar = 0;
+ par = 0;
+ aux = 0;
+ media = 0;
+ printf("Teste");
+ for(i = 0; i < dimensao; i++){
+ if(lista[i]%2){
+ impar++;
+ if(lista[i] > 50)
+ {
+ media += lista[i];
+ aux++;
+ }
+ }
+ else
+ par++;
+ }
+ printf("--------------\n");
+ if(aux)
+ media = media/aux;
+ printf("Impares: %d\n", impar);
+ printf("Pares: %d\n", par);
+ printf("Media dos impares maiores que 50: %d\n", media);
+ return 0;
+}
+
+void mostraVetor(int *vetor, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++)
+ printf("Elemento [%d]: %d\n", i, vetor[i]);
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_02/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_02/main.c
new file mode 100644
index 00000000..34873192
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_02/main.c
@@ -0,0 +1,70 @@
+#include
+#include
+#define N 100
+#define FALSE 0
+#define TRUE !FALSE
+
+int main()
+{
+
+ int dimensaoX, dimensaoY, dimensaoW, i, menorX, maiorX, z, achou;
+ int vetorX[N], vetorY[N], vetorW[N];
+ printf("Digite a dimenso do vetor X, no mximo %d:", N);
+ scanf("%d", &dimensaoX);
+ for(i = 0; i < dimensaoX; i++){
+ printf("Digite o elemento %d:\n", i);
+ scanf("%d", &vetorX[i]);
+ }
+
+ dimensaoY = 0;
+ dimensaoW = 0;
+ menorX = vetorX[0];
+ maiorX = vetorX[0];
+ for(i = 0; i < dimensaoX; i++){
+
+ if(vetorX[i] > maiorX)
+ maiorX = vetorX[i];
+ if(vetorX[i] < menorX)
+ menorX = vetorX[i];
+ if(vetorX[i] > 10 && vetorX[i] < 40){
+ vetorY[dimensaoY] = vetorX[i];
+ dimensaoY++;
+ }
+ //Posicoes pares
+ if(!(i%2)){
+ vetorW[dimensaoW] = vetorX[i];
+ dimensaoW++;
+ }
+ }
+
+ printf("Vetor X:\n");
+ mostraVetor(vetorX, dimensaoX);
+ printf("Vetor Y:\n");
+ mostraVetor(vetorY, dimensaoY);
+ printf("Vetor W:\n");
+ mostraVetor(vetorW, dimensaoW);
+
+ printf("Maior elemento de X: %d\n", maiorX);
+ printf("Menor elemento de X: %d\n", menorX);
+
+ do{
+ printf("Digite o numero Z que deseja pesquisar: ");
+ scanf("%d", &z);
+ achou = FALSE;
+ for(i = 0; i < dimensaoX; i++){
+ if(vetorX[i]== z){
+ achou = TRUE;
+ printf("Elemento %d encontrado na posio %d. ", vetorX[i], i);
+ return 0;
+ }
+ }
+ }while(!achou);
+ return 0;
+}
+
+
+void mostraVetor(int *vetor, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++)
+ printf("Elemento [%d]: %d\n", i, vetor[i]);
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_03/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_03/main.c
new file mode 100644
index 00000000..ac6407ac
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_03/main.c
@@ -0,0 +1,52 @@
+#include
+#include
+
+int main()
+{
+ int dimensaoA, dimensaoC, i;
+ int *vetorA, *vetorB, *vetorC;
+ printf("Digite a dimenso para vetores A e B:");
+ scanf("%d", &dimensaoA);
+ dimensaoC = 2*dimensaoA;
+ vetorA = malloc(sizeof(int)*dimensaoA);
+ vetorB = malloc(sizeof(int)*dimensaoA);
+ vetorC = malloc(sizeof(int)*dimensaoA*2);
+ if(vetorA == NULL || vetorB == NULL || vetorC == NULL)
+ {
+ printf("Memoria Insuficiente");
+ return 0;
+ }
+ printf("Recebendo valores do Vetor A:\n");
+ for(i = 0; i < dimensaoA; i++){
+ printf("Digite o elemento %d:\n", i);
+ scanf("%d", vetorA+i);
+ }
+ printf("Recebendo valores do Vetor B:\n");
+ for(i = 0; i < dimensaoA; i++){
+ printf("Digite o elemento %d:\n", i);
+ scanf("%d", vetorB+i);
+ }
+
+
+ printf("Vetor A\n");
+ mostraVetor(vetorA, dimensaoA);
+ printf("Vetor B\n");
+ mostraVetor(vetorB, dimensaoA);
+ dimensaoC = 0;
+ for(i = 0; i < dimensaoA; i++){
+ *(vetorC+dimensaoC) = *(vetorA+i);
+ *(vetorC+dimensaoC+1) = *(vetorB+i);
+ dimensaoC += 2;
+ }
+ printf("Vetor C\n");
+ mostraVetor(vetorC, dimensaoC);
+
+ return 0;
+}
+
+void mostraVetor(int *vetor, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++)
+ printf("Elemento [%d]: %d\n", i, vetor[i]);
+}
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_04/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_04/main.c
new file mode 100644
index 00000000..82438e7e
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_04/main.c
@@ -0,0 +1,59 @@
+#include
+#include
+#define FALSE 0
+#define TRUE !FALSE
+
+int primo(int n){
+ int divisoes, i;
+ divisoes = 0;
+ if(n <= 0)
+ return FALSE;
+ if(n == 1)
+ return TRUE;
+ for(i = 1; i <= n; i++){
+ if(!(n%i))
+ divisoes++;
+ }
+ if(divisoes == 2)
+ return TRUE;
+ else
+ return FALSE;
+}
+int main()
+{
+ int n, i, aux, ehPrimo;
+ do{
+ ehPrimo = FALSE;
+ printf("Digite o valor de N que seja primo:\n");
+ scanf("%d",&n);
+ if(primo(n)){
+ printf("Primo\n");
+ ehPrimo = TRUE;
+ }
+ else
+ printf("No primo\n");
+ }while(!ehPrimo);
+ printf("Primos anteriores:\n");
+ aux = 0;
+ for(i = n-1; i > 0; i--){
+ if(primo(i))
+ {
+ printf("%d\n", i);
+ aux++;
+ }
+ if(aux >= 2)
+ break;
+ }
+ printf("Primos seguintes:\n");
+ aux = 0;
+
+ for(i = n+1; TRUE; i++){
+ if(primo(i)){
+ printf("%d\n", i);
+ aux++;
+ }
+ if(aux >= 2)
+ break;
+ }
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_05/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_05/main.c
new file mode 100644
index 00000000..c126ea2e
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_01_Vetores/Q_05/main.c
@@ -0,0 +1,100 @@
+#include
+#include
+#define FALSE 0
+#define TRUE !FALSE
+
+void mostraVetor(int *vetor, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++)
+ printf("Elemento [%d]: %d\n", i, vetor[i]);
+}
+void ordenacaoBolha(int *lista, int dimensao){
+ int houveTroca, i, aux;
+ do{
+ houveTroca = FALSE;
+ for(i = 0; i < (dimensao - 1); i++){
+ if(lista[i] > lista[i+1]){
+ aux = lista[i];
+ lista[i] = lista[i+1];
+ lista[i+1] = aux;
+ houveTroca = TRUE;
+ }
+ }
+ }while(houveTroca);
+}
+int pesquisaBinaria(int *lista, int dimensao, int pesquisado){
+ int comeco = 0;
+ int fim = dimensao - 1;
+ int meio;
+
+
+ while(comeco <= fim){
+ meio = (comeco+fim)/2;
+ if(pesquisado < lista[meio])
+ fim = meio - 1;
+ else if(pesquisado > lista[meio])
+ comeco = meio + 1;
+ else
+ return meio;
+ }
+ return -1;
+
+}
+void retiraDaLista(int *lista, int *dimensao, int posicao){
+ int i;
+ for(i = posicao; i < (*dimensao)-1; i++){
+ *(lista+i) = *(lista+i+1);
+ }
+ (*dimensao)--;
+}
+
+int main()
+{
+ int dimensao, i,j, flagRepetiu, removidos, pesquisado;
+ int *lista;
+ printf("Digite o valor de N, dimensao do vetor:\n");
+ scanf("%d", &dimensao);
+ lista = malloc(sizeof(int)*dimensao);
+ if(!lista){
+ printf("Memoria insuficiente\n");
+ return 0;
+ }
+ for(i = 0; i < dimensao; i++){
+ printf("Digite o elemento %d:", i);
+ scanf("%d", (lista+i));
+ }
+ removidos = 0;
+
+ for(i = 0; i < dimensao; i++){
+ for(j = (i+1); j < dimensao; j++){
+ if(*(lista+i)== *(lista+j)){
+ removidos++;
+ retiraDaLista(lista, &dimensao, i);
+ i--;
+ break;
+ }
+ }
+ }
+ if(!removidos){
+ printf("Ok\n");
+ }else{
+ printf("%d removido(s):\n", removidos);
+ }
+
+
+ printf("Digite o elemento que deseja pesquisar:\n");
+ scanf("%d", &pesquisado);
+ ordenacaoBolha(lista, dimensao);
+ printf("Lista ordenada:\n");
+ mostraVetor(lista, dimensao);
+ i = pesquisaBinaria(lista, dimensao, pesquisado);
+ if(i != -1)
+ printf("Encontrei na posicao %d\n", i);
+ else
+ printf("Nao encontrado\n");
+
+ return 0;
+
+
+
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Lista_02_Estruturas.pdf b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Lista_02_Estruturas.pdf
new file mode 100644
index 00000000..6c63b790
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Lista_02_Estruturas.pdf differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_01/.gitignore b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_01/.gitignore
new file mode 100644
index 00000000..3df573fe
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_01/.gitignore
@@ -0,0 +1 @@
+/Debug/
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_01/candidato.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_01/candidato.c
new file mode 100644
index 00000000..85eb0cea
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_01/candidato.c
@@ -0,0 +1,91 @@
+#include
+#include
+#include
+#include "candidato.h"
+
+
+void lerLista(Candidato *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("Candidato %d\n", i);
+ lerCandidato(ptr+i);
+ }
+
+}
+void mostraLista(Candidato *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("\n-----------------------------\n");
+ printf("Candidato %d\n", i);
+ mostraCandidato(ptr+i);
+ printf("\n-----------------------------\n");
+
+ }
+
+
+}
+void lerCandidato(Candidato *ptr){
+ printf("Digite o nome:\n");
+ scanf("%s", ptr->nome);
+ printf("Digite a idade:\n");
+ scanf("%d", &ptr->idade);
+ printf("Digite o Sexo M ou F:\n");
+ getchar();
+ scanf("%c", &ptr->sexo);
+ printf("Experiencia S ou N:\n");
+ getchar();
+ scanf("%c", &ptr->experiente);
+
+}
+
+void mostraCandidato(Candidato *ptr){
+ printf("Nome: %s\n", ptr->nome);
+ printf("Sexo: %c\n", ptr->sexo);
+ printf("Idade:%d\n", ptr->idade);
+ printf("Experiencia:%c\n", ptr->experiente);
+
+}
+void relatorios(Candidato *ptr, int dimensao){
+ int i, novinhasExperientes;
+ int totalFeminino,totalMasculino, totalHomensVelhos, homensExperientes;
+ float percentualHomensVelhos, mediaIdadeExperientes;
+
+ totalHomensVelhos = 0;
+ totalMasculino = 0;
+ totalFeminino = 0;
+ homensExperientes = 0;
+ novinhasExperientes = 0;
+ mediaIdadeExperientes = 0;
+ percentualHomensVelhos = 0;
+ for(i = 0; i < dimensao; i++){
+ if((ptr+i)->sexo == 'M'){
+ totalMasculino++;
+ if((ptr+i)->idade > 45){
+ totalHomensVelhos++;
+ }
+ if((ptr+i)->experiente == 'S'){
+ mediaIdadeExperientes += (ptr+i)->idade;
+ homensExperientes++;
+ }
+
+
+ }
+ else if((ptr+i)->sexo == 'F'){
+ totalFeminino++;
+ if((ptr+i)->idade < 35 && (ptr+i)->experiente == 'S'){
+ novinhasExperientes++;
+ }
+ }
+ }
+ if(homensExperientes)
+ mediaIdadeExperientes = (float)mediaIdadeExperientes/(float)homensExperientes;
+ if(totalMasculino)
+ percentualHomensVelhos = (float)totalHomensVelhos/(float)totalMasculino*100;
+ printf("%d candidatos do sexo feminino e %d candidatos do sexo masculino.\n", totalFeminino, totalMasculino);
+ printf("Percentual de homens com mais de 45 anos: %.2f %%\n", percentualHomensVelhos);
+ printf("Idade media dos homens experientes: %.2f \n", mediaIdadeExperientes);
+ printf("Mulheres com menos de 35 experientes: %d \n", novinhasExperientes);
+
+}
+
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_01/candidato.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_01/candidato.h
new file mode 100644
index 00000000..150b9d95
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_01/candidato.h
@@ -0,0 +1,18 @@
+#ifndef CANDIDATO_H
+#define CANDIDATO_H
+typedef struct candidato{
+ char nome[100];
+ char sexo;
+ int idade;
+ char experiente;
+}Candidato;
+
+
+
+void lerLista(Candidato *ptr, int dimensao);
+void mostraLista(Candidato *ptr, int dimensao);
+void lerCandidato(Candidato *ptr);
+void mostraCandidato(Candidato *ptr);
+void relatorios(Candidato *ptr, int dimensao);
+
+#endif // CANDIDATO_H_INCLUDED
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_01/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_01/main.c
new file mode 100644
index 00000000..73a07470
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_01/main.c
@@ -0,0 +1,25 @@
+#include
+#include
+#include
+#include "candidato.h"
+
+
+int main(void) {
+
+ int dimensao, comando;
+ Candidato *listaDeCandidatos;
+ printf("Digite a dimensao:\n");
+ scanf("%d", &dimensao);
+
+ listaDeCandidatos = (Candidato*)malloc(sizeof(Candidato)*dimensao);
+ if(listaDeCandidatos == NULL){
+ printf("Momria insuficiente.");
+ return 0;
+ }
+ lerLista(listaDeCandidatos, dimensao);
+ mostraLista(listaDeCandidatos, dimensao);
+
+ relatorios(listaDeCandidatos, dimensao);
+
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_02/funcionario.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_02/funcionario.c
new file mode 100644
index 00000000..f651b6bf
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_02/funcionario.c
@@ -0,0 +1,72 @@
+#include
+#include
+#include "funcionario.h"
+
+
+
+void lerLista(Funcionario *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("Funcionario %d\n", i);
+ lerFuncionario(ptr+i);
+ }
+
+}
+void mostraLista(Funcionario *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("\n-----------------------------\n");
+ printf("Funcionario %d\n", i);
+ mostraFuncionario(ptr+i);
+ printf("\n-----------------------------\n");
+
+ }
+
+
+}
+void lerFuncionario(Funcionario *ptr){
+ printf("Digite o nome:\n");
+ scanf("%s", ptr->nome);
+ printf("Digite a producao:\n");
+ scanf("%d", &ptr->producao);
+ printf("Digite o Sexo M ou F:\n");
+ getchar();
+ scanf("%c", &ptr->sexo);
+
+}
+
+void mostraFuncionario(Funcionario *ptr){
+ printf("Nome: %s\n", ptr->nome);
+ printf("Sexo: %c\n", ptr->sexo);
+ printf("Producao:%d\n", ptr->producao);
+}
+void relatorios(Funcionario *ptr, int dimensao){
+ int i, producaoTotal, producaoMasculina, producaoFeminina, maiorProducao;
+ char *nomeDoCampeao;
+
+ maiorProducao = 0;
+ producaoFeminina = 0;
+ producaoMasculina = 0;
+ producaoTotal = 0;
+ for(i = 0; i < dimensao; i++){
+ producaoTotal += (ptr+i)->producao;
+ if(maiorProducao < (ptr+i)->producao){
+ maiorProducao = (ptr+i)->producao;
+ nomeDoCampeao = (ptr+i)->nome;
+ }
+ if((ptr+i)->sexo == 'M')
+ {
+ producaoMasculina += (ptr+i)->producao;
+ }
+ else if((ptr+i)->sexo == 'F'){
+
+ producaoFeminina += (ptr+i)->producao;
+
+ }
+ }
+ printf("Producao total: %d, producao masculina: %d, producao feminina: %d\n", producaoTotal, producaoMasculina, producaoFeminina);
+ printf("Campeao de producao foi %s com %d pecas produzidas\n", nomeDoCampeao, maiorProducao);
+
+
+}
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_02/funcionario.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_02/funcionario.h
new file mode 100644
index 00000000..49dd47f9
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_02/funcionario.h
@@ -0,0 +1,19 @@
+#ifndef FUNCIONARIO_H
+#define FUNCIONARIO_H
+
+typedef struct funcionario{
+ char nome[100];
+ char sexo;
+ int producao;
+
+}Funcionario;
+
+
+void lerLista(Funcionario *ptr, int dimensao);
+void mostraLista(Funcionario *ptr, int dimensao);
+void lerFuncionario(Funcionario *ptr);
+void mostraFuncionario(Funcionario *ptr);
+void relatorios(Funcionario *ptr, int dimensao);
+
+
+#endif // FUNCIONARIO_H_INCLUDED
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_02/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_02/main.c
new file mode 100644
index 00000000..8bcb53b4
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_02/main.c
@@ -0,0 +1,22 @@
+#include
+#include
+#include
+#include "funcionario.h"
+
+int main(void) {
+
+ int dimensao, comando;
+ Funcionario *listaDeFuncionarios;
+ printf("Digite a dimensao:\n");
+ scanf("%d", &dimensao);
+
+ listaDeFuncionarios = (Funcionario*)malloc(sizeof(Funcionario)*dimensao);
+ if(listaDeFuncionarios == NULL){
+ printf("Momria insuficiente.");
+ return 0;
+ }
+ lerLista(listaDeFuncionarios, dimensao);
+ mostraLista(listaDeFuncionarios, dimensao);
+ relatorios(listaDeFuncionarios, dimensao);
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_03/feriado.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_03/feriado.c
new file mode 100644
index 00000000..c96822b5
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_03/feriado.c
@@ -0,0 +1,60 @@
+#include
+#include
+
+#include "feriado.h"
+
+
+void lerLista(Feriado *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("Respostas motorista %d\n", i);
+ lerFeriado(ptr+i);
+ }
+
+}
+
+void lerFeriado(Feriado *ptr){
+ printf("Qual o seu destino? \n");
+ printf("1- Camocim,\n");
+ printf("2- Morro Branco,\n");
+ printf("3- Aracati,\n");
+ printf("4-Guaramiranga e 5- Outros Locais;\n");
+ scanf("%d", &ptr->destino);
+ printf("Qual o veculo? \n");
+ printf("1- Automvel, 2- Caminho, 3- nibus e 4-Outros Veculos");
+ scanf("%d", &ptr->veiculo);
+
+
+}
+
+void relatorio(Feriado *ptr, int dimensao){
+ int i, totalDeCaminhoes, caminhouesPraCamocim, totalDeOnibus, totalDeVeiculos;
+ int destinoAracati = 0;
+ float auxiliar = 0;
+ totalDeCaminhoes = 0;
+ totalDeOnibus = 0;
+ totalDeVeiculos = 0;
+ caminhouesPraCamocim = 0;
+
+ for(i = 0; i < dimensao; i++){
+ totalDeVeiculos++;
+ if((ptr+i)->destino == ARACATI && (ptr+i)->veiculo == AUTOMOVEL)
+ destinoAracati++;
+ if((ptr+i)->veiculo == CAMINHAO && (ptr+i)->destino == CAMOCIM){
+ caminhouesPraCamocim++;
+ }
+ if((ptr+i)->veiculo == ONIBUS)
+ totalDeOnibus++;
+ }
+
+ printf("\n\nTotal de automoveis com destino a aracati: %d\n", destinoAracati);
+ auxiliar = 0;
+
+ if(totalDeVeiculos)
+ auxiliar = (float)caminhouesPraCamocim/(float)totalDeVeiculos*100;
+ printf("Percentual de caminhoues com destino a camocim em relacao ao total de veiculos: %.2f\n", auxiliar);
+ auxiliar = 0;
+ if(totalDeVeiculos)
+ auxiliar = (float)totalDeOnibus/(float)totalDeVeiculos*100;
+ printf("A porcentagem de nibus que trafegam pela rodovia:%.2f\n", auxiliar);
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_03/feriado.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_03/feriado.h
new file mode 100644
index 00000000..7d992173
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_03/feriado.h
@@ -0,0 +1,27 @@
+#ifndef FERIADO_H
+#define FERIADO_H
+
+
+#define CAMOCIM 1
+#define MORRO_BRANCO 2
+#define ARACATI 3
+#define GUARAMIRANGA 4
+#define OUTROS_LOCAIS 5
+
+#define AUTOMOVEL 1
+#define CAMINHAO 2
+#define ONIBUS 3
+#define OUTRO_VEICULO 4
+
+
+typedef struct feriado{
+ int destino;
+ int veiculo;
+}Feriado;
+
+
+void lerLista(Feriado *ptr, int dimensao);
+void lerFeriado(Feriado *ptr);
+void relatorio(Feriado *ptr, int dimensao);
+
+#endif // FERIADO_H_INCLUDED
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_03/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_03/main.c
new file mode 100644
index 00000000..63fba7e2
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_03/main.c
@@ -0,0 +1,21 @@
+#include
+#include
+#include "feriado.h"
+
+
+int main()
+{
+ int dimensao;
+ Feriado *listaDeRespostas;
+ printf("Digite a dimensao:\n");
+ scanf("%d", &dimensao);
+
+ listaDeRespostas = (Feriado*)malloc(sizeof(Feriado)*dimensao);
+ if(listaDeRespostas == NULL){
+ printf("Momria insuficiente.");
+ return 0;
+ }
+ lerLista(listaDeRespostas, dimensao);
+ relatorio(listaDeRespostas, dimensao);
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_04/caixa.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_04/caixa.c
new file mode 100644
index 00000000..3ab5d0f9
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_04/caixa.c
@@ -0,0 +1,132 @@
+#include
+#include
+#include "caixa.h"
+
+
+
+void lerCaixa(Caixa *ptr){
+ printf("Digite a situacao:(x-Ocupado, *-apagado)\n");
+ getchar();
+ scanf("%c", &ptr->situacao);
+ printf("Digite a data:(Dia mes ano)\n");
+ scanf("%d", &ptr->data.dia);
+ scanf("%d", &ptr->data.mes);
+ scanf("%d", &ptr->data.ano);
+ printf("Digite o tipo de lancamento:(D-Despesa e R-Receita)\n");
+ getchar();
+ scanf("%c", &ptr->tipo);
+ printf("Digite o valor:(R$)\n ");
+ scanf("%f", &ptr->valor);
+}
+void mostraLista(Caixa *ptr, int dimensao){
+
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("\n------------------------\n");
+ printf("Caixa %d\n", i);
+ mostrarCaixa(ptr+i);
+ printf("\n------------------------\n");
+ }
+}
+int recordVector(const char *filename, Caixa *ptr, int dim){
+
+ FILE *output;
+
+ if((output = fopen(filename, "ab")) == NULL){
+ return FALSE;
+ }
+ fwrite((Caixa *)ptr, sizeof(Caixa), dim, output);
+ fclose(output);
+ return TRUE;
+
+}
+
+
+
+void mostrarCaixa(Caixa *ptr){
+
+ printf("Situao: %c\n", ptr->situacao);
+ printf("Data %d/%d/%d\n", ptr->data.dia, ptr->data.mes, ptr->data.ano);
+
+
+}
+int retornaDimensao(const char *filename) {
+ char ch;
+ int i = 0;
+
+ FILE *fd;
+
+ if ((fd = fopen(filename, "rb")) == NULL) {
+ printf("O arquivo no pode ser aberto");
+
+ return 0;
+ }
+ while (!feof(fd)) {
+ ch = getc(fd);
+ i++;
+ }
+ fclose(fd);
+ return i/sizeof(Caixa);
+
+}
+int loadVector(const char *filename, Caixa *ptr, int dim){
+
+ FILE *input;
+
+ if((input = fopen(filename, "rb")) == NULL){
+ return FALSE;
+ }
+
+ fread((Caixa *)ptr, sizeof(Caixa), dim, input);
+ fclose(input);
+
+ return TRUE;
+
+}
+void lerLista(Caixa *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("Ler caixa %d:\n", i);
+ lerCaixa(ptr+i);
+ }
+}
+void relatorio(Caixa *ptr, int dimensao){
+ int i;
+ int despesasJaneiro = 0;
+ float saldo = 0;
+ float valor = 0;
+ float valorReceita = 0;
+ float valorDespesa = 0;
+ float valorAno = 0;
+ float despesas = 0;
+ float receitas = 0;
+
+
+ for(i = 0; i < dimensao; i++){
+ if((ptr+i)->data.mes <= 3 && (ptr+i)->data.ano <= 2005){
+ if((ptr+i)->tipo == 'D')
+ despesas += (ptr+i)->valor;
+ if((ptr+i)->tipo == 'R')
+ receitas += (ptr+i)->valor;
+
+ }
+
+ if((ptr+i)->data.ano == 2005){
+ if((ptr+i)->tipo == 'R')
+ valorReceita += (ptr+i)->valor;
+ if((ptr+i)->tipo == 'D'){
+ valorDespesa += (ptr+i)->valor;
+ if((ptr+i)->data.mes == 1)
+ despesasJaneiro++;
+
+ }
+ }
+ }
+ valor = receitas - despesas;
+ printf("A quantidade de lanamentos do tipo despesa realizados no ms de janeiro de 2005: %d\n",despesasJaneiro);
+ printf("A soma dos lanamentos de despesa %.2f, de receita %.2f realizados no ano de 2005\n", valorDespesa, valorReceita);
+ printf("Saldo de janeiro de 2005: %.2f\n", valor);
+
+
+}
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_04/caixa.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_04/caixa.h
new file mode 100644
index 00000000..e64e51a5
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_04/caixa.h
@@ -0,0 +1,31 @@
+#ifndef CAIXA_H_INCLUDED
+#define CAIXA_H_INCLUDED
+#define FALSE 0
+#define TRUE !FALSE
+
+typedef struct data{
+ int dia;
+ int mes;
+ int ano;
+
+}Data;
+
+
+typedef struct caixa{
+ char situacao;
+ Data data;
+ char tipo;//Despesa D, Receita R
+ float valor;
+}Caixa;
+
+
+
+void lerCaixa(Caixa *ptr);
+void mostraLista(Caixa *ptr, int dimensao);
+void mostrarCaixa(Caixa *ptr);
+void lerLista(Caixa *ptr, int dimensao);
+void relatorio(Caixa *ptr, int dimensao);
+int retornaDimensao(const char *filename);
+int loadVector(const char *filename, Caixa *ptr, int dim);
+int recordVector(const char *filename, Caixa *ptr, int dim);
+#endif // CAIXA_H_INCLUDED
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_04/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_04/main.c
new file mode 100644
index 00000000..59b5bd3e
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_04/main.c
@@ -0,0 +1,95 @@
+#include
+#include
+#include "caixa.h"
+
+
+int main()
+{
+ int listaCarregada = FALSE;
+ int comando;
+ int dimensao;
+ char filename[35];
+ Caixa *lista;
+
+ do{
+ if(!listaCarregada){
+ printf("\n\n-----Pesquisa Pato branco------\n\n");
+ printf("Digite 0 para sair \n1 para nova lista\n2 para abrir arquivo\n");
+ scanf("%d", &comando);
+ switch(comando){
+ case 1:
+ printf("Digite a dimensao:\n");
+ scanf("%d", &dimensao);
+ lista = malloc(sizeof(Caixa)*dimensao);
+ if(lista == NULL){
+ printf("Erro na tentativa de alocar\n");
+ continue;
+ }
+ listaCarregada = TRUE;
+ lerLista(lista, dimensao);
+ break;
+ case 2:
+ printf("Digite o nome do arquivo:\n");
+ scanf("%s", filename);
+ dimensao = retornaDimensao(filename);
+ lista = malloc(sizeof(Caixa)*dimensao);
+ if(lista == NULL){
+ printf("Erro na tentativa de alocar\n");
+ continue;
+ }
+ if(!loadVector(filename, lista, dimensao)){
+ printf("Erro na tentativa de abrir arquivo\n");
+ continue;
+ }
+ listaCarregada = TRUE;
+ break;
+ default:
+ printf("Comando nao localizado\n");
+ continue;
+ break;
+ }
+ }else
+ {
+
+ printf("Digite 0 para encerrar\n");
+ printf("1 para exibir a lista\n");
+ printf("2 para exibir o relatorio\n");
+ printf("3 para gravar em arquivo\n");
+ printf("4 para fechar a lista e voltar ao menu principal\n");
+ scanf("%d", &comando);
+ switch(comando){
+
+ case 1:
+ mostraLista(lista, dimensao);
+
+ break;
+ case 2:
+ relatorio(lista, dimensao);
+ break;
+ case 3:
+ printf("Digite o nome do arquivo:\n");
+ scanf("%s",filename);
+ if(recordVector(filename, lista, dimensao))
+ printf("Arquivo salvo com sucesso\n");
+ else
+ printf("Erro ao tentar abrir arquivo\n");
+
+ break;
+ case 4:
+ listaCarregada = FALSE;
+ free(lista);
+ dimensao = 0;
+ break;
+ default:
+ printf("Comando nao localizado\n");
+ continue;
+ break;
+
+ }
+
+ }
+ }while(comando);
+ printf("\n\nAdeus!\n\n");
+
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_05/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_05/main.c
new file mode 100644
index 00000000..f6454a3d
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_05/main.c
@@ -0,0 +1,98 @@
+#include
+#include
+
+#include "renda.h"
+
+
+
+
+int main()
+{
+ int listaCarregada = FALSE;
+ int comando;
+ int dimensao;
+ char filename[35];
+ Renda *listaDeRendas;
+
+ do{
+ if(!listaCarregada){
+ printf("\n\n-----Pesquisa Pato branco------\n\n");
+ printf("Digite 0 para sair \n1 para nova lista\n2 para abrir arquivo\n");
+ scanf("%d", &comando);
+ switch(comando){
+ case 1:
+ printf("Digite a dimensao:\n");
+ scanf("%d", &dimensao);
+ listaDeRendas = malloc(sizeof(Renda)*dimensao);
+ if(listaDeRendas == NULL){
+ printf("Erro na tentativa de alocar\n");
+ continue;
+ }
+ listaCarregada = TRUE;
+ lerLista(listaDeRendas, dimensao);
+ break;
+ case 2:
+ printf("Digite o nome do arquivo:\n");
+ scanf("%s", filename);
+ dimensao = retornaDimensao(filename);
+ listaDeRendas = malloc(sizeof(Renda)*dimensao);
+ if(listaDeRendas == NULL){
+ printf("Erro na tentativa de alocar\n");
+ continue;
+ }
+ if(!loadVector(filename, listaDeRendas, dimensao)){
+ printf("Erro na tentativa de abrir arquivo\n");
+ continue;
+ }
+ listaCarregada = TRUE;
+ break;
+ default:
+ printf("Comando nao localizado\n");
+ continue;
+ break;
+ }
+ }else
+ {
+
+ printf("Digite 0 para encerrar\n");
+ printf("1 para exibir a lista\n");
+ printf("2 para exibir o relatorio\n");
+ printf("3 para gravar em arquivo\n");
+ printf("4 para fechar a lista e voltar ao menu principal\n");
+ scanf("%d", &comando);
+ switch(comando){
+
+ case 1:
+ mostraLista(listaDeRendas, dimensao);
+
+ break;
+ case 2:
+ relatorio(listaDeRendas, dimensao);
+ break;
+ case 3:
+ printf("Digite o nome do arquivo:\n");
+ scanf("%s",filename);
+ if(recordVector(filename, listaDeRendas, dimensao))
+ printf("Arquivo salvo com sucesso\n");
+ else
+ printf("Erro ao tentar abrir arquivo\n");
+
+ break;
+ case 4:
+ listaCarregada = FALSE;
+ free(listaDeRendas);
+ dimensao = 0;
+ break;
+ default:
+ printf("Comando nao localizado\n");
+ continue;
+ break;
+
+ }
+
+ }
+ }while(comando);
+ printf("\n\nAdeus!\n\n");
+
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_05/renda.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_05/renda.c
new file mode 100644
index 00000000..bd15f351
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_05/renda.c
@@ -0,0 +1,147 @@
+#include
+#include
+#include "renda.h"
+
+int recordVector(const char *filename, Renda *ptr, int dim){
+
+ FILE *output;
+
+ if((output = fopen(filename, "ab")) == NULL){
+ return FALSE;
+ }
+ fwrite((Renda *)ptr, sizeof(Renda), dim, output);
+ fclose(output);
+ return TRUE;
+
+}
+
+
+
+
+void lerLista(Renda *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("Ler renda %d\n", i);
+ lerRenda(ptr+i);
+ }
+}
+void mostraLista(Renda *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("\n------------------------\n");
+ printf("Renda %d\n", i);
+ mostrarRenda(ptr+i);
+ printf("\n------------------------\n");
+ }
+
+}
+
+void lerRenda(Renda *ptr){
+ printf("Digite o sexo M ou F:\n");
+ getchar();
+ scanf("%c", &ptr->sexo);
+ printf("Estado Civil: 0- solteiro, 1- casado, 2- vivo e 3- divorciado:\n:");
+ scanf("%d", &ptr->estadoCivil);
+ printf("Idade em anos:\n");
+ scanf("%d", &ptr->idade);
+ printf("Renda Anual (R$):\n");
+ scanf("%f", &ptr->rendaAnual);
+}
+void mostrarRenda(Renda *ptr){
+ printf("Sexo: %c\n", ptr->sexo);
+ printf("Estado civil: ");
+ switch(ptr->estadoCivil){
+ case SOLTEIRO:
+ printf("Solteiro\n");
+ break;
+ case CASADO:
+ printf("Casado\n");
+ break;
+ case VIUVO:
+ printf("Viuvo\n");
+ break;
+ case DIVORCIADO:
+ printf("Divorciado\n");
+ break;
+ default:
+ printf("\n");
+ break;
+ }
+ printf("Idade: %d\n",ptr->idade);
+ printf("Renda: %.2f\n", ptr->rendaAnual);
+}
+
+
+void relatorio(Renda *ptr, int dimensao){
+ int i, homens, mulheres, solteiras, divorciados, aux;
+ homens = 0;
+ mulheres = 0;
+ solteiras = 0;
+ divorciados = 0;
+ float percentualDivorciados = 0;
+ aux = 0;
+ float media = 0;
+ for(i = 0; i < dimensao; i++){
+ if(ptr->sexo == 'M'){
+ homens++;
+ if(ptr->estadoCivil == DIVORCIADO)
+ divorciados++;
+ }
+ else if(ptr->sexo == 'F'){
+ mulheres++;
+ if(ptr->estadoCivil == SOLTEIRO)
+ solteiras++;
+ else if(ptr->estadoCivil == CASADO && ptr->idade >= 20 & ptr->idade <= 40){
+ media += ptr->rendaAnual;
+ aux++;
+ }
+ }
+
+
+ }
+
+ if(aux)
+ media = (float)media/(float)aux;
+
+ printf("Quantidade de entrevistados %d, %d do sexo feminino e %d do sexo masculino.\n", homens+mulheres, mulheres, homens);
+ printf("Mulheres solteiras: %d.\n", solteiras);
+ if(homens)
+ percentualDivorciados = (float)divorciados/(float)homens*100;
+ printf("A porcentagem dos homens divorciados em relao ao total de homens %.2f.\n", percentualDivorciados);
+ printf("A renda anual mdia das mulheres casadas com idade entre 20 e 40 an os (inclusive) %.2f\n", media);
+
+}
+
+int retornaDimensao(const char *filename) {
+ char ch;
+ int i = 0;
+
+ FILE *fd;
+
+ if ((fd = fopen(filename, "rb")) == NULL) {
+ printf("O arquivo no pode ser aberto");
+
+ return 0;
+ }
+ while (!feof(fd)) {
+ ch = getc(fd);
+ i++;
+ }
+ fclose(fd);
+ return i/sizeof(Renda);
+}
+
+int loadVector(const char *filename, Renda *ptr, int dim){
+
+ FILE *input;
+
+ if((input = fopen(filename, "rb")) == NULL){
+ return FALSE;
+ }
+
+ fread((Renda *)ptr, sizeof(Renda), dim, input);
+ fclose(input);
+
+ return TRUE;
+
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_05/renda.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_05/renda.h
new file mode 100644
index 00000000..edd5d374
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_02_Estruturas/Q_05/renda.h
@@ -0,0 +1,29 @@
+#ifndef RENDA_H_INCLUDED
+#define RENDA_H_INCLUDED
+
+#define FALSE 0
+#define TRUE !FALSE
+
+#define SOLTEIRO 0
+#define CASADO 1
+#define VIUVO 2
+#define DIVORCIADO 3
+
+
+typedef struct renda{
+ char sexo;
+ int estadoCivil;
+ int idade;
+ float rendaAnual;
+}Renda;
+
+int retornaDimensao(const char *filename);
+int recordVector(const char *filename, Renda *ptr, int dim);
+int loadVector(const char *filename, Renda *ptr, int dim);
+void lerLista(Renda *ptr, int dimensao);
+void mostraLista(Renda *ptr, int dimensao);
+void lerRenda(Renda *ptr);
+void mostrarRenda(Renda *ptr);
+void relatorio(Renda *ptr, int dimensao);
+
+#endif // RENDA_H_INCLUDED
diff --git "a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_03_Ordenacao/Lista_03_-_Ordena\303\247\303\243o.pdf" "b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_03_Ordenacao/Lista_03_-_Ordena\303\247\303\243o.pdf"
new file mode 100644
index 00000000..933827b5
Binary files /dev/null and "b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_03_Ordenacao/Lista_03_-_Ordena\303\247\303\243o.pdf" differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_03_Ordenacao/src/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_03_Ordenacao/src/main.c
new file mode 100644
index 00000000..554c9d6c
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_03_Ordenacao/src/main.c
@@ -0,0 +1,196 @@
+#include
+#include
+#define DIMENSAO 10
+
+
+
+void readVector(int *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("Digite o elemento %d:\n", i);
+ scanf("%d", (ptr+i));
+ }
+
+}
+void showVector(int *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("[%d]:%d \n", i, *(ptr+i));
+ }
+}
+
+
+
+
+void bubbleSort(int *lista, int dimensao){
+ int i, j, aux;
+ for(i = dimensao-1; i >= 1; i--){
+ for(j = 0; j < i;j++){
+ if(lista[j]> lista[j+1]){
+ aux = lista[j];
+ lista[j] = lista[j+1];
+ lista[j+1] = aux;
+ }
+ }
+
+ }
+}
+
+void selectionSort(int *lista, int dimensao){
+ int i, j, menor, aux;
+ for (i = 0; i < (dimensao-1); i++)
+ {
+ menor = i;
+ for (j = (i+1); j < dimensao; j++) {
+ if(lista[j] < lista[menor])
+ menor = j;
+ }
+ if (i != menor) {
+ aux = lista[i];
+ lista[i] = lista[menor];
+ lista[menor] = aux;
+ }
+ }
+
+}
+void insertionSort(int *lista, int tamanho)
+{
+ int i, j, atual;
+ for (i = 0; i < tamanho; i++)
+ {
+ atual = *(lista+i);
+ j = i - 1;
+
+ while ((j >= 0) && (atual < lista[j]))
+ {
+ lista[j + 1] = lista[j];
+ j = j - 1;
+ }
+
+ lista[j + 1] = atual;
+ }
+}
+
+
+
+ void outroQickSort(int* array,int total){
+ int esquerda[total];
+ int direita[total];
+ int meio;
+ int id, ie;
+ int i, j;
+ if(total==1){
+ return;
+ }
+
+
+ meio=(int)total/2;
+
+ id=0;
+ ie=0;
+ for (i = 0;i x ){
+ j--;
+ }
+ while( lista[i] < x ){
+ i++;
+ }
+ if (i < j)
+ {
+ aux = lista[i];
+ lista[i] = lista[j];
+ lista[j] = aux;
+ }
+ else
+ {
+ pivot = j;
+ break;
+ }
+ }while(1);
+ quickSort( lista, esquerda, pivot);
+ quickSort(lista, pivot+1, direita);
+ }
+}
+
+void loadVector(int *lista, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ lista[i] = i-(2*i)+300;
+
+ }
+}
+
+int main()
+{
+
+ int lista[DIMENSAO];
+ int comando;
+ printf("Alimente o vetor:\n\n");
+ //readVector(lista, DIMENSAO);
+ loadVector(lista, DIMENSAO);
+ showVector(lista, DIMENSAO);
+
+ do{
+
+ printf("Selecione o tipo de ordenacao desejada: \n");
+ printf("1 - Bubble Sort;");
+ printf("2 - Insertion Sort;");
+ printf("3 - Selection Sort;");
+ printf("4 - QuickSort Sort");
+ scanf("%d", &comando);
+
+ switch(comando){
+ case 1:
+ bubbleSort(lista, DIMENSAO);
+ break;
+ case 2:
+ insertionSort(lista, DIMENSAO);
+ break;
+ case 3:
+ selectionSort(lista, DIMENSAO);
+ break;
+ case 4:
+ quickSort(lista, 0, DIMENSAO-1);
+ break;
+ default:
+ printf("Comando nao encontrado.");
+ break;
+ }
+ printf("Depois da ordenacao:\n");
+ showVector(lista, DIMENSAO);
+ }while(comando);
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_04_Ponteiros/.gitignore b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_04_Ponteiros/.gitignore
new file mode 100644
index 00000000..3df573fe
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_04_Ponteiros/.gitignore
@@ -0,0 +1 @@
+/Debug/
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_04_Ponteiros/Lista_04_-_Ponteiros.pdf b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_04_Ponteiros/Lista_04_-_Ponteiros.pdf
new file mode 100644
index 00000000..889db102
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_04_Ponteiros/Lista_04_-_Ponteiros.pdf differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_04_Ponteiros/src/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_04_Ponteiros/src/main.c
new file mode 100644
index 00000000..db6891bb
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_04_Ponteiros/src/main.c
@@ -0,0 +1,185 @@
+#include
+#include
+
+
+typedef struct box{
+ char conteudo;
+ struct box *proximo;
+
+}Box;
+
+
+Box* inserir_inicio(Box* lista, char conteudo){
+ Box* novo = (Box*)malloc(sizeof(Box));
+ novo->conteudo = conteudo;
+ novo->proximo = lista;
+ return novo;
+}
+void box_listar(Box* lista){
+ Box *p;
+ printf("\n\n-----------Listando-----------\n\n");
+ for(p = lista; p != NULL; p = p->proximo){
+ printf("Conteudo: %c\n", p->conteudo);
+ }
+}
+void inserir_final(Box *lista, char conteudo){
+ Box *p = lista;
+
+ for(p = lista; p->proximo != NULL; p = p->proximo){
+ }
+ p->proximo = (Box*)malloc(sizeof(Box));
+ p->proximo->proximo = NULL;
+ p->proximo->conteudo = conteudo;
+}
+void insere_entre_dois(Box*lista, char primeiro, char proximo, char conteudo){
+ Box*novo;
+
+ Box *p = lista;
+ for(p = lista; p != NULL; p = p->proximo){
+ if(p->proximo == NULL)
+ break;
+ if(p->conteudo == primeiro && p->proximo->conteudo == proximo)
+ {
+
+ novo = (Box*)malloc(sizeof(Box));
+ novo->proximo = p->proximo;
+ novo->conteudo = conteudo;
+ p->proximo = novo;
+
+ }
+
+ }
+}
+
+void eliminar_por_busca(Box*lista, char conteudo){
+ Box*anterior;
+ Box *p;
+
+ anterior = lista;
+ for(p = anterior->proximo; p != NULL; p = p->proximo){
+ if(anterior == NULL)
+ break;
+ if(p->conteudo == conteudo)
+ {
+ anterior->proximo = p->proximo;
+ free(p);
+
+ }
+
+ }
+}
+
+Box* eliminar(Box*lista, char conteudo){
+ Box *p, *anterior, excluido;
+ anterior = lista;
+ if(anterior->conteudo == conteudo){
+ p = anterior->proximo;
+ free(anterior);
+ return p;
+ }
+
+ for(p = anterior->proximo; p != NULL; p = p->proximo){
+ if(p->conteudo == conteudo){
+ anterior->proximo = p->proximo;
+ free(p);
+ return lista;
+ }
+ anterior = anterior->proximo;
+
+ }
+ return lista;
+}
+Box* excluir_primeiro(Box*lista){
+ Box*excluido;
+ excluido = lista;
+ lista = lista->proximo;
+ free(excluido);
+ return lista;
+}
+void eliminar_final(Box *lista){
+ Box *p = lista;
+ Box *anterior;
+ for(p = lista; p->proximo != NULL; p = p->proximo){
+ anterior = p;
+ }
+ anterior->proximo = NULL;
+ free(p);
+}
+
+
+int main()
+{
+ char letra;
+ Box *lista = NULL;
+
+
+ lista = inserir_inicio(lista, 'c');
+ //1
+ inserir_final(lista, 'A');
+ box_listar(lista);
+ //2
+ lista = inserir_inicio(lista, 'B');
+ box_listar(lista);
+ //3
+ inserir_final(lista, 'C');
+ box_listar(lista);
+ //4
+ inserir_final(lista, 'D');
+ box_listar(lista);
+
+ //5
+ insere_entre_dois(lista, 'A', 'C', 'E');
+ box_listar(lista);
+
+ //6
+ lista = eliminar(lista, 'C');
+ box_listar(lista);
+
+ //7
+ inserir_final(lista, 'F');
+ box_listar(lista);
+
+ //8
+ lista = inserir_inicio(lista, 'G');
+ box_listar(lista);
+
+ //9
+ eliminar_final(lista);
+ lista = excluir_primeiro(lista);
+ box_listar(lista);
+
+ //10
+ insere_entre_dois(lista, 'A', 'E', 'H');
+ box_listar(lista);
+ //11
+ lista = eliminar(lista, 'a');
+ box_listar(lista);
+ //12
+ insere_entre_dois(lista, 'E', 'D', 'I');
+ box_listar(lista);
+
+ //13
+ inserir_final(lista, 'J');
+ box_listar(lista);
+ //14
+ insere_entre_dois(lista, 'B', 'H', 'K');
+ box_listar(lista);
+ //15
+ lista = eliminar(lista, 'D');
+ lista = eliminar(lista, 'K');
+ lista = eliminar(lista, 'I');
+ lista = eliminar(lista, 'B');
+
+ box_listar(lista);
+ //16
+ inserir_final(lista, 'L');
+ box_listar(lista);
+
+
+
+
+
+ box_listar(lista);
+
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_05_Pilhas/Lista_05_-_Pilhas.pdf b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_05_Pilhas/Lista_05_-_Pilhas.pdf
new file mode 100644
index 00000000..4a0186be
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_05_Pilhas/Lista_05_-_Pilhas.pdf differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_05_Pilhas/src/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_05_Pilhas/src/main.c
new file mode 100644
index 00000000..3e94921f
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_05_Pilhas/src/main.c
@@ -0,0 +1,30 @@
+#include
+#include
+#include
+#include "no.h"
+
+int main()
+{
+ No*lista = NULL;
+ char palavra[100] = "4*1-10+4*4";
+
+ printf("Equacao: %s\n", palavra);
+ lista = strEmpilhar(palavra);
+ lista = resolvePilha(lista);
+ boxListar(lista);
+
+ printf("Digite a equao:\n");
+ scanf("%s", palavra);
+ printf("Equacao: %s\n", palavra);
+ free(lista);
+ lista = NULL;
+ lista = strEmpilhar(palavra);
+ lista = resolvePilha(lista);
+ boxListar(lista);
+ free(lista);
+ lista = NULL;
+ return 0;
+}
+
+
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_05_Pilhas/src/no.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_05_Pilhas/src/no.c
new file mode 100644
index 00000000..f60aab77
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_05_Pilhas/src/no.c
@@ -0,0 +1,131 @@
+#include
+#include
+#include
+#include
+#include "no.h"
+
+
+No* inserirInicio(No* lista, char conteudo){
+ No* novo = (No*)malloc(sizeof(No));
+ novo->operador = conteudo;
+ novo->proximo = lista;
+ return novo;
+}
+
+
+No* inserirNumero(No* lista, int conteudo){
+ No* novo = (No*)malloc(sizeof(No));
+ novo->operador = '_';
+ novo->numero = conteudo;
+ novo->proximo = lista;
+ return novo;
+}
+
+void noPrint(No*no){
+
+ if(no->operador == '_'){
+ printf("%d", no->numero);
+ }else{
+ printf("%c", no->operador);
+ }
+
+
+}
+void boxListar(No* lista){
+ No *p;
+ printf("\n\n-----------Resultado-----------\n\n");
+ for(p = lista; p != NULL; p = p->proximo){
+ noPrint(p);
+ }
+ printf("\n\n-----------Resultado-----------\n\n");
+}
+
+No* strEmpilhar(char *palavra){
+ int i, flag;
+ char subPalavra[100];
+ No*lista = NULL;
+
+ flag = 0;
+ for(i = 0; TRUE; i++){
+
+ if(isdigit(palavra[i])){
+ subPalavra[flag] = palavra[i];
+ subPalavra[flag+1] = '\0';
+ flag++;
+ }
+ else{
+ if(flag){
+ subPalavra[i] = '\0';
+ lista = inserirNumero(lista, atoi(subPalavra));
+ subPalavra[0] = '\0';
+ flag = 0;
+ }
+ if(palavra[i] != '\0'){
+ lista = inserirInicio(lista, palavra[i]);
+ }else{
+ break;
+ }
+ }
+ }
+ return lista;
+
+}
+
+No* excluirPrimeiro(No*lista){
+ No*excluido;
+ excluido = lista;
+ lista = lista->proximo;
+ free(excluido);
+ return lista;
+}
+
+int opera(int a, int b, char operador){
+ switch(operador){
+ case '+':
+ printf("\n%d+%d=%d\n", b, a, a+b);
+ return a+b;
+ break;
+ case '-':
+ printf("\n%d-%d=%d\n", b, a, b-a);
+ return b-a;
+ break;
+ case '/':
+ printf("\n%d/%d=%d\n", b, a, b/a);
+ return b/a;
+ break;
+ case '*':
+ printf("\n%d*%d=%d\n",b, a, b*a);
+ return a*b;
+ break;
+ default:
+ return a+b;
+ break;
+ }
+
+}
+
+
+
+No* resolvePilha(No* lista){
+ No *p;
+ No *anterior;
+ int resultado;
+ int parenteses = 0;
+ anterior = lista;
+
+ for(p = lista;p->proximo != NULL ; p = p->proximo){
+
+ if(p->proximo->proximo != NULL)
+ {
+ p->proximo->proximo->numero = opera(p->numero, p->proximo->proximo->numero, p->proximo->operador);
+ p = excluirPrimeiro(p);
+ p = excluirPrimeiro(p);
+
+
+ }
+ p = resolvePilha(p);
+ break;
+ }
+ return p;
+}
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_05_Pilhas/src/no.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_05_Pilhas/src/no.h
new file mode 100644
index 00000000..d71146e7
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_05_Pilhas/src/no.h
@@ -0,0 +1,35 @@
+#ifndef NO_H_INCLUDED
+#define NO_H_INCLUDED
+#define FALSE 0
+#define TRUE !FALSE
+
+
+/*Cada elemento pode ser um
+Numero ou um operador.
+Caso o caractere seja '_'
+ o valor significa
+ um Numero
+Senão
+ O valor significa um Operador
+ no char operador.
+*/
+
+typedef struct no{
+ int numero;
+ char operador;
+ struct no *proximo;
+}No;
+No* inserirInicio(No* lista, char conteudo);
+No* inserirNumero(No* lista, int conteudo);
+void noPrint(No*no);
+void boxListar(No* lista);
+No* strEmpilhar(char *palavra);
+No* excluirPrimeiro(No*lista);
+int opera(int a, int b, char operador);
+No* resolveParenteses(No* lista);
+No* resolvePilha(No* lista);
+
+
+
+
+#endif // NO_H_INCLUDED
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/.gitignore b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/.gitignore
new file mode 100644
index 00000000..ac01e665
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/.gitignore
@@ -0,0 +1,2 @@
+/Debug/
+/Release/
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/Lista_06_-_Filas.pdf b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/Lista_06_-_Filas.pdf
new file mode 100644
index 00000000..26d6a1f4
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/Lista_06_-_Filas.pdf differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/src/fila.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/src/fila.c
new file mode 100644
index 00000000..938fc0f1
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/src/fila.c
@@ -0,0 +1,89 @@
+/*
+ * cliente.c
+ *
+ * Created on: 22 de mar de 2016
+ * Author: jefponte
+ */
+
+#include
+#include
+#include "fila.h"
+
+
+void printHora(int intTempo) {
+ int hours, minutes;
+ if (intTempo < 0) {
+ intTempo = 0;
+ }
+ hours = intTempo / 3600;
+ intTempo -= hours * 3600;
+ minutes = intTempo / 60;
+ intTempo -= minutes * 60;
+ printf("%d:%d:%d", hours, minutes, intTempo);
+}
+
+
+
+typedef struct fila Fila;
+
+Fila* filaCria() {
+ Fila *fila = (Fila*) malloc(sizeof(Fila));
+ fila->inicio = fila->fim = NULL;
+ return fila;
+}
+
+void filaInsere(Fila *fila, int entrada, int saida) {
+ Lista*novo = (Lista*) malloc(sizeof(Lista));
+ novo->info = entrada;
+ novo->saida = saida;
+ novo->proximo = NULL;
+ if (fila->fim != NULL) {
+ fila->fim->proximo = novo;
+ } else {
+ fila->inicio = novo;
+ }
+ fila->fim = novo;
+}
+
+int filaVazia(Fila *fila) {
+ return (fila->inicio == NULL);
+}
+float filaRetira(Fila *fila) {
+ Lista *t;
+ int conteudo;
+ if (filaVazia(fila)) {
+ return 0.0;
+ }
+ t = fila->inicio;
+ conteudo = t->info;
+ fila->inicio = t->proximo;
+ if (fila->inicio == NULL) {
+ fila->fim = NULL;
+
+ }
+ free(t);
+ return conteudo;
+}
+
+void filaImprime(Fila *fila) {
+ Lista *q;
+ printf("Fila:\n");
+ for (q = fila->inicio; q != NULL; q = q->proximo) {
+ mostrarCliente(q);
+ }
+
+}
+void mostrarCliente(Lista *lista){
+ printf("\n------------------\n");
+ printf("Hora de entrada: ");
+ printHora(lista->info);
+ printf("\n");
+ printf("\nTempo de Espera: ");
+ printHora(lista->saida);
+ printf("\n");
+ printf("\nHora da Saida: ");
+ printHora(lista->info+lista->saida);
+ printf("\n\n");
+ printf("\n------------------\n");
+}
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/src/fila.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/src/fila.h
new file mode 100644
index 00000000..7567aa14
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/src/fila.h
@@ -0,0 +1,32 @@
+#ifndef FILA_H
+#define FILA_H
+
+
+
+struct lista {
+
+ int info;
+ int saida;
+ struct lista *proximo;
+
+};
+typedef struct lista Lista;
+
+
+typedef struct fila {
+ Lista*inicio;
+ Lista*fim;
+
+} Fila;
+
+
+
+void printHora(int intTempo);
+Fila* filaCria();
+void filaInsere(Fila *fila, int entrada, int saida);
+int filaVazia(Fila *fila);
+float filaRetira(Fila *fila);
+void filaImprime(Fila *fila);
+void mostrarCliente(Lista *lista);
+
+#endif /* FILA_H */
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/src/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/src/main.c
new file mode 100644
index 00000000..6ed8e1c0
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_06_Filas/src/main.c
@@ -0,0 +1,151 @@
+#include
+#include
+#include
+#include
+#include "fila.h"
+
+
+int main() {
+
+
+
+ Fila *fila;
+ Fila *atendidos;
+ int valor;
+ int hora = 3600;
+ int i, clientesAtendidos, numeroDeServidores, j;
+ int variacao;
+ float tempoMedioDeEspera;
+
+ srand((unsigned)time(NULL));
+
+ fila = filaCria();
+ atendidos = filaCria();
+ tempoMedioDeEspera = 0;
+ clientesAtendidos = 0;
+ printf("Digite o número de servidores: \n");
+ scanf("%d", &numeroDeServidores);
+ variacao = 0;
+
+ for (i = 0; i < hora; i++) {
+ if (i <= 900) {
+ //Chega gente de 20 em 20 segundos
+ //Não começou a distribuição.
+
+
+
+ if (!(i % 20)) {
+ //Variar entre -5 e +5
+ variacao = (-5+rand()%10);
+ filaInsere(fila, (i+variacao), 0);
+ }
+ } else if (i > 900 && i <= 1500) {
+ //Entra gente de 10 em 10 segundos.
+ //Ainda não começou a distribuição.
+ if (!(i % 10)) {
+ //Variar entre -6 e +6
+ variacao = (-6+rand()%12);
+
+ filaInsere(fila, (i+variacao), 0);
+
+ }
+
+ } else if (i > 1500 && i <= 1800) {
+ //Entra gente de 5 em 5 segundos.
+ if (!(i % 5)) {
+ //Variar entre -3 e +3
+ variacao = (-3+rand()%6);
+ filaInsere(fila, (i+variacao), 0);
+
+ }
+ //Não começou a distribuição.
+
+ } else if (i > 1800 && i <= 2400) {
+
+
+ //Entra gente de 10 em 10 segundos na fila.
+ if (!(i % 10)) {
+ //Variar entre -8 e +8
+ variacao = (-8+rand()%16);
+ filaInsere(fila, (i+variacao), 0);
+ }
+ //Inicia-se a entrega do lanche. de 4 em 4 segundos cada servidor
+ if (!(i % 4)) {
+
+ for (j = 0; j < numeroDeServidores; j++) {
+ if (!filaVazia(fila)) {
+ valor = filaRetira(fila);
+ filaInsere(atendidos, valor, (i-valor));
+ valor = i - valor;
+ tempoMedioDeEspera += valor;
+ clientesAtendidos++;
+
+
+ }
+ }
+ }
+
+ } else if (i > (1800 + 600) && i <= (1800 + 1200)) {
+ //Entre 10 e 20 minutos.
+ //Entra gente de 20 em 20 segundos.
+
+ if (!(i % 20)) {
+ //Variar entre -15 e +15
+ variacao = (-15+rand()%30);
+
+ filaInsere(fila, (i+variacao), 0);
+
+ }
+ if (!(i % 4)) {
+
+ for (j = 0; j < numeroDeServidores; j++) {
+ if (!filaVazia(fila)) {
+ valor = filaRetira(fila);
+ filaInsere(atendidos, valor, (i-valor));
+ valor = i - valor;
+ tempoMedioDeEspera += valor;
+ clientesAtendidos++;
+
+ }
+ }
+ }
+ } else if (i > (1800 + 1200) && i <= (1800 + 1800)) {
+ //entra gente de 30 em 30 segundos.
+ if (!(i % 30)) {
+ //Variar entre -5 e +5
+ variacao = (-5+rand()%10);
+ filaInsere(fila, (i+variacao), 0);
+
+ }
+ if (!(i % 4)) {
+
+ for (j = 0; j < numeroDeServidores; j++) {
+ if (!filaVazia(fila)) {
+ valor = filaRetira(fila);
+ filaInsere(atendidos, valor, (i-valor));
+ valor = i - valor;
+ tempoMedioDeEspera += valor;
+ clientesAtendidos++;
+
+ }
+ }
+ }
+ }
+
+ }
+ printf("Acabou!!!\n");
+ printf("Tempo do termino: ");
+ printHora(i);
+ printf("\n");
+ tempoMedioDeEspera = (float) tempoMedioDeEspera / (float) clientesAtendidos;
+ printf("Tempo medio de espera: ");
+ printHora((int) tempoMedioDeEspera);
+ printf("\n");
+ printf("Total de clientes atendidos %d\n", clientesAtendidos);
+ printf("\n\n\n");
+ printf("Para justificar os dados pode verificar o tempo de atendimento de cada um:\n");
+ filaImprime(atendidos);
+ return 0;
+
+}
+
diff --git "a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_07_Arvores/Exercicios_-_Lista_07-_\303\201rvores.pdf" "b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_07_Arvores/Exercicios_-_Lista_07-_\303\201rvores.pdf"
new file mode 100644
index 00000000..46187e86
Binary files /dev/null and "b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_07_Arvores/Exercicios_-_Lista_07-_\303\201rvores.pdf" differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_07_Arvores/src/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_07_Arvores/src/main.c
new file mode 100644
index 00000000..f22c66c4
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_07_Arvores/src/main.c
@@ -0,0 +1,200 @@
+#include
+#include
+#define FALSE 0
+#define TRUE !FALSE
+
+
+
+typedef struct arvore{
+ int info;
+ struct arvore *esquerda;
+ struct arvore *direita;
+}Arvore;
+
+
+Arvore* inicializa(){
+
+ return NULL;
+}
+
+
+Arvore* criaRaiz(int info, Arvore *sae, Arvore *sad){
+ Arvore *novo = (Arvore*)malloc(sizeof(Arvore));
+ novo->info = info;
+ novo->esquerda = sae;
+ novo->direita = sad;
+ return novo;
+}
+
+
+
+int vazia(Arvore *arvore){
+ return arvore == NULL;
+}
+
+void imprimirArvore2(Arvore *arvore){
+ //printf("<");
+ if(!vazia(arvore)){
+ printf(" %d ", arvore->info);
+ imprimirArvore2(arvore->esquerda);
+ imprimirArvore2(arvore->direita);
+ }
+ //printf(">");
+
+}
+
+
+
+void imprimirArvore(Arvore *arvore){
+ //printf("<");
+ if(!vazia(arvore)){
+ printf(" %d ", arvore->info);
+ if(!vazia(arvore->direita)){
+ printf("Minha direita %d ", arvore->direita->info);
+ }
+ if(!vazia(arvore->esquerda)){
+ printf("Minha esquerda %d ", arvore->esquerda->info);
+ }
+ printf("\n\n");
+ imprimirArvore(arvore->esquerda);
+ imprimirArvore(arvore->direita);
+ }
+ //printf(">");
+
+}
+
+Arvore* inserir(int item, Arvore *arvore) {
+
+ if(arvore == NULL){
+
+ arvore = (Arvore*)malloc(sizeof(Arvore));
+ arvore->info = item;
+ arvore->esquerda = NULL;
+ arvore->direita = NULL;
+ return arvore;
+ }else{
+ if(item < arvore->info)
+ {
+ arvore->esquerda = inserir(item, arvore->esquerda);
+ return arvore;
+ }else{
+
+ arvore->direita = inserir(item, arvore->direita);
+ return arvore;
+ }
+ }
+
+}
+
+
+Arvore* liberaArvore(Arvore*a){
+ if(!vazia(a)){
+ liberaArvore(a->esquerda);
+ liberaArvore(a->direita);
+ free(a);
+ }
+ return NULL;
+}
+
+int pesquisa(Arvore* a, int x){
+ if(vazia(a))
+ return 0;
+ else
+ return a->info == x || pesquisa(a->esquerda, x) || pesquisa(a->direita, x);
+
+}
+
+int pesquisaPreOrdem(Arvore* a, int x){
+ if(vazia(a))
+ return 0;
+ //return a->info == x || pesquisa(a->esquerda, x) || pesquisa(a->direita, x);
+ if(x == a->info)
+ return TRUE;
+ else if(pesquisaPreOrdem(a->esquerda, x))
+ return TRUE;
+ else
+ return pesquisaPreOrdem(a->direita, x);
+}
+int pesquisaEmOrdem(Arvore* a, int x){
+ if(vazia(a))
+ return 0;
+ //return pesquisa(a->esquerda, x) || a->info == x || pesquisa(a->direita, x);
+ if(pesquisaEmOrdem(a->esquerda, x))
+ return 1;
+ if(x == a->info)
+ return TRUE;
+ else
+ return pesquisaEmOrdem(a->direita, x);
+}
+int pesquisaPosOrdem(Arvore* a, int x){
+ if(vazia(a))
+ return 0;
+ //return pesquisa(a->esquerda, x)|| pesquisa(a->direita, x) || a->info == x;
+
+ if(pesquisaPosOrdem(a->esquerda, x))
+ return TRUE;
+ else if(pesquisaPosOrdem(a->direita, x))
+ return TRUE;
+ else if(x == a->info)
+ return TRUE;
+}
+
+int excluir(Arvore** a, int x){
+ Arvore *aux;
+ if(vazia(*a)){
+ return FALSE;
+ }
+ if((*a)->info == x){
+ if(vazia((*a)->esquerda) && vazia((*a)->direita)){
+ free(*a);
+ *a = NULL;
+ }
+ else if(vazia((*a)->esquerda) && !vazia((*a)->direita)){
+
+ *a = (*a)->direita;
+ }
+ else if(!vazia((*a)->esquerda) && vazia((*a)->direita)){
+
+ *a = (*a)->esquerda;
+ }else if(!vazia((*a)->esquerda) && !vazia((*a)->direita)){
+ chegaNumaPonta(*a);
+ (*a)->info = aux->info;
+ excluir(&aux, (*a)->info);
+ }
+ return TRUE;
+ }else{
+ return excluir(&(*a)->esquerda, x) || excluir(&(*a)->direita, x);
+ }
+
+}
+void chegaNumaPonta(Arvore *arvore){
+ return;
+
+}
+
+int main(){
+ Arvore *raiz = inicializa();
+ raiz = inserir(14, raiz);
+ raiz = inserir(10, raiz);
+ raiz = inserir(3, raiz);
+ raiz = inserir(2, raiz);
+ raiz = inserir(55, raiz);
+ if(pesquisaEmOrdem(raiz, 14)){
+ printf("Achei!!!\n");
+ }
+ else{
+ printf("Nao achei!!!\n");
+ }
+ imprimirArvore(raiz);
+
+ if(excluir(&raiz, 3)){
+ printf("Achei");
+ }
+
+ printf("\n");
+ imprimirArvore(raiz);
+ liberaArvore(raiz);
+ return 0;
+}
+
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/bin/Debug/lista 8.exe b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/bin/Debug/lista 8.exe
new file mode 100644
index 00000000..4539e924
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/bin/Debug/lista 8.exe differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8-DESKTOP-SF58OHT.depend b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8-DESKTOP-SF58OHT.depend
new file mode 100644
index 00000000..81cbad16
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8-DESKTOP-SF58OHT.depend
@@ -0,0 +1,6 @@
+# depslib dependency file v1.0
+1463818409 source:c:\users\andre\onedrive\documentos\lista 8\main.c
+
+
+
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8-DESKTOP-SF58OHT.layout b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8-DESKTOP-SF58OHT.layout
new file mode 100644
index 00000000..fc31a708
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8-DESKTOP-SF58OHT.layout
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8.cbp b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8.cbp
new file mode 100644
index 00000000..9380c862
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8.cbp
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8.depend b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8.depend
new file mode 100644
index 00000000..435941e7
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8.depend
@@ -0,0 +1,11 @@
+# depslib dependency file v1.0
+1463817033 source:c:\users\andre\onedrive\documentos\lista 8\main.c
+
+
+
+
+1463818409 source:c:\users\sg_av\onedrive\documentos\lista 8\main.c
+
+
+
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8.layout b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8.layout
new file mode 100644
index 00000000..67c2dd6c
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/lista 8.layout
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/main.c
new file mode 100644
index 00000000..4302cda5
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/main.c
@@ -0,0 +1,228 @@
+#include
+#include
+#include
+
+typedef struct T_Vertice *P_Vertice;
+typedef struct T_Aresta *P_Aresta;
+typedef struct T_Grafo V_Grafo;
+
+struct T_Aresta
+{
+ int N_Vertice;
+ int N_Distancia;
+ P_Aresta Proxima_Aresta;
+};
+
+struct T_Vertice
+{
+ int N_Vertice;
+ int N_Grau;
+ int B_Visitado;
+ P_Vertice Proximo_Vertice;
+ P_Aresta Primeira_Aresta;
+ P_Aresta Ultima_Aresta;
+};
+
+struct T_Grafo
+{
+ P_Vertice Primeiro_Vertice;
+ P_Vertice Ultimo_Vertice;
+};
+////////////////////////////////////////
+////////////////////////////////////////
+////////////////////////////////////////
+//Funes do grfo
+void Ini_Grafo_Vazio(V_Grafo *P_Grafo)
+{
+ P_Grafo->Primeiro_Vertice = (P_Vertice)malloc(sizeof(struct T_Vertice));
+ P_Grafo->Primeiro_Vertice->N_Vertice = -1;
+ P_Grafo->Primeiro_Vertice->N_Grau = -1;
+ P_Grafo->Primeiro_Vertice->Proximo_Vertice = NULL;
+ P_Grafo->Primeiro_Vertice->Primeira_Aresta = NULL;
+ P_Grafo->Primeiro_Vertice->Ultima_Aresta = NULL;
+ P_Grafo->Ultimo_Vertice = P_Grafo->Primeiro_Vertice->Proximo_Vertice;
+}
+////////////////////////////////////////
+int eh_Grafo_Vazio(V_Grafo *P_Grafo)
+{
+ return (P_Grafo->Primeiro_Vertice == P_Grafo->Ultimo_Vertice);
+}
+////////////////////////////////////////
+P_Vertice Busca_Vertice(int N_Vertice_Buscado,V_Grafo *P_Grafo)
+{
+ P_Vertice Temp_Vertice = P_Grafo->Primeiro_Vertice->Proximo_Vertice;
+ while((Temp_Vertice != NULL) && (Temp_Vertice->N_Vertice != N_Vertice_Buscado))
+ {
+ Temp_Vertice = Temp_Vertice->Proximo_Vertice;
+ }
+ return (Temp_Vertice);
+}
+////////////////////////////////////////
+////////////////////////////////////////
+////////////////////////////////////////
+//OPERAO COM VERTICES
+void Cria_Adj_Vazia(P_Vertice V_Vertice)
+{
+ V_Vertice->Primeira_Aresta = (P_Aresta)malloc(sizeof(struct T_Aresta));
+ V_Vertice->Primeira_Aresta->N_Vertice = -1;
+ V_Vertice->Primeira_Aresta->N_Distancia = -1;
+ V_Vertice->Primeira_Aresta->Proxima_Aresta = NULL;
+ V_Vertice->Ultima_Aresta = V_Vertice->Primeira_Aresta;
+}
+////////////////////////////////////////
+int eh_Vertice_Adj_Vazia(P_Vertice V_Vertice)
+{
+ return (V_Vertice->Primeira_Aresta == V_Vertice->Ultima_Aresta);
+}
+////////////////////////////////////////
+P_Aresta Busca_Aresta(int N_Aresta,P_Vertice V_Vertice)
+{
+ P_Aresta Temp_Aresta = V_Vertice->Primeira_Aresta->Proxima_Aresta;
+ while((Temp_Aresta != NULL) && (Temp_Aresta->N_Vertice != N_Aresta))
+ {
+ Temp_Aresta = Temp_Aresta->Proxima_Aresta;
+ }
+ return(Temp_Aresta);
+}
+////////////////////////////////////////
+////////////////////////////////////////
+////////////////////////////////////////
+//Funes de Insero
+void Insere_Vertice(int N_Vertice,V_Grafo *P_Grafo)
+{
+ P_Vertice temp = P_Grafo->Primeiro_Vertice;
+ while(temp->Proximo_Vertice != NULL)
+ {
+ temp = temp->Proximo_Vertice;
+ }
+ temp->Proximo_Vertice = (P_Vertice)malloc(sizeof(struct T_Grafo));
+ temp->Proximo_Vertice->N_Vertice = N_Vertice;
+ temp->Proximo_Vertice->N_Grau = 0;
+ Cria_Adj_Vazia(temp);
+ temp->Proximo_Vertice->Proximo_Vertice = P_Grafo->Ultimo_Vertice;
+
+}
+////////////////////////////////////////
+void Insere_Aresta(int N_Aresta,int N_Destino,int N_Distancia,P_Vertice Vertice_Origem)
+{
+ Vertice_Origem->Ultima_Aresta->Proxima_Aresta = (P_Aresta)malloc(sizeof(struct T_Aresta));
+ Vertice_Origem->Ultima_Aresta = Vertice_Origem->Ultima_Aresta->Proxima_Aresta;
+ Vertice_Origem->Ultima_Aresta->N_Vertice = N_Destino;
+ Vertice_Origem->Ultima_Aresta->N_Distancia =N_Distancia;
+ Vertice_Origem->Ultima_Aresta->Proxima_Aresta = NULL;
+ Vertice_Origem->N_Grau = Vertice_Origem->N_Grau + 1;
+}
+////////////////////////////////////////
+////////////////////////////////////////
+////////////////////////////////////////
+////////////////////////////////////////
+////////////////////////////////////////
+//Funes Para remoo de arestas
+P_Aresta Busca_Aresta_Anterior(int N_Aresta,P_Vertice V_Vertice)
+{
+ P_Aresta Temp_Aresta_Anterior = V_Vertice->Primeira_Aresta;
+ P_Aresta Temp_Aresta_Atual = V_Vertice->Primeira_Aresta->Proxima_Aresta;
+ while((Temp_Aresta_Atual != NULL)&& (Temp_Aresta_Atual->N_Vertice != N_Aresta ))
+ {
+ Temp_Aresta_Anterior = Temp_Aresta_Atual;
+ Temp_Aresta_Atual = Temp_Aresta_Atual->Proxima_Aresta;
+ }
+ return(Temp_Aresta_Anterior);
+}
+////////////////////////////////////////
+void Remove_Aresta(P_Aresta V_Aresta,P_Vertice V_Vertice)
+{
+ P_Aresta Temp_Aresta = V_Aresta->Proxima_Aresta;
+ V_Aresta->Proxima_Aresta = Temp_Aresta->Proxima_Aresta;
+ if(V_Aresta->Proxima_Aresta == NULL)
+ {
+ V_Vertice->Ultima_Aresta = V_Aresta;
+ }
+ V_Vertice->N_Grau = V_Vertice->N_Grau -1;
+
+ free(Temp_Aresta);
+}
+////////////////////////////////////////
+////////////////////////////////////////
+////////////////////////////////////////
+//Funo para remoo de Vertices
+P_Vertice Busca_Vertice_Anterior(int N_Vertice,V_Grafo *P_Grafo)
+{
+ P_Vertice Temp_Vertice_Anterior = P_Grafo->Primeiro_Vertice;
+ P_Vertice Temp_Vertice_Atual = P_Grafo->Primeiro_Vertice->Proximo_Vertice;
+ while((Temp_Vertice_Atual != NULL) && (Temp_Vertice_Atual->N_Vertice != N_Vertice))
+ {
+ Temp_Vertice_Anterior = Temp_Vertice_Atual;
+ Temp_Vertice_Atual = Temp_Vertice_Atual->Proximo_Vertice;
+ }
+ return (Temp_Vertice_Anterior);
+}
+////////////////////////////////////////
+void Remove_Vertice(P_Vertice V_Vertice,V_Grafo *P_Grafo)
+{
+ P_Vertice Vertice_Destino,Vertice_Origem = V_Vertice->Proximo_Vertice;
+ P_Aresta Aresta2,Aresta1 = Vertice_Origem->Primeira_Aresta;
+ while(!eh_Vertice_Adj_Vazia(Vertice_Origem))
+ {
+ Vertice_Destino = Busca_Vertice(Aresta1->Proxima_Aresta->N_Vertice,P_Grafo);
+ Aresta2 = Busca_Aresta_Anterior(Vertice_Origem->N_Vertice,Vertice_Destino);
+ Remove_Aresta(Aresta1,Vertice_Origem);
+ Remove_Aresta(Aresta2,Vertice_Destino);
+ }
+ free(Vertice_Origem->Primeira_Aresta);
+
+ V_Vertice->Proximo_Vertice = Vertice_Origem->Proximo_Vertice;
+ if(V_Vertice->Proximo_Vertice == NULL)
+ {
+ P_Grafo->Ultimo_Vertice = V_Vertice;
+ }
+ free(Vertice_Origem);
+}
+////////////////////////////////////////
+////////////////////////////////////////
+////////////////////////////////////////
+
+
+void imprime_vertices(V_Grafo *P_Grafo)
+{
+ P_Vertice temp = P_Grafo->Primeiro_Vertice;
+ while(temp != NULL)
+ {
+ printf("%d",temp->N_Vertice);
+ temp = temp->Proximo_Vertice;
+ }
+}
+
+
+int main()
+{
+ V_Grafo *Grafo = (V_Grafo*)malloc(sizeof(V_Grafo));
+
+ Ini_Grafo_Vazio(Grafo);
+ Insere_Vertice(2,Grafo);
+ Insere_Vertice(3,Grafo);
+ Insere_Vertice(4,Grafo);
+
+
+
+ imprime_vertices(Grafo);
+
+ printf("\n%d",eh_Grafo_Vazio(Grafo));
+ setlocale(LC_ALL,"Portuguese");
+ return 0;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/obj/Debug/main.o b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/obj/Debug/main.o
new file mode 100644
index 00000000..7f3e8367
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/Listas/Lista_08_Grafos/obj/Debug/main.o differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Lista_01_Vetores e Pesquisa Binaria.pdf b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Lista_01_Vetores e Pesquisa Binaria.pdf
new file mode 100644
index 00000000..f6ca6fbf
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Lista_01_Vetores e Pesquisa Binaria.pdf differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_01/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_01/main.c
new file mode 100644
index 00000000..690e0d08
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_01/main.c
@@ -0,0 +1,65 @@
+#include
+#include
+#define FALSE 0
+#define TRUE !FALSE
+
+
+int main(){
+ int lista[100];
+ int dimensao, i, houveTroca, aux, impar, par, media;
+ printf("Digite a dimenso, no mximo 100:");
+ scanf("%d", &dimensao);
+ for(i = 0; i < dimensao; i++){
+ printf("Digite o elemento %d:\n", i);
+ scanf("%d", &lista[i]);
+ if(lista[i] > 256)
+ i--;
+ }
+ printf("\nLista como foi digitada:\n ");
+ mostraVetor(lista,dimensao);
+
+ //Ordem decrescente.
+ do{
+ houveTroca = FALSE;
+ for(i = 0; i < (dimensao - 1); i++){
+ if(lista[i] < lista[i+1]){
+ aux = lista[i];
+ lista[i] = lista[i+1];
+ lista[i+1] = aux;
+ houveTroca = TRUE;
+ }
+ }
+ }while(houveTroca);
+ printf("\nLista ordenada:\n ");
+ mostraVetor(lista, dimensao);
+ impar = 0;
+ par = 0;
+ aux = 0;
+ media = 0;
+ printf("Teste");
+ for(i = 0; i < dimensao; i++){
+ if(lista[i]%2){
+ impar++;
+ if(lista[i] > 50)
+ {
+ media += lista[i];
+ aux++;
+ }
+ }
+ else
+ par++;
+ }
+ printf("--------------\n");
+ if(aux)
+ media = media/aux;
+ printf("Impares: %d\n", impar);
+ printf("Pares: %d\n", par);
+ printf("Media dos impares maiores que 50: %d\n", media);
+ return 0;
+}
+
+void mostraVetor(int *vetor, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++)
+ printf("Elemento [%d]: %d\n", i, vetor[i]);
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_02/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_02/main.c
new file mode 100644
index 00000000..34873192
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_02/main.c
@@ -0,0 +1,70 @@
+#include
+#include
+#define N 100
+#define FALSE 0
+#define TRUE !FALSE
+
+int main()
+{
+
+ int dimensaoX, dimensaoY, dimensaoW, i, menorX, maiorX, z, achou;
+ int vetorX[N], vetorY[N], vetorW[N];
+ printf("Digite a dimenso do vetor X, no mximo %d:", N);
+ scanf("%d", &dimensaoX);
+ for(i = 0; i < dimensaoX; i++){
+ printf("Digite o elemento %d:\n", i);
+ scanf("%d", &vetorX[i]);
+ }
+
+ dimensaoY = 0;
+ dimensaoW = 0;
+ menorX = vetorX[0];
+ maiorX = vetorX[0];
+ for(i = 0; i < dimensaoX; i++){
+
+ if(vetorX[i] > maiorX)
+ maiorX = vetorX[i];
+ if(vetorX[i] < menorX)
+ menorX = vetorX[i];
+ if(vetorX[i] > 10 && vetorX[i] < 40){
+ vetorY[dimensaoY] = vetorX[i];
+ dimensaoY++;
+ }
+ //Posicoes pares
+ if(!(i%2)){
+ vetorW[dimensaoW] = vetorX[i];
+ dimensaoW++;
+ }
+ }
+
+ printf("Vetor X:\n");
+ mostraVetor(vetorX, dimensaoX);
+ printf("Vetor Y:\n");
+ mostraVetor(vetorY, dimensaoY);
+ printf("Vetor W:\n");
+ mostraVetor(vetorW, dimensaoW);
+
+ printf("Maior elemento de X: %d\n", maiorX);
+ printf("Menor elemento de X: %d\n", menorX);
+
+ do{
+ printf("Digite o numero Z que deseja pesquisar: ");
+ scanf("%d", &z);
+ achou = FALSE;
+ for(i = 0; i < dimensaoX; i++){
+ if(vetorX[i]== z){
+ achou = TRUE;
+ printf("Elemento %d encontrado na posio %d. ", vetorX[i], i);
+ return 0;
+ }
+ }
+ }while(!achou);
+ return 0;
+}
+
+
+void mostraVetor(int *vetor, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++)
+ printf("Elemento [%d]: %d\n", i, vetor[i]);
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_03/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_03/main.c
new file mode 100644
index 00000000..ac6407ac
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_03/main.c
@@ -0,0 +1,52 @@
+#include
+#include
+
+int main()
+{
+ int dimensaoA, dimensaoC, i;
+ int *vetorA, *vetorB, *vetorC;
+ printf("Digite a dimenso para vetores A e B:");
+ scanf("%d", &dimensaoA);
+ dimensaoC = 2*dimensaoA;
+ vetorA = malloc(sizeof(int)*dimensaoA);
+ vetorB = malloc(sizeof(int)*dimensaoA);
+ vetorC = malloc(sizeof(int)*dimensaoA*2);
+ if(vetorA == NULL || vetorB == NULL || vetorC == NULL)
+ {
+ printf("Memoria Insuficiente");
+ return 0;
+ }
+ printf("Recebendo valores do Vetor A:\n");
+ for(i = 0; i < dimensaoA; i++){
+ printf("Digite o elemento %d:\n", i);
+ scanf("%d", vetorA+i);
+ }
+ printf("Recebendo valores do Vetor B:\n");
+ for(i = 0; i < dimensaoA; i++){
+ printf("Digite o elemento %d:\n", i);
+ scanf("%d", vetorB+i);
+ }
+
+
+ printf("Vetor A\n");
+ mostraVetor(vetorA, dimensaoA);
+ printf("Vetor B\n");
+ mostraVetor(vetorB, dimensaoA);
+ dimensaoC = 0;
+ for(i = 0; i < dimensaoA; i++){
+ *(vetorC+dimensaoC) = *(vetorA+i);
+ *(vetorC+dimensaoC+1) = *(vetorB+i);
+ dimensaoC += 2;
+ }
+ printf("Vetor C\n");
+ mostraVetor(vetorC, dimensaoC);
+
+ return 0;
+}
+
+void mostraVetor(int *vetor, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++)
+ printf("Elemento [%d]: %d\n", i, vetor[i]);
+}
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_04/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_04/main.c
new file mode 100644
index 00000000..82438e7e
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_04/main.c
@@ -0,0 +1,59 @@
+#include
+#include
+#define FALSE 0
+#define TRUE !FALSE
+
+int primo(int n){
+ int divisoes, i;
+ divisoes = 0;
+ if(n <= 0)
+ return FALSE;
+ if(n == 1)
+ return TRUE;
+ for(i = 1; i <= n; i++){
+ if(!(n%i))
+ divisoes++;
+ }
+ if(divisoes == 2)
+ return TRUE;
+ else
+ return FALSE;
+}
+int main()
+{
+ int n, i, aux, ehPrimo;
+ do{
+ ehPrimo = FALSE;
+ printf("Digite o valor de N que seja primo:\n");
+ scanf("%d",&n);
+ if(primo(n)){
+ printf("Primo\n");
+ ehPrimo = TRUE;
+ }
+ else
+ printf("No primo\n");
+ }while(!ehPrimo);
+ printf("Primos anteriores:\n");
+ aux = 0;
+ for(i = n-1; i > 0; i--){
+ if(primo(i))
+ {
+ printf("%d\n", i);
+ aux++;
+ }
+ if(aux >= 2)
+ break;
+ }
+ printf("Primos seguintes:\n");
+ aux = 0;
+
+ for(i = n+1; TRUE; i++){
+ if(primo(i)){
+ printf("%d\n", i);
+ aux++;
+ }
+ if(aux >= 2)
+ break;
+ }
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_05/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_05/main.c
new file mode 100644
index 00000000..c126ea2e
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_01/Q_05/main.c
@@ -0,0 +1,100 @@
+#include
+#include
+#define FALSE 0
+#define TRUE !FALSE
+
+void mostraVetor(int *vetor, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++)
+ printf("Elemento [%d]: %d\n", i, vetor[i]);
+}
+void ordenacaoBolha(int *lista, int dimensao){
+ int houveTroca, i, aux;
+ do{
+ houveTroca = FALSE;
+ for(i = 0; i < (dimensao - 1); i++){
+ if(lista[i] > lista[i+1]){
+ aux = lista[i];
+ lista[i] = lista[i+1];
+ lista[i+1] = aux;
+ houveTroca = TRUE;
+ }
+ }
+ }while(houveTroca);
+}
+int pesquisaBinaria(int *lista, int dimensao, int pesquisado){
+ int comeco = 0;
+ int fim = dimensao - 1;
+ int meio;
+
+
+ while(comeco <= fim){
+ meio = (comeco+fim)/2;
+ if(pesquisado < lista[meio])
+ fim = meio - 1;
+ else if(pesquisado > lista[meio])
+ comeco = meio + 1;
+ else
+ return meio;
+ }
+ return -1;
+
+}
+void retiraDaLista(int *lista, int *dimensao, int posicao){
+ int i;
+ for(i = posicao; i < (*dimensao)-1; i++){
+ *(lista+i) = *(lista+i+1);
+ }
+ (*dimensao)--;
+}
+
+int main()
+{
+ int dimensao, i,j, flagRepetiu, removidos, pesquisado;
+ int *lista;
+ printf("Digite o valor de N, dimensao do vetor:\n");
+ scanf("%d", &dimensao);
+ lista = malloc(sizeof(int)*dimensao);
+ if(!lista){
+ printf("Memoria insuficiente\n");
+ return 0;
+ }
+ for(i = 0; i < dimensao; i++){
+ printf("Digite o elemento %d:", i);
+ scanf("%d", (lista+i));
+ }
+ removidos = 0;
+
+ for(i = 0; i < dimensao; i++){
+ for(j = (i+1); j < dimensao; j++){
+ if(*(lista+i)== *(lista+j)){
+ removidos++;
+ retiraDaLista(lista, &dimensao, i);
+ i--;
+ break;
+ }
+ }
+ }
+ if(!removidos){
+ printf("Ok\n");
+ }else{
+ printf("%d removido(s):\n", removidos);
+ }
+
+
+ printf("Digite o elemento que deseja pesquisar:\n");
+ scanf("%d", &pesquisado);
+ ordenacaoBolha(lista, dimensao);
+ printf("Lista ordenada:\n");
+ mostraVetor(lista, dimensao);
+ i = pesquisaBinaria(lista, dimensao, pesquisado);
+ if(i != -1)
+ printf("Encontrei na posicao %d\n", i);
+ else
+ printf("Nao encontrado\n");
+
+ return 0;
+
+
+
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Lista_02_Estruturas.pdf b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Lista_02_Estruturas.pdf
new file mode 100644
index 00000000..6c63b790
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Lista_02_Estruturas.pdf differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_01/.gitignore b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_01/.gitignore
new file mode 100644
index 00000000..3df573fe
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_01/.gitignore
@@ -0,0 +1 @@
+/Debug/
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_01/candidato.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_01/candidato.c
new file mode 100644
index 00000000..85eb0cea
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_01/candidato.c
@@ -0,0 +1,91 @@
+#include
+#include
+#include
+#include "candidato.h"
+
+
+void lerLista(Candidato *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("Candidato %d\n", i);
+ lerCandidato(ptr+i);
+ }
+
+}
+void mostraLista(Candidato *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("\n-----------------------------\n");
+ printf("Candidato %d\n", i);
+ mostraCandidato(ptr+i);
+ printf("\n-----------------------------\n");
+
+ }
+
+
+}
+void lerCandidato(Candidato *ptr){
+ printf("Digite o nome:\n");
+ scanf("%s", ptr->nome);
+ printf("Digite a idade:\n");
+ scanf("%d", &ptr->idade);
+ printf("Digite o Sexo M ou F:\n");
+ getchar();
+ scanf("%c", &ptr->sexo);
+ printf("Experiencia S ou N:\n");
+ getchar();
+ scanf("%c", &ptr->experiente);
+
+}
+
+void mostraCandidato(Candidato *ptr){
+ printf("Nome: %s\n", ptr->nome);
+ printf("Sexo: %c\n", ptr->sexo);
+ printf("Idade:%d\n", ptr->idade);
+ printf("Experiencia:%c\n", ptr->experiente);
+
+}
+void relatorios(Candidato *ptr, int dimensao){
+ int i, novinhasExperientes;
+ int totalFeminino,totalMasculino, totalHomensVelhos, homensExperientes;
+ float percentualHomensVelhos, mediaIdadeExperientes;
+
+ totalHomensVelhos = 0;
+ totalMasculino = 0;
+ totalFeminino = 0;
+ homensExperientes = 0;
+ novinhasExperientes = 0;
+ mediaIdadeExperientes = 0;
+ percentualHomensVelhos = 0;
+ for(i = 0; i < dimensao; i++){
+ if((ptr+i)->sexo == 'M'){
+ totalMasculino++;
+ if((ptr+i)->idade > 45){
+ totalHomensVelhos++;
+ }
+ if((ptr+i)->experiente == 'S'){
+ mediaIdadeExperientes += (ptr+i)->idade;
+ homensExperientes++;
+ }
+
+
+ }
+ else if((ptr+i)->sexo == 'F'){
+ totalFeminino++;
+ if((ptr+i)->idade < 35 && (ptr+i)->experiente == 'S'){
+ novinhasExperientes++;
+ }
+ }
+ }
+ if(homensExperientes)
+ mediaIdadeExperientes = (float)mediaIdadeExperientes/(float)homensExperientes;
+ if(totalMasculino)
+ percentualHomensVelhos = (float)totalHomensVelhos/(float)totalMasculino*100;
+ printf("%d candidatos do sexo feminino e %d candidatos do sexo masculino.\n", totalFeminino, totalMasculino);
+ printf("Percentual de homens com mais de 45 anos: %.2f %%\n", percentualHomensVelhos);
+ printf("Idade media dos homens experientes: %.2f \n", mediaIdadeExperientes);
+ printf("Mulheres com menos de 35 experientes: %d \n", novinhasExperientes);
+
+}
+
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_01/candidato.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_01/candidato.h
new file mode 100644
index 00000000..150b9d95
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_01/candidato.h
@@ -0,0 +1,18 @@
+#ifndef CANDIDATO_H
+#define CANDIDATO_H
+typedef struct candidato{
+ char nome[100];
+ char sexo;
+ int idade;
+ char experiente;
+}Candidato;
+
+
+
+void lerLista(Candidato *ptr, int dimensao);
+void mostraLista(Candidato *ptr, int dimensao);
+void lerCandidato(Candidato *ptr);
+void mostraCandidato(Candidato *ptr);
+void relatorios(Candidato *ptr, int dimensao);
+
+#endif // CANDIDATO_H_INCLUDED
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_01/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_01/main.c
new file mode 100644
index 00000000..73a07470
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_01/main.c
@@ -0,0 +1,25 @@
+#include
+#include
+#include
+#include "candidato.h"
+
+
+int main(void) {
+
+ int dimensao, comando;
+ Candidato *listaDeCandidatos;
+ printf("Digite a dimensao:\n");
+ scanf("%d", &dimensao);
+
+ listaDeCandidatos = (Candidato*)malloc(sizeof(Candidato)*dimensao);
+ if(listaDeCandidatos == NULL){
+ printf("Momria insuficiente.");
+ return 0;
+ }
+ lerLista(listaDeCandidatos, dimensao);
+ mostraLista(listaDeCandidatos, dimensao);
+
+ relatorios(listaDeCandidatos, dimensao);
+
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_02/funcionario.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_02/funcionario.c
new file mode 100644
index 00000000..f651b6bf
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_02/funcionario.c
@@ -0,0 +1,72 @@
+#include
+#include
+#include "funcionario.h"
+
+
+
+void lerLista(Funcionario *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("Funcionario %d\n", i);
+ lerFuncionario(ptr+i);
+ }
+
+}
+void mostraLista(Funcionario *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("\n-----------------------------\n");
+ printf("Funcionario %d\n", i);
+ mostraFuncionario(ptr+i);
+ printf("\n-----------------------------\n");
+
+ }
+
+
+}
+void lerFuncionario(Funcionario *ptr){
+ printf("Digite o nome:\n");
+ scanf("%s", ptr->nome);
+ printf("Digite a producao:\n");
+ scanf("%d", &ptr->producao);
+ printf("Digite o Sexo M ou F:\n");
+ getchar();
+ scanf("%c", &ptr->sexo);
+
+}
+
+void mostraFuncionario(Funcionario *ptr){
+ printf("Nome: %s\n", ptr->nome);
+ printf("Sexo: %c\n", ptr->sexo);
+ printf("Producao:%d\n", ptr->producao);
+}
+void relatorios(Funcionario *ptr, int dimensao){
+ int i, producaoTotal, producaoMasculina, producaoFeminina, maiorProducao;
+ char *nomeDoCampeao;
+
+ maiorProducao = 0;
+ producaoFeminina = 0;
+ producaoMasculina = 0;
+ producaoTotal = 0;
+ for(i = 0; i < dimensao; i++){
+ producaoTotal += (ptr+i)->producao;
+ if(maiorProducao < (ptr+i)->producao){
+ maiorProducao = (ptr+i)->producao;
+ nomeDoCampeao = (ptr+i)->nome;
+ }
+ if((ptr+i)->sexo == 'M')
+ {
+ producaoMasculina += (ptr+i)->producao;
+ }
+ else if((ptr+i)->sexo == 'F'){
+
+ producaoFeminina += (ptr+i)->producao;
+
+ }
+ }
+ printf("Producao total: %d, producao masculina: %d, producao feminina: %d\n", producaoTotal, producaoMasculina, producaoFeminina);
+ printf("Campeao de producao foi %s com %d pecas produzidas\n", nomeDoCampeao, maiorProducao);
+
+
+}
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_02/funcionario.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_02/funcionario.h
new file mode 100644
index 00000000..49dd47f9
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_02/funcionario.h
@@ -0,0 +1,19 @@
+#ifndef FUNCIONARIO_H
+#define FUNCIONARIO_H
+
+typedef struct funcionario{
+ char nome[100];
+ char sexo;
+ int producao;
+
+}Funcionario;
+
+
+void lerLista(Funcionario *ptr, int dimensao);
+void mostraLista(Funcionario *ptr, int dimensao);
+void lerFuncionario(Funcionario *ptr);
+void mostraFuncionario(Funcionario *ptr);
+void relatorios(Funcionario *ptr, int dimensao);
+
+
+#endif // FUNCIONARIO_H_INCLUDED
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_02/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_02/main.c
new file mode 100644
index 00000000..8bcb53b4
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_02/main.c
@@ -0,0 +1,22 @@
+#include
+#include
+#include
+#include "funcionario.h"
+
+int main(void) {
+
+ int dimensao, comando;
+ Funcionario *listaDeFuncionarios;
+ printf("Digite a dimensao:\n");
+ scanf("%d", &dimensao);
+
+ listaDeFuncionarios = (Funcionario*)malloc(sizeof(Funcionario)*dimensao);
+ if(listaDeFuncionarios == NULL){
+ printf("Momria insuficiente.");
+ return 0;
+ }
+ lerLista(listaDeFuncionarios, dimensao);
+ mostraLista(listaDeFuncionarios, dimensao);
+ relatorios(listaDeFuncionarios, dimensao);
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_03/feriado.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_03/feriado.c
new file mode 100644
index 00000000..c96822b5
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_03/feriado.c
@@ -0,0 +1,60 @@
+#include
+#include
+
+#include "feriado.h"
+
+
+void lerLista(Feriado *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("Respostas motorista %d\n", i);
+ lerFeriado(ptr+i);
+ }
+
+}
+
+void lerFeriado(Feriado *ptr){
+ printf("Qual o seu destino? \n");
+ printf("1- Camocim,\n");
+ printf("2- Morro Branco,\n");
+ printf("3- Aracati,\n");
+ printf("4-Guaramiranga e 5- Outros Locais;\n");
+ scanf("%d", &ptr->destino);
+ printf("Qual o veculo? \n");
+ printf("1- Automvel, 2- Caminho, 3- nibus e 4-Outros Veculos");
+ scanf("%d", &ptr->veiculo);
+
+
+}
+
+void relatorio(Feriado *ptr, int dimensao){
+ int i, totalDeCaminhoes, caminhouesPraCamocim, totalDeOnibus, totalDeVeiculos;
+ int destinoAracati = 0;
+ float auxiliar = 0;
+ totalDeCaminhoes = 0;
+ totalDeOnibus = 0;
+ totalDeVeiculos = 0;
+ caminhouesPraCamocim = 0;
+
+ for(i = 0; i < dimensao; i++){
+ totalDeVeiculos++;
+ if((ptr+i)->destino == ARACATI && (ptr+i)->veiculo == AUTOMOVEL)
+ destinoAracati++;
+ if((ptr+i)->veiculo == CAMINHAO && (ptr+i)->destino == CAMOCIM){
+ caminhouesPraCamocim++;
+ }
+ if((ptr+i)->veiculo == ONIBUS)
+ totalDeOnibus++;
+ }
+
+ printf("\n\nTotal de automoveis com destino a aracati: %d\n", destinoAracati);
+ auxiliar = 0;
+
+ if(totalDeVeiculos)
+ auxiliar = (float)caminhouesPraCamocim/(float)totalDeVeiculos*100;
+ printf("Percentual de caminhoues com destino a camocim em relacao ao total de veiculos: %.2f\n", auxiliar);
+ auxiliar = 0;
+ if(totalDeVeiculos)
+ auxiliar = (float)totalDeOnibus/(float)totalDeVeiculos*100;
+ printf("A porcentagem de nibus que trafegam pela rodovia:%.2f\n", auxiliar);
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_03/feriado.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_03/feriado.h
new file mode 100644
index 00000000..7d992173
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_03/feriado.h
@@ -0,0 +1,27 @@
+#ifndef FERIADO_H
+#define FERIADO_H
+
+
+#define CAMOCIM 1
+#define MORRO_BRANCO 2
+#define ARACATI 3
+#define GUARAMIRANGA 4
+#define OUTROS_LOCAIS 5
+
+#define AUTOMOVEL 1
+#define CAMINHAO 2
+#define ONIBUS 3
+#define OUTRO_VEICULO 4
+
+
+typedef struct feriado{
+ int destino;
+ int veiculo;
+}Feriado;
+
+
+void lerLista(Feriado *ptr, int dimensao);
+void lerFeriado(Feriado *ptr);
+void relatorio(Feriado *ptr, int dimensao);
+
+#endif // FERIADO_H_INCLUDED
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_03/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_03/main.c
new file mode 100644
index 00000000..63fba7e2
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_03/main.c
@@ -0,0 +1,21 @@
+#include
+#include
+#include "feriado.h"
+
+
+int main()
+{
+ int dimensao;
+ Feriado *listaDeRespostas;
+ printf("Digite a dimensao:\n");
+ scanf("%d", &dimensao);
+
+ listaDeRespostas = (Feriado*)malloc(sizeof(Feriado)*dimensao);
+ if(listaDeRespostas == NULL){
+ printf("Momria insuficiente.");
+ return 0;
+ }
+ lerLista(listaDeRespostas, dimensao);
+ relatorio(listaDeRespostas, dimensao);
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_04/caixa.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_04/caixa.c
new file mode 100644
index 00000000..3ab5d0f9
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_04/caixa.c
@@ -0,0 +1,132 @@
+#include
+#include
+#include "caixa.h"
+
+
+
+void lerCaixa(Caixa *ptr){
+ printf("Digite a situacao:(x-Ocupado, *-apagado)\n");
+ getchar();
+ scanf("%c", &ptr->situacao);
+ printf("Digite a data:(Dia mes ano)\n");
+ scanf("%d", &ptr->data.dia);
+ scanf("%d", &ptr->data.mes);
+ scanf("%d", &ptr->data.ano);
+ printf("Digite o tipo de lancamento:(D-Despesa e R-Receita)\n");
+ getchar();
+ scanf("%c", &ptr->tipo);
+ printf("Digite o valor:(R$)\n ");
+ scanf("%f", &ptr->valor);
+}
+void mostraLista(Caixa *ptr, int dimensao){
+
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("\n------------------------\n");
+ printf("Caixa %d\n", i);
+ mostrarCaixa(ptr+i);
+ printf("\n------------------------\n");
+ }
+}
+int recordVector(const char *filename, Caixa *ptr, int dim){
+
+ FILE *output;
+
+ if((output = fopen(filename, "ab")) == NULL){
+ return FALSE;
+ }
+ fwrite((Caixa *)ptr, sizeof(Caixa), dim, output);
+ fclose(output);
+ return TRUE;
+
+}
+
+
+
+void mostrarCaixa(Caixa *ptr){
+
+ printf("Situao: %c\n", ptr->situacao);
+ printf("Data %d/%d/%d\n", ptr->data.dia, ptr->data.mes, ptr->data.ano);
+
+
+}
+int retornaDimensao(const char *filename) {
+ char ch;
+ int i = 0;
+
+ FILE *fd;
+
+ if ((fd = fopen(filename, "rb")) == NULL) {
+ printf("O arquivo no pode ser aberto");
+
+ return 0;
+ }
+ while (!feof(fd)) {
+ ch = getc(fd);
+ i++;
+ }
+ fclose(fd);
+ return i/sizeof(Caixa);
+
+}
+int loadVector(const char *filename, Caixa *ptr, int dim){
+
+ FILE *input;
+
+ if((input = fopen(filename, "rb")) == NULL){
+ return FALSE;
+ }
+
+ fread((Caixa *)ptr, sizeof(Caixa), dim, input);
+ fclose(input);
+
+ return TRUE;
+
+}
+void lerLista(Caixa *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("Ler caixa %d:\n", i);
+ lerCaixa(ptr+i);
+ }
+}
+void relatorio(Caixa *ptr, int dimensao){
+ int i;
+ int despesasJaneiro = 0;
+ float saldo = 0;
+ float valor = 0;
+ float valorReceita = 0;
+ float valorDespesa = 0;
+ float valorAno = 0;
+ float despesas = 0;
+ float receitas = 0;
+
+
+ for(i = 0; i < dimensao; i++){
+ if((ptr+i)->data.mes <= 3 && (ptr+i)->data.ano <= 2005){
+ if((ptr+i)->tipo == 'D')
+ despesas += (ptr+i)->valor;
+ if((ptr+i)->tipo == 'R')
+ receitas += (ptr+i)->valor;
+
+ }
+
+ if((ptr+i)->data.ano == 2005){
+ if((ptr+i)->tipo == 'R')
+ valorReceita += (ptr+i)->valor;
+ if((ptr+i)->tipo == 'D'){
+ valorDespesa += (ptr+i)->valor;
+ if((ptr+i)->data.mes == 1)
+ despesasJaneiro++;
+
+ }
+ }
+ }
+ valor = receitas - despesas;
+ printf("A quantidade de lanamentos do tipo despesa realizados no ms de janeiro de 2005: %d\n",despesasJaneiro);
+ printf("A soma dos lanamentos de despesa %.2f, de receita %.2f realizados no ano de 2005\n", valorDespesa, valorReceita);
+ printf("Saldo de janeiro de 2005: %.2f\n", valor);
+
+
+}
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_04/caixa.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_04/caixa.h
new file mode 100644
index 00000000..e64e51a5
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_04/caixa.h
@@ -0,0 +1,31 @@
+#ifndef CAIXA_H_INCLUDED
+#define CAIXA_H_INCLUDED
+#define FALSE 0
+#define TRUE !FALSE
+
+typedef struct data{
+ int dia;
+ int mes;
+ int ano;
+
+}Data;
+
+
+typedef struct caixa{
+ char situacao;
+ Data data;
+ char tipo;//Despesa D, Receita R
+ float valor;
+}Caixa;
+
+
+
+void lerCaixa(Caixa *ptr);
+void mostraLista(Caixa *ptr, int dimensao);
+void mostrarCaixa(Caixa *ptr);
+void lerLista(Caixa *ptr, int dimensao);
+void relatorio(Caixa *ptr, int dimensao);
+int retornaDimensao(const char *filename);
+int loadVector(const char *filename, Caixa *ptr, int dim);
+int recordVector(const char *filename, Caixa *ptr, int dim);
+#endif // CAIXA_H_INCLUDED
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_04/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_04/main.c
new file mode 100644
index 00000000..59b5bd3e
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_04/main.c
@@ -0,0 +1,95 @@
+#include
+#include
+#include "caixa.h"
+
+
+int main()
+{
+ int listaCarregada = FALSE;
+ int comando;
+ int dimensao;
+ char filename[35];
+ Caixa *lista;
+
+ do{
+ if(!listaCarregada){
+ printf("\n\n-----Pesquisa Pato branco------\n\n");
+ printf("Digite 0 para sair \n1 para nova lista\n2 para abrir arquivo\n");
+ scanf("%d", &comando);
+ switch(comando){
+ case 1:
+ printf("Digite a dimensao:\n");
+ scanf("%d", &dimensao);
+ lista = malloc(sizeof(Caixa)*dimensao);
+ if(lista == NULL){
+ printf("Erro na tentativa de alocar\n");
+ continue;
+ }
+ listaCarregada = TRUE;
+ lerLista(lista, dimensao);
+ break;
+ case 2:
+ printf("Digite o nome do arquivo:\n");
+ scanf("%s", filename);
+ dimensao = retornaDimensao(filename);
+ lista = malloc(sizeof(Caixa)*dimensao);
+ if(lista == NULL){
+ printf("Erro na tentativa de alocar\n");
+ continue;
+ }
+ if(!loadVector(filename, lista, dimensao)){
+ printf("Erro na tentativa de abrir arquivo\n");
+ continue;
+ }
+ listaCarregada = TRUE;
+ break;
+ default:
+ printf("Comando nao localizado\n");
+ continue;
+ break;
+ }
+ }else
+ {
+
+ printf("Digite 0 para encerrar\n");
+ printf("1 para exibir a lista\n");
+ printf("2 para exibir o relatorio\n");
+ printf("3 para gravar em arquivo\n");
+ printf("4 para fechar a lista e voltar ao menu principal\n");
+ scanf("%d", &comando);
+ switch(comando){
+
+ case 1:
+ mostraLista(lista, dimensao);
+
+ break;
+ case 2:
+ relatorio(lista, dimensao);
+ break;
+ case 3:
+ printf("Digite o nome do arquivo:\n");
+ scanf("%s",filename);
+ if(recordVector(filename, lista, dimensao))
+ printf("Arquivo salvo com sucesso\n");
+ else
+ printf("Erro ao tentar abrir arquivo\n");
+
+ break;
+ case 4:
+ listaCarregada = FALSE;
+ free(lista);
+ dimensao = 0;
+ break;
+ default:
+ printf("Comando nao localizado\n");
+ continue;
+ break;
+
+ }
+
+ }
+ }while(comando);
+ printf("\n\nAdeus!\n\n");
+
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_05/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_05/main.c
new file mode 100644
index 00000000..f6454a3d
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_05/main.c
@@ -0,0 +1,98 @@
+#include
+#include
+
+#include "renda.h"
+
+
+
+
+int main()
+{
+ int listaCarregada = FALSE;
+ int comando;
+ int dimensao;
+ char filename[35];
+ Renda *listaDeRendas;
+
+ do{
+ if(!listaCarregada){
+ printf("\n\n-----Pesquisa Pato branco------\n\n");
+ printf("Digite 0 para sair \n1 para nova lista\n2 para abrir arquivo\n");
+ scanf("%d", &comando);
+ switch(comando){
+ case 1:
+ printf("Digite a dimensao:\n");
+ scanf("%d", &dimensao);
+ listaDeRendas = malloc(sizeof(Renda)*dimensao);
+ if(listaDeRendas == NULL){
+ printf("Erro na tentativa de alocar\n");
+ continue;
+ }
+ listaCarregada = TRUE;
+ lerLista(listaDeRendas, dimensao);
+ break;
+ case 2:
+ printf("Digite o nome do arquivo:\n");
+ scanf("%s", filename);
+ dimensao = retornaDimensao(filename);
+ listaDeRendas = malloc(sizeof(Renda)*dimensao);
+ if(listaDeRendas == NULL){
+ printf("Erro na tentativa de alocar\n");
+ continue;
+ }
+ if(!loadVector(filename, listaDeRendas, dimensao)){
+ printf("Erro na tentativa de abrir arquivo\n");
+ continue;
+ }
+ listaCarregada = TRUE;
+ break;
+ default:
+ printf("Comando nao localizado\n");
+ continue;
+ break;
+ }
+ }else
+ {
+
+ printf("Digite 0 para encerrar\n");
+ printf("1 para exibir a lista\n");
+ printf("2 para exibir o relatorio\n");
+ printf("3 para gravar em arquivo\n");
+ printf("4 para fechar a lista e voltar ao menu principal\n");
+ scanf("%d", &comando);
+ switch(comando){
+
+ case 1:
+ mostraLista(listaDeRendas, dimensao);
+
+ break;
+ case 2:
+ relatorio(listaDeRendas, dimensao);
+ break;
+ case 3:
+ printf("Digite o nome do arquivo:\n");
+ scanf("%s",filename);
+ if(recordVector(filename, listaDeRendas, dimensao))
+ printf("Arquivo salvo com sucesso\n");
+ else
+ printf("Erro ao tentar abrir arquivo\n");
+
+ break;
+ case 4:
+ listaCarregada = FALSE;
+ free(listaDeRendas);
+ dimensao = 0;
+ break;
+ default:
+ printf("Comando nao localizado\n");
+ continue;
+ break;
+
+ }
+
+ }
+ }while(comando);
+ printf("\n\nAdeus!\n\n");
+
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_05/renda.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_05/renda.c
new file mode 100644
index 00000000..bd15f351
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_05/renda.c
@@ -0,0 +1,147 @@
+#include
+#include
+#include "renda.h"
+
+int recordVector(const char *filename, Renda *ptr, int dim){
+
+ FILE *output;
+
+ if((output = fopen(filename, "ab")) == NULL){
+ return FALSE;
+ }
+ fwrite((Renda *)ptr, sizeof(Renda), dim, output);
+ fclose(output);
+ return TRUE;
+
+}
+
+
+
+
+void lerLista(Renda *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("Ler renda %d\n", i);
+ lerRenda(ptr+i);
+ }
+}
+void mostraLista(Renda *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("\n------------------------\n");
+ printf("Renda %d\n", i);
+ mostrarRenda(ptr+i);
+ printf("\n------------------------\n");
+ }
+
+}
+
+void lerRenda(Renda *ptr){
+ printf("Digite o sexo M ou F:\n");
+ getchar();
+ scanf("%c", &ptr->sexo);
+ printf("Estado Civil: 0- solteiro, 1- casado, 2- vivo e 3- divorciado:\n:");
+ scanf("%d", &ptr->estadoCivil);
+ printf("Idade em anos:\n");
+ scanf("%d", &ptr->idade);
+ printf("Renda Anual (R$):\n");
+ scanf("%f", &ptr->rendaAnual);
+}
+void mostrarRenda(Renda *ptr){
+ printf("Sexo: %c\n", ptr->sexo);
+ printf("Estado civil: ");
+ switch(ptr->estadoCivil){
+ case SOLTEIRO:
+ printf("Solteiro\n");
+ break;
+ case CASADO:
+ printf("Casado\n");
+ break;
+ case VIUVO:
+ printf("Viuvo\n");
+ break;
+ case DIVORCIADO:
+ printf("Divorciado\n");
+ break;
+ default:
+ printf("\n");
+ break;
+ }
+ printf("Idade: %d\n",ptr->idade);
+ printf("Renda: %.2f\n", ptr->rendaAnual);
+}
+
+
+void relatorio(Renda *ptr, int dimensao){
+ int i, homens, mulheres, solteiras, divorciados, aux;
+ homens = 0;
+ mulheres = 0;
+ solteiras = 0;
+ divorciados = 0;
+ float percentualDivorciados = 0;
+ aux = 0;
+ float media = 0;
+ for(i = 0; i < dimensao; i++){
+ if(ptr->sexo == 'M'){
+ homens++;
+ if(ptr->estadoCivil == DIVORCIADO)
+ divorciados++;
+ }
+ else if(ptr->sexo == 'F'){
+ mulheres++;
+ if(ptr->estadoCivil == SOLTEIRO)
+ solteiras++;
+ else if(ptr->estadoCivil == CASADO && ptr->idade >= 20 & ptr->idade <= 40){
+ media += ptr->rendaAnual;
+ aux++;
+ }
+ }
+
+
+ }
+
+ if(aux)
+ media = (float)media/(float)aux;
+
+ printf("Quantidade de entrevistados %d, %d do sexo feminino e %d do sexo masculino.\n", homens+mulheres, mulheres, homens);
+ printf("Mulheres solteiras: %d.\n", solteiras);
+ if(homens)
+ percentualDivorciados = (float)divorciados/(float)homens*100;
+ printf("A porcentagem dos homens divorciados em relao ao total de homens %.2f.\n", percentualDivorciados);
+ printf("A renda anual mdia das mulheres casadas com idade entre 20 e 40 an os (inclusive) %.2f\n", media);
+
+}
+
+int retornaDimensao(const char *filename) {
+ char ch;
+ int i = 0;
+
+ FILE *fd;
+
+ if ((fd = fopen(filename, "rb")) == NULL) {
+ printf("O arquivo no pode ser aberto");
+
+ return 0;
+ }
+ while (!feof(fd)) {
+ ch = getc(fd);
+ i++;
+ }
+ fclose(fd);
+ return i/sizeof(Renda);
+}
+
+int loadVector(const char *filename, Renda *ptr, int dim){
+
+ FILE *input;
+
+ if((input = fopen(filename, "rb")) == NULL){
+ return FALSE;
+ }
+
+ fread((Renda *)ptr, sizeof(Renda), dim, input);
+ fclose(input);
+
+ return TRUE;
+
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_05/renda.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_05/renda.h
new file mode 100644
index 00000000..edd5d374
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_02/Q_05/renda.h
@@ -0,0 +1,29 @@
+#ifndef RENDA_H_INCLUDED
+#define RENDA_H_INCLUDED
+
+#define FALSE 0
+#define TRUE !FALSE
+
+#define SOLTEIRO 0
+#define CASADO 1
+#define VIUVO 2
+#define DIVORCIADO 3
+
+
+typedef struct renda{
+ char sexo;
+ int estadoCivil;
+ int idade;
+ float rendaAnual;
+}Renda;
+
+int retornaDimensao(const char *filename);
+int recordVector(const char *filename, Renda *ptr, int dim);
+int loadVector(const char *filename, Renda *ptr, int dim);
+void lerLista(Renda *ptr, int dimensao);
+void mostraLista(Renda *ptr, int dimensao);
+void lerRenda(Renda *ptr);
+void mostrarRenda(Renda *ptr);
+void relatorio(Renda *ptr, int dimensao);
+
+#endif // RENDA_H_INCLUDED
diff --git "a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_03/Lista_03_-_Ordena\303\247\303\243o.pdf" "b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_03/Lista_03_-_Ordena\303\247\303\243o.pdf"
new file mode 100644
index 00000000..933827b5
Binary files /dev/null and "b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_03/Lista_03_-_Ordena\303\247\303\243o.pdf" differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_03/src/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_03/src/main.c
new file mode 100644
index 00000000..554c9d6c
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_03/src/main.c
@@ -0,0 +1,196 @@
+#include
+#include
+#define DIMENSAO 10
+
+
+
+void readVector(int *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("Digite o elemento %d:\n", i);
+ scanf("%d", (ptr+i));
+ }
+
+}
+void showVector(int *ptr, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ printf("[%d]:%d \n", i, *(ptr+i));
+ }
+}
+
+
+
+
+void bubbleSort(int *lista, int dimensao){
+ int i, j, aux;
+ for(i = dimensao-1; i >= 1; i--){
+ for(j = 0; j < i;j++){
+ if(lista[j]> lista[j+1]){
+ aux = lista[j];
+ lista[j] = lista[j+1];
+ lista[j+1] = aux;
+ }
+ }
+
+ }
+}
+
+void selectionSort(int *lista, int dimensao){
+ int i, j, menor, aux;
+ for (i = 0; i < (dimensao-1); i++)
+ {
+ menor = i;
+ for (j = (i+1); j < dimensao; j++) {
+ if(lista[j] < lista[menor])
+ menor = j;
+ }
+ if (i != menor) {
+ aux = lista[i];
+ lista[i] = lista[menor];
+ lista[menor] = aux;
+ }
+ }
+
+}
+void insertionSort(int *lista, int tamanho)
+{
+ int i, j, atual;
+ for (i = 0; i < tamanho; i++)
+ {
+ atual = *(lista+i);
+ j = i - 1;
+
+ while ((j >= 0) && (atual < lista[j]))
+ {
+ lista[j + 1] = lista[j];
+ j = j - 1;
+ }
+
+ lista[j + 1] = atual;
+ }
+}
+
+
+
+ void outroQickSort(int* array,int total){
+ int esquerda[total];
+ int direita[total];
+ int meio;
+ int id, ie;
+ int i, j;
+ if(total==1){
+ return;
+ }
+
+
+ meio=(int)total/2;
+
+ id=0;
+ ie=0;
+ for (i = 0;i x ){
+ j--;
+ }
+ while( lista[i] < x ){
+ i++;
+ }
+ if (i < j)
+ {
+ aux = lista[i];
+ lista[i] = lista[j];
+ lista[j] = aux;
+ }
+ else
+ {
+ pivot = j;
+ break;
+ }
+ }while(1);
+ quickSort( lista, esquerda, pivot);
+ quickSort(lista, pivot+1, direita);
+ }
+}
+
+void loadVector(int *lista, int dimensao){
+ int i;
+ for(i = 0; i < dimensao; i++){
+ lista[i] = i-(2*i)+300;
+
+ }
+}
+
+int main()
+{
+
+ int lista[DIMENSAO];
+ int comando;
+ printf("Alimente o vetor:\n\n");
+ //readVector(lista, DIMENSAO);
+ loadVector(lista, DIMENSAO);
+ showVector(lista, DIMENSAO);
+
+ do{
+
+ printf("Selecione o tipo de ordenacao desejada: \n");
+ printf("1 - Bubble Sort;");
+ printf("2 - Insertion Sort;");
+ printf("3 - Selection Sort;");
+ printf("4 - QuickSort Sort");
+ scanf("%d", &comando);
+
+ switch(comando){
+ case 1:
+ bubbleSort(lista, DIMENSAO);
+ break;
+ case 2:
+ insertionSort(lista, DIMENSAO);
+ break;
+ case 3:
+ selectionSort(lista, DIMENSAO);
+ break;
+ case 4:
+ quickSort(lista, 0, DIMENSAO-1);
+ break;
+ default:
+ printf("Comando nao encontrado.");
+ break;
+ }
+ printf("Depois da ordenacao:\n");
+ showVector(lista, DIMENSAO);
+ }while(comando);
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_04/.gitignore b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_04/.gitignore
new file mode 100644
index 00000000..3df573fe
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_04/.gitignore
@@ -0,0 +1 @@
+/Debug/
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_04/Lista_04_-_Ponteiros.pdf b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_04/Lista_04_-_Ponteiros.pdf
new file mode 100644
index 00000000..889db102
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_04/Lista_04_-_Ponteiros.pdf differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_04/src/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_04/src/main.c
new file mode 100644
index 00000000..db6891bb
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_04/src/main.c
@@ -0,0 +1,185 @@
+#include
+#include
+
+
+typedef struct box{
+ char conteudo;
+ struct box *proximo;
+
+}Box;
+
+
+Box* inserir_inicio(Box* lista, char conteudo){
+ Box* novo = (Box*)malloc(sizeof(Box));
+ novo->conteudo = conteudo;
+ novo->proximo = lista;
+ return novo;
+}
+void box_listar(Box* lista){
+ Box *p;
+ printf("\n\n-----------Listando-----------\n\n");
+ for(p = lista; p != NULL; p = p->proximo){
+ printf("Conteudo: %c\n", p->conteudo);
+ }
+}
+void inserir_final(Box *lista, char conteudo){
+ Box *p = lista;
+
+ for(p = lista; p->proximo != NULL; p = p->proximo){
+ }
+ p->proximo = (Box*)malloc(sizeof(Box));
+ p->proximo->proximo = NULL;
+ p->proximo->conteudo = conteudo;
+}
+void insere_entre_dois(Box*lista, char primeiro, char proximo, char conteudo){
+ Box*novo;
+
+ Box *p = lista;
+ for(p = lista; p != NULL; p = p->proximo){
+ if(p->proximo == NULL)
+ break;
+ if(p->conteudo == primeiro && p->proximo->conteudo == proximo)
+ {
+
+ novo = (Box*)malloc(sizeof(Box));
+ novo->proximo = p->proximo;
+ novo->conteudo = conteudo;
+ p->proximo = novo;
+
+ }
+
+ }
+}
+
+void eliminar_por_busca(Box*lista, char conteudo){
+ Box*anterior;
+ Box *p;
+
+ anterior = lista;
+ for(p = anterior->proximo; p != NULL; p = p->proximo){
+ if(anterior == NULL)
+ break;
+ if(p->conteudo == conteudo)
+ {
+ anterior->proximo = p->proximo;
+ free(p);
+
+ }
+
+ }
+}
+
+Box* eliminar(Box*lista, char conteudo){
+ Box *p, *anterior, excluido;
+ anterior = lista;
+ if(anterior->conteudo == conteudo){
+ p = anterior->proximo;
+ free(anterior);
+ return p;
+ }
+
+ for(p = anterior->proximo; p != NULL; p = p->proximo){
+ if(p->conteudo == conteudo){
+ anterior->proximo = p->proximo;
+ free(p);
+ return lista;
+ }
+ anterior = anterior->proximo;
+
+ }
+ return lista;
+}
+Box* excluir_primeiro(Box*lista){
+ Box*excluido;
+ excluido = lista;
+ lista = lista->proximo;
+ free(excluido);
+ return lista;
+}
+void eliminar_final(Box *lista){
+ Box *p = lista;
+ Box *anterior;
+ for(p = lista; p->proximo != NULL; p = p->proximo){
+ anterior = p;
+ }
+ anterior->proximo = NULL;
+ free(p);
+}
+
+
+int main()
+{
+ char letra;
+ Box *lista = NULL;
+
+
+ lista = inserir_inicio(lista, 'c');
+ //1
+ inserir_final(lista, 'A');
+ box_listar(lista);
+ //2
+ lista = inserir_inicio(lista, 'B');
+ box_listar(lista);
+ //3
+ inserir_final(lista, 'C');
+ box_listar(lista);
+ //4
+ inserir_final(lista, 'D');
+ box_listar(lista);
+
+ //5
+ insere_entre_dois(lista, 'A', 'C', 'E');
+ box_listar(lista);
+
+ //6
+ lista = eliminar(lista, 'C');
+ box_listar(lista);
+
+ //7
+ inserir_final(lista, 'F');
+ box_listar(lista);
+
+ //8
+ lista = inserir_inicio(lista, 'G');
+ box_listar(lista);
+
+ //9
+ eliminar_final(lista);
+ lista = excluir_primeiro(lista);
+ box_listar(lista);
+
+ //10
+ insere_entre_dois(lista, 'A', 'E', 'H');
+ box_listar(lista);
+ //11
+ lista = eliminar(lista, 'a');
+ box_listar(lista);
+ //12
+ insere_entre_dois(lista, 'E', 'D', 'I');
+ box_listar(lista);
+
+ //13
+ inserir_final(lista, 'J');
+ box_listar(lista);
+ //14
+ insere_entre_dois(lista, 'B', 'H', 'K');
+ box_listar(lista);
+ //15
+ lista = eliminar(lista, 'D');
+ lista = eliminar(lista, 'K');
+ lista = eliminar(lista, 'I');
+ lista = eliminar(lista, 'B');
+
+ box_listar(lista);
+ //16
+ inserir_final(lista, 'L');
+ box_listar(lista);
+
+
+
+
+
+ box_listar(lista);
+
+ return 0;
+}
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_05/Lista_05_-_Pilhas.pdf b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_05/Lista_05_-_Pilhas.pdf
new file mode 100644
index 00000000..4a0186be
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_05/Lista_05_-_Pilhas.pdf differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_05/src/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_05/src/main.c
new file mode 100644
index 00000000..3e94921f
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_05/src/main.c
@@ -0,0 +1,30 @@
+#include
+#include
+#include
+#include "no.h"
+
+int main()
+{
+ No*lista = NULL;
+ char palavra[100] = "4*1-10+4*4";
+
+ printf("Equacao: %s\n", palavra);
+ lista = strEmpilhar(palavra);
+ lista = resolvePilha(lista);
+ boxListar(lista);
+
+ printf("Digite a equao:\n");
+ scanf("%s", palavra);
+ printf("Equacao: %s\n", palavra);
+ free(lista);
+ lista = NULL;
+ lista = strEmpilhar(palavra);
+ lista = resolvePilha(lista);
+ boxListar(lista);
+ free(lista);
+ lista = NULL;
+ return 0;
+}
+
+
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_05/src/no.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_05/src/no.c
new file mode 100644
index 00000000..f60aab77
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_05/src/no.c
@@ -0,0 +1,131 @@
+#include
+#include
+#include
+#include
+#include "no.h"
+
+
+No* inserirInicio(No* lista, char conteudo){
+ No* novo = (No*)malloc(sizeof(No));
+ novo->operador = conteudo;
+ novo->proximo = lista;
+ return novo;
+}
+
+
+No* inserirNumero(No* lista, int conteudo){
+ No* novo = (No*)malloc(sizeof(No));
+ novo->operador = '_';
+ novo->numero = conteudo;
+ novo->proximo = lista;
+ return novo;
+}
+
+void noPrint(No*no){
+
+ if(no->operador == '_'){
+ printf("%d", no->numero);
+ }else{
+ printf("%c", no->operador);
+ }
+
+
+}
+void boxListar(No* lista){
+ No *p;
+ printf("\n\n-----------Resultado-----------\n\n");
+ for(p = lista; p != NULL; p = p->proximo){
+ noPrint(p);
+ }
+ printf("\n\n-----------Resultado-----------\n\n");
+}
+
+No* strEmpilhar(char *palavra){
+ int i, flag;
+ char subPalavra[100];
+ No*lista = NULL;
+
+ flag = 0;
+ for(i = 0; TRUE; i++){
+
+ if(isdigit(palavra[i])){
+ subPalavra[flag] = palavra[i];
+ subPalavra[flag+1] = '\0';
+ flag++;
+ }
+ else{
+ if(flag){
+ subPalavra[i] = '\0';
+ lista = inserirNumero(lista, atoi(subPalavra));
+ subPalavra[0] = '\0';
+ flag = 0;
+ }
+ if(palavra[i] != '\0'){
+ lista = inserirInicio(lista, palavra[i]);
+ }else{
+ break;
+ }
+ }
+ }
+ return lista;
+
+}
+
+No* excluirPrimeiro(No*lista){
+ No*excluido;
+ excluido = lista;
+ lista = lista->proximo;
+ free(excluido);
+ return lista;
+}
+
+int opera(int a, int b, char operador){
+ switch(operador){
+ case '+':
+ printf("\n%d+%d=%d\n", b, a, a+b);
+ return a+b;
+ break;
+ case '-':
+ printf("\n%d-%d=%d\n", b, a, b-a);
+ return b-a;
+ break;
+ case '/':
+ printf("\n%d/%d=%d\n", b, a, b/a);
+ return b/a;
+ break;
+ case '*':
+ printf("\n%d*%d=%d\n",b, a, b*a);
+ return a*b;
+ break;
+ default:
+ return a+b;
+ break;
+ }
+
+}
+
+
+
+No* resolvePilha(No* lista){
+ No *p;
+ No *anterior;
+ int resultado;
+ int parenteses = 0;
+ anterior = lista;
+
+ for(p = lista;p->proximo != NULL ; p = p->proximo){
+
+ if(p->proximo->proximo != NULL)
+ {
+ p->proximo->proximo->numero = opera(p->numero, p->proximo->proximo->numero, p->proximo->operador);
+ p = excluirPrimeiro(p);
+ p = excluirPrimeiro(p);
+
+
+ }
+ p = resolvePilha(p);
+ break;
+ }
+ return p;
+}
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_05/src/no.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_05/src/no.h
new file mode 100644
index 00000000..d71146e7
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_05/src/no.h
@@ -0,0 +1,35 @@
+#ifndef NO_H_INCLUDED
+#define NO_H_INCLUDED
+#define FALSE 0
+#define TRUE !FALSE
+
+
+/*Cada elemento pode ser um
+Numero ou um operador.
+Caso o caractere seja '_'
+ o valor significa
+ um Numero
+Senão
+ O valor significa um Operador
+ no char operador.
+*/
+
+typedef struct no{
+ int numero;
+ char operador;
+ struct no *proximo;
+}No;
+No* inserirInicio(No* lista, char conteudo);
+No* inserirNumero(No* lista, int conteudo);
+void noPrint(No*no);
+void boxListar(No* lista);
+No* strEmpilhar(char *palavra);
+No* excluirPrimeiro(No*lista);
+int opera(int a, int b, char operador);
+No* resolveParenteses(No* lista);
+No* resolvePilha(No* lista);
+
+
+
+
+#endif // NO_H_INCLUDED
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/.gitignore b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/.gitignore
new file mode 100644
index 00000000..ac01e665
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/.gitignore
@@ -0,0 +1,2 @@
+/Debug/
+/Release/
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/Lista_06_-_Filas.pdf b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/Lista_06_-_Filas.pdf
new file mode 100644
index 00000000..26d6a1f4
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/Lista_06_-_Filas.pdf differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/src/fila.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/src/fila.c
new file mode 100644
index 00000000..938fc0f1
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/src/fila.c
@@ -0,0 +1,89 @@
+/*
+ * cliente.c
+ *
+ * Created on: 22 de mar de 2016
+ * Author: jefponte
+ */
+
+#include
+#include
+#include "fila.h"
+
+
+void printHora(int intTempo) {
+ int hours, minutes;
+ if (intTempo < 0) {
+ intTempo = 0;
+ }
+ hours = intTempo / 3600;
+ intTempo -= hours * 3600;
+ minutes = intTempo / 60;
+ intTempo -= minutes * 60;
+ printf("%d:%d:%d", hours, minutes, intTempo);
+}
+
+
+
+typedef struct fila Fila;
+
+Fila* filaCria() {
+ Fila *fila = (Fila*) malloc(sizeof(Fila));
+ fila->inicio = fila->fim = NULL;
+ return fila;
+}
+
+void filaInsere(Fila *fila, int entrada, int saida) {
+ Lista*novo = (Lista*) malloc(sizeof(Lista));
+ novo->info = entrada;
+ novo->saida = saida;
+ novo->proximo = NULL;
+ if (fila->fim != NULL) {
+ fila->fim->proximo = novo;
+ } else {
+ fila->inicio = novo;
+ }
+ fila->fim = novo;
+}
+
+int filaVazia(Fila *fila) {
+ return (fila->inicio == NULL);
+}
+float filaRetira(Fila *fila) {
+ Lista *t;
+ int conteudo;
+ if (filaVazia(fila)) {
+ return 0.0;
+ }
+ t = fila->inicio;
+ conteudo = t->info;
+ fila->inicio = t->proximo;
+ if (fila->inicio == NULL) {
+ fila->fim = NULL;
+
+ }
+ free(t);
+ return conteudo;
+}
+
+void filaImprime(Fila *fila) {
+ Lista *q;
+ printf("Fila:\n");
+ for (q = fila->inicio; q != NULL; q = q->proximo) {
+ mostrarCliente(q);
+ }
+
+}
+void mostrarCliente(Lista *lista){
+ printf("\n------------------\n");
+ printf("Hora de entrada: ");
+ printHora(lista->info);
+ printf("\n");
+ printf("\nTempo de Espera: ");
+ printHora(lista->saida);
+ printf("\n");
+ printf("\nHora da Saida: ");
+ printHora(lista->info+lista->saida);
+ printf("\n\n");
+ printf("\n------------------\n");
+}
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/src/fila.h b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/src/fila.h
new file mode 100644
index 00000000..7567aa14
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/src/fila.h
@@ -0,0 +1,32 @@
+#ifndef FILA_H
+#define FILA_H
+
+
+
+struct lista {
+
+ int info;
+ int saida;
+ struct lista *proximo;
+
+};
+typedef struct lista Lista;
+
+
+typedef struct fila {
+ Lista*inicio;
+ Lista*fim;
+
+} Fila;
+
+
+
+void printHora(int intTempo);
+Fila* filaCria();
+void filaInsere(Fila *fila, int entrada, int saida);
+int filaVazia(Fila *fila);
+float filaRetira(Fila *fila);
+void filaImprime(Fila *fila);
+void mostrarCliente(Lista *lista);
+
+#endif /* FILA_H */
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/src/main.c b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/src/main.c
new file mode 100644
index 00000000..6ed8e1c0
--- /dev/null
+++ b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/Lista_06/src/main.c
@@ -0,0 +1,151 @@
+#include
+#include
+#include
+#include
+#include "fila.h"
+
+
+int main() {
+
+
+
+ Fila *fila;
+ Fila *atendidos;
+ int valor;
+ int hora = 3600;
+ int i, clientesAtendidos, numeroDeServidores, j;
+ int variacao;
+ float tempoMedioDeEspera;
+
+ srand((unsigned)time(NULL));
+
+ fila = filaCria();
+ atendidos = filaCria();
+ tempoMedioDeEspera = 0;
+ clientesAtendidos = 0;
+ printf("Digite o número de servidores: \n");
+ scanf("%d", &numeroDeServidores);
+ variacao = 0;
+
+ for (i = 0; i < hora; i++) {
+ if (i <= 900) {
+ //Chega gente de 20 em 20 segundos
+ //Não começou a distribuição.
+
+
+
+ if (!(i % 20)) {
+ //Variar entre -5 e +5
+ variacao = (-5+rand()%10);
+ filaInsere(fila, (i+variacao), 0);
+ }
+ } else if (i > 900 && i <= 1500) {
+ //Entra gente de 10 em 10 segundos.
+ //Ainda não começou a distribuição.
+ if (!(i % 10)) {
+ //Variar entre -6 e +6
+ variacao = (-6+rand()%12);
+
+ filaInsere(fila, (i+variacao), 0);
+
+ }
+
+ } else if (i > 1500 && i <= 1800) {
+ //Entra gente de 5 em 5 segundos.
+ if (!(i % 5)) {
+ //Variar entre -3 e +3
+ variacao = (-3+rand()%6);
+ filaInsere(fila, (i+variacao), 0);
+
+ }
+ //Não começou a distribuição.
+
+ } else if (i > 1800 && i <= 2400) {
+
+
+ //Entra gente de 10 em 10 segundos na fila.
+ if (!(i % 10)) {
+ //Variar entre -8 e +8
+ variacao = (-8+rand()%16);
+ filaInsere(fila, (i+variacao), 0);
+ }
+ //Inicia-se a entrega do lanche. de 4 em 4 segundos cada servidor
+ if (!(i % 4)) {
+
+ for (j = 0; j < numeroDeServidores; j++) {
+ if (!filaVazia(fila)) {
+ valor = filaRetira(fila);
+ filaInsere(atendidos, valor, (i-valor));
+ valor = i - valor;
+ tempoMedioDeEspera += valor;
+ clientesAtendidos++;
+
+
+ }
+ }
+ }
+
+ } else if (i > (1800 + 600) && i <= (1800 + 1200)) {
+ //Entre 10 e 20 minutos.
+ //Entra gente de 20 em 20 segundos.
+
+ if (!(i % 20)) {
+ //Variar entre -15 e +15
+ variacao = (-15+rand()%30);
+
+ filaInsere(fila, (i+variacao), 0);
+
+ }
+ if (!(i % 4)) {
+
+ for (j = 0; j < numeroDeServidores; j++) {
+ if (!filaVazia(fila)) {
+ valor = filaRetira(fila);
+ filaInsere(atendidos, valor, (i-valor));
+ valor = i - valor;
+ tempoMedioDeEspera += valor;
+ clientesAtendidos++;
+
+ }
+ }
+ }
+ } else if (i > (1800 + 1200) && i <= (1800 + 1800)) {
+ //entra gente de 30 em 30 segundos.
+ if (!(i % 30)) {
+ //Variar entre -5 e +5
+ variacao = (-5+rand()%10);
+ filaInsere(fila, (i+variacao), 0);
+
+ }
+ if (!(i % 4)) {
+
+ for (j = 0; j < numeroDeServidores; j++) {
+ if (!filaVazia(fila)) {
+ valor = filaRetira(fila);
+ filaInsere(atendidos, valor, (i-valor));
+ valor = i - valor;
+ tempoMedioDeEspera += valor;
+ clientesAtendidos++;
+
+ }
+ }
+ }
+ }
+
+ }
+ printf("Acabou!!!\n");
+ printf("Tempo do termino: ");
+ printHora(i);
+ printf("\n");
+ tempoMedioDeEspera = (float) tempoMedioDeEspera / (float) clientesAtendidos;
+ printf("Tempo medio de espera: ");
+ printHora((int) tempoMedioDeEspera);
+ printf("\n");
+ printf("Total de clientes atendidos %d\n", clientesAtendidos);
+ printf("\n\n\n");
+ printf("Para justificar os dados pode verificar o tempo de atendimento de cada um:\n");
+ filaImprime(atendidos);
+ return 0;
+
+}
+
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/PROVA _ N1.pdf b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/PROVA _ N1.pdf
new file mode 100644
index 00000000..039d900c
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N1/PROVA _ N1.pdf differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N2/Prova N2 - Respostas.jpg b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N2/Prova N2 - Respostas.jpg
new file mode 100644
index 00000000..b6adb5ce
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N2/Prova N2 - Respostas.jpg differ
diff --git "a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N2/Prova N2 - p\303\241g 1.jpg" "b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N2/Prova N2 - p\303\241g 1.jpg"
new file mode 100644
index 00000000..d7f7dab4
Binary files /dev/null and "b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N2/Prova N2 - p\303\241g 1.jpg" differ
diff --git "a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N2/Prova N2 - p\303\241g 2.jpg" "b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N2/Prova N2 - p\303\241g 2.jpg"
new file mode 100644
index 00000000..7d28ed21
Binary files /dev/null and "b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/N2/Prova N2 - p\303\241g 2.jpg" differ
diff --git a/S03 - Estrutura de Dados/2015.2 - Ernani Leite/PUD-Telm.059-EstruturasDados.pdf b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/PUD-Telm.059-EstruturasDados.pdf
new file mode 100644
index 00000000..f7cea1cc
Binary files /dev/null and b/S03 - Estrutura de Dados/2015.2 - Ernani Leite/PUD-Telm.059-EstruturasDados.pdf differ
diff --git a/S03 - Estrutura de Dados/2017.2 - Ernani/N1 Estrutura.pdf b/S03 - Estrutura de Dados/2017.2 - Ernani/N1 Estrutura.pdf
new file mode 100644
index 00000000..664e264b
Binary files /dev/null and b/S03 - Estrutura de Dados/2017.2 - Ernani/N1 Estrutura.pdf differ
diff --git a/S03 - Estrutura de Dados/2017.2 - Ernani/N2 Estrutura.pdf b/S03 - Estrutura de Dados/2017.2 - Ernani/N2 Estrutura.pdf
new file mode 100644
index 00000000..affaea6e
Binary files /dev/null and b/S03 - Estrutura de Dados/2017.2 - Ernani/N2 Estrutura.pdf differ
diff --git a/S03 - Estrutura de Dados/ED com Alisson 2022.1/ed_18_05.py b/S03 - Estrutura de Dados/ED com Alisson 2022.1/ed_18_05.py
new file mode 100644
index 00000000..7668bea8
--- /dev/null
+++ b/S03 - Estrutura de Dados/ED com Alisson 2022.1/ed_18_05.py
@@ -0,0 +1,637 @@
+import numpy as np
+
+#Q1
+array = []
+class Pilha:
+
+ def __init__(self, data = None, next = None):
+ self.data = data
+ self.next = next
+
+#Q2
+
+ def pushWithClass(self, newData = None):
+ if newData is None:
+ return
+
+ p1 = Pilha(self.data, self.next)
+
+ self.data = newData
+ self.next = p1
+
+ def insertWithClass(self, Data = None):
+ if Data is None:
+ return
+
+ insert = Pilha(self.data, self.next)
+
+ self.data = insert
+ self.next = self.data
+
+ def pushWithArray (self) :
+ element = self.data
+ element = self.data.append()
+ return element
+
+ def insertWithArray (self) :
+ x = self.data
+ for x in Pilha:
+ self.extend(input())
+ return x
+
+
+#Q3
+
+ def popWithclass(self):
+ if not self:
+ return None
+ poped = self.data
+
+ if self.next is None:
+ self.data = None
+ self.next = None
+
+ else:
+ self.data = self.next.data
+ self.next = self.next.next
+ return poped
+
+ def removeWithClass (self):
+ if not self:
+ return None
+ poped = self.next
+ if self.data is None:
+ self.data = None
+ self.next = None
+ else:
+ self.next = self.data.next
+ self.data = self.data.data
+ return poped
+
+ def initByArray(self, array = None):
+
+ if array is None or len(array) == 0:
+ self.data = None
+ self.next = None
+
+ else:
+ self.data = array[0]
+ P = Pilha()
+ P.initByArray(array[1:])
+
+ if P.data is not None:
+ self.next = P
+
+ def toArray(self, array=[]):
+ if self is None:
+ return
+
+ array.append(self.data)
+
+ if self.next is not None and self.next.data is not None:
+ self.next.toArray(array)
+
+ return array
+
+#Q4
+
+ def peek_A(self):
+ peek = self.pop()
+ self.push(peek)
+ return peek
+
+
+ def peek_B(self):
+ return self.data
+
+ def first_C(self):
+ first = self.remove()
+ filaAux = Pilha(first, None)
+ filaAux.insert(self)
+
+ while self.next is not None:
+ self.remove()
+
+ while filaAux.next is not None:
+ f = filaAux.remove()
+ self.insert(f)
+
+ return first
+
+ def first_D(self):
+ return self.data
+
+#Q5
+
+def frameIsEmpty () :
+ if len(array == 0) :
+ return True
+ else :
+ return False
+
+def frameIsEmpty2 () :
+ if array[0] == None :
+ return True
+ else :
+ return False
+
+def frameIsEmpty3 () :
+ if sum(array == None) :
+ return True
+ else :
+ return False
+
+def frameIsEmpty4 () :
+ if array is not None :
+ array.show()
+ else :
+ return print("struture is empty")
+
+#Q6
+
+def structureLen () :
+ x = len(array)
+ return x
+
+def structureLen2 () :
+ if array == None :
+ return print("structure is empty")
+ else:
+ return len(array)
+
+def structureLen3 () :
+ myTuple = tuple(array)
+ y = len(myTuple)
+ return y
+
+def structureLen4 () :
+ count = 0
+ for x in array :
+ count += 1
+ return count
+
+
+#Q7
+
+def last_A(array):
+ for i in range(0, len(array)):
+ if i == (len(array)-1):
+ return str(array[i])
+
+def last_B(array):
+ array.reverse()
+ return str(array[0])
+
+def last_C(array):
+ return str(array[len(array) -1])
+
+def last_D(array):
+ return str(array[-1])
+
+def last_E(array):
+ return str(array.pop())
+
+def last_F(array):
+ return str(next(reversed(array))
+
+#Q8
+
+def getValueByIndex_A(array):
+ for i in range(0, len(array)) :
+ x = int(input("insert index"))
+ if array == x :
+ y = array.append(i)
+ return y
+
+def getValueByIndex_B(array):
+ elementindex = -1
+ while True:
+ try:
+ elementindex = array.index(getValueByIndex_A(), elementindex+1)
+ p = result.append(elementindex)
+ except ValueError:
+ break
+
+ return P
+
+def getValueByIndex_C(array):
+ return [i for i, and in enumerate(array) if and == getValueByIndex_A]
+
+def getValueByIndex_D(array):
+ return list(filter(lambda i: array[i] == , range(len(array)))
+
+#Q9
+
+def getIndexByValue_A(array):
+ elem = int(input("enter of value"))
+
+ try:
+ index_pos = array.index(elem)
+ print(f'First Index of element "{elem}" in the list : ', index_pos)
+ except ValueError as e:
+ print(f'Element "{elem}" not found in the list: ', e)
+
+def getIndexByValue_B(array):
+ elem = int(input("enter of value"))
+ pos = -1
+
+ for i in range(len(array)):
+ if array[i] == elem:
+ pos = i
+ break
+ if pos > -1:
+ print(f'Index of element "{elem}" in the list is: ', pos)
+ else:
+ print(f'Element "{elem}" does not exist in the list: ', pos)
+
+def getIndexByValue_C(array):
+ elem = int(input("enter of value"))
+
+ try:
+ index_pos = len(larray) - array[::-1].index(elem) - 1
+ print(f'Last Index of element "{elem}" in the list : ', index_pos)
+
+ except ValueError as e:
+ print(f'Element "{elem}" not found in the list: ', e)
+
+def getIndexByValue_D(array):
+ index_pos_list = []
+ index_pos = 0
+ while True:
+ try:
+ index_pos = array.index(element, index_pos)
+ index_pos_list.append(index_pos)
+ index_pos += 1
+ except ValueError as e:
+ break
+ return index_pos_list
+
+#Q10
+
+def getAllIndexByValue_A(array):
+ x = int(input("enter of value"))
+ y = int(input("enter of value"))
+ numpy.where(array[, x, y])
+
+def getAllIndexByValue_B(array):
+ x = int(input("enter of value"))
+ y = int(input("enter of value"))
+ new_tuple = (array, dtype = x, dtype = y),)
+
+def getAllIndexByValue_C(array):
+ x = int(input("enter of value"))
+ y = int(input("enter of value"))
+ new_array =list(zip(result[x], result[y]))
+
+def getAllIndexByValue_Darray):
+ x = int(input("enter of value"))
+ y = int(input("enter of value"))
+ numpy.where(array[x, y])
+
+#Q11
+
+def getValuesByIndexs_A (array):
+ output = []
+ for i in range(0, len(array)):
+ if abs(array[i] - array[i-1]) > 0:
+ output.append(i)
+ return output
+
+def getValuesByIndexs_B (array):
+ return [i for i, (x, y) in enumerate(zip(array, array[1:]))if abs(y - x) > 0]
+
+def getValuesByIndexs_C (array):
+ output = []
+ for i in range(0, len(array)):
+ if abs(array[i] - array[i-1]) > 0:
+ output.append(i)
+ return output
+
+def getValuesByIndexs_D (array):
+ indicesList = ()
+ for i in range(1, len(array)):
+ if abs(array(i) - array(i-1)) > 0:
+ indicesList.append(i)
+ return(indicesList)
+
+#Q12
+
+def getValuesBySlice_A(array):
+ indices = []
+ value = int(input())
+ idx = -1
+ while True:
+ try:
+ idx = array.index(value, idx+1)
+ indices.append(idx)
+ except ValueError:
+ break
+ return indices
+
+def getValuesBySlice_B(array):
+ value = int(input())
+ try:
+ index_element = array.index(value)
+ return index_element
+ except ValueError:
+ return None
+
+def getValuesBySlice_C(array):
+ value = int(input())
+ new_array = [i for i in range(len(array)) if array[i] == value]
+ return new_array
+
+def getValuesBySlice_D(array):
+ value = int(input())
+ array.index(value) if value in array else None
+ new_array = [each for each in array if each == value]
+ return new_array
+
+#Q13
+
+def removeAll_A(array):
+ for i in range(0, len(array)) :
+ array.remove(i)
+
+def removeAll_B(array):
+ array.clear()
+
+def removeAll_C(array):
+ while len(array)!= 0:
+ for i in range(0, len(array)) :
+ array.pop(i)
+
+def removeAll_D(array):
+ del array[0:]
+
+#Q14
+
+def removeByIndex_A(array):
+ x = int(input("index of struct))
+ del array[x]
+
+def removeByIndex_B(array):
+ x = int(input("index of struct))
+ array.pop(x)
+
+def removeByIndex_C(array):
+ x = int(input("index of struct))
+ array.pop(x)
+
+def removeByIndex_D(array):
+ a = a[:index] + a[index+1 :]
+ del array[a]
+
+#Q17
+
+def removeAllByIndexes_A(array):
+ x = int(input("index of struct))
+ del array[index([x])]
+
+def removeAllByIndexes_B(array):
+ st = sorted(t)
+ nonzero(r_[1, diff(st)[:-1]])
+
+def removeAllByIndexes_C(array):
+ y = int(input("index of struct))
+ del array[index([y])]
+
+def removeAllByIndexes_D(array):
+ l = int(input("index of struct))
+ a = numpy.array(l)
+ i = a.tolist().index(l)
+
+#Q18
+
+def removeAllBySlice_A(array):
+ del array[-1]
+
+def removeAllBySlice_B(array):
+ x = int(input("index start))
+ y = int(input("index end))
+ del array[x:y]
+
+def removeAllBySlice_C(array):
+ x = int(input("index start))
+ y = int(input("index end))
+ newArray = [array - [j for i, j in enumerate(array) if i not in [x, y]]]
+
+def removeAllBySlice_D(array):
+ x = int(input("index start))
+ y = int(input("index end))
+ for i in sorted(indices, reverse = True):
+ del array[i]
+
+#Q19
+
+def setValueInIndex_A (array):
+ x = input("insert value))
+ for i in range(len(array)):
+ array[i].append()
+
+def setValueInIndex_B (array):
+ x = input("insert value)
+ array[i].append(x)
+
+#Q21
+class Tree:
+
+ def __init__(self, data = None, left = None, right = None):
+ self.data = data
+ self.right = right
+ self.left = left
+
+#Q22
+
+ def TreePreOrdem(self):
+ if self.data is not None:
+ print(self.data)
+
+ if self.left is not None:
+ self.left.preOrdem()
+
+ if self.right is not None:
+ self.right.preOrdem()
+#Q23
+
+ def TreeInOrdem(self):
+ if self.left is not None:
+ print(self.left)
+
+ if self.data is not None:
+ self.data.inOrdem()
+
+ if self.right is not None:
+ self.right.inOrdem()
+
+#Q24
+
+ def TreePosOrdem(self):
+ if self.left is not None:
+ print(self.left)
+
+ if self.right is not None:
+ self.rigth.posOrdem()
+
+ if self.data is not None:
+ self.data.posOrdem()
+
+#Q25
+
+ def TreeInNivel(self, array=None, ip=None):
+ if self is None:
+ return
+
+ if ip is None or array is None:
+ array = [None] * (2**self.altura() - 1)
+ array[0] = self.data
+ ip = 0
+
+ if self.left is not None:
+ array[2*ip + 1] = self.left.data
+ self.left.completeTreeInNivel(array, 2*ip + 1)
+
+ if self.right is not None:
+ array[2*ip + 2] = self.right.data
+ self.right.completeTreeInNivel(array, 2*ip + 2)
+
+ return array
+
+#Q26
+
+ def completeTreeInNivel(self, array=None, ip=None):
+ if self is None:
+ return
+
+ if ip is None or array is None:
+ array = [None] * (2**self.altura() - 1)
+ array[0] = self.data
+ ip = 0
+
+ if self.left is not None:
+ array[2*ip + 1] = self.left.data
+ self.left.completeTreeInNivel(array, 2*ip + 1)
+
+ if self.right is not None:
+ array[2*ip + 2] = self.right.data
+ self.right.completeTreeInNivel(array, 2*ip + 2)
+
+ return array
+
+ def treeInNivel(self):
+ array = self.completeTreeInNivel()
+ array = list(filter(lambda no: no != None, array))
+ return array
+
+#Q27
+
+ def set_root(self, key):
+ self.key = key
+
+ def inorder(self):
+ if self.left is not None:
+ self.left.inorder()
+
+ if self.right is not None:
+ self.right.inorder()
+
+ def insert_left(self, new_node):
+ self.left = new_node
+
+ def insert_right(self, new_node):
+ self.right = new_node
+
+ def search(self, key):
+ if self.key == key:
+ return self
+
+ if self.left is not None:
+ temp = self.left.search(key)
+ if temp is not None:
+ return temp
+
+ if self.right is not None:
+ temp = self.right.search(key)
+ return temp
+ return None
+
+
+ def count_nodes(self):
+ if self is None:
+ return 0
+ return 1 + count_nodes(self.left) + count_nodes(self.right)
+
+#Q28
+
+ def leafNodePaths(self, data):
+ paths = []
+ self.dfs(data, [], paths)
+
+ def dfs(self, data, current_path, paths):
+ if not data:
+ return
+
+ current_path.append(root.val)
+ if not root.left and not root.right:
+ paths.append(current_path)
+ else:
+ self.dfs(root.left, current_path, paths)
+ self.dfs(root.right, current_path, paths)
+
+#Q29
+
+ def isCompleteBT(self):
+
+ if self is None:
+ return True
+
+ queue = []
+ flag = False
+
+ queue.append(self)
+ while(len(queue) > 0):
+ tempNode = queue.pop(0)
+
+ if (tempNode.left):
+ if flag == True :
+ return False
+
+ queue.append(tempNode.left)
+ else:
+ flag = True
+
+ if(tempNode.right):
+ if flag == True:
+ return False
+
+ queue.append(tempNode.right)
+ else:
+ flag = True
+
+ return True
+
+ if (isCompleteBT()):
+ print ("Complete Binary Tree")
+ else:
+ print ("NOT Complete Binary Tree")
+
+#Q30
+
+ def isFullTree(self):
+
+ if self is None:
+ return True
+
+ if self.left is None and self.right is None:
+ return True
+
+ if self.left is not None and self.right is not None:
+ return (isFullTree(self.left) and isFullTree(self.right))
+
+ return False
+
+ if isFullTree(self):
+ print ("The Binary tree is full")
+ else:
+ print ("Binary tree is not full")
+
diff --git a/S03 - Estrutura de Dados/ED com Alisson 2022.1/hackerrank.py b/S03 - Estrutura de Dados/ED com Alisson 2022.1/hackerrank.py
new file mode 100644
index 00000000..94d6b1fe
--- /dev/null
+++ b/S03 - Estrutura de Dados/ED com Alisson 2022.1/hackerrank.py
@@ -0,0 +1,317 @@
+# Plus Minus
+
+def plusMinus(arr):
+
+ contP = 0
+ contN = 0
+ contZ = 0
+
+ for valor in arr:
+ if valor > 0:
+ contP +=1
+ elif valor < 0:
+ contN += 1
+ else:
+ contZ +=1
+ tamanho = len(arr)
+ print("%.6f" % (contP/tamanho))
+ print("%.6f" % (contN/tamanho))
+ print("%.6f" % (contZ/tamanho))
+
+# Mini-Max Sum
+
+def miniMaxSum(arr):
+ print(sum(arr) - max(arr),sum(arr) - min(arr) )
+
+# Time Conversion
+
+def timeConversion(s):
+ m = s[-2:]
+ if m == 'PM' and s[:2] != '12':
+ s = str(12 + int(s[:2])) + s[2:]
+ if m == 'AM' and s[:2] == '12':
+ s = '00' + s[2:]
+ return s[:-2]
+
+# Lonely Integer
+
+def lonelyinteger(a):
+ return list(filter(lambda x: a.count(x) == 1, a))[0]
+
+# Diagonal Difference
+
+def diagonalDifference(arr):
+ somaDP = 0
+ somaDS = 0
+
+ for i in range(len(arr)):
+
+ somaDP += arr[i][i]
+ somaDS += arr[i][len(arr) - 1 - i]
+
+ return abs(somaDP - somaDS)
+
+# Counting Sort 1
+
+def countingSort(arr):
+
+ count = [0]*100
+ for j in arr:
+ count[j] += 1
+ return count
+
+# Zig Zag Sequence
+
+def findZigZagSequence(a, n):
+ a.sort()
+ mid = int((n + 1)/2) - 1
+ a[mid], a[n-1] = a[n-1], a[mid]
+
+ st = mid + 1
+ ed = n - 2
+ while(st <= ed):
+ a[st], a[ed] = a[ed], a[st]
+ st = st + 1
+ ed = ed - 1
+
+ for i in range (n):
+ if i == n-1:
+ print(a[i])
+ else:
+ print(a[i], end = ' ')
+ return
+
+test_cases = int(input())
+for cs in range (test_cases):
+ n = int(input())
+ a = list(map(int, input().split()))
+ findZigZagSequence(a, n)
+
+# Tower Breakers
+
+def towerBreakers(n, m):
+ if m == 1:
+ return 2
+ else:
+ return 1 if n%2 == 1 else 2
+
+# Caesar Cipher
+
+def caesarCipher(s, k):
+ temp = []
+
+ for char in s:
+ temp.append(ord(char))
+
+ for i in range(n):
+ if 65 <= temp[i] <= 90:
+ temp[i] = (65 + (temp[i] - 65 + k) %26)
+ elif 97 <= temp[i] <= 122:
+ temp[i] = (97 + (temp[i] - 97 + k) %26)
+ return "".join(map(chr, temp))
+
+# Grid Challenge
+
+def gridChallenge(grid):
+ grid = [list(row) for row in grid]
+ r = len(grid)
+ c = len(grid[0])
+
+ for i in range(r):
+ grid[i].sort()
+
+ for j in range(c):
+ for i in range(1, r):
+ if not grid[i-1][j] <= grid[i][j]:
+ return "NO"
+ return "YES"
+
+# Recursive Digit Sum
+
+def superDigit(n, k):
+ def sum_digit(v):
+ if v < 10:
+ return v
+ s = sum(int(i) for i in str(v))
+ return sum_digit(s)
+ x = sum_digit(int(n))
+ return sum_digit(x * k)
+
+# New Year Chaos
+
+def minimumBribes(q):
+
+ q = [i-1 for i in q]
+ bribes = 0
+
+ for i, o in enumerate(q):
+ cur = i
+ if o - cur > 2:
+ print("Too chaotic")
+ return
+ for k in q[max(o - 1, 0):i]:
+ if k > o:
+ bribes += 1
+
+ print(bribes)
+
+# Merge two sorted linked lists
+
+import sys
+sys.setrecursionlimit(100000)
+
+def mergeLists(head1, head2):
+ if head1 == None and head2 == None:
+ return None
+
+ if head1 == None:
+ return head2
+
+ if head2 == None:
+ return head1
+
+ if head1.data < head2.data:
+ temp = head1
+ temp.next = mergeLists(head1.next, head2)
+ else:
+ temp = head2
+ temp.next = mergeLists(head1, head2.next)
+
+ return temp
+
+# Queue using Two Stacks
+
+x = int(input())
+stackP = []
+stackD = []
+
+for i in range(x):
+ y = list(input().split())
+ if y[0] == '1':
+ stackP.append(y[1])
+
+ elif y[0] == '2':
+ if not stackD:
+ while stackP:
+ stackD.append(stackP.pop())
+ stackD.pop()
+ else:
+ if not stackD:
+ while stackP:
+ stackD.append(stackP.pop())
+ print(stackD[-1])
+
+# Balanced Brackets
+
+def isBalanced(s):
+ stack = []
+ bracker = {
+ '{' : '}',
+ '(' : ')',
+ '[' : ']'
+ }
+
+ for char in s:
+ if char in ['{', '(', '[']:
+ stack.append(char)
+ else:
+ if stack:
+ top = stack.pop()
+ if bracker[top] != char:
+ return "NO"
+ else:
+ return "NO"
+ return "NO" if stack else "YES"
+
+# Simple Text Editor
+
+stack = []
+string = ""
+
+for _ in range(int(input())):
+ x = input().split()
+
+ if x[0] == '1':
+ stack.append(string)
+ string += x[1]
+
+ elif x[0] == '2':
+ stack.append(string)
+ string = string[:-int(x[1])]
+
+ elif x[0] == '3':
+ print(string[int(x[1])-1])
+
+ else:
+ string = stack.pop()
+
+# Lego Blocks
+
+def tetranacci(n):
+ arr = [1, 2, 4, 8]
+ if n <= 4:
+ return arr[:n]
+ else:
+ for i in range(4, n):
+ arr.append(sum(arr[i-4:i])%(10**9 + 7))
+ return arr
+
+def legoBlocks(n, m):
+ MOD = (10**9 +7)
+ a, s = [(v**n)%MOD for v in tetranacci(m)], [1]
+
+ for i in range(1, len(a)):
+ sums = sum([x*y for x,y in zip(a[:i], s[::-1])])
+ s.append( (a[i]-sums)%MOD)
+ return s[-1]
+
+# Jesse and Cookies
+
+from heapq import heapify, heappop, heappush
+
+def cookies(k, A):
+ result = 0
+ heapify(A)
+
+ while True:
+ x = heappop(A)
+
+ if x >= k:
+ return result
+ if A:
+ y = heappop(A)
+ z = x + 2 * y
+ heappush(A, z)
+ result += 1
+ else:
+ return -1
+
+# Tree: Preorder Traversal
+
+def preOrder(root):
+
+ if root is None:
+ return
+
+ print(root.info, end = ' ')
+
+ preOrder(root.left)
+ preOrder(root.right)
+
+# Tree: Huffman Decoding
+
+def decodeHuff(root, s):
+
+ temp = root
+ result = []
+
+ for char in s:
+ if char is '0':
+ temp = temp.left
+ else:
+ temp = temp.right
+ if temp.left is None and temp.right is None:
+ result.append(temp.data)
+ temp = root
+
+ print("".join(result))
diff --git "a/S03 - F\303\255sica II - Eletromagnetismo/2011.1/199452-AP1_Eng_Comp.pdf" "b/S03 - F\303\255sica II - Eletromagnetismo/2011.1/199452-AP1_Eng_Comp.pdf"
new file mode 100644
index 00000000..73b47e81
Binary files /dev/null and "b/S03 - F\303\255sica II - Eletromagnetismo/2011.1/199452-AP1_Eng_Comp.pdf" differ
diff --git "a/S03 - F\303\255sica II - Eletromagnetismo/2011.1/AP1_Eng_Comp.pdf" "b/S03 - F\303\255sica II - Eletromagnetismo/2011.1/AP1_Eng_Comp.pdf"
new file mode 100644
index 00000000..73b47e81
Binary files /dev/null and "b/S03 - F\303\255sica II - Eletromagnetismo/2011.1/AP1_Eng_Comp.pdf" differ
diff --git "a/S03 - F\303\255sica II - Eletromagnetismo/2011.1/lista2.pdf" "b/S03 - F\303\255sica II - Eletromagnetismo/2011.1/lista2.pdf"
new file mode 100644
index 00000000..f5f06d93
Binary files /dev/null and "b/S03 - F\303\255sica II - Eletromagnetismo/2011.1/lista2.pdf" differ
diff --git "a/S03 - F\303\255sica II - Eletromagnetismo/2011.1/lista3.pdf" "b/S03 - F\303\255sica II - Eletromagnetismo/2011.1/lista3.pdf"
new file mode 100644
index 00000000..821cf63c
Binary files /dev/null and "b/S03 - F\303\255sica II - Eletromagnetismo/2011.1/lista3.pdf" differ
diff --git "a/S03 - F\303\255sica II - Eletromagnetismo/2011.1/lista_1.pdf" "b/S03 - F\303\255sica II - Eletromagnetismo/2011.1/lista_1.pdf"
new file mode 100644
index 00000000..54821a7e
Binary files /dev/null and "b/S03 - F\303\255sica II - Eletromagnetismo/2011.1/lista_1.pdf" differ
diff --git "a/S03 - F\303\255sica II - Eletromagnetismo/2017.2 - Bruno Mesquita/N1 - Fisica Eletromag.pdf" "b/S03 - F\303\255sica II - Eletromagnetismo/2017.2 - Bruno Mesquita/N1 - Fisica Eletromag.pdf"
new file mode 100644
index 00000000..0a225c10
Binary files /dev/null and "b/S03 - F\303\255sica II - Eletromagnetismo/2017.2 - Bruno Mesquita/N1 - Fisica Eletromag.pdf" differ
diff --git "a/S03 - F\303\255sica II - Eletromagnetismo/2017.2 - Bruno Mesquita/N2 - Fisica Eletromag.pdf" "b/S03 - F\303\255sica II - Eletromagnetismo/2017.2 - Bruno Mesquita/N2 - Fisica Eletromag.pdf"
new file mode 100644
index 00000000..b3a5f7a8
Binary files /dev/null and "b/S03 - F\303\255sica II - Eletromagnetismo/2017.2 - Bruno Mesquita/N2 - Fisica Eletromag.pdf" differ
diff --git "a/S03 - F\303\255sica II - Eletromagnetismo/2018.2/N1-2018.pdf" "b/S03 - F\303\255sica II - Eletromagnetismo/2018.2/N1-2018.pdf"
new file mode 100644
index 00000000..b0943b4d
Binary files /dev/null and "b/S03 - F\303\255sica II - Eletromagnetismo/2018.2/N1-2018.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/1 lista de exerc\303\255cios.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/1 lista de exerc\303\255cios.pdf"
new file mode 100644
index 00000000..90d830b6
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/1 lista de exerc\303\255cios.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/1a lista de exerc\303\255cios.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/1a lista de exerc\303\255cios.pdf"
new file mode 100644
index 00000000..134a17f8
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/1a lista de exerc\303\255cios.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/2a lista de exerc\303\255cios.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/2a lista de exerc\303\255cios.pdf"
new file mode 100644
index 00000000..2c5970ec
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/2a lista de exerc\303\255cios.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/3a lista de exerc\303\255cios.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/3a lista de exerc\303\255cios.pdf"
new file mode 100644
index 00000000..a5523615
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/3a lista de exerc\303\255cios.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 1 IAA - 1.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 1 IAA - 1.pdf"
new file mode 100644
index 00000000..477518fb
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 1 IAA - 1.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 1 IAA - 2.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 1 IAA - 2.pdf"
new file mode 100644
index 00000000..063d817d
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 1 IAA - 2.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 1 IAA - 3.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 1 IAA - 3.pdf"
new file mode 100644
index 00000000..f8fdc6b8
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 1 IAA - 3.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 2 IAA - 1.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 2 IAA - 1.pdf"
new file mode 100644
index 00000000..800858b4
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 2 IAA - 1.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 2 IAA - 2.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 2 IAA - 2.pdf"
new file mode 100644
index 00000000..0390f275
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 2 IAA - 2.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 2c - Lista 2.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 2c - Lista 2.pdf"
new file mode 100644
index 00000000..81c5e680
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Prova 2c - Lista 2.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Trabalho IAA - 2.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Trabalho IAA - 2.pdf"
new file mode 100644
index 00000000..43a8fb14
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Trabalho IAA - 2.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Trabalho IAA - 3.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Trabalho IAA - 3.pdf"
new file mode 100644
index 00000000..77c2b998
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Trabalho IAA - 3.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Trabalho IAA - 4.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Trabalho IAA - 4.pdf"
new file mode 100644
index 00000000..50737783
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Trabalho IAA - 4.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Trabalho IAA - 5.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Trabalho IAA - 5.pdf"
new file mode 100644
index 00000000..69ed8f81
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/Trabalho IAA - 5.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/lista1.doc" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/lista1.doc"
new file mode 100644
index 00000000..9f1179c3
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/lista1.doc" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/lista1.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/lista1.pdf"
new file mode 100644
index 00000000..3c2f219f
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/lista1.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/lista1resolu\303\247\303\243o.doc" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/lista1resolu\303\247\303\243o.doc"
new file mode 100644
index 00000000..bfd8e5ca
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/lista1resolu\303\247\303\243o.doc" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/lista2.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/lista2.pdf"
new file mode 100644
index 00000000..6cc337ad
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2011.1/lista2.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2015.2/prova n2.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2015.2/prova n2.pdf"
new file mode 100644
index 00000000..4ee321db
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2015.2/prova n2.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2021.1 - Glauber Cintra/IAA - Conteudo - 2021.1/IAA_2021.1_slides_N1_Rudigus-san.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2021.1 - Glauber Cintra/IAA - Conteudo - 2021.1/IAA_2021.1_slides_N1_Rudigus-san.pdf"
new file mode 100644
index 00000000..fe059a8e
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2021.1 - Glauber Cintra/IAA - Conteudo - 2021.1/IAA_2021.1_slides_N1_Rudigus-san.pdf" differ
diff --git "a/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2021.1 - Glauber Cintra/IAA - Conteudo - 2021.1/IAA_2021.1_slides_N2_Rudigus-san.pdf" "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2021.1 - Glauber Cintra/IAA - Conteudo - 2021.1/IAA_2021.1_slides_N2_Rudigus-san.pdf"
new file mode 100644
index 00000000..772d1767
Binary files /dev/null and "b/S03 - Introdu\303\247\303\243o a An\303\241lise de Algoritmos/2021.1 - Glauber Cintra/IAA - Conteudo - 2021.1/IAA_2021.1_slides_N2_Rudigus-san.pdf" differ
diff --git "a/S03 - [OPT]Instrumenta\303\247\303\243o/Conte\303\272do/Prof - Pedro Urbano/1062770-VS2_18I_inst.doc" "b/S03 - [OPT]Instrumenta\303\247\303\243o/Conte\303\272do/Prof - Pedro Urbano/1062770-VS2_18I_inst.doc"
new file mode 100644
index 00000000..3a728c3e
Binary files /dev/null and "b/S03 - [OPT]Instrumenta\303\247\303\243o/Conte\303\272do/Prof - Pedro Urbano/1062770-VS2_18I_inst.doc" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2015.2/01.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2015.2/01.jpeg"
new file mode 100644
index 00000000..6531ebb3
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2015.2/01.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2015.2/02.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2015.2/02.jpeg"
new file mode 100644
index 00000000..89796a26
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2015.2/02.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2015.2/N1_ATC.pdf" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2015.2/N1_ATC.pdf"
new file mode 100644
index 00000000..b652c2c3
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2015.2/N1_ATC.pdf" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/1139310-Exercicios_-_Lista_02.pdf" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/1139310-Exercicios_-_Lista_02.pdf"
new file mode 100644
index 00000000..c2f2d329
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/1139310-Exercicios_-_Lista_02.pdf" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item A.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item A.af"
new file mode 100644
index 00000000..c6cef921
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item A.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item B.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item B.af"
new file mode 100644
index 00000000..f0afee46
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item B.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item C.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item C.af"
new file mode 100644
index 00000000..160af25c
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item C.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item D.docx" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item D.docx"
new file mode 100644
index 00000000..b9a5c0da
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item D.docx" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item E.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item E.af"
new file mode 100644
index 00000000..2d9ca6b9
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item E.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item F.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item F.af"
new file mode 100644
index 00000000..3bf264a6
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item F.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item G.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item G.af"
new file mode 100644
index 00000000..336d79e8
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/LIsta 02 - ok/Lista 02 item G.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 00 - ok/1137050-Exercicios_-_Lista_00 - Respondida.docx" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 00 - ok/1137050-Exercicios_-_Lista_00 - Respondida.docx"
new file mode 100644
index 00000000..92956402
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 00 - ok/1137050-Exercicios_-_Lista_00 - Respondida.docx" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 00 - ok/1137050-Exercicios_-_Lista_00.docx" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 00 - ok/1137050-Exercicios_-_Lista_00.docx"
new file mode 100644
index 00000000..8cc6f0f7
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 00 - ok/1137050-Exercicios_-_Lista_00.docx" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 00 - ok/1137050-Exercicios_-_Lista_00.pdf" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 00 - ok/1137050-Exercicios_-_Lista_00.pdf"
new file mode 100644
index 00000000..ce66f6ed
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 00 - ok/1137050-Exercicios_-_Lista_00.pdf" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 01 - ok/1137051-Exercicios_-_Lista_01.pdf" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 01 - ok/1137051-Exercicios_-_Lista_01.pdf"
new file mode 100644
index 00000000..2cf15559
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 01 - ok/1137051-Exercicios_-_Lista_01.pdf" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 01 - ok/Lista 01.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 01 - ok/Lista 01.af"
new file mode 100644
index 00000000..3df8a119
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 01 - ok/Lista 01.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 01 - ok/Opera\303\247\303\265es Lista 01.txt" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 01 - ok/Opera\303\247\303\265es Lista 01.txt"
new file mode 100644
index 00000000..e715c33a
--- /dev/null
+++ "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 01 - ok/Opera\303\247\303\265es Lista 01.txt"
@@ -0,0 +1,39 @@
+Sistema de Operao em Caixa Eletronico
+
+Operao Caixa Eletronico
+
+A - Inserir Carto
+B - Opo 1
+C - Opo 2
+D - Opo 3
+S - Confirmado
+N - No Confirmado
+? - Qualquer Valor
+
+Estado Inicial
+0 - Inicio :(q1)
+
+1 - Insere Carto :(q1,A => q2)
+
+2 - Escolhe Opo :(q2,B => q3)
+ :(q2,C => q4)
+ :(q2,D => q5)
+
+3.1 - Insere Senha OK :(q3,S => q7) 3.2 - Insere Senha ERR :(q3,? => q1)
+ :(q4,S => q6) :(q4,? => q1)
+ :(q5,S => q6) :(q5,? => q1)
+
+
+4.1 - Outra Operacao S :(q6,S => q1) 4.1 - Outra Operacao N :(q6,N => q9)
+ :(q7,S => q1) :(q7,N => q9)
+
+
+5.1 - Outra Operao S :(q6,S => q1) 5.2 - Outra Operao N :(q6,N => q9)
+ :(q7,S => q1) :(q7,N => q9)
+
+Estado Final q1,q9
+
+
+
+
+
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 03 - ok/1143750-Exercicios_-_Lista_03.docx" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 03 - ok/1143750-Exercicios_-_Lista_03.docx"
new file mode 100644
index 00000000..6444984f
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 03 - ok/1143750-Exercicios_-_Lista_03.docx" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 03 - ok/1143750-Exercicios_-_Lista_03.pdf" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 03 - ok/1143750-Exercicios_-_Lista_03.pdf"
new file mode 100644
index 00000000..cfc8fb0c
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 03 - ok/1143750-Exercicios_-_Lista_03.pdf" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/1150511-Aula_03-_GR_-_Convers\303\243o_AFD.pdf" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/1150511-Aula_03-_GR_-_Convers\303\243o_AFD.pdf"
new file mode 100644
index 00000000..78783671
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/1150511-Aula_03-_GR_-_Convers\303\243o_AFD.pdf" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/1157480-Exercicios_-_Lista_04.docx" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/1157480-Exercicios_-_Lista_04.docx"
new file mode 100644
index 00000000..45fe11ef
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/1157480-Exercicios_-_Lista_04.docx" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/1157480-Exercicios_-_Lista_04.pdf" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/1157480-Exercicios_-_Lista_04.pdf"
new file mode 100644
index 00000000..eac3ffd7
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/1157480-Exercicios_-_Lista_04.pdf" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Elevador 01.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Elevador 01.af"
new file mode 100644
index 00000000..8c36f613
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Elevador 01.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Elevador 02.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Elevador 02.af"
new file mode 100644
index 00000000..edfb6e5f
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Elevador 02.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Quest\303\243o 2.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Quest\303\243o 2.af"
new file mode 100644
index 00000000..fa800f84
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Quest\303\243o 2.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Quest\303\243o 3.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Quest\303\243o 3.af"
new file mode 100644
index 00000000..cac93227
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Quest\303\243o 3.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Quest\303\243o 3AFD.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Quest\303\243o 3AFD.af"
new file mode 100644
index 00000000..f8cd84a0
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Quest\303\243o 3AFD.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Quest\303\243o 3AFNDE.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Quest\303\243o 3AFNDE.af"
new file mode 100644
index 00000000..709ae54e
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 04 - ok/Quest\303\243o 3AFNDE.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/1150511-Aula_03-_GR_-_Convers\303\243o_AFD.pdf" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/1150511-Aula_03-_GR_-_Convers\303\243o_AFD.pdf"
new file mode 100644
index 00000000..aa4fb5b5
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/1150511-Aula_03-_GR_-_Convers\303\243o_AFD.pdf" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/1160910-Exercicios_-_Lista_05.pdf" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/1160910-Exercicios_-_Lista_05.pdf"
new file mode 100644
index 00000000..9b301c51
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/1160910-Exercicios_-_Lista_05.pdf" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item A.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item A.af"
new file mode 100644
index 00000000..97aafa5a
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item A.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item B.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item B.af"
new file mode 100644
index 00000000..0a42c0ad
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item B.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item C.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item C.af"
new file mode 100644
index 00000000..17e4e0b4
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item C.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item D.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item D.af"
new file mode 100644
index 00000000..96e1bb64
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item D.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item E.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item E.af"
new file mode 100644
index 00000000..f520ecb2
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item E.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item F.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item F.af"
new file mode 100644
index 00000000..ef40e147
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item F.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item G.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item G.af"
new file mode 100644
index 00000000..aba607f5
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item G.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item H.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item H.af"
new file mode 100644
index 00000000..c5abeec3
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 001 Item H.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item A.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item A.af"
new file mode 100644
index 00000000..7b764eaa
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item A.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item B.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item B.af"
new file mode 100644
index 00000000..97710bbc
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item B.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item C.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item C.af"
new file mode 100644
index 00000000..ebefed13
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item C.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item D.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item D.af"
new file mode 100644
index 00000000..b2b5f1ad
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item D.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item E.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item E.af"
new file mode 100644
index 00000000..e0155208
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 002 Item E.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item A.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item A.af"
new file mode 100644
index 00000000..d909eb2e
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item A.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item B.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item B.af"
new file mode 100644
index 00000000..abc80b0a
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item B.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item C.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item C.af"
new file mode 100644
index 00000000..795fa77d
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item C.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item D.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item D.af"
new file mode 100644
index 00000000..446c5f07
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item D.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item E.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item E.af"
new file mode 100644
index 00000000..30f520b0
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item E.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item F.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item F.af"
new file mode 100644
index 00000000..96adb5a1
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item F.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item G.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item G.af"
new file mode 100644
index 00000000..c067fbdd
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item G.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item H.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item H.af"
new file mode 100644
index 00000000..5ea71787
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista 05 - ok/Quest\303\243o 003 Item H.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/1143120-Exercicios_-_Lista_03AFN.docx" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/1143120-Exercicios_-_Lista_03AFN.docx"
new file mode 100644
index 00000000..151a6447
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/1143120-Exercicios_-_Lista_03AFN.docx" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/1143120-Exercicios_-_Lista_03AFN.pdf" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/1143120-Exercicios_-_Lista_03AFN.pdf"
new file mode 100644
index 00000000..e4a677ca
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/1143120-Exercicios_-_Lista_03AFN.pdf" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 001.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 001.af"
new file mode 100644
index 00000000..e6a1d6fd
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 001.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 002.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 002.af"
new file mode 100644
index 00000000..2a95ce74
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 002.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 003.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 003.af"
new file mode 100644
index 00000000..210d4b62
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 003.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 004-AFD.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 004-AFD.af"
new file mode 100644
index 00000000..5b5219ea
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 004-AFD.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 004-AFN.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 004-AFN.af"
new file mode 100644
index 00000000..08185037
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 004-AFN.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 004.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 004.af"
new file mode 100644
index 00000000..b208719b
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 004.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 005-Item A.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 005-Item A.af"
new file mode 100644
index 00000000..59f04d76
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 005-Item A.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 005-Item B.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 005-Item B.af"
new file mode 100644
index 00000000..2b1ad254
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 005-Item B.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 005-Item C.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 005-Item C.af"
new file mode 100644
index 00000000..539860a0
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 005-Item C.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 005.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 005.af"
new file mode 100644
index 00000000..c445f679
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 005.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 006-Item A.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 006-Item A.af"
new file mode 100644
index 00000000..11e23df0
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 006-Item A.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 006-Item B.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 006-Item B.af"
new file mode 100644
index 00000000..77974f6b
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 006-Item B.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 006-Item C.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 006-Item C.af"
new file mode 100644
index 00000000..a3cd617b
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 006-Item C.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 007-Item A.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 007-Item A.af"
new file mode 100644
index 00000000..87d2a9b2
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 007-Item A.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 007-Item B.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 007-Item B.af"
new file mode 100644
index 00000000..8debc033
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 007-Item B.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 007-Item C.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 007-Item C.af"
new file mode 100644
index 00000000..ae0a595f
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 007-Item C.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 009-Item A.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 009-Item A.af"
new file mode 100644
index 00000000..62667152
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 009-Item A.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 010-Item A.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 010-Item A.af"
new file mode 100644
index 00000000..31c085d0
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 010-Item A.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 010-Item B.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 010-Item B.af"
new file mode 100644
index 00000000..9b6a22fe
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 010-Item B.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 010-Item C.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 010-Item C.af"
new file mode 100644
index 00000000..de581107
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 010-Item C.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 010-Item D.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 010-Item D.af"
new file mode 100644
index 00000000..ca06845c
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 010-Item D.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 011-Item A.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 011-Item A.af"
new file mode 100644
index 00000000..43620b0e
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 011-Item A.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 011-Item B.af" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 011-Item B.af"
new file mode 100644
index 00000000..1f8ee664
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2018.2 Ernani Leite/Lista Final Etapa 1 - ok/Quest\303\243o 011-Item B.af" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2022.2 - Nivando Bezerra/ATC - Lista de revis\303\243o.pdf" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2022.2 - Nivando Bezerra/ATC - Lista de revis\303\243o.pdf"
new file mode 100644
index 00000000..922dae1f
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2022.2 - Nivando Bezerra/ATC - Lista de revis\303\243o.pdf" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova1_1.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova1_1.jpeg"
new file mode 100644
index 00000000..ef03931f
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova1_1.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova1_2.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova1_2.jpeg"
new file mode 100644
index 00000000..3f71ca78
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova1_2.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova2_1.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova2_1.jpeg"
new file mode 100644
index 00000000..2bba213b
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova2_1.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova2_2.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova2_2.jpeg"
new file mode 100644
index 00000000..58f1f68e
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova2_2.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova2_3.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova2_3.jpeg"
new file mode 100644
index 00000000..9d456240
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova2_3.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova2_4.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova2_4.jpeg"
new file mode 100644
index 00000000..e902c5c7
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova2_4.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova3_1.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova3_1.jpeg"
new file mode 100644
index 00000000..315f32d3
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova3_1.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova3_2.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova3_2.jpeg"
new file mode 100644
index 00000000..7582cf5b
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova3_2.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova3_3.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova3_3.jpeg"
new file mode 100644
index 00000000..8a682033
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova3_3.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova4_1.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova4_1.jpeg"
new file mode 100644
index 00000000..ed78a990
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova4_1.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova4_2.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova4_2.jpeg"
new file mode 100644
index 00000000..9543f968
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova4_2.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova4_3.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova4_3.jpeg"
new file mode 100644
index 00000000..b593fd18
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova4_3.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova4_4.jpeg" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova4_4.jpeg"
new file mode 100644
index 00000000..763a1634
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/2023.2 -Nivando/prova4_4.jpeg" differ
diff --git "a/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/Respostas Artigo Teoria e Trabalho.pdf" "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/Respostas Artigo Teoria e Trabalho.pdf"
new file mode 100644
index 00000000..10801556
Binary files /dev/null and "b/S04 - Aspectos Te\303\263ricos da Computa\303\247\303\243o/Respostas Artigo Teoria e Trabalho.pdf" differ
diff --git "a/S04 - Geometria Anal\303\255tica e \303\201lgebra Linear/2018.1 - Valberto/Prova N1 GAAL.pdf" "b/S04 - Geometria Anal\303\255tica e \303\201lgebra Linear/2018.1 - Valberto/Prova N1 GAAL.pdf"
new file mode 100644
index 00000000..dcaba1ef
Binary files /dev/null and "b/S04 - Geometria Anal\303\255tica e \303\201lgebra Linear/2018.1 - Valberto/Prova N1 GAAL.pdf" differ
diff --git a/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/1. relogio/1. relogio.DSN b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/1. relogio/1. relogio.DSN
new file mode 100644
index 00000000..0e451741
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/1. relogio/1. relogio.DSN differ
diff --git a/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/1. relogio/contador_0a9.PTN b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/1. relogio/contador_0a9.PTN
new file mode 100644
index 00000000..d7f2facc
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/1. relogio/contador_0a9.PTN
@@ -0,0 +1,130 @@
+; Saved at 01:49 on 10/04/2017.
+
+0x00,0x08,0x04,0x0C,0x02,0x0A,0x06,0x0E,
+0x01,0x09,0x10,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
\ No newline at end of file
diff --git a/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/3. uart/3. enviar por UART.DSN b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/3. uart/3. enviar por UART.DSN
new file mode 100644
index 00000000..13feb035
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/3. uart/3. enviar por UART.DSN differ
diff --git a/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/3. uart/jefferson_UART.PTN b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/3. uart/jefferson_UART.PTN
new file mode 100644
index 00000000..433c0706
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/3. uart/jefferson_UART.PTN
@@ -0,0 +1,89 @@
+; Saved at 20:12 on 11/04/2017.
+
+;espaço
+
+0x01,
+0x00,
+0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,
+0x01,
+
+;J
+0x01,
+0x00,
+0x00,0x01,0x00,0x01,
+0x00,0x00,0x01,0x00,
+0x01,
+
+
+;e
+0x01,
+0x00,
+0x01,0x00,0x01,0x00,
+0x00,0x01,0x01,0x00,
+0x01,
+
+
+;f
+0x01,
+0x00,
+0x00,0x01,0x01,0x00,
+0x00,0x01,0x01,0x00,
+0x01,
+
+;f
+0x01,
+0x00,
+0x00,0x01,0x01,0x00,
+0x00,0x01,0x01,0x00,
+0x01,
+
+
+;e
+0x01,
+0x00,
+0x01,0x00,0x01,0x00,
+0x00,0x01,0x01,0x00,
+0x01,
+
+
+;r
+0x01,
+0x00,
+0x00,0x01,0x00,0x00,
+0x01,0x01,0x01,0x00,
+0x01,
+
+
+;s
+0x01,
+0x00,
+0x01,0x01,0x00,0x00,
+0x01,0x01,0x01,0x00,
+0x01,
+
+;o
+0x01,
+0x00,
+0x01,0x01,0x01,0x01,
+0x00,0x01,0x01,0x00,
+0x01,
+
+
+;n
+0x01,
+0x00,
+0x00,0x01,0x01,0x01,
+0x00,0x01,0x01,0x00,
+0x01,
+
+
+
+;espaço
+
+0x01,
+0x00,
+0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,
+0x01,
+
diff --git a/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/4. velocimetro/4. fotosensor.DSN b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/4. velocimetro/4. fotosensor.DSN
new file mode 100644
index 00000000..c19ff188
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/4. velocimetro/4. fotosensor.DSN differ
diff --git a/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/4. velocimetro/padrao_velocimetro.PTN b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/4. velocimetro/padrao_velocimetro.PTN
new file mode 100644
index 00000000..b09083f1
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/4. velocimetro/padrao_velocimetro.PTN
@@ -0,0 +1,1024 @@
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0xee,
+0x89,
+0x79,
+0x79,
+0x69,
+0x59,
+0x59,
+0x49,
+0x49,
+0x39,
+0x29,
+0x29,
+0x19,
+0x19,
+0x09,
+0x98,
+0x98,
+0x88,
+0x88,
+0x78,
+0x78,
+0x68,
+0x68,
+0x58,
+0x58,
+0x48,
+0x48,
+0x38,
+0x38,
+0x28,
+0x28,
+0x18,
+0x18,
+0x08,
+0x08,
+0x97,
+0x97,
+0x97,
+0x87,
+0x87,
+0x77,
+0x77,
+0x77,
+0x67,
+0x67,
+0x57,
+0x57,
+0x47,
+0x47,
+0x47,
+0x37,
+0x37,
+0x37,
+0x27,
+0x27,
+0x17,
+0x17,
+0x17,
+0x07,
+0x07,
+0x07,
+0x96,
+0x96,
+0x96,
+0x86,
+0x86,
+0x86,
+0x76,
+0x76,
+0x76,
+0x66,
+0x66,
+0x66,
+0x66,
+0x56,
+0x56,
+0x56,
+0x46,
+0x46,
+0x46,
+0x36,
+0x36,
+0x36,
+0x36,
+0x26,
+0x26,
+0x26,
+0x26,
+0x16,
+0x16,
+0x16,
+0x16,
+0x06,
+0x06,
+0x06,
+0x95,
+0x95,
+0x95,
+0x95,
+0x95,
+0x85,
+0x85,
+0x85,
+0x85,
+0x75,
+0x75,
+0x75,
+0x75,
+0x65,
+0x65,
+0x65,
+0x65,
+0x65,
+0x55,
+0x55,
+0x55,
+0x55,
+0x45,
+0x45,
+0x45,
+0x45,
+0x45,
+0x35,
+0x35,
+0x35,
+0x35,
+0x35,
+0x25,
+0x25,
+0x25,
+0x25,
+0x25,
+0x15,
+0x15,
+0x15,
+0x15,
+0x15,
+0x15,
+0x05,
+0x05,
+0x05,
+0x05,
+0x05,
+0x94,
+0x94,
+0x94,
+0x94,
+0x94,
+0x94,
+0x84,
+0x84,
+0x84,
+0x84,
+0x84,
+0x84,
+0x74,
+0x74,
+0x74,
+0x74,
+0x74,
+0x74,
+0x74,
+0x64,
+0x64,
+0x64,
+0x64,
+0x64,
+0x64,
+0x64,
+0x54,
+0x54,
+0x54,
+0x54,
+0x54,
+0x54,
+0x44,
+0x44,
+0x44,
+0x44,
+0x44,
+0x44,
+0x44,
+0x44,
+0x34,
+0x34,
+0x34,
+0x34,
+0x34,
+0x34,
+0x34,
+0x24,
+0x24,
+0x24,
+0x24,
+0x24,
+0x24,
+0x24,
+0x24,
+0x14,
+0x14,
+0x14,
+0x14,
+0x14,
+0x14,
+0x14,
+0x14,
+0x14,
+0x04,
+0x04,
+0x04,
+0x04,
+0x04,
+0x04,
+0x04,
+0x04,
+0x93,
+0x93,
+0x93,
+0x93,
+0x93,
+0x93,
+0x93,
+0x93,
+0x93,
+0x93,
+0x83,
+0x83,
+0x83,
+0x83,
+0x83,
+0x83,
+0x83,
+0x83,
+0x83,
+0x73,
+0x73,
+0x73,
+0x73,
+0x73,
+0x73,
+0x73,
+0x73,
+0x73,
+0x73,
+0x73,
+0x63,
+0x63,
+0x63,
+0x63,
+0x63,
+0x63,
+0x63,
+0x63,
+0x63,
+0x63,
+0x53,
+0x53,
+0x53,
+0x53,
+0x53,
+0x53,
+0x53,
+0x53,
+0x53,
+0x53,
+0x53,
+0x53,
+0x43,
+0x43,
+0x43,
+0x43,
+0x43,
+0x43,
+0x43,
+0x43,
+0x43,
+0x43,
+0x43,
+0x43,
+0x33,
+0x33,
+0x33,
+0x33,
+0x33,
+0x33,
+0x33,
+0x33,
+0x33,
+0x33,
+0x33,
+0x33,
+0x33,
+0x23,
+0x23,
+0x23,
+0x23,
+0x23,
+0x23,
+0x23,
+0x23,
+0x23,
+0x23,
+0x23,
+0x23,
+0x23,
+0x13,
+0x13,
+0x13,
+0x13,
+0x13,
+0x13,
+0x13,
+0x13,
+0x13,
+0x13,
+0x13,
+0x13,
+0x13,
+0x13,
+0x13,
+0x03,
+0x03,
+0x03,
+0x03,
+0x03,
+0x03,
+0x03,
+0x03,
+0x03,
+0x03,
+0x03,
+0x03,
+0x03,
+0x03,
+0x03,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x92,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x82,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x72,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x62,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x52,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x42,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x32,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x22,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x12,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x02,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x91,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x81,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x71,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x61,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x51,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
+0x41,
diff --git a/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/4. velocimetro/script_c_fotosensor.c b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/4. velocimetro/script_c_fotosensor.c
new file mode 100644
index 00000000..d0661c01
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/4. velocimetro/script_c_fotosensor.c
@@ -0,0 +1,29 @@
+
+
+#include
+
+int main()
+{
+ int i;
+ int v, d, u, aux;
+ double tempo = 0;
+ double velocidade;
+
+ for(i = 0; i < 1024; i++){
+ tempo += 0.001;
+ velocidade = 0.004/(tempo/3600);
+ v = (int)velocidade;
+ d = 14;
+ u = 14;
+ if(v < 99){
+ d = v/10;
+ aux = d*10;
+ u = v-aux;
+ }
+ printf("0x%x%x,\n", u, d);
+
+ }
+
+ return 0;
+}
+
diff --git "a/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/827020-Lista_1__M\303\241quina_de_Estados_(Proteus).pdf" "b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/827020-Lista_1__M\303\241quina_de_Estados_(Proteus).pdf"
new file mode 100644
index 00000000..50a5432b
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/2017.1/Lista 1/827020-Lista_1__M\303\241quina_de_Estados_(Proteus).pdf" differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Lista - 2.pdf b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Lista - 2.pdf
new file mode 100644
index 00000000..547ce057
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Lista - 2.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Last Loaded Q1.DBK b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Last Loaded Q1.DBK
new file mode 100644
index 00000000..2b1509c1
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Last Loaded Q1.DBK differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.DSN b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.DSN
new file mode 100644
index 00000000..5a6fb9b7
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.DSN differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.PWI b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.PWI
new file mode 100644
index 00000000..6903b7fc
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.PWI differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.cof b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.cof
new file mode 100644
index 00000000..6ec1599e
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.cof differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.hex b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.hex
new file mode 100644
index 00000000..e63dd2ab
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.hex
@@ -0,0 +1,54 @@
+:020000040000FA
+:0600000057EF01F01200B1
+:0A0006000100CC020000940000008D
+:0400100007000000E5
+:0C0014008050010B05E00001935102E157
+:100020000001972B0A0E0001975D06E3976B952B55
+:100030000A0E955D01E3956B8050020B05E000010F
+:10004000935102E10001982B0A0E0001985D06E32E
+:10005000986B962B0A0E965D01E3966B00018D2B33
+:100060000A0E8D5D11E38D6B8C2B060E8C5D0CE3FF
+:100070008C6B0001972B0A0E975D06E3976B952B0F
+:10008000060E955D01E3956B120000018E51000193
+:10009000975D15E100018F510001955D10E10001B0
+:1000A00090510001985D0BE1000191510001965DB6
+:1000B00006E10001920503E1935101E1848084B2DD
+:1000C000849012008050010B04E00001930501E1CF
+:1000D0008E2B0A0E00018E5D06E38E6B8F2B0A0EAF
+:1000E0008F5D01E38F6B8050020B03E0930501E10C
+:1000F000902B0A0E905D06E3906B912B0A0E915D9A
+:1001000001E3916B9139F00B90118A6E8F39F00BEE
+:100110008E118B6E00019A39F00B99118C6E0001D3
+:10012000010E926F120000018C39F00B8D118C6E54
+:1001300000019539F00B97118B6E9639F00B9811E1
+:100140008A6E1200D9CFE6FFE1CFD9FF030EE12678
+:10015000DF6A010EDB6A020EDB6AD9CFE9FFDACF74
+:10016000EAFF500EEE5CC30EEE58000EEF5809E2A7
+:10017000D9CFE9FFDACFEAFFEE2A000EEE22EE2217
+:10018000ECD7030EE15C02E2E16AE552E16EE55272
+:10019000E7CFD9FF12000F0EC16E9268936A946A7E
+:1001A000956A966A37DF80A414D0010EE66EE66A7F
+:1001B000C9DFE552E552010EE66EE66AC3DFE5529D
+:1001C000E55280A404D00001010E936F02D000011B
+:1001D000936B0001930502E175DF01D0A4DF55DFC9
+:1001E000010EE66EE66AAEDFE552E552DBD712009D
+:1001F000060EF66E000EF76E000EF86E0001090096
+:10020000F550856F0900F550866F03E1856701D0D1
+:100210003DD00900F550806F0900F550816F09004D
+:10022000F550826F09000900F550E96E0900F5509C
+:10023000EA6E090009000900F550836F0900F550C6
+:10024000846F09000900F6CF87F0F7CF88F0F8CF68
+:1002500089F080C0F6FF81C0F7FF82C0F8FF00017F
+:10026000835302E1845307E00900F550EE6E8307E3
+:10027000F8E28407F9D787C0F6FF88C0F7FF89C086
+:0E028000F8FF00018507000E865BBFD7120055
+:02028E00000E60
+:10029000F36E00EE00F0060E01D81200EA6002D004
+:0E02A000EE6AFCD7F350E9601200EE6AFCD75C
+:0202AE0015EE4B
+:1002B00000F025EE00F0F86A019CF8EC00F065EC27
+:0A02C00001F0CBEC00F0FBD71200B8
+:0202CA00120020
+:0402CC00000000002E
+:0302D0000000002B
+:00000001FF
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.map b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.map
new file mode 100644
index 00000000..b5aa8d84
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.map
@@ -0,0 +1,482 @@
+MPLINK 5.00, LINKER
+Linker Map File - Created Wed Oct 13 17:18:43 2021
+
+ Section Info
+ Section Type Address Location Size(Bytes)
+ --------- --------- --------- --------- ---------
+ _entry_scn code 0x000000 program 0x000006
+ .cinit romdata 0x000006 program 0x00000e
+ .code_Relogio digital.o code 0x000014 program 0x0001dc
+ _cinit_scn code 0x0001f0 program 0x00009e
+ .code code 0x00028e program 0x000020
+ _startup_scn code 0x0002ae program 0x00001c
+ .code___init.o code 0x0002ca program 0x000002
+ .idata_c018i.o_i romdata 0x0002cc program 0x000000
+ .romdata_c018i.o romdata 0x0002cc program 0x000000
+.idata_Relogio digital.o_i romdata 0x0002cc program 0x000007
+.romdata_Relogio digital.o romdata 0x0002cc program 0x000000
+ .idata___init.o_i romdata 0x0002cc program 0x000000
+ .romdata___init.o romdata 0x0002cc program 0x000000
+ .code_c018i.o code 0x0002d4 program 0x000000
+ MATH_DATA udata 0x000000 data 0x000002
+ .tmpdata udata 0x000002 data 0x000000
+ .udata_c018i.o udata 0x000080 data 0x00000a
+ .udata_Relogio digital.o udata 0x00008a data 0x00000a
+ .idata_Relogio digital.o idata 0x000094 data 0x000007
+ .idata_c018i.o idata 0x00009b data 0x000000
+ .udata___init.o udata 0x00009b data 0x000000
+ .idata___init.o idata 0x00009b data 0x000000
+ .stack udata 0x000500 data 0x000100
+ SFR_UNBANKED0 udata 0x000f80 data 0x000080
+
+
+
+ Program Memory Usage
+ Start End
+ --------- ---------
+ 0x000000 0x0002d2
+ 723 out of 33048 program addresses used, program memory utilization is 2%
+
+
+
+ Symbols - Sorted by Name
+ Name Address Location Storage File
+ --------- --------- --------- --------- ---------
+ ___return_lbl00000 0x000004 program static
+ ___return_lbl00001 0x0002c8 program static
+ ___return_lbl00002 0x00028c program static
+ __init 0x0002ca program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\__init.c
+ __zero_memory 0x00028e program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ _do_cinit 0x0001f0 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ _entry 0x000000 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ _startup 0x0002ae program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ alarme 0x00008a program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ compare_l 0x0002a4 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ configurar_alarme 0x0000c4 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ contador_decimal 0x000014 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ copy_loop 0x000262 program static
+ copy_one_byte 0x000268 program static
+ delay_s 0x000144 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ done 0x00028c program static
+ done_copying 0x000276 program static
+ loop 0x0002be program static
+ loop_h 0x00029c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ loop_l 0x0002a6 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ main 0x000196 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ mostra_contador 0x000126 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ test 0x00020a program static
+ zero_block 0x00029c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0bits 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1bits 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRES 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESH 0x000fc4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESL 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ BSR 0x000fe0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CON 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CONbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CON 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1H 0x000fbf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1L 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2H 0x000fbc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2L 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDREbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEADR 0x000fa9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1bits 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON2 0x000fa7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEDATA 0x000fa8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0H 0x000fea data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0L 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1H 0x000fe2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1L 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2H 0x000fda data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2L 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF0 0x000fef data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF1 0x000fe7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF2 0x000fdf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1bits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2bits 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3bits 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCONbits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1bits 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2bits 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATA 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATAbits 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATB 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATBbits 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATC 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATCbits 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATD 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATDbits 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATE 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATEbits 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCON 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCONbits 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCON 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCONbits 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PC 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCL 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATH 0x000ffa data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATU 0x000ffb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1bits 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2bits 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1bits 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2bits 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW0 0x000feb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW1 0x000fe3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW2 0x000fdb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTA 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTAbits 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTB 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTBbits 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTC 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTCbits 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTD 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTDbits 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTE 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTEbits 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC0 0x000fed data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC1 0x000fe5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC2 0x000fdd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC0 0x000fee data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC1 0x000fe6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC2 0x000fde data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PR2 0x000fcb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC0 0x000fec data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC1 0x000fe4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC2 0x000fdc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PROD 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODH 0x000ff4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODL 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCON 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCONbits 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCREG 0x000fae data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTA 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTAbits 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SIGN 0x000000 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ SPBRG 0x000faf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPADD 0x000fc8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPBUF 0x000fc9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1bits 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2bits 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTAT 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTATbits 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUS 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUSbits 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTR 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTRbits 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CON 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CONbits 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CON 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CONbits 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CON 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CONbits 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CON 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CONbits 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TABLAT 0x000ff5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTR 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRH 0x000ff7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRL 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRU 0x000ff8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0H 0x000fd7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0L 0x000fd6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1H 0x000fcf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1L 0x000fce data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR2 0x000fcc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3H 0x000fb3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3L 0x000fb2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOS 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSH 0x000ffe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSL 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSU 0x000fff data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISEbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXREG 0x000fad data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTA 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTAbits 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ W 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCON 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCONbits 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WREG 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ __FPFLAGS 0x000001 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __FPFLAGSbits 0x000001 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ alarme_ativado 0x000092 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ aux_dezenaH 0x000091 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ aux_dezenaM 0x00008f data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ aux_dezenaS 0x00009a data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ aux_unidadeH 0x000090 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ aux_unidadeM 0x00008e data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ aux_unidadeS 0x000099 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ contador 0x000094 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ curr_byte 0x000083 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ curr_entry 0x000085 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ data_ptr 0x000087 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ dezenaH 0x000096 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ dezenaM 0x000095 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ dezenaS 0x00008c data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ i 0x00008a data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ pressionado 0x000093 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ prom 0x000080 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ unidadeH 0x000098 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ unidadeM 0x000097 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ unidadeS 0x00008d data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+
+
+
+ Symbols - Sorted by Address
+ Name Address Location Storage File
+ --------- --------- --------- --------- ---------
+ _entry 0x000000 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ ___return_lbl00000 0x000004 program static
+ contador_decimal 0x000014 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ alarme 0x00008a program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ configurar_alarme 0x0000c4 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ mostra_contador 0x000126 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ delay_s 0x000144 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ main 0x000196 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ _do_cinit 0x0001f0 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ test 0x00020a program static
+ copy_loop 0x000262 program static
+ copy_one_byte 0x000268 program static
+ done_copying 0x000276 program static
+ done 0x00028c program static
+ ___return_lbl00002 0x00028c program static
+ __zero_memory 0x00028e program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ loop_h 0x00029c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ zero_block 0x00029c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ compare_l 0x0002a4 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ loop_l 0x0002a6 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ _startup 0x0002ae program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ loop 0x0002be program static
+ ___return_lbl00001 0x0002c8 program static
+ __init 0x0002ca program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\__init.c
+ SIGN 0x000000 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __FPFLAGS 0x000001 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __FPFLAGSbits 0x000001 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ prom 0x000080 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ curr_byte 0x000083 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ curr_entry 0x000085 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ data_ptr 0x000087 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ i 0x00008a data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ dezenaS 0x00008c data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ unidadeS 0x00008d data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ aux_unidadeM 0x00008e data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ aux_dezenaM 0x00008f data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ aux_unidadeH 0x000090 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ aux_dezenaH 0x000091 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ alarme_ativado 0x000092 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ pressionado 0x000093 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ contador 0x000094 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ dezenaM 0x000095 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ dezenaH 0x000096 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ unidadeM 0x000097 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ unidadeH 0x000098 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ aux_unidadeS 0x000099 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ aux_dezenaS 0x00009a data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c
+ PORTAbits 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTA 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTBbits 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTB 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTCbits 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTC 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTDbits 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTD 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTEbits 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTE 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATAbits 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATA 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATBbits 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATB 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATCbits 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATC 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATDbits 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATD 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATEbits 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATE 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISEbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDREbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1bits 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1bits 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1bits 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2bits 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2bits 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2bits 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1bits 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON2 0x000fa7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEDATA 0x000fa8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEADR 0x000fa9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTA 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTAbits 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTA 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTAbits 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXREG 0x000fad data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCREG 0x000fae data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SPBRG 0x000faf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CON 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CONbits 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3L 0x000fb2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3H 0x000fb3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CON 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2L 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2H 0x000fbc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CON 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CONbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1L 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1H 0x000fbf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1bits 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0bits 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESL 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRES 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESH 0x000fc4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2bits 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1bits 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTATbits 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTAT 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPADD 0x000fc8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPBUF 0x000fc9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CON 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CONbits 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PR2 0x000fcb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR2 0x000fcc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CON 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CONbits 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1L 0x000fce data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1H 0x000fcf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCONbits 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCON 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCONbits 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCON 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCON 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCONbits 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCON 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCONbits 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CONbits 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CON 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0L 0x000fd6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0H 0x000fd7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUS 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUSbits 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2L 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2H 0x000fda data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW2 0x000fdb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC2 0x000fdc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC2 0x000fdd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC2 0x000fde data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF2 0x000fdf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ BSR 0x000fe0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1L 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1H 0x000fe2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW1 0x000fe3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC1 0x000fe4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC1 0x000fe5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC1 0x000fe6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF1 0x000fe7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WREG 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ W 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0L 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0H 0x000fea data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW0 0x000feb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC0 0x000fec data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC0 0x000fed data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC0 0x000fee data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF0 0x000fef data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3bits 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2bits 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCONbits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1bits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODL 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PROD 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODH 0x000ff4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TABLAT 0x000ff5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTR 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRL 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRH 0x000ff7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRU 0x000ff8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCL 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PC 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATH 0x000ffa data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATU 0x000ffb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTRbits 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTR 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOS 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSL 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSH 0x000ffe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSU 0x000fff data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+
+
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.mcp b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.mcp
new file mode 100644
index 00000000..232288f3
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.mcp
@@ -0,0 +1,50 @@
+[HEADER]
+magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
+file_version=1.0
+device=PIC18F452
+[PATH_INFO]
+BuildDirPolicy=BuildDirIsProjectDir
+dir_src=
+dir_bin=
+dir_tmp=
+dir_sin=
+dir_inc=
+dir_lib=C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib
+dir_lkr=
+[CAT_FILTERS]
+filter_src=*.asm;*.c
+filter_inc=*.h;*.inc
+filter_obj=*.o
+filter_lib=*.lib
+filter_lkr=*.lkr
+[CAT_SUBFOLDERS]
+subfolder_src=
+subfolder_inc=
+subfolder_obj=
+subfolder_lib=
+subfolder_lkr=
+[FILE_SUBFOLDERS]
+file_000=.
+[GENERATED_FILES]
+file_000=no
+[OTHER_FILES]
+file_000=no
+[FILE_INFO]
+file_000=Relogio digital.c
+[SUITE_INFO]
+suite_guid={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+suite_state=
+[TOOL_SETTINGS]
+TS{DD2213A8-6310-47B1-8376-9430CDFC013F}=
+TS{BFD27FBA-4A02-4C0E-A5E5-B812F3E7707C}=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
+TS{C2AF05E7-1416-4625-923D-E114DB6E2B96}=-Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
+TS{ADE93A55-C7C7-4D4D-A4BA-59305F7D0391}=
+[INSTRUMENTED_TRACE]
+enable=0
+transport=0
+format=0
+[CUSTOM_BUILD]
+Pre-Build=
+Pre-BuildEnabled=1
+Post-Build=
+Post-BuildEnabled=1
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.mcs b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.mcs
new file mode 100644
index 00000000..eba10d87
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.mcs
@@ -0,0 +1,45 @@
+[Header]
+MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7}
+Version=1.0
+[File000]
+Location=C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.o
+Folder=Intermediary
+DeviceName=PIC18F452
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644}
+LanguageToolLocation=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mcc18.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)|C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib||$(LKRDIR)||
+SOLK=|Relogio digital.c||||||||
+SuiteArgsString=
+ToolArgsString=-Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
+TraceCmdString=
+DebugOptions=-D__DEBUG
+[File001]
+Location=C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Q1.cof
+Folder=Output
+DeviceName=PIC18F452
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)|C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib||$(LKRDIR)||
+SOLK=|Relogio digital.c||||||||
+SuiteArgsString=
+ToolArgsString=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1
+[File002]
+Location=C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Q1.hex
+Folder=Output
+DeviceName=PIC18F452
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)|C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib||$(LKRDIR)||
+SOLK=|Relogio digital.c||||||||
+SuiteArgsString=
+ToolArgsString=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1
+[TOOL_LOC_STAMPS]
+tool_loc{96C98149-AA1B-4CF9-B967-FAE79CAB663C}=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe
+tool_loc{E56A1C86-9D32-4DF6-8C34-FE0388B1B644}=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mcc18.exe
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.mcw b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.mcw
new file mode 100644
index 00000000..35ef0a3c
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Q1.mcw differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Relogio digital.c b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Relogio digital.c
new file mode 100644
index 00000000..02543479
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Relogio digital.c
@@ -0,0 +1,175 @@
+#include
+
+#define BOTAO1 PORTAbits.RA0
+#define BOTAO2 PORTAbits.RA1
+#define BOTAO3 PORTAbits.RA2
+#define BUZZER PORTEbits.RE0
+#define BUZZEROFF PORTEbits.RE1
+
+
+int i;
+unsigned char contador = 0;
+unsigned char dezenaS,dezenaM=0,dezenaH=0;
+unsigned char unidadeS,unidadeM=0,unidadeH=0;
+unsigned char aux_unidadeS=0,aux_dezenaS=0,aux_unidadeM,aux_dezenaM,aux_unidadeH,aux_dezenaH,alarme_ativado;
+unsigned char pressionado;
+
+
+
+
+void contador_decimal (void)
+
+{
+
+ if (BOTAO1 == 1 && pressionado == 0) unidadeM++;
+ if (unidadeM>=10)
+ {
+ unidadeM = 0;
+
+ if(++dezenaM>=10)
+ {
+ dezenaM = 0;
+ }
+ }
+
+
+ if (BOTAO2 == 1 && pressionado == 0) unidadeH++;
+ if (unidadeH>=10)
+ {
+ unidadeH = 0;
+
+ if(++dezenaH>=10)
+ {
+ dezenaH = 0;
+ }
+ }
+
+
+ if(++unidadeS>=10) //contador em base decimal
+ {
+ unidadeS = 0;
+ if (++dezenaS>=6)
+ {
+ dezenaS = 0;
+ if(++unidadeM>=10)
+ {
+ unidadeM = 0;
+
+ if(++dezenaM>=6)
+ {
+ dezenaM = 0;
+
+ }
+ }
+ }
+
+ }
+
+}
+
+
+void alarme (void)
+{
+ if (unidadeM ==aux_unidadeM && dezenaM == aux_dezenaM && unidadeH == aux_unidadeH && dezenaH == aux_dezenaH && alarme_ativado==1 && pressionado ==0)
+ {
+ BUZZER = 1;
+ }
+
+ if (BUZZEROFF ==1)
+ {
+ BUZZER = 0;
+ }
+}
+
+void configurar_alarme (void)
+{
+ if (BOTAO1 == 1 && pressionado == 1) aux_unidadeM++;
+ if (aux_unidadeM>=10)
+ {
+ aux_unidadeM = 0;
+
+ if(++aux_dezenaM>=10)
+ {
+ aux_dezenaM = 0;
+ }
+ }
+
+
+ if (BOTAO2 == 1 && pressionado == 1) aux_unidadeH++;
+ if (aux_unidadeH>=10)
+ {
+ aux_unidadeH = 0;
+
+ if(++aux_dezenaH>=10)
+ {
+ aux_dezenaH = 0;
+ }
+ }
+
+ LATB = aux_dezenaH<<4|aux_unidadeH;
+ LATC = aux_dezenaM<<4|aux_unidadeM;
+ LATD = aux_dezenaS<<4|aux_unidadeS;
+
+ alarme_ativado = 1;
+
+}
+
+void mostra_contador ()
+{
+
+
+ LATD = dezenaS<<4|unidadeS;
+ LATC = dezenaM<<4|unidadeM;
+ LATB = dezenaH<<4|unidadeH;
+
+
+}
+
+
+
+
+void delay_s (unsigned int segundos)
+
+{
+ unsigned short long int i;
+ for (i=0;i<50000;i++) {}
+}
+
+void main (void)
+{
+ ADCON1 = 0b00001111;
+ TRISA = 0xFF;
+ TRISB = 0b00000000;
+ TRISC = 0b00000000;
+ TRISD = 0b00000000;
+ TRISE = 0b00000000;
+
+
+ while (1)
+ {
+
+ contador_decimal ();
+ if(BOTAO3 ==1)
+ {
+ delay_s (1);
+ delay_s (1);
+ if(BOTAO3 == 1)
+ {
+ pressionado =1;
+
+ }else pressionado = 0;
+ }
+
+
+ if( pressionado == 1)
+ {
+ configurar_alarme();
+ }else
+ mostra_contador ();
+
+
+ alarme ();
+ delay_s (1);
+ }
+
+}
\ No newline at end of file
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Relogio digital.err b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Relogio digital.err
new file mode 100644
index 00000000..9c646490
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Relogio digital.err
@@ -0,0 +1 @@
+Warning[2058] C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q1\Relogio digital.c 168 : call of function without prototype
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Relogio digital.o b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Relogio digital.o
new file mode 100644
index 00000000..4f0cfb7c
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q1/Relogio digital.o differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Last Loaded Q2.DBK b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Last Loaded Q2.DBK
new file mode 100644
index 00000000..0f3cc49e
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Last Loaded Q2.DBK differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.DSN b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.DSN
new file mode 100644
index 00000000..dad2398e
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.DSN differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.PWI b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.PWI
new file mode 100644
index 00000000..1186a2fe
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.PWI differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.cof b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.cof
new file mode 100644
index 00000000..16a62342
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.cof differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.hex b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.hex
new file mode 100644
index 00000000..265c5537
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.hex
@@ -0,0 +1,50 @@
+:020000040000FA
+:06000000F9EF00F0120010
+:0A00060001001002000000010000DC
+:040010008800000064
+:0C001400D9CFE6FFE1CFD9FF020EE126B4
+:10002000DE6ADD6ADECF02F0DDCF03F03E0E025C59
+:10003000030E035805E2DF2A010E01E3DB2AF2D7A3
+:10004000020EE15C02E2E16AE552E16EE552E7CFC1
+:10005000D9FF1200D9CFE6FFE1CFD9FF030EE12689
+:10006000010EDE6EDD6A816882680101000E926F0A
+:10007000010E936F100E946F010E956F0101860EA5
+:10008000945D010E955944E2D9CFE9FFDACFEAFF3A
+:10009000090EEE1801E1ED500BE10E0E945F000E1B
+:1000A000955B0E0E925F000E935B010EDE6EDD6AB5
+:1000B00092C1E9FF93C1EAFFEF50826E94C1E9FF5C
+:1000C00095C1EAFFEF50816E020E9425946F000EE9
+:1000D0009521956F020E9225926F000E9321936FDA
+:1000E00099DF835008E1010EF36E020EF3CFDBFFC0
+:1000F000DB50836E0CD0020EDB50020D020EF3CFEC
+:10010000DBFFDB50836EDF2A010E01E3DB2AB6D76B
+:10011000030EE15C02E2E16AE552E16EE552E7CFEF
+:10012000D9FF1200936A946A956A0F0EC16E92DF2E
+:04013000FED71200E4
+:0C013400060EF66E000EF76E000EF86E60
+:1001400001010900F5508D6F0900F5508E6F03E134
+:100150008D6701D03DD00900F550886F0900F5503A
+:10016000896F0900F5508A6F09000900F550E96EA2
+:100170000900F550EA6E090009000900F5508B6F7F
+:100180000900F5508C6F09000900F6CF8FF1F7CF09
+:1001900090F1F8CF91F188C1F6FF89C1F7FF8AC1CC
+:1001A000F8FF01018B5302E18C5307E00900F55081
+:1001B000EE6E8B07F8E28C07F9D78FC1F6FF90C17E
+:1001C000F7FF91C1F8FF01018D07000E8E5BBFD7CD
+:0201D00012001B
+:0E01D200000EF36E00EE00F0060E01D81200D3
+:1001E000EA6002D0EE6AFCD7F350E9601200EE6AD2
+:0201F000FCD73A
+:0E01F20015EE00F025EE00F0F86A019C9AEC84
+:0E02000000F007EC01F092EC00F0FBD71200CA
+:02020E001200DC
+:10021000FF00FF00FF00FF00FF00FF00FF00FF00E6
+:10022000FF00FF00FF00FF00FF00FF00FF00FF00D6
+:100230000100FB00F700FB000100FF000300ED00E0
+:10024000ED000100FF00FF00FD00FD000100FD00CA
+:10025000FD00FF0001006D006D006D00FF00FF005C
+:1002600081007F007F008100FF00FF0073006D00B0
+:100270006D009D00FF00FF00FF00FF00FF00FF007A
+:10028000FF00FF00FF00FF00FF00FF00FF00FF0076
+:08029000FF00FF00FF00FF006A
+:00000001FF
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.map b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.map
new file mode 100644
index 00000000..8c92351e
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.map
@@ -0,0 +1,452 @@
+MPLINK 5.00, LINKER
+Linker Map File - Created Tue Oct 12 18:12:04 2021
+
+ Section Info
+ Section Type Address Location Size(Bytes)
+ --------- --------- --------- --------- ---------
+ _entry_scn code 0x000000 program 0x000006
+ .cinit romdata 0x000006 program 0x00000e
+ .code_dotmatrix.o code 0x000014 program 0x000120
+ _cinit_scn code 0x000134 program 0x00009e
+ .code code 0x0001d2 program 0x000020
+ _startup_scn code 0x0001f2 program 0x00001c
+ .code___init.o code 0x00020e program 0x000002
+ .romdata_c018i.o romdata 0x000210 program 0x000000
+ .idata_dotmatrix.o_i romdata 0x000210 program 0x000088
+ .romdata_dotmatrix.o romdata 0x000210 program 0x000000
+ .romdata___init.o romdata 0x000210 program 0x000000
+ .idata_c018i.o_i romdata 0x000298 program 0x000000
+ .code_c018i.o code 0x000298 program 0x000000
+ .idata___init.o_i romdata 0x000298 program 0x000000
+ MATH_DATA udata 0x000000 data 0x000002
+ .tmpdata udata 0x000002 data 0x000002
+ .idata_dotmatrix.o idata 0x000100 data 0x000088
+ .udata_c018i.o udata 0x000188 data 0x00000a
+ .udata_dotmatrix.o udata 0x000192 data 0x000004
+ .idata_c018i.o idata 0x000196 data 0x000000
+ .udata___init.o udata 0x000196 data 0x000000
+ .idata___init.o idata 0x000196 data 0x000000
+ .stack udata 0x000500 data 0x000100
+ SFR_UNBANKED0 udata 0x000f80 data 0x000080
+
+
+
+ Program Memory Usage
+ Start End
+ --------- ---------
+ 0x000000 0x000297
+ 664 out of 33048 program addresses used, program memory utilization is 2%
+
+
+
+ Symbols - Sorted by Name
+ Name Address Location Storage File
+ --------- --------- --------- --------- ---------
+ ___return_lbl00000 0x000004 program static
+ ___return_lbl00001 0x00020c program static
+ ___return_lbl00002 0x0001d0 program static
+ __init 0x00020e program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\__init.c
+ __zero_memory 0x0001d2 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ _do_cinit 0x000134 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ _entry 0x000000 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ _startup 0x0001f2 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ compare_l 0x0001e8 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ copy_loop 0x0001a6 program static
+ copy_one_byte 0x0001ac program static
+ delay_varredura 0x000014 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ done 0x0001d0 program static
+ done_copying 0x0001ba program static
+ loop 0x000202 program static
+ loop_h 0x0001e0 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ loop_l 0x0001ea program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ main 0x000124 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ mostra_nome 0x000054 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ test 0x00014e program static
+ zero_block 0x0001e0 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0bits 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1bits 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRES 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESH 0x000fc4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESL 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ BSR 0x000fe0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CON 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CONbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CON 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1H 0x000fbf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1L 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2H 0x000fbc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2L 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDREbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEADR 0x000fa9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1bits 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON2 0x000fa7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEDATA 0x000fa8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0H 0x000fea data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0L 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1H 0x000fe2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1L 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2H 0x000fda data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2L 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF0 0x000fef data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF1 0x000fe7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF2 0x000fdf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1bits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2bits 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3bits 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCONbits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1bits 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2bits 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATA 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATAbits 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATB 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATBbits 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATC 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATCbits 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATD 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATDbits 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATE 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATEbits 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCON 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCONbits 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCON 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCONbits 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PC 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCL 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATH 0x000ffa data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATU 0x000ffb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1bits 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2bits 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1bits 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2bits 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW0 0x000feb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW1 0x000fe3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW2 0x000fdb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTA 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTAbits 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTB 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTBbits 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTC 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTCbits 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTD 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTDbits 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTE 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTEbits 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC0 0x000fed data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC1 0x000fe5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC2 0x000fdd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC0 0x000fee data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC1 0x000fe6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC2 0x000fde data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PR2 0x000fcb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC0 0x000fec data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC1 0x000fe4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC2 0x000fdc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PROD 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODH 0x000ff4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODL 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCON 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCONbits 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCREG 0x000fae data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTA 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTAbits 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SIGN 0x000000 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ SPBRG 0x000faf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPADD 0x000fc8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPBUF 0x000fc9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1bits 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2bits 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTAT 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTATbits 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUS 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUSbits 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTR 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTRbits 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CON 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CONbits 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CON 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CONbits 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CON 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CONbits 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CON 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CONbits 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TABLAT 0x000ff5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTR 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRH 0x000ff7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRL 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRU 0x000ff8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0H 0x000fd7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0L 0x000fd6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1H 0x000fcf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1L 0x000fce data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR2 0x000fcc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3H 0x000fb3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3L 0x000fb2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOS 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSH 0x000ffe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSL 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSU 0x000fff data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISEbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXREG 0x000fad data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTA 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTAbits 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ W 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCON 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCONbits 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WREG 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ __FPFLAGS 0x000001 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __FPFLAGSbits 0x000001 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __tmp_0 0x000002 data static C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ curr_byte 0x00018b data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ curr_entry 0x00018d data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ data_ptr 0x00018f data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ mensagem_painel 0x000100 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ ponteiro 0x000192 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ ponteiro2 0x000194 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ prom 0x000188 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+
+
+
+ Symbols - Sorted by Address
+ Name Address Location Storage File
+ --------- --------- --------- --------- ---------
+ _entry 0x000000 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ ___return_lbl00000 0x000004 program static
+ delay_varredura 0x000014 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ mostra_nome 0x000054 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ main 0x000124 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ _do_cinit 0x000134 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ test 0x00014e program static
+ copy_loop 0x0001a6 program static
+ copy_one_byte 0x0001ac program static
+ done_copying 0x0001ba program static
+ done 0x0001d0 program static
+ ___return_lbl00002 0x0001d0 program static
+ __zero_memory 0x0001d2 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ loop_h 0x0001e0 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ zero_block 0x0001e0 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ compare_l 0x0001e8 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ loop_l 0x0001ea program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ _startup 0x0001f2 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ loop 0x000202 program static
+ ___return_lbl00001 0x00020c program static
+ __init 0x00020e program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\__init.c
+ SIGN 0x000000 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __FPFLAGSbits 0x000001 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __FPFLAGS 0x000001 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __tmp_0 0x000002 data static C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ mensagem_painel 0x000100 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ prom 0x000188 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ curr_byte 0x00018b data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ curr_entry 0x00018d data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ data_ptr 0x00018f data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ ponteiro 0x000192 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ ponteiro2 0x000194 data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.c
+ PORTAbits 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTA 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTBbits 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTB 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTCbits 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTC 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTD 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTDbits 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTEbits 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTE 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATA 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATAbits 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATB 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATBbits 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATC 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATCbits 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATD 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATDbits 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATE 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATEbits 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISEbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDREbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1bits 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1bits 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1bits 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2bits 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2bits 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2bits 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1bits 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON2 0x000fa7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEDATA 0x000fa8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEADR 0x000fa9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTAbits 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTA 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTAbits 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTA 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXREG 0x000fad data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCREG 0x000fae data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SPBRG 0x000faf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CON 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CONbits 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3L 0x000fb2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3H 0x000fb3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CON 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2L 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2H 0x000fbc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CON 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CONbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1L 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1H 0x000fbf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1bits 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0bits 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESL 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRES 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESH 0x000fc4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2bits 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1bits 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTAT 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTATbits 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPADD 0x000fc8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPBUF 0x000fc9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CON 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CONbits 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PR2 0x000fcb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR2 0x000fcc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CON 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CONbits 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1L 0x000fce data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1H 0x000fcf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCON 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCONbits 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCON 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCONbits 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCONbits 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCON 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCONbits 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCON 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CON 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CONbits 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0L 0x000fd6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0H 0x000fd7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUS 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUSbits 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2L 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2H 0x000fda data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW2 0x000fdb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC2 0x000fdc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC2 0x000fdd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC2 0x000fde data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF2 0x000fdf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ BSR 0x000fe0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1L 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1H 0x000fe2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW1 0x000fe3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC1 0x000fe4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC1 0x000fe5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC1 0x000fe6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF1 0x000fe7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ W 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WREG 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0L 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0H 0x000fea data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW0 0x000feb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC0 0x000fec data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC0 0x000fed data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC0 0x000fee data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF0 0x000fef data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3bits 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2bits 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCONbits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1bits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PROD 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODL 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODH 0x000ff4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TABLAT 0x000ff5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTR 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRL 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRH 0x000ff7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRU 0x000ff8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PC 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCL 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATH 0x000ffa data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATU 0x000ffb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTRbits 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTR 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSL 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOS 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSH 0x000ffe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSU 0x000fff data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+
+
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.mcp b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.mcp
new file mode 100644
index 00000000..39f70746
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.mcp
@@ -0,0 +1,50 @@
+[HEADER]
+magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
+file_version=1.0
+device=PIC18F452
+[PATH_INFO]
+BuildDirPolicy=BuildDirIsProjectDir
+dir_src=
+dir_bin=
+dir_tmp=
+dir_sin=
+dir_inc=
+dir_lib=C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib
+dir_lkr=
+[CAT_FILTERS]
+filter_src=*.asm;*.c
+filter_inc=*.h;*.inc
+filter_obj=*.o
+filter_lib=*.lib
+filter_lkr=*.lkr
+[CAT_SUBFOLDERS]
+subfolder_src=
+subfolder_inc=
+subfolder_obj=
+subfolder_lib=
+subfolder_lkr=
+[FILE_SUBFOLDERS]
+file_000=.
+[GENERATED_FILES]
+file_000=no
+[OTHER_FILES]
+file_000=no
+[FILE_INFO]
+file_000=dotmatrix.c
+[SUITE_INFO]
+suite_guid={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+suite_state=
+[TOOL_SETTINGS]
+TS{DD2213A8-6310-47B1-8376-9430CDFC013F}=
+TS{BFD27FBA-4A02-4C0E-A5E5-B812F3E7707C}=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
+TS{C2AF05E7-1416-4625-923D-E114DB6E2B96}=-Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
+TS{ADE93A55-C7C7-4D4D-A4BA-59305F7D0391}=
+[INSTRUMENTED_TRACE]
+enable=0
+transport=0
+format=0
+[CUSTOM_BUILD]
+Pre-Build=
+Pre-BuildEnabled=1
+Post-Build=
+Post-BuildEnabled=1
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.mcs b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.mcs
new file mode 100644
index 00000000..658b0a14
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.mcs
@@ -0,0 +1,45 @@
+[Header]
+MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7}
+Version=1.0
+[File000]
+Location=C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\dotmatrix.o
+Folder=Intermediary
+DeviceName=PIC18F452
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644}
+LanguageToolLocation=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mcc18.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)|C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib||$(LKRDIR)||
+SOLK=|dotmatrix.c||||||||
+SuiteArgsString=
+ToolArgsString=-Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
+TraceCmdString=
+DebugOptions=-D__DEBUG
+[File001]
+Location=C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\Q2.cof
+Folder=Output
+DeviceName=PIC18F452
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)|C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib||$(LKRDIR)||
+SOLK=|dotmatrix.c||||||||
+SuiteArgsString=
+ToolArgsString=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1
+[File002]
+Location=C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q2\Q2.hex
+Folder=Output
+DeviceName=PIC18F452
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)|C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib||$(LKRDIR)||
+SOLK=|dotmatrix.c||||||||
+SuiteArgsString=
+ToolArgsString=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1
+[TOOL_LOC_STAMPS]
+tool_loc{96C98149-AA1B-4CF9-B967-FAE79CAB663C}=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe
+tool_loc{E56A1C86-9D32-4DF6-8C34-FE0388B1B644}=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mcc18.exe
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.mcw b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.mcw
new file mode 100644
index 00000000..f658ed1a
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/Q2.mcw differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/dotmatrix.c b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/dotmatrix.c
new file mode 100644
index 00000000..734dd160
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/dotmatrix.c
@@ -0,0 +1,129 @@
+#include
+
+void delay_varredura(void)
+{
+ unsigned int i;
+ for(i = 0; i < 830; i++);
+}
+
+
+unsigned int *ponteiro,*ponteiro2;
+unsigned int mensagem_painel[] = {
+0b11111111, //<-ponteiro
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111, //<-ponteiro2
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+
+0b00000001,//M
+0b11111011,
+0b11110111,
+0b11111011,
+0b00000001,
+0b11111111,//espao
+0b00000011,//A
+0b11101101,
+0b11101101,
+0b00000001,
+0b11111111,//espao
+0b11111111,//espao
+0b11111101,//T
+0b11111101,
+0b00000001,
+0b11111101,
+0b11111101,
+0b11111111,//espao
+0b00000001,//E
+0b01101101,
+0b01101101,
+0b01101101,
+0b11111111,//espao
+0b11111111,//espao
+0b10000001,//U
+0b01111111,
+0b01111111,
+0b10000001,
+0b11111111,//espao
+0b11111111,//espao
+0b01110011,//S
+0b01101101,
+0b01101101,
+0b10011101,
+0b11111111,//espao
+0b11111111,//espao
+
+
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+
+
+
+
+};
+
+void mostra_nome(void){
+ unsigned int aux=1;
+ unsigned char mascara;
+ PORTB = 0b11111111;
+ PORTC = 0b11111111;
+ ponteiro= &mensagem_painel[0];
+ ponteiro2= &mensagem_painel[8];
+ while(ponteiro2<&mensagem_painel[67]){
+ if(aux==9){
+ ponteiro2=ponteiro2-7;
+ ponteiro=ponteiro-7;
+ aux=1;
+ }
+ PORTC = *ponteiro;
+ PORTB = *ponteiro2;
+ ponteiro2=ponteiro2+1;
+ ponteiro=ponteiro+1;
+ delay_varredura();
+
+ if(PORTD == 0b00000000){
+ mascara=0b00000001;
+ PORTD=mascara;
+ }
+ else {
+ mascara=mascara<<1;
+ PORTD=mascara;
+ aux++;
+ }
+ }
+}
+void main(void)
+{
+ TRISB = 0; //varredura painel 1 e 2
+ TRISC = 0; //barramento painel 1
+ TRISD = 0; //barramento painel 2
+ ADCON1 = 0b00001111;
+ while(1)
+ {
+ mostra_nome();
+ }
+}
\ No newline at end of file
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/dotmatrix.o b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/dotmatrix.o
new file mode 100644
index 00000000..020f28c9
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2/dotmatrix.o differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2_Lista2.c b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2_Lista2.c
new file mode 100644
index 00000000..c1d3bf62
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q2_Lista2.c
@@ -0,0 +1,138 @@
+#include
+
+void delay_varredura(void)
+{
+ unsigned int i;
+ for(i = 0; i < 800; i++);
+}
+
+
+unsigned int *ponteiro,*ponteiro2;
+unsigned int mensagem_painel[] = {
+0b11111111, //<-ponteiro
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111, //<-ponteiro2
+0b11111111, //ponteiro2+1
+0b11111111, //ponteiro2+2
+0b11111111, //ponteiro2+3
+0b11111111, //ponteiro2+4
+0b11111111, //ponteiro2+5
+0b11111111, //ponteiro2+6
+0b11111111, //ponteiro2+7
+
+0b00000001,//M
+0b11111011,
+0b11110111,
+0b11111011,
+0b00000001,
+0b11111111,//espaço
+0b00000011,//A
+0b11101101,
+0b11101101,
+0b00000001,
+0b11111111,//espaço
+0b11111111,//espaço
+0b11111101,//T
+0b11111101,
+0b00000001,
+0b11111101,
+0b11111101,
+0b11111111,//espaço
+0b00000001,//E
+0b01101101,
+0b01101101,
+0b01101101,
+0b11111111,//espaço
+0b11111111,//espaço
+0b10000001,//U
+0b01111111,
+0b01111111,
+0b10000001,
+0b11111111,//espaço
+0b11111111,//espaço
+0b01110011,//S
+0b01101101,
+0b01101101,
+0b10011101,
+0b11111111,//espaço
+0b11111111,//espaço
+
+
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+0b11111111,
+
+
+
+
+};
+char contagem[]={
+0b00000001,
+0b00000010,
+0b00000100,
+0b00001000,
+0b00010000,
+0b00100000,
+0b01000000,
+0b10000000,
+};
+void mostra_nome(void){
+ unsigned int aux=1;
+ unsigned char mascara;
+ PORTB = 0b11111111;
+ PORTC = 0b11111111;
+ ponteiro= &mensagem_painel[0];
+ ponteiro2= &mensagem_painel[8];
+ while(ponteiro2<&mensagem_painel[67]){
+ if(aux==9){
+ ponteiro2=ponteiro2-7;
+ ponteiro=ponteiro-7;
+ aux=1;
+ }
+ PORTC = *ponteiro;
+ PORTB = *ponteiro2;
+ ponteiro2=ponteiro2+1;
+ ponteiro=ponteiro+1;
+ delay_varredura();
+
+ if(PORTD == 0b00000000){
+ mascara=0b00000001;
+ PORTD=mascara;
+ }
+ else {
+ mascara=mascara<<1;
+ PORTD=mascara;
+ aux++;
+ }
+ }
+}
+void main(void)
+{
+ TRISB = 0; //varredura painel 1 e 2
+ TRISC = 0; //barramento painel 1
+ TRISD = 0; //barramento painel 2
+ ADCON1 = 0b00001111;
+ while(1)
+ {
+ mostra_nome();
+ }
+}
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Last Loaded Q3.DBK b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Last Loaded Q3.DBK
new file mode 100644
index 00000000..955c0801
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Last Loaded Q3.DBK differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.DSN b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.DSN
new file mode 100644
index 00000000..c9030e58
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.DSN differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.PWI b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.PWI
new file mode 100644
index 00000000..ab388c91
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.PWI differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.cof b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.cof
new file mode 100644
index 00000000..34fc5f54
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.cof differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.hex b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.hex
new file mode 100644
index 00000000..283fd613
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.hex
@@ -0,0 +1,99 @@
+:020000040000FA
+:06000000B3EF02F0120054
+:020006000000F8
+:080008000F9E08D00F9E07AE09
+:1000100005D0066C071EE86A07220F8E07C001F0A4
+:1000200006C000F0136A126A8E0E026E036A24EF95
+:1000300001F00F6A60EC01F078EC01F00FB608EF08
+:1000400001F00FA205D00FBA08EF01F00FEF01F099
+:100050000FBA1BEF01F00FA005D00FB808EF01F0A9
+:100060001BEF01F00FB80FEF01F0036A7F0E0824B9
+:10007000026EE86A03220D50025EE86A035A1A0E05
+:10008000106E086A126A136A006A016A0A50055EF5
+:100090000B50065A0C50075A000E085A09E70A502E
+:1000A00005260B5006220C500722000E082201D014
+:1000B000128AD8900536063607360836D89012369A
+:1000C000133600360136102EE1D707500610051002
+:1000D000D8A4128A24EF01F00F6A60EC01F078ECEA
+:1000E00001F00FB608EF01F00FA205D00FB808EF2E
+:1000F00001F00FEF01F00FAA05D00FB008EF01F0EB
+:100100000FEF01F00FB002D00FA802D01BEF01F0EB
+:10011000036A0D500824026EE86A03227E0E025E16
+:10012000E86A035A126A136A006A016A0C500702ED
+:10013000F4CF01F0F3CF00F00B500702F350132679
+:10014000F4500022000E01220C500602F350132638
+:10015000F4500022000E01220A500702F35012262A
+:10016000F4501322000E002201220B500602F3501D
+:100170001226F4501322000E002201220C50050218
+:10018000F3501226F4501322000E002201220A50CE
+:100190000602F4501226000E1322002201220B50F8
+:1001A0000502F4501226000E13220022012224EF31
+:1001B00001F00F6A60EC01F00FB6E3EF00F00FA260
+:1001C0000ED00FB405D07F0E076EFF0E066E1FD047
+:1001D000800E076E066A1BD0076A066A18D00FB039
+:1001E000FBD78F0E0860EDD77E0E0864F5D78E0E14
+:1001F000085C05E0D89007320632082AF8D70FA429
+:1002000006D0066C071EE86A072207AEE5D7120083
+:100210007F0E086EFF0E076E066E056E12007F0ED3
+:100220000FBEFF0E086E02D07F0E086E800E076EA6
+:10023000066A056AF3D70FAE04D0800E086E076A0F
+:10024000F7D7086A076AF4D701500010131012108C
+:10025000F8E003BEF0D701BE0CD002500310EBE073
+:10026000D89012361336003601360206D8A003069F
+:10027000F2D70350D4E10228D2E012AE11D07F0EA3
+:10028000121402E113A00CD0132AE86A0022012202
+:1002900007E3D880013200321332022A0228BFE07D
+:1002A0000250C9E013C005F000C006F00134076E2B
+:1002B0000230086E0732089E0FBE088E0EEF01F066
+:1002C0000736083602E30F840F7E06E10F80086AC6
+:1002D000076A066A056A1200082803E0D880073218
+:1002E0001200D890073202E10F8212000F8612002E
+:1002F0000C360D3602E30F8C0F7E06E10F880D6A77
+:100300000C6A0B6A0A6A12000D2803E0D8800C32CE
+:0C0310001200D8900C32EAE10F8A1200B3
+:04031C00D9CFE6FF50
+:10032000E1CFD9FFE652DF6A1D0EDF5C02E2DF2A71
+:10033000FBD7DF6ADF6AE552E552E7CFD9FF12004B
+:1003400000018A6B8B6B83B0FED783A0FED783A09E
+:1003500006D0E4DF00018A2B000E8B23F8D783B090
+:1003600006D0DCDF00018A2B000E8B23F8D71200A9
+:10037000146A156A800E166E3F0E176E8AC006F05C
+:100380008BC007F004EC00F005C01CF006C01DF0A7
+:1003900007C01EF008C01FF0170E0A6EB70E0B6ED6
+:1003A000D10E0C6E380E0D6E1CC005F01DC006F08F
+:1003B0001EC007F01FC008F06CEC00F005C018F07C
+:1003C00006C019F007C01AF008C01BF018C00AF0E8
+:1003D00019C00BF01AC00CF01BC00DF014C005F0D2
+:1003E00015C006F016C007F017C008F019EC00F0B1
+:1003F000D9EC00F006C08CF007C08DF012000001AF
+:10040000630ED8808C55000E8D5505E30A0E8C5D69
+:10041000000E8D5903E2EE0E826E27D00A0E146E86
+:10042000156A8CC006F08DC007F014C00BF015C023
+:100430000CF08DEC02F006C08EF08CC014F08DC074
+:1004400015F00A0E0B6E0C6A14C006F015C007F00A
+:100450008DEC02F002C014F003C015F014C08FF050
+:1004600000018E39F00B8F11826E12009580946A14
+:0C04700055DF66DF7DDFC3DFFCD7120024
+:04047C00060EF66E04
+:10048000000EF76E000EF86E00010900F550856F42
+:100490000900F550866F03E1856701D03DD0090062
+:1004A000F550806F0900F550816F0900F550826F9B
+:1004B00009000900F550E96E0900F550EA6E0900DF
+:1004C00009000900F550836F0900F550846F090099
+:1004D0000900F6CF87F0F7CF88F0F8CF89F080C019
+:1004E000F6FF81C0F7FF82C0F8FF0001835302E1ED
+:1004F000845307E00900F550EE6E8307F8E28407A5
+:10050000F9D787C0F6FF88C0F7FF89C0F8FF000160
+:0A0510008507000E865BBFD71200BE
+:06051A00036A026A100EE4
+:10052000E76ED89006360736023603360B50025C6B
+:100530000C50035805E30B50025E0C50035A062A78
+:06054000E72EF0D71200C7
+:0A054600000EF36E00EE00F0060E4A
+:1005500001D81200EA6002D0EE6AFCD7F350E960DD
+:060560001200EE6AFCD758
+:0A05660015EE00F025EE00F0F86A33
+:100570000F9C3EEC02F0C1EC02F036EC02F0FBD72F
+:02058000120067
+:02058200120065
+:00000001FF
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.map b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.map
new file mode 100644
index 00000000..6d1bb498
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.map
@@ -0,0 +1,616 @@
+MPLINK 5.00, LINKER
+Linker Map File - Created Mon Oct 11 18:04:56 2021
+
+ Section Info
+ Section Type Address Location Size(Bytes)
+ --------- --------- --------- --------- ---------
+ _entry_scn code 0x000000 program 0x000006
+ .cinit romdata 0x000006 program 0x000002
+ PROG code 0x000008 program 0x000314
+ .code_frequencia.o code 0x00031c program 0x000160
+ _cinit_scn code 0x00047c program 0x00009e
+ .code_fxd1616u.o code 0x00051a program 0x00002c
+ .code code 0x000546 program 0x000020
+ _startup_scn code 0x000566 program 0x00001c
+ .code___init.o code 0x000582 program 0x000002
+ .code_c018i.o code 0x000584 program 0x000000
+ .idata_frequencia.o_i romdata 0x000584 program 0x000000
+ .romdata_frequencia.o romdata 0x000584 program 0x000000
+ .romdata_c018i.o romdata 0x000584 program 0x000000
+ .idata_fxd1616u.o_i romdata 0x000584 program 0x000000
+ .romdata_fxd1616u.o romdata 0x000584 program 0x000000
+ .idata___init.o_i romdata 0x000584 program 0x000000
+ .romdata___init.o romdata 0x000584 program 0x000000
+ .idata_c018i.o_i romdata 0x000584 program 0x000000
+ MATH_DATA udata 0x000000 data 0x000014
+ .tmpdata udata 0x000014 data 0x00000c
+ .udata_c018i.o udata 0x000080 data 0x00000a
+ .udata_frequencia.o udata 0x00008a data 0x000006
+ .idata_c018i.o idata 0x000090 data 0x000000
+ .idata_frequencia.o idata 0x000090 data 0x000000
+ .udata_fxd1616u.o udata 0x000090 data 0x000000
+ .idata_fxd1616u.o idata 0x000090 data 0x000000
+ .udata___init.o udata 0x000090 data 0x000000
+ .idata___init.o idata 0x000090 data 0x000000
+ .stack udata 0x000500 data 0x000100
+ SFR_UNBANKED0 udata 0x000f80 data 0x000080
+
+
+
+ Program Memory Usage
+ Start End
+ --------- ---------
+ 0x000000 0x000583
+ 1412 out of 33048 program addresses used, program memory utilization is 4%
+
+
+
+ Symbols - Sorted by Name
+ Name Address Location Storage File
+ --------- --------- --------- --------- ---------
+ FLO1632S 0x00000c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cast16FP.asm
+ FLO1632U 0x000008 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cast16FP.asm
+ FPD32 0x000032 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ FPM32 0x0000d8 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\mulFP.asm
+ FXD1616U 0x00051a program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd1616u.c
+ INT3216 0x0001b2 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ __FpExit 0x00021c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpPack 0x000248 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnNaN 0x000210 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnNegInf 0x000222 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnNegZero 0x00023a program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnPosInf 0x000228 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnPosZero 0x000242 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnSignInf 0x00021e program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnSignZero 0x000236 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnW 0x0002a0 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpUnPackA 0x0002c0 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ __FpUnPackB 0x0002f0 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ ___return_lbl00000 0x000004 program static
+ ___return_lbl00000 0x000544 program static
+ ___return_lbl00001 0x000580 program static
+ ___return_lbl00002 0x000518 program static
+ __init 0x000582 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\__init.c
+ __zero_memory 0x000546 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ _do_cinit 0x00047c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ _entry 0x000000 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ _startup 0x000566 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ calcula_frequencia 0x000370 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ compare_l 0x00055c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ copy_loop 0x0004ee program static
+ copy_one_byte 0x0004f4 program static
+ delay_100us 0x00031c program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ done 0x000518 program static
+ done_copying 0x000502 program static
+ endloop 0x000540 program static
+ jANotInf 0x0000f6 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\mulFP.asm
+ jANotInf 0x000050 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ jANotZero 0x000064 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ jBothFinite 0x000104 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\mulFP.asm
+ jBothNotZero 0x000110 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\mulFP.asm
+ jExit 0x00020e program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jHaveZero 0x00010c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\mulFP.asm
+ jI2F16Beg 0x00001c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cast16FP.asm
+ jLoop 0x00008c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ jLoop 0x0001ee program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jLoopExit 0x0001fe program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jMax 0x0001c2 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jMaxNeg 0x0001d0 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jMaxPos 0x0001c6 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jNext 0x0000b2 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ jNoAdjust 0x0000b0 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ jNotInf 0x0001de program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jPkLoop 0x000256 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ jPkRoundDone 0x0002a0 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ jPkRoundIt 0x000288 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ jPkShiftDone 0x000272 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ jReturnPosInf0 0x00022c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ jSignedZero 0x00005a program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ jUnpkA1 0x0002ca program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkA2 0x0002e2 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkANZ 0x0002d8 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkB1 0x0002fa program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkB2 0x000312 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkBNZ 0x000308 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkNaN 0x0002ec program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jZero 0x0001d8 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jZero1and2 0x000230 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ loop 0x000576 program static
+ loop 0x000524 program static
+ loop_h 0x000554 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ loop_l 0x00055e program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ main 0x00046c program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ mede_periodo 0x000340 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ mostra_frequencia 0x0003fe program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ test 0x000496 program static
+ zero_block 0x000554 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0bits 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1bits 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRES 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESH 0x000fc4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESL 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ BSR 0x000fe0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CON 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CONbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CON 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1H 0x000fbf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1L 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2H 0x000fbc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2L 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDREbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEADR 0x000fa9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1bits 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON2 0x000fa7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEDATA 0x000fa8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0H 0x000fea data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0L 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1H 0x000fe2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1L 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2H 0x000fda data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2L 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF0 0x000fef data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF1 0x000fe7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF2 0x000fdf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1bits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2bits 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3bits 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCONbits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1bits 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2bits 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATA 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATAbits 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATB 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATBbits 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATC 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATCbits 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATD 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATDbits 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATE 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATEbits 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCON 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCONbits 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCON 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCONbits 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PC 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCL 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATH 0x000ffa data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATU 0x000ffb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1bits 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2bits 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1bits 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2bits 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW0 0x000feb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW1 0x000fe3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW2 0x000fdb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTA 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTAbits 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTB 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTBbits 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTC 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTCbits 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTD 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTDbits 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTE 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTEbits 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC0 0x000fed data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC1 0x000fe5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC2 0x000fdd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC0 0x000fee data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC1 0x000fe6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC2 0x000fde data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PR2 0x000fcb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC0 0x000fec data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC1 0x000fe4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC2 0x000fdc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PROD 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODH 0x000ff4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODL 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCON 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCONbits 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCREG 0x000fae data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTA 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTAbits 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SIGN 0x00000e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ SPBRG 0x000faf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPADD 0x000fc8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPBUF 0x000fc9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1bits 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2bits 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTAT 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTATbits 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUS 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUSbits 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTR 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTRbits 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CON 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CONbits 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CON 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CONbits 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CON 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CONbits 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CON 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CONbits 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TABLAT 0x000ff5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTR 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRH 0x000ff7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRL 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRU 0x000ff8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0H 0x000fd7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0L 0x000fd6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1H 0x000fcf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1L 0x000fce data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR2 0x000fcc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3H 0x000fb3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3L 0x000fb2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOS 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSH 0x000ffe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSL 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSU 0x000fff data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISEbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXREG 0x000fad data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTA 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTAbits 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ W 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCON 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCONbits 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WREG 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ __AARGB0 0x000007 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB1 0x000006 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB2 0x000005 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB3 0x000004 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB4 0x000003 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB5 0x000002 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB6 0x000001 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB7 0x000000 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AEXP 0x000008 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __BARGB0 0x00000c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm
+ __BARGB1 0x00000b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm
+ __BARGB2 0x00000a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm
+ __BARGB3 0x000009 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm
+ __BEXP 0x00000d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm
+ __FPFLAGS 0x00000f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __FPFLAGSbits 0x00000f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __REMB0 0x000003 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __REMB1 0x000002 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __REMB2 0x000001 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __REMB3 0x000000 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __TEMP 0x000013 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\temparg.asm
+ __TEMPB0 0x000013 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\temparg.asm
+ __TEMPB1 0x000012 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\temparg.asm
+ __TEMPB2 0x000011 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\temparg.asm
+ __TEMPB3 0x000010 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\temparg.asm
+ __tmp_0 0x000014 data static C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ curr_byte 0x000083 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ curr_entry 0x000085 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ data_ptr 0x000087 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ dezena 0x00008e data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ frequencia 0x00008c data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ periodo 0x00008a data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ prom 0x000080 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ unidade 0x00008f data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+
+
+
+ Symbols - Sorted by Address
+ Name Address Location Storage File
+ --------- --------- --------- --------- ---------
+ _entry 0x000000 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ ___return_lbl00000 0x000004 program static
+ FLO1632U 0x000008 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cast16FP.asm
+ FLO1632S 0x00000c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cast16FP.asm
+ jI2F16Beg 0x00001c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cast16FP.asm
+ FPD32 0x000032 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ jANotInf 0x000050 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ jSignedZero 0x00005a program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ jANotZero 0x000064 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ jLoop 0x00008c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ jNoAdjust 0x0000b0 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ jNext 0x0000b2 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\divFP.asm
+ FPM32 0x0000d8 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\mulFP.asm
+ jANotInf 0x0000f6 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\mulFP.asm
+ jBothFinite 0x000104 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\mulFP.asm
+ jHaveZero 0x00010c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\mulFP.asm
+ jBothNotZero 0x000110 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\mulFP.asm
+ INT3216 0x0001b2 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jMax 0x0001c2 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jMaxPos 0x0001c6 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jMaxNeg 0x0001d0 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jZero 0x0001d8 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jNotInf 0x0001de program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jLoop 0x0001ee program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jLoopExit 0x0001fe program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ jExit 0x00020e program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\castFP16.asm
+ __FpReturnNaN 0x000210 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpExit 0x00021c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnSignInf 0x00021e program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnNegInf 0x000222 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnPosInf 0x000228 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ jReturnPosInf0 0x00022c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ jZero1and2 0x000230 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnSignZero 0x000236 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnNegZero 0x00023a program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnPosZero 0x000242 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpPack 0x000248 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ jPkLoop 0x000256 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ jPkShiftDone 0x000272 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ jPkRoundIt 0x000288 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ jPkRoundDone 0x0002a0 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpReturnW 0x0002a0 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\packFP.asm
+ __FpUnPackA 0x0002c0 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkA1 0x0002ca program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkANZ 0x0002d8 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkA2 0x0002e2 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkNaN 0x0002ec program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ __FpUnPackB 0x0002f0 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkB1 0x0002fa program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkBNZ 0x000308 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ jUnpkB2 0x000312 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\UnpackFP.asm
+ delay_100us 0x00031c program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ mede_periodo 0x000340 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ calcula_frequencia 0x000370 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ mostra_frequencia 0x0003fe program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ main 0x00046c program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ _do_cinit 0x00047c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ test 0x000496 program static
+ copy_loop 0x0004ee program static
+ copy_one_byte 0x0004f4 program static
+ done_copying 0x000502 program static
+ ___return_lbl00002 0x000518 program static
+ done 0x000518 program static
+ FXD1616U 0x00051a program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd1616u.c
+ loop 0x000524 program static
+ endloop 0x000540 program static
+ ___return_lbl00000 0x000544 program static
+ __zero_memory 0x000546 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ loop_h 0x000554 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ zero_block 0x000554 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ compare_l 0x00055c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ loop_l 0x00055e program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ _startup 0x000566 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ loop 0x000576 program static
+ ___return_lbl00001 0x000580 program static
+ __init 0x000582 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\__init.c
+ __REMB3 0x000000 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB7 0x000000 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __REMB2 0x000001 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB6 0x000001 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __REMB1 0x000002 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB5 0x000002 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __REMB0 0x000003 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB4 0x000003 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB3 0x000004 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB2 0x000005 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB1 0x000006 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AARGB0 0x000007 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __AEXP 0x000008 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm
+ __BARGB3 0x000009 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm
+ __BARGB2 0x00000a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm
+ __BARGB1 0x00000b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm
+ __BARGB0 0x00000c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm
+ __BEXP 0x00000d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm
+ SIGN 0x00000e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __FPFLAGS 0x00000f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __FPFLAGSbits 0x00000f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __TEMPB3 0x000010 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\temparg.asm
+ __TEMPB2 0x000011 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\temparg.asm
+ __TEMPB1 0x000012 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\temparg.asm
+ __TEMP 0x000013 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\temparg.asm
+ __TEMPB0 0x000013 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\temparg.asm
+ __tmp_0 0x000014 data static C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ prom 0x000080 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ curr_byte 0x000083 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ curr_entry 0x000085 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ data_ptr 0x000087 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ periodo 0x00008a data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ frequencia 0x00008c data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ dezena 0x00008e data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ unidade 0x00008f data extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c
+ PORTAbits 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTA 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTBbits 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTB 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTC 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTCbits 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTDbits 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTD 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTEbits 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTE 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATAbits 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATA 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATBbits 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATB 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATCbits 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATC 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATDbits 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATD 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATEbits 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATE 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISEbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDREbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1bits 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1bits 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1bits 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2bits 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2bits 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2bits 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1bits 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON2 0x000fa7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEDATA 0x000fa8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEADR 0x000fa9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTAbits 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTA 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTA 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTAbits 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXREG 0x000fad data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCREG 0x000fae data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SPBRG 0x000faf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CON 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CONbits 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3L 0x000fb2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3H 0x000fb3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CON 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2L 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2H 0x000fbc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CON 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CONbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1L 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1H 0x000fbf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1bits 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0bits 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESL 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRES 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESH 0x000fc4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2bits 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1bits 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTAT 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTATbits 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPADD 0x000fc8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPBUF 0x000fc9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CON 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CONbits 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PR2 0x000fcb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR2 0x000fcc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CON 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CONbits 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1L 0x000fce data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1H 0x000fcf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCONbits 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCON 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCON 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCONbits 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCON 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCONbits 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCONbits 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCON 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CON 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CONbits 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0L 0x000fd6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0H 0x000fd7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUSbits 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUS 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2L 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2H 0x000fda data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW2 0x000fdb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC2 0x000fdc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC2 0x000fdd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC2 0x000fde data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF2 0x000fdf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ BSR 0x000fe0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1L 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1H 0x000fe2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW1 0x000fe3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC1 0x000fe4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC1 0x000fe5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC1 0x000fe6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF1 0x000fe7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ W 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WREG 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0L 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0H 0x000fea data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW0 0x000feb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC0 0x000fec data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC0 0x000fed data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC0 0x000fee data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF0 0x000fef data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3bits 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2bits 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCONbits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1bits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODL 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PROD 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODH 0x000ff4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TABLAT 0x000ff5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRL 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTR 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRH 0x000ff7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRU 0x000ff8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PC 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCL 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATH 0x000ffa data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATU 0x000ffb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTRbits 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTR 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSL 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOS 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSH 0x000ffe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSU 0x000fff data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+
+
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.mcp b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.mcp
new file mode 100644
index 00000000..f45b68cb
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.mcp
@@ -0,0 +1,50 @@
+[HEADER]
+magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
+file_version=1.0
+device=PIC18F452
+[PATH_INFO]
+BuildDirPolicy=BuildDirIsProjectDir
+dir_src=
+dir_bin=
+dir_tmp=
+dir_sin=
+dir_inc=
+dir_lib=C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib
+dir_lkr=
+[CAT_FILTERS]
+filter_src=*.asm;*.c
+filter_inc=*.h;*.inc
+filter_obj=*.o
+filter_lib=*.lib
+filter_lkr=*.lkr
+[CAT_SUBFOLDERS]
+subfolder_src=
+subfolder_inc=
+subfolder_obj=
+subfolder_lib=
+subfolder_lkr=
+[FILE_SUBFOLDERS]
+file_000=.
+[GENERATED_FILES]
+file_000=no
+[OTHER_FILES]
+file_000=no
+[FILE_INFO]
+file_000=frequencia.c
+[SUITE_INFO]
+suite_guid={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+suite_state=
+[TOOL_SETTINGS]
+TS{DD2213A8-6310-47B1-8376-9430CDFC013F}=
+TS{BFD27FBA-4A02-4C0E-A5E5-B812F3E7707C}=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
+TS{C2AF05E7-1416-4625-923D-E114DB6E2B96}=-Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
+TS{ADE93A55-C7C7-4D4D-A4BA-59305F7D0391}=
+[INSTRUMENTED_TRACE]
+enable=0
+transport=0
+format=0
+[CUSTOM_BUILD]
+Pre-Build=
+Pre-BuildEnabled=1
+Post-Build=
+Post-BuildEnabled=1
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.mcs b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.mcs
new file mode 100644
index 00000000..bc1e0b39
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.mcs
@@ -0,0 +1,45 @@
+[Header]
+MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7}
+Version=1.0
+[File000]
+Location=C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.o
+Folder=Intermediary
+DeviceName=PIC18F452
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644}
+LanguageToolLocation=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mcc18.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)|C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib||$(LKRDIR)||
+SOLK=|frequencia.c||||||||
+SuiteArgsString=
+ToolArgsString=-Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
+TraceCmdString=
+DebugOptions=-D__DEBUG
+[File001]
+Location=C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\Q3.cof
+Folder=Output
+DeviceName=PIC18F452
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)|C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib||$(LKRDIR)||
+SOLK=|frequencia.c||||||||
+SuiteArgsString=
+ToolArgsString=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1
+[File002]
+Location=C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\Q3.hex
+Folder=Output
+DeviceName=PIC18F452
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)|C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib||$(LKRDIR)||
+SOLK=|frequencia.c||||||||
+SuiteArgsString=
+ToolArgsString=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1
+[TOOL_LOC_STAMPS]
+tool_loc{96C98149-AA1B-4CF9-B967-FAE79CAB663C}=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe
+tool_loc{E56A1C86-9D32-4DF6-8C34-FE0388B1B644}=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mcc18.exe
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.mcw b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.mcw
new file mode 100644
index 00000000..e212fb88
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/Q3.mcw differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/frequencia.c b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/frequencia.c
new file mode 100644
index 00000000..4069f643
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/frequencia.c
@@ -0,0 +1,69 @@
+#include
+
+#define sinal PORTDbits.RD0
+
+unsigned int periodo;
+unsigned int frequencia;
+unsigned char dezena;
+unsigned char unidade;
+
+void delay_100us (void)
+{
+ unsigned char i;
+ for (i=0;i<29;i++) {}
+ i=0;
+ i=0; //ajuste fino do delay
+
+}
+
+void mede_periodo (void)
+{
+ periodo = 0;
+ while (sinal){}
+ while (!sinal){}
+
+ while (sinal)
+ {
+ delay_100us ();
+ periodo ++;
+ }
+
+ while (!sinal)
+ {
+ delay_100us ();
+ periodo++;
+ }
+}
+
+void calcula_frequencia (void)
+{
+ frequencia = 1/(periodo*0.0001);
+}
+
+void mostra_frequencia (void)
+{
+ if(frequencia > 99 || frequencia<10) PORTC = 0xEE; // se maior do que 99 ou menor que 10 = ERRO
+
+ else
+ {
+ dezena = frequencia/10;
+ unidade = frequencia%10;
+ PORTC = dezena<<4|unidade; // 4 primeiros pertencem a dezena
+ }
+}
+
+main ()
+
+{
+ TRISDbits.RD0 = 1;
+ TRISC = 0b00000000;
+
+ delay_100us ();
+
+ while (1)
+ {
+ mede_periodo();
+ calcula_frequencia();
+ mostra_frequencia();
+ }
+}
\ No newline at end of file
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/frequencia.err b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/frequencia.err
new file mode 100644
index 00000000..0961c93d
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/frequencia.err
@@ -0,0 +1,2 @@
+Warning[2068] C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c 55 : obsolete use of implicit 'int' detected
+Warning[2103] C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q3\frequencia.c 55 : default startup code expects main function declared as 'void main (void)'
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/frequencia.o b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/frequencia.o
new file mode 100644
index 00000000..940e0648
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q3/frequencia.o differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Last Loaded Q4.DBK b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Last Loaded Q4.DBK
new file mode 100644
index 00000000..bd3369d3
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Last Loaded Q4.DBK differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.DSN b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.DSN
new file mode 100644
index 00000000..e1b8092c
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.DSN differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.PWI b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.PWI
new file mode 100644
index 00000000..b074181b
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.PWI differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.cof b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.cof
new file mode 100644
index 00000000..19216895
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.cof differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.hex b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.hex
new file mode 100644
index 00000000..d485f429
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.hex
@@ -0,0 +1,52 @@
+:020000040000FA
+:060000004EEF01F01200BA
+:020006000000F8
+:08000800D9CFE6FFE1CFD9FFDB
+:10001000020EE126DE6ADD6ADECF00F0DDCF01F000
+:100020006C0E005C000E015805E2DF2A010E01E3B0
+:10003000DB2AF2D7020EE15C02E2E16AE552E16EF0
+:10004000E552E7CFD9FF1200D9CFE6FFE1CFD9FFC4
+:10005000020EE126DE6ADD6ADECF00F0DDCF01F0C0
+:10006000350E005C000E015805E2DF2A010E01E3A7
+:10007000DB2AF2D7020EE15C02E2E16AE552E16EB0
+:10008000E552E7CFD9FF1200D9CFE6FFE1CFD9FF84
+:10009000040EE126010EDE6EDD6A020EDB6A030E3F
+:1000A000DB6A8280B1DF8290AFDF020EDB6A030E73
+:1000B000DB6AD950020FE96EDACFEAFF070ED8806B
+:1000C000EE54000EED541FE3FE0EDBCF02F0036A88
+:1000D00002BE0368DE500214006EDD500314016E90
+:1000E0000050E8B08280E8A082908EDFFE0EDB40F8
+:1000F0007F0BE76EFE0EE7CFDBFF020EDB2A030E5F
+:1001000001E3DB2AD6D782807FDF040EE15C02E2C6
+:10011000E16AE552E16EE552E7CFD9FF1200D9CF8F
+:10012000E6FFE1CFD9FF050EE126DF6ADE52010EC0
+:10013000DD6E020EDB6A68DF87DF82B2FED764DF26
+:10014000030EDB6A040EDB6A030EDBCF00F0040E45
+:10015000DBCF01F0D890015004E6070E005C000EE2
+:10016000015827E28250020B01E0010EF36E030EEC
+:10017000DB5004E0D890F336E806FCE1F350E76E7C
+:10018000020EE7CFDBFF010EDBCFE6FF020EDB50F6
+:10019000E552E714DF24DF6E010EDB50020D010E85
+:1001A000F3CFDBFF31DF030EDB2A040E01E3DB2A92
+:1001B000CBD7DF50006E050EE15C03E200D0E16AB0
+:1001C000E552E16E0050E552E7CFD9FF120094905E
+:0E01D0009482A5DFE66E58DFE552FBD71200E1
+:0201DE00060E0B
+:1001E000F66E000EF76E000EF86E00010900F55075
+:1001F000856F0900F550866F03E1856701D03DD01A
+:100200000900F550806F0900F550816F0900F55025
+:10021000826F09000900F550E96E0900F550EA6E99
+:10022000090009000900F550836F0900F550846F3B
+:1002300009000900F6CF87F0F7CF88F0F8CF89F0F2
+:1002400080C0F6FF81C0F7FF82C0F8FF0001835332
+:1002500002E1845307E00900F550EE6E8307F8E2EF
+:100260008407F9D787C0F6FF88C0F7FF89C0F8FF79
+:0C02700000018507000E865BBFD712005E
+:04027C00000EF36E0F
+:1002800000EE00F0060E01D81200EA6002D0EE6A1D
+:0C029000FCD7F350E9601200EE6AFCD7C6
+:04029C0015EE00F06B
+:1002A00025EE00F0F86A059CEFEC00F05CEC01F044
+:0802B000E7EC00F0FBD712009F
+:0202B800120032
+:00000001FF
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.map b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.map
new file mode 100644
index 00000000..a26ed50b
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.map
@@ -0,0 +1,450 @@
+MPLINK 5.00, LINKER
+Linker Map File - Created Tue Oct 12 16:07:27 2021
+
+ Section Info
+ Section Type Address Location Size(Bytes)
+ --------- --------- --------- --------- ---------
+ _entry_scn code 0x000000 program 0x000006
+ .cinit romdata 0x000006 program 0x000002
+ .code_UARP.o code 0x000008 program 0x0001d6
+ _cinit_scn code 0x0001de program 0x00009e
+ .code code 0x00027c program 0x000020
+ _startup_scn code 0x00029c program 0x00001c
+ .code___init.o code 0x0002b8 program 0x000002
+ .idata_c018i.o_i romdata 0x0002ba program 0x000000
+ .romdata_c018i.o romdata 0x0002ba program 0x000000
+ .code_c018i.o code 0x0002ba program 0x000000
+ .idata_UARP.o_i romdata 0x0002ba program 0x000000
+ .romdata_UARP.o romdata 0x0002ba program 0x000000
+ .idata___init.o_i romdata 0x0002ba program 0x000000
+ .romdata___init.o romdata 0x0002ba program 0x000000
+ .tmpdata udata 0x000000 data 0x000004
+ MATH_DATA udata 0x000004 data 0x000002
+ .udata_c018i.o udata 0x000080 data 0x00000a
+ .idata_c018i.o idata 0x00008a data 0x000000
+ .udata_UARP.o udata 0x00008a data 0x000000
+ .idata_UARP.o idata 0x00008a data 0x000000
+ .udata___init.o udata 0x00008a data 0x000000
+ .idata___init.o idata 0x00008a data 0x000000
+ .stack udata 0x000500 data 0x000100
+ SFR_UNBANKED0 udata 0x000f80 data 0x000080
+
+
+
+ Program Memory Usage
+ Start End
+ --------- ---------
+ 0x000000 0x0002b9
+ 698 out of 33048 program addresses used, program memory utilization is 2%
+
+
+
+ Symbols - Sorted by Name
+ Name Address Location Storage File
+ --------- --------- --------- --------- ---------
+ ___return_lbl00000 0x000004 program static
+ ___return_lbl00001 0x0002b6 program static
+ ___return_lbl00002 0x00027a program static
+ __init 0x0002b8 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\__init.c
+ __zero_memory 0x00027c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ _do_cinit 0x0001de program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ _entry 0x000000 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ _startup 0x00029c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ compare_l 0x000292 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ copy_loop 0x000250 program static
+ copy_one_byte 0x000256 program static
+ delay_1200bps 0x000008 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c
+ delay_meiobit 0x000048 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c
+ done 0x00027a program static
+ done_copying 0x000264 program static
+ loop 0x0002ac program static
+ loop_h 0x00028a program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ loop_l 0x000294 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ main 0x0001ce program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c
+ recebe_serial 0x00011e program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c
+ test 0x0001f8 program static
+ transmite_serial 0x000088 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c
+ zero_block 0x00028a program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0bits 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1bits 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRES 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESH 0x000fc4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESL 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ BSR 0x000fe0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CON 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CONbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CON 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1H 0x000fbf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1L 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2H 0x000fbc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2L 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDREbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEADR 0x000fa9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1bits 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON2 0x000fa7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEDATA 0x000fa8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0H 0x000fea data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0L 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1H 0x000fe2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1L 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2H 0x000fda data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2L 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF0 0x000fef data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF1 0x000fe7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF2 0x000fdf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1bits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2bits 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3bits 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCONbits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1bits 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2bits 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATA 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATAbits 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATB 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATBbits 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATC 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATCbits 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATD 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATDbits 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATE 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATEbits 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCON 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCONbits 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCON 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCONbits 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PC 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCL 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATH 0x000ffa data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATU 0x000ffb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1bits 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2bits 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1bits 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2bits 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW0 0x000feb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW1 0x000fe3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW2 0x000fdb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTA 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTAbits 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTB 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTBbits 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTC 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTCbits 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTD 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTDbits 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTE 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTEbits 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC0 0x000fed data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC1 0x000fe5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC2 0x000fdd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC0 0x000fee data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC1 0x000fe6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC2 0x000fde data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PR2 0x000fcb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC0 0x000fec data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC1 0x000fe4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC2 0x000fdc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PROD 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODH 0x000ff4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODL 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCON 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCONbits 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCREG 0x000fae data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTA 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTAbits 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SIGN 0x000004 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ SPBRG 0x000faf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPADD 0x000fc8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPBUF 0x000fc9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1bits 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2bits 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTAT 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTATbits 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUS 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUSbits 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTR 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTRbits 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CON 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CONbits 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CON 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CONbits 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CON 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CONbits 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CON 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CONbits 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TABLAT 0x000ff5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTR 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRH 0x000ff7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRL 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRU 0x000ff8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0H 0x000fd7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0L 0x000fd6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1H 0x000fcf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1L 0x000fce data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR2 0x000fcc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3H 0x000fb3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3L 0x000fb2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOS 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSH 0x000ffe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSL 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSU 0x000fff data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISEbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXREG 0x000fad data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTA 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTAbits 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ W 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCON 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCONbits 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WREG 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ __FPFLAGS 0x000005 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __FPFLAGSbits 0x000005 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __tmp_0 0x000000 data static C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c
+ curr_byte 0x000083 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ curr_entry 0x000085 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ data_ptr 0x000087 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ prom 0x000080 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+
+
+
+ Symbols - Sorted by Address
+ Name Address Location Storage File
+ --------- --------- --------- --------- ---------
+ _entry 0x000000 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ ___return_lbl00000 0x000004 program static
+ delay_1200bps 0x000008 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c
+ delay_meiobit 0x000048 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c
+ transmite_serial 0x000088 program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c
+ recebe_serial 0x00011e program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c
+ main 0x0001ce program extern C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c
+ _do_cinit 0x0001de program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ test 0x0001f8 program static
+ copy_loop 0x000250 program static
+ copy_one_byte 0x000256 program static
+ done_copying 0x000264 program static
+ ___return_lbl00002 0x00027a program static
+ done 0x00027a program static
+ __zero_memory 0x00027c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ zero_block 0x00028a program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ loop_h 0x00028a program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ compare_l 0x000292 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ loop_l 0x000294 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ _startup 0x00029c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ loop 0x0002ac program static
+ ___return_lbl00001 0x0002b6 program static
+ __init 0x0002b8 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\__init.c
+ __tmp_0 0x000000 data static C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c
+ SIGN 0x000004 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __FPFLAGSbits 0x000005 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ __FPFLAGS 0x000005 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm
+ prom 0x000080 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ curr_byte 0x000083 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ curr_entry 0x000085 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ data_ptr 0x000087 data static E:\3.46\pic18-lt\cxx-framework\src\traditional\startup\c018i.c
+ PORTAbits 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTA 0x000f80 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTBbits 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTB 0x000f81 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTC 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTCbits 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTD 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTDbits 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTE 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PORTEbits 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATAbits 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATA 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATBbits 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATB 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATCbits 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATC 0x000f8b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATDbits 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATD 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATE 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LATEbits 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDRE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ DDREbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TRISEbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE1bits 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1bits 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR1 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR1bits 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2bits 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIE2 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2bits 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PIR2 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2bits 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ IPR2 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1bits 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON1 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EECON2 0x000fa7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEDATA 0x000fa8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ EEADR 0x000fa9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTA 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCSTAbits 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTA 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXSTAbits 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TXREG 0x000fad data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCREG 0x000fae data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SPBRG 0x000faf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CON 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T3CONbits 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3L 0x000fb2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR3H 0x000fb3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CON 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP2CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2L 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR2H 0x000fbc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CON 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCP1CONbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1L 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ CCPR1H 0x000fbf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON1bits 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADCON0bits 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRES 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESL 0x000fc3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ ADRESH 0x000fc4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON2bits 0x000fc5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPCON1bits 0x000fc6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTAT 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPSTATbits 0x000fc7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPADD 0x000fc8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ SSPBUF 0x000fc9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CONbits 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T2CON 0x000fca data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PR2 0x000fcb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR2 0x000fcc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CON 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T1CONbits 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1L 0x000fce data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR1H 0x000fcf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCON 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ RCONbits 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCONbits 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WDTCON 0x000fd1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCON 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ LVDCONbits 0x000fd2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCONbits 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ OSCCON 0x000fd3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CON 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ T0CONbits 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0L 0x000fd6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TMR0H 0x000fd7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUS 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STATUSbits 0x000fd8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2L 0x000fd9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR2H 0x000fda data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW2 0x000fdb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC2 0x000fdc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC2 0x000fdd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC2 0x000fde data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF2 0x000fdf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ BSR 0x000fe0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1L 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1 0x000fe1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR1H 0x000fe2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW1 0x000fe3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC1 0x000fe4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC1 0x000fe5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC1 0x000fe6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF1 0x000fe7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ W 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ WREG 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0L 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0 0x000fe9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ FSR0H 0x000fea data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PLUSW0 0x000feb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PREINC0 0x000fec data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTDEC0 0x000fed data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ POSTINC0 0x000fee data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INDF0 0x000fef data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON3bits 0x000ff0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON2bits 0x000ff1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1bits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCONbits 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON1 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ INTCON 0x000ff2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PROD 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODL 0x000ff3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PRODH 0x000ff4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TABLAT 0x000ff5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRL 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTR 0x000ff6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRH 0x000ff7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TBLPTRU 0x000ff8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PC 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCL 0x000ff9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATH 0x000ffa data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ PCLATU 0x000ffb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTRbits 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ STKPTR 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSL 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOS 0x000ffd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSH 0x000ffe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+ TOSU 0x000fff data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f452.asm
+
+
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.mcp b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.mcp
new file mode 100644
index 00000000..bd03044a
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.mcp
@@ -0,0 +1,50 @@
+[HEADER]
+magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
+file_version=1.0
+device=PIC18F452
+[PATH_INFO]
+BuildDirPolicy=BuildDirIsProjectDir
+dir_src=
+dir_bin=
+dir_tmp=
+dir_sin=
+dir_inc=
+dir_lib=C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib
+dir_lkr=
+[CAT_FILTERS]
+filter_src=*.asm;*.c
+filter_inc=*.h;*.inc
+filter_obj=*.o
+filter_lib=*.lib
+filter_lkr=*.lkr
+[CAT_SUBFOLDERS]
+subfolder_src=
+subfolder_inc=
+subfolder_obj=
+subfolder_lib=
+subfolder_lkr=
+[FILE_SUBFOLDERS]
+file_000=.
+[GENERATED_FILES]
+file_000=no
+[OTHER_FILES]
+file_000=no
+[FILE_INFO]
+file_000=UARP.c
+[SUITE_INFO]
+suite_guid={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+suite_state=
+[TOOL_SETTINGS]
+TS{DD2213A8-6310-47B1-8376-9430CDFC013F}=
+TS{BFD27FBA-4A02-4C0E-A5E5-B812F3E7707C}=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
+TS{C2AF05E7-1416-4625-923D-E114DB6E2B96}=-Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
+TS{ADE93A55-C7C7-4D4D-A4BA-59305F7D0391}=
+[INSTRUMENTED_TRACE]
+enable=0
+transport=0
+format=0
+[CUSTOM_BUILD]
+Pre-Build=
+Pre-BuildEnabled=1
+Post-Build=
+Post-BuildEnabled=1
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.mcs b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.mcs
new file mode 100644
index 00000000..893a8668
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.mcs
@@ -0,0 +1,45 @@
+[Header]
+MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7}
+Version=1.0
+[File000]
+Location=C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.o
+Folder=Intermediary
+DeviceName=PIC18F452
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644}
+LanguageToolLocation=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mcc18.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)|C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib||$(LKRDIR)||
+SOLK=|UARP.c||||||||
+SuiteArgsString=
+ToolArgsString=-Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
+TraceCmdString=
+DebugOptions=-D__DEBUG
+[File001]
+Location=C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\Q4.cof
+Folder=Output
+DeviceName=PIC18F452
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)|C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib||$(LKRDIR)||
+SOLK=|UARP.c||||||||
+SuiteArgsString=
+ToolArgsString=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1
+[File002]
+Location=C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\Q4.hex
+Folder=Output
+DeviceName=PIC18F452
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)||$(LIBDIR)|C:\Program Files (x86)\Microchip\mplabc18\v3.47\lib||$(LKRDIR)||
+SOLK=|UARP.c||||||||
+SuiteArgsString=
+ToolArgsString=/o"$(BINDIR_)$(TARGETBASE).cof" /M"$(BINDIR_)$(TARGETBASE).map" /W
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1
+[TOOL_LOC_STAMPS]
+tool_loc{96C98149-AA1B-4CF9-B967-FAE79CAB663C}=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe
+tool_loc{E56A1C86-9D32-4DF6-8C34-FE0388B1B644}=C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mcc18.exe
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.mcw b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.mcw
new file mode 100644
index 00000000..56b7f190
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/Q4.mcw differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/UARP.c b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/UARP.c
new file mode 100644
index 00000000..9eda23b4
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/UARP.c
@@ -0,0 +1,75 @@
+#include
+
+#define tx PORTCbits.RC0
+#define rx PORTCbits.RC1
+
+void delay_1200bps (void)
+{
+ unsigned int i;
+ for(i=0;i<108;i++) {}
+}
+
+void delay_meiobit (void)
+{
+ unsigned int i;
+ for(i=0;i<53;i++) {}
+}
+
+
+void transmite_serial (char dado)
+{
+ int mascara = 0x01;
+ unsigned int i=0;
+
+ tx = 1;
+ delay_1200bps (); //repouso
+ tx = 0;
+ delay_1200bps (); //start
+
+ for (i = 0;i <=7;i++)
+ {
+ tx = (dado & mascara) ;
+ delay_1200bps ();
+ dado = dado >>1;
+ }
+
+ tx = 1;
+ delay_1200bps();
+}
+
+char recebe_serial (void)
+{
+ char dado = 0x00;
+ char mascara = 0x01;
+ char estado_de_rx = 0x00;
+ int i;
+
+ delay_1200bps();
+ delay_meiobit();
+
+ while(rx);
+
+ delay_1200bps();
+
+ for(i = 0; i < 7; i++)
+ {
+ estado_de_rx = rx< saida
+ TRISCbits.RC1 = 1; //rx -> entrada
+
+
+ while(1)
+ {
+ transmite_serial(recebe_serial());
+ }
+}
\ No newline at end of file
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/UARP.err b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/UARP.err
new file mode 100644
index 00000000..019e8851
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/UARP.err
@@ -0,0 +1,2 @@
+Warning[2068] C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c 65 : obsolete use of implicit 'int' detected
+Warning[2103] C:\Users\megat\OneDrive\Documents\Programas\Proteus\Lista 2 MCMP\Q4\UARP.c 65 : default startup code expects main function declared as 'void main (void)'
diff --git a/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/UARP.o b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/UARP.o
new file mode 100644
index 00000000..dd3064ad
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Atividades PIC18F4520 - 2021.2/Q4/UARP.o differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Data Sheet PIC18F4550.pdf b/S04 - Microcontroladores e Microprocessadores/Data Sheet PIC18F4550.pdf
new file mode 100644
index 00000000..e1959157
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Data Sheet PIC18F4550.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Embarcados/C18 User's Guide.pdf b/S04 - Microcontroladores e Microprocessadores/Embarcados/C18 User's Guide.pdf
new file mode 100644
index 00000000..728dcecb
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Embarcados/C18 User's Guide.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Embarcados/MPLAB.pdf b/S04 - Microcontroladores e Microprocessadores/Embarcados/MPLAB.pdf
new file mode 100644
index 00000000..a2cea4ec
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Embarcados/MPLAB.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/Embarcados/PIC18.pdf b/S04 - Microcontroladores e Microprocessadores/Embarcados/PIC18.pdf
new file mode 100644
index 00000000..8a44a374
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/Embarcados/PIC18.pdf differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Manuais das Placas de Grava\303\247\303\243o/manual ICD2-BR-2009.fev_rev._11.pdf" "b/S04 - Microcontroladores e Microprocessadores/Manuais das Placas de Grava\303\247\303\243o/manual ICD2-BR-2009.fev_rev._11.pdf"
new file mode 100644
index 00000000..f2f0f128
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Manuais das Placas de Grava\303\247\303\243o/manual ICD2-BR-2009.fev_rev._11.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Manuais das Placas de Grava\303\247\303\243o/manual_microicd.pdf" "b/S04 - Microcontroladores e Microprocessadores/Manuais das Placas de Grava\303\247\303\243o/manual_microicd.pdf"
new file mode 100644
index 00000000..29801254
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Manuais das Placas de Grava\303\247\303\243o/manual_microicd.pdf" differ
diff --git a/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Esquemas/NEO201_REVE.pdf b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Esquemas/NEO201_REVE.pdf
new file mode 100644
index 00000000..dbfff30b
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Esquemas/NEO201_REVE.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Esquemas/XICD.pdf b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Esquemas/XICD.pdf
new file mode 100644
index 00000000..19d5fc0d
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Esquemas/XICD.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manuais/XM000MD05.01.01.RevC.pdf b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manuais/XM000MD05.01.01.RevC.pdf
new file mode 100644
index 00000000..121a70e7
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manuais/XM000MD05.01.01.RevC.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/XM111PD00.00.01.RevD.pdf b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/XM111PD00.00.01.RevD.pdf
new file mode 100644
index 00000000..af1a8ddf
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/XM111PD00.00.01.RevD.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/kit/18F4520.pdf b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/kit/18F4520.pdf
new file mode 100644
index 00000000..cb623a1a
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/kit/18F4520.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/kit/18F4550.pdf b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/kit/18F4550.pdf
new file mode 100644
index 00000000..4710d53f
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/kit/18F4550.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/kit/Display Grafico - HDM64GS12 App Note.pdf b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/kit/Display Grafico - HDM64GS12 App Note.pdf
new file mode 100644
index 00000000..e6d7e2d2
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/kit/Display Grafico - HDM64GS12 App Note.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/kit/Display Grafico - HDM64GS12 PRODUCT SPECIFICATION.pdf b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/kit/Display Grafico - HDM64GS12 PRODUCT SPECIFICATION.pdf
new file mode 100644
index 00000000..af164051
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/MicroPlaca/Manual/kit/Display Grafico - HDM64GS12 PRODUCT SPECIFICATION.pdf differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 01 - Informa\303\247\303\265es Gerais.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 01 - Informa\303\247\303\265es Gerais.pdf"
new file mode 100644
index 00000000..71f2699c
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 01 - Informa\303\247\303\265es Gerais.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 02 - Introdu\303\247\303\243o aos Microcontroladores.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 02 - Introdu\303\247\303\243o aos Microcontroladores.pdf"
new file mode 100644
index 00000000..9823bcc9
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 02 - Introdu\303\247\303\243o aos Microcontroladores.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 03 - Arquitetura PIC18 (18F4520 - Uma Vis\303\243o Geral) - Parte I.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 03 - Arquitetura PIC18 (18F4520 - Uma Vis\303\243o Geral) - Parte I.pdf"
new file mode 100644
index 00000000..51bb6d8d
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 03 - Arquitetura PIC18 (18F4520 - Uma Vis\303\243o Geral) - Parte I.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 04 - Ambientes de Programa\303\247\303\243o (IDE - Compilador - Simulador - Gravador).pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 04 - Ambientes de Programa\303\247\303\243o (IDE - Compilador - Simulador - Gravador).pdf"
new file mode 100644
index 00000000..fffb202b
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 04 - Ambientes de Programa\303\247\303\243o (IDE - Compilador - Simulador - Gravador).pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 05 - Arquitetura PIC18 (18F4520 - Uma Vis\303\243o Geral) - Parte II.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 05 - Arquitetura PIC18 (18F4520 - Uma Vis\303\243o Geral) - Parte II.pdf"
new file mode 100644
index 00000000..7968ce48
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 05 - Arquitetura PIC18 (18F4520 - Uma Vis\303\243o Geral) - Parte II.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 06 - Kit de Desenvolvimento PIC18F (RF_Explorer).pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 06 - Kit de Desenvolvimento PIC18F (RF_Explorer).pdf"
new file mode 100644
index 00000000..e5bbe702
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 06 - Kit de Desenvolvimento PIC18F (RF_Explorer).pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 08 - Portas de Entrada e Sa\303\255da (bot\303\243o, led e display de 7 seg) - Parte I.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 08 - Portas de Entrada e Sa\303\255da (bot\303\243o, led e display de 7 seg) - Parte I.pdf"
new file mode 100644
index 00000000..47ca139f
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 08 - Portas de Entrada e Sa\303\255da (bot\303\243o, led e display de 7 seg) - Parte I.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 10 - Portas de Entrada e Sa\303\255da (Teclado e Display Multiplexado) - Parte II.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 10 - Portas de Entrada e Sa\303\255da (Teclado e Display Multiplexado) - Parte II.pdf"
new file mode 100644
index 00000000..47e22cb4
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 10 - Portas de Entrada e Sa\303\255da (Teclado e Display Multiplexado) - Parte II.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 11 - Portas de Entrada e Sa\303\255da (Displays Multiplexados) - Parte III.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 11 - Portas de Entrada e Sa\303\255da (Displays Multiplexados) - Parte III.pdf"
new file mode 100644
index 00000000..832ab874
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 11 - Portas de Entrada e Sa\303\255da (Displays Multiplexados) - Parte III.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 12 - Portas de Entrada e Sa\303\255da (Display LCD) - Parte IV.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 12 - Portas de Entrada e Sa\303\255da (Display LCD) - Parte IV.pdf"
new file mode 100644
index 00000000..b8bc0cb1
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 12 - Portas de Entrada e Sa\303\255da (Display LCD) - Parte IV.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 13 - M\303\263dulos de Suporte \303\240 CPU.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 13 - M\303\263dulos de Suporte \303\240 CPU.pdf"
new file mode 100644
index 00000000..6adb02f3
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 13 - M\303\263dulos de Suporte \303\240 CPU.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 14 - Interrup\303\247\303\265es.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 14 - Interrup\303\247\303\265es.pdf"
new file mode 100644
index 00000000..4b96760a
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 14 - Interrup\303\247\303\265es.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 15 - Timers.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 15 - Timers.pdf"
new file mode 100644
index 00000000..229eb2a7
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 15 - Timers.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 16 - Perif\303\251ricos Anal\303\263gicos.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 16 - Perif\303\251ricos Anal\303\263gicos.pdf"
new file mode 100644
index 00000000..3daf5181
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 16 - Perif\303\251ricos Anal\303\263gicos.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 17 - Perif\303\251ricos de Comunica\303\247\303\243o.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 17 - Perif\303\251ricos de Comunica\303\247\303\243o.pdf"
new file mode 100644
index 00000000..2dc373e1
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 17 - Perif\303\251ricos de Comunica\303\247\303\243o.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 18 - Modula\303\247\303\243o PWM.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 18 - Modula\303\247\303\243o PWM.pdf"
new file mode 100644
index 00000000..67a1da1a
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 18 - Modula\303\247\303\243o PWM.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 19 - EEPROM e Flash.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 19 - EEPROM e Flash.pdf"
new file mode 100644
index 00000000..3f856312
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 19 - EEPROM e Flash.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 20 - Fun\303\247\303\265es do Compilador.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 20 - Fun\303\247\303\265es do Compilador.pdf"
new file mode 100644
index 00000000..40dfaff0
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 20 - Fun\303\247\303\265es do Compilador.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.c" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.c"
new file mode 100644
index 00000000..73895411
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.c"
@@ -0,0 +1,190 @@
+#include
+#include
+#include "pic_simb.h"
+#include "meu_lcd16x2.c"
+
+#pragma config OSC = XT, WDT = OFF, MCLRE = ON
+#pragma config DEBUG = ON, LVP = OFF, PWRT = ON, BOREN = OFF
+
+#define S1 PORTBbits.RB0
+#define S2 PORTBbits.RB1
+#define L3 LATBbits.LATB2
+#define L4 LATBbits.LATB3
+
+#define TX_BUF_SIZE 32 // Buffer de transmisso = 32 caracteres
+#define RX_BUF_SIZE 32 // Buffer de recepo = 32 caracteres
+
+volatile char txbuffer[TX_BUF_SIZE], rxbuffer[RX_BUF_SIZE];
+volatile char tx_buf_read_pointer, tx_buf_write_pointer;
+volatile char rx_buf_read_pointer, rx_buf_write_pointer;
+struct
+{
+ char rx_flag : 1; // h caracteres no buffer de recepo
+ char tx_buf_empty : 1; // buffer de transmisso vazio
+} flags;
+
+unsigned char str[6];
+
+/*
+ Funo de tratamento da interrupo de recepo da EUSART
+ Os caracteres recebidos so armazenados no buffer de recepo
+*/
+#pragma interrupt RX_ISR
+void RX_ISR(void)
+{
+ char temp;
+ temp = RCSTA; // l RCSTA para verificar se houve erro
+ if (temp & 0x06) // algum erro de recepo?
+ { // sim, le o dado e o descarta
+ RCSTAbits.CREN = 0; // desabilita recepo e apaga o erro
+ RCSTAbits.CREN = 1; // reabilita a recepo
+ return;
+ }
+ // L e armazena o caractere recebido, incrementa o ponteiro de escrita de leitura
+ rxbuffer[rx_buf_write_pointer++] = RCREG;
+ if (rx_buf_write_pointer>=RX_BUF_SIZE) rx_buf_write_pointer = 0;
+ flags.rx_flag = 1; // seta o flag de recepo (h dados no buffer)
+}
+
+/*
+ Funo de tratamento da interrupo de transmisso da EUSART
+ L os caracteres do buffer de transmisso e os envia pela EUSART
+ Se no houver caracteres a ser transmitidos, desabilita a interrupo de transmisso
+*/
+#pragma interrupt TX_ISR
+void TX_ISR(void)
+{
+ if (tx_buf_read_pointer==tx_buf_write_pointer)
+ {
+ // se os ponteiros de leitura e de escrita forem iguais, no h mais dados a serem
+ // transmitidos, desabilita a interrupo de transmisso e seta o flag de buffer vazio
+ PIE1bits.TXIE = 0; // desabilita a interrupo de transmisso
+ flags.tx_buf_empty = 1; // buffer de transmisso est vazio
+ } else
+ {
+ if (PIR1bits.TXIF)
+ {
+ // se houver algum dado no buffer, envia o prximo caractere e avana
+ // o ponteiro de leitura do buffer
+ TXREG = txbuffer[tx_buf_read_pointer++];
+ // se o ponteiro ultrapassar o final do buffer, volta para o incio
+ if (tx_buf_read_pointer>=TX_BUF_SIZE) tx_buf_read_pointer = 0;
+ }
+ }
+}
+
+#pragma code isr_baixa = 0x0008
+void ISR_baixa_prioridade(void)
+{
+ if (PIR1bits.RCIF) _asm BRA RX_ISR _endasm
+ if (PIR1bits.TXIF) _asm BRA TX_ISR _endasm
+}
+#pragma code
+
+// Funo para escrever um caractere no buffer de transmisso
+void EUSART_escreve_char_buffer(unsigned char data)
+{
+ while (tx_buf_write_pointer==tx_buf_read_pointer && !flags.tx_buf_empty);
+ flags.tx_buf_empty = 0; // o buffer de transmisso no est mais vazio
+ // escreve o dado no buffer e incrementa o ponteiro de escrita
+ txbuffer[tx_buf_write_pointer++] = data;
+ // se o ponteiro ultrapassar o final do buffer, volta para o incio
+ if (tx_buf_write_pointer>=TX_BUF_SIZE) tx_buf_write_pointer = 0;
+ PIE1bits.TXIE = 1; // habilita a interrupo de transmisso
+}
+
+// Funo para escrever uma string no buffer de transmisso
+void EUSART_escreve_string_buffer(unsigned char *data)
+{
+ while (*data) EUSART_escreve_char_buffer(*data++);
+}
+
+// Funo para escrever uma string no buffer de transmisso
+void EUSART_escreve_string_buffer_rom(rom unsigned char *data)
+{
+ while (*data) EUSART_escreve_char_buffer(*data++);
+}
+
+// Funo para leitura de um caractere do buffer de recepo
+char EUSART_le_caractere_buffer(void)
+{
+ char temp;
+ temp = rxbuffer[rx_buf_read_pointer++];
+ // se o ponteiro ultrapassar o final do buffer, volta para o incio
+ if (rx_buf_read_pointer>=RX_BUF_SIZE) rx_buf_read_pointer = 0;
+ // se os ponteiros de leitura e de escrita forem iguais, apaga o flag de recepo
+ PIE1bits.RCIE = 0; // desabilita a interrupo de recepo
+ if (rx_buf_read_pointer==rx_buf_write_pointer) flags.rx_flag = 0;
+ PIE1bits.RCIE = 1; // reabibilita a interrupo de recepo
+ return (temp); // retorna o caractere lido do buffer
+}
+
+void MCU_init(void)
+{
+ LATA = LATB = LATD = 0;
+ TRISA = 0x02; // pino 2 da porta A como entrada
+ TRISB = 0x03; // RB0 e RB1 como entradas, RB2 a RB7 como sadas
+ TRISC = 0x81; // RC7 e RC0 como entradas
+ TRISD = 0; // RD0 a RD7 como sadas
+ CMCON = 0x07; // desliga pinos analgicos do comparador
+ ADCON1 = 0x0F; // Desliga entradas analgicas do ADC
+ TXSTA = bTXEN | bBRGH; // TXSTA = 0x24 -> TXEN=1 e BRGH=1
+ RCSTA = bSPEN | bCREN; // RCSTA = 0x80 -> SPEN=1 e CREN=1
+ SPBRG = 25; // configura a velocidade da EUSART (9600bps para Fosc = 4MHz)
+ PIE1 = bRCIE | bTXIE; // habilita as interrupes de transmisso e recepo
+ INTCON = bGIE | bPEIE;
+ LCD_init(DISPLAY_8X5|_2_LINES,DISPLAY_ON|CURSOR_OFF|CURSOR_NOBLINK);
+ LCD_write_char('\f'); // apaga o display
+ flags.tx_buf_empty = 1; // buffer de transmisso inicialmente vazio
+}
+
+void imprime_menu(void)
+{
+ EUSART_escreve_string_buffer_rom("PIC18 Detalhado\r\n");
+ EUSART_escreve_string_buffer_rom("Teste da EUSART com buffer\r\n");
+ EUSART_escreve_string_buffer_rom("Pressione:\r\n");
+ EUSART_escreve_string_buffer_rom("1- Ligar led L3\r\n");
+ EUSART_escreve_string_buffer_rom("2- Desligar led L3\r\n");
+ EUSART_escreve_string_buffer_rom("3- Ligar led L4\r\n");
+ EUSART_escreve_string_buffer_rom("4- Desligar led L4\r\n");
+ EUSART_escreve_string_buffer_rom("5- Limpar LCD\r\n");
+ EUSART_escreve_string_buffer_rom("6- Imprimir menu\r\n");
+}
+
+char le_teclas(void)
+{
+ static char ultima_tecla;
+ char tecla=0;
+ if (!S1) tecla = 1;
+ if (!S2) tecla = 2;
+ if (ultima_tecla==tecla) return 0;
+ ultima_tecla = tecla;
+ return tecla;
+}
+
+void main(void)
+{
+ char aux;
+ MCU_init();
+ imprime_menu();
+ while(1)
+ {
+ if (flags.rx_flag)
+ {
+ aux = EUSART_le_caractere_buffer();
+ switch (aux)
+ {
+ case '1' : L3 = 1; break;
+ case '2' : L3 = 0; break;
+ case '3' : L4 = 1; break;
+ case '4' : L4 = 0; break;
+ case '5' : LCD_write_char('\f'); break;
+ case '6' : imprime_menu(); break;
+ default: LCD_write_char(aux); break;
+ }
+ }
+ aux = le_teclas();
+ if (aux==1) EUSART_escreve_string_buffer_rom("Tecla S1\r\n");
+ if (aux==2) EUSART_escreve_string_buffer_rom("Tecla S2\r\n");
+ }
+}
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.cof" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.cof"
new file mode 100644
index 00000000..e536eeae
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.cof" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.err" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.err"
new file mode 100644
index 00000000..c9247b36
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.err"
@@ -0,0 +1,11 @@
+Warning[2066] C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c 143 : type qualifier mismatch in assignment
+Warning[2066] C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c 144 : type qualifier mismatch in assignment
+Warning[2066] C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c 145 : type qualifier mismatch in assignment
+Warning[2066] C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c 146 : type qualifier mismatch in assignment
+Warning[2066] C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c 147 : type qualifier mismatch in assignment
+Warning[2066] C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c 148 : type qualifier mismatch in assignment
+Warning[2066] C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c 149 : type qualifier mismatch in assignment
+Warning[2066] C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c 150 : type qualifier mismatch in assignment
+Warning[2066] C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c 151 : type qualifier mismatch in assignment
+Warning[2066] C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c 187 : type qualifier mismatch in assignment
+Warning[2066] C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c 188 : type qualifier mismatch in assignment
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.hex" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.hex"
new file mode 100644
index 00000000..1a81a60c
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.hex"
@@ -0,0 +1,132 @@
+:020000040000FA
+:0600000086EF03F0120080
+:020006000000F8
+:080008009EBA3AD19EB869D1FD
+:020010001200DC
+:0E001200D9CFE6FFE1CFD9FFE652FE0EDB505C
+:1000200009E0C80EDF6EDF5002E0DF06FCD7FE0EEF
+:10003000DB06F4D7E552E552E7CFD9FF1200D9CF5E
+:10004000E6FFE1CFD9FFE652FE0EDB50E8B08D802F
+:10005000E8A08D90FD0EDB508C6E8D82640EDF6EFD
+:10006000DF5002E0DF06FCD78D92640EDF6EDF50BA
+:1000700002E0DF06FCD7E552E552E7CFD9FF1200D8
+:10008000D9CFE6FFE1CFD9FFE652956A96909692D6
+:100090008C6A8D908D92320EE66EBBDFE552DF6A80
+:1000A000030EDF5C0CE2300EE66EE66AC8DFE55256
+:1000B000E552050EE66EADDFE552DF2AF1D7FE0E02
+:1000C000DB503009E66EE66ABADFE552E552080E0B
+:1000D000E66EE66AB4DFE552E552010EE66EE66AC8
+:1000E000AEDFE552E552060EE66EE66AA8DFE5529F
+:1000F000E552FD0EDB500809E66EE66AA0DFE55228
+:10010000E552FD0EDB5008090001806FE552E55213
+:10011000E7CFD9FF1200D9CFE6FFE1CFD9FFE652F2
+:10012000FD0EDB5003E0400EDF6E01D0DF6AFE0EF5
+:10013000DB50DF26800EDF10E66EE66A80DFE552D8
+:10014000E552E552E552E7CFD9FF1200D9CFE6FFDD
+:10015000E1CFD9FFFE0EDB500A0A0EE0070A0CE0E1
+:10016000010A0EE1010EE66EE66A69DFE552E5522C
+:10017000050EE66E4EDF0BD0E66AE66ACCDF06D0EF
+:10018000FE0EDBCFE6FF010EE66E59DFE552E552CB
+:10019000E552E7CFD9FF1200D9CFE6FFE1CFD9FF73
+:1001A000FD0EDBCFF6FFFE0EDBCFF7FF0800F550AC
+:1001B0000FE0FD0EDBCFF6FFDB2AFE0EDBCFF7FFF5
+:1001C00001E3DB2A0800F550E66EC0DFE552E8D710
+:1001D000E552E7CFD9FF1200D9CFE6FFE1CFD9FF33
+:1001E000FD0EDBCFE9FFFE0EDBCFEAFFEF500EE0A6
+:1001F000FD0EDBCFE9FFDB2AFE0EDBCFEAFF01E3DA
+:10020000DB2AEF50E66EA2DFE552EAD7E552E7CFF0
+:10021000D9FF12000001808580C0E6FFE66A0FDF8B
+:10022000E552E55212000001809580C0E6FFE66AC3
+:1002300006DFE552E55212000001808380C0E6FF30
+:10024000E66AFDDEE552E55212000001809380C0AF
+:10025000E6FFE66AF4DEE552E55212000001808115
+:1002600080C0E6FFE66AEBDEE552E55212000001CF
+:10027000809180C0E6FFE66AE2DEE552E5521200B8
+:10028000DACFE4FFE2CFDAFFE9CFE4FFEACFE4FF21
+:10029000E652D9CFE6FFE1CFD9FFE652AB50DF6E91
+:1002A000060EDF1403E0AB98AB880FD00001C451F9
+:1002B000C42BEA6AA10FE96E000EEA22AECFEFFF6F
+:1002C000200EC45D01E3C46BC581E552E552E7CF62
+:1002D000D9FFE552E5CFEAFFE5CFE9FFE5CFDAFF49
+:1002E0001100DACFE4FFE9CFE4FFEACFE4FFE65202
+:1002F0000001C251C15D03E19D98C5830FD09EA846
+:100300000DD0C151C12BEA6A810FE96E000EEA22BD
+:10031000EF50AD6E200EC15D01E3C16BE552E5CF3C
+:10032000EAFFE5CFE9FFE5CFDAFF1100D9CFE6FF1D
+:10033000E1CFD9FF0001C151C25D03E1C551020BFC
+:10034000F9E0C593C251C22BEA6A810FE96E000E33
+:10035000EA22FE0EDBCFEFFF200EC25D01E3C26B8F
+:100360009D88E552E7CFD9FF1200D9CFE6FFE1CF54
+:10037000D9FFFD0EDBCFE9FFFE0EDBCFEAFFEF502A
+:100380000EE0FD0EDBCFE9FFDB2AFE0EDBCFEAFF3E
+:1003900001E3DB2AEF50E66EC9DFE552EAD7E5520A
+:1003A000E7CFD9FF1200D9CFE6FFE1CFD9FFFD0E8D
+:1003B000DBCFF6FFFE0EDBCFF7FF0800F5500FE0B6
+:1003C000FD0EDBCFF6FFDB2AFE0EDBCFF7FF01E3EE
+:1003D000DB2A0800F550E66EA9DFE552E8D7E552C2
+:1003E000E7CFD9FF1200D9CFE6FFE1CFD9FFE65220
+:1003F0000001C351C32BEA6AA10FE96E000EEA2285
+:10040000EFCFDFFF200EC35D01E3C36B9D9AC451A4
+:10041000C35D01E1C5919D8ADF50E552E552E7CF0A
+:10042000D9FF1200000E8C6E8A6E896E020E926EDB
+:10043000030E936E810E946E956A070EB46E0F0EC6
+:10044000C16E240EAC6E900EAB6E190EAF6E300EF8
+:100450009D6EC00EF26E040EE66E080EE66E10DEA5
+:10046000E552E5520C0EE66E71DEE5520001C583E1
+:1004700012005B0EE66E060EE66E95DFE552E55263
+:100480003E0EE66E060EE66E8EDFE552E552310E4A
+:10049000E66E060EE66E87DFE552E5521F0EE66E4B
+:1004A000060EE66E80DFE552E5520A0EE66E060E97
+:1004B000E66E79DFE552E552F80EE66E050EE66E61
+:1004C00072DFE552E552E30EE66E050EE66E6BDF77
+:1004D000E552E552D30EE66E050EE66E64DFE55298
+:1004E000E552C00EE66E050EE66E5DDFE552E552A2
+:1004F0001200D9CFE6FFE1CFD9FFE652DF6A81B023
+:1005000002D0010EDF6E81B202D0020EDF6EDF502C
+:100510000001CC5D02E1000E03D0DFCFCCF0DF5054
+:10052000E552E552E7CFD9FF1200D9CFE6FFE1CF80
+:10053000D9FFE65277DF9DDF0001C5A120D053DF50
+:10054000DF6EDF50360A15E0030A10E0010A0CE006
+:10055000070A08E0010A04E0030A0DE18A840FD0CB
+:100560008A940DD08A860BD08A9609D00C0EE66E3E
+:1005700004D07FDF04D0DFCFE6FFE8DDE552B9DF4E
+:10058000DF6EDF0407E1B50EE66E050EE66E0BDFEB
+:10059000E552E552020EDF5CCFE1AA0EE66E050ED3
+:0A05A000E66E01DFE552E552C7D711
+:0605AA005465636C612042
+:1005B00053320D0A005465636C612053310D0A00FB
+:1005C000362D20496D7072696D6972206D656E758A
+:1005D0000D0A00352D204C696D706172204C43442A
+:1005E0000D0A00342D204465736C69676172206CBC
+:1005F0006564204C340D0A00332D204C696761720C
+:10060000206C6564204C340D0A00322D2044657343
+:100610006C69676172206C6564204C330D0A00318F
+:100620002D204C69676172206C6564204C330D0A83
+:10063000005072657373696F6E653A0D0A005465F8
+:100640007374652064612045555341525420636F93
+:100650006D206275666665720D0A00504943313837
+:0D06600020446574616C6861646F0D0A00D0
+:02066E00060E76
+:10067000F66E000EF76E000EF86E00010900F550E0
+:10068000D26F0900F550D36F03E1D26701D03DD09E
+:100690000900F550CD6F0900F550CE6F0900F550F7
+:1006A000CF6F09000900F550E96E0900F550EA6EB8
+:1006B000090009000900F550D06F0900F550D16F0D
+:1006C00009000900F6CFD4F0F7CFD5F0F8CFD6F077
+:1006D000CDC0F6FFCEC0F7FFCFC0F8FF0001D0536A
+:1006E00002E1D15307E00900F550EE6ED007F8E2C1
+:1006F000D107F9D7D4C0F6FFD5C0F7FFD6C0F8FFB1
+:0C0700000001D207000ED35BBFD712002F
+:04070C0014EE00F0F7
+:1007100024EE00F0F86A019C37EC03F09BEC03F048
+:0807200095EC02F0FBD712007A
+:0807280000EE00F00F0EEE6A76
+:06073000EA62FDD7120091
+:020736001200AF
+:020000040030CA
+:0100010001FD
+:0100020018E5
+:010003001EDE
+:010005008377
+:0100060001F8
+:00000001FF
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.map" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.map"
new file mode 100644
index 00000000..307f4a52
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.map"
@@ -0,0 +1,582 @@
+MPLINK 4.20, Linker
+Linker Map File - Created Mon Mar 22 23:53:51 2010
+
+ Section Info
+ Section Type Address Location Size(Bytes)
+ --------- --------- --------- --------- ---------
+ _entry_scn code 0x000000 program 0x000006
+ .cinit romdata 0x000006 program 0x000002
+ isr_baixa code 0x000008 program 0x00000a
+ .code_exemplo_13_5.o code 0x000012 program 0x000598
+ .stringtable romdata 0x0005aa program 0x0000c3
+ .idata_exemplo_13_5.o_i romdata 0x00066d program 0x000000
+ .romdata_exemplo_13_5.o romdata 0x00066d program 0x000000
+ .romdata_c018i.o romdata 0x00066d program 0x000000
+ .idata___init.o_i romdata 0x00066d program 0x000000
+ .romdata___init.o romdata 0x00066d program 0x000000
+ .idata_c018i.o_i romdata 0x00066d program 0x000000
+ _cinit_scn code 0x00066e program 0x00009e
+ .code_c018i.o code 0x00066e program 0x000000
+ _startup_scn code 0x00070c program 0x00001c
+ .code code 0x000728 program 0x00000e
+ .code___init.o code 0x000736 program 0x000002
+.config_300001_exemplo_13_5.o romdata 0x300001 program 0x000001
+.config_300002_exemplo_13_5.o romdata 0x300002 program 0x000001
+.config_300003_exemplo_13_5.o romdata 0x300003 program 0x000001
+.config_300005_exemplo_13_5.o romdata 0x300005 program 0x000001
+.config_300006_exemplo_13_5.o romdata 0x300006 program 0x000001
+ MATH_DATA udata 0x000000 data 0x000002
+ .tmpdata udata 0x000002 data 0x000000
+ .udata_exemplo_13_5.o udata 0x000080 data 0x00004d
+ .udata_c018i.o udata 0x0000cd data 0x00000a
+ .idata_c018i.o idata 0x0000d7 data 0x000000
+ .idata_exemplo_13_5.o idata 0x0000d7 data 0x000000
+ .udata___init.o udata 0x0000d7 data 0x000000
+ .idata___init.o idata 0x0000d7 data 0x000000
+ .stack udata 0x000400 data 0x000100
+ SFR_UNBANKED0 udata 0x000f80 data 0x000080
+
+
+
+ Program Memory Usage
+ Start End
+ --------- ---------
+ 0x000000 0x00066c
+ 0x00066e 0x000737
+ 0x300001 0x300003
+ 0x300005 0x300006
+ 1852 out of 33048 program addresses used, program memory utilization is 5%
+
+
+
+ Symbols - Sorted by Name
+ Name Address Location Storage File
+ --------- --------- --------- --------- ---------
+EUSART_escreve_char_buffer 0x00032c program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+EUSART_escreve_string_buffer 0x00036a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+EUSART_escreve_string_buffer_rom 0x0003a6 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+EUSART_le_caractere_buffer 0x0003e6 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ ISR_baixa_prioridade 0x000008 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ LCD_cursor_blink_off 0x00026e program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_cursor_blink_on 0x00025c program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_cursor_off 0x00024a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_cursor_on 0x000238 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_delay_ms 0x000012 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_display_off 0x000226 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_display_on 0x000214 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_init 0x000080 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_pos_xy 0x000116 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_send_byte 0x00003e program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_write_char 0x00014c program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_write_string 0x0001d8 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_write_string_rom 0x000198 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ MCU_init 0x000424 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ RX_ISR 0x000280 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ TX_ISR 0x0002e2 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ ___if_lbl00048 0x00000c program static
+ ___if_lbl00049 0x000010 program static
+ ___return_lbl00000 0x000004 program static
+ ___return_lbl00001 0x000726 program static
+ ___return_lbl00002 0x00070a program static
+ ___return_lbl00047 0x000010 program static
+ __config_0 0x300001 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __config_1 0x300002 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __config_2 0x300003 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __config_3 0x300005 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __config_4 0x300006 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __init 0x000736 program extern C:\MCC18\src\traditional\stdclib\__init.c
+ __string_0 0x00065b program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_1 0x00063e program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_10 0x0005aa program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_2 0x000631 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_3 0x00061f program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_4 0x00060a program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_5 0x0005f8 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_6 0x0005e3 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_7 0x0005d3 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_8 0x0005c0 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_9 0x0005b5 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __zero_memory 0x000728 program extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ _do_cinit 0x00066e program extern C:\MCC18\src\traditional\startup\c018i.c
+ _entry 0x000000 program extern C:\MCC18\src\traditional\startup\c018i.c
+ _startup 0x00070c program extern C:\MCC18\src\traditional\startup\c018i.c
+ clear_loop 0x00072e program static C:\MCC18\src\traditional\proc\p18F4520.asm
+ copy_loop 0x0006e0 program static
+ copy_one_byte 0x0006e6 program static
+ done 0x00070a program static
+ done_copying 0x0006f4 program static
+ imprime_menu 0x000472 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ le_teclas 0x0004f2 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ loop 0x00071c program static
+ main 0x00052a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ test 0x000688 program static
+ ADCON0 0x000fc2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON0bits 0x000fc2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON1 0x000fc1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON1bits 0x000fc1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON2 0x000fc0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON2bits 0x000fc0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADRES 0x000fc3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADRESH 0x000fc4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADRESL 0x000fc3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCON 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCONbits 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCTL 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCTLbits 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BSR 0x000fe0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP1CON 0x000fbd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP1CONbits 0x000fbd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP2CON 0x000fba data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP2CONbits 0x000fba data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR1 0x000fbe data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR1H 0x000fbf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR1L 0x000fbe data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR2 0x000fbb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR2H 0x000fbc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR2L 0x000fbb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CMCON 0x000fb4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CMCONbits 0x000fb4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CVRCON 0x000fb5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CVRCONbits 0x000fb5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRA 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRAbits 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRB 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRBbits 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRC 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRCbits 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRD 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRDbits 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRE 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDREbits 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ECCP1AS 0x000fb6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ECCP1ASbits 0x000fb6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EEADR 0x000fa9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EECON1 0x000fa6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EECON1bits 0x000fa6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EECON2 0x000fa7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EEDATA 0x000fa8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR0 0x000fe9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR0H 0x000fea data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR0L 0x000fe9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR1 0x000fe1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR1H 0x000fe2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR1L 0x000fe1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR2 0x000fd9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR2H 0x000fda data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR2L 0x000fd9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ HLVDCON 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ HLVDCONbits 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INDF0 0x000fef data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INDF1 0x000fe7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INDF2 0x000fdf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON 0x000ff2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON2 0x000ff1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON2bits 0x000ff1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON3 0x000ff0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON3bits 0x000ff0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCONbits 0x000ff2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR1 0x000f9f data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR1bits 0x000f9f data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR2 0x000fa2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR2bits 0x000fa2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATA 0x000f89 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATAbits 0x000f89 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATB 0x000f8a data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATBbits 0x000f8a data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATC 0x000f8b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATCbits 0x000f8b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATD 0x000f8c data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATDbits 0x000f8c data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATE 0x000f8d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATEbits 0x000f8d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LVDCON 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LVDCONbits 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCCON 0x000fd3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCCONbits 0x000fd3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCTUNE 0x000f9b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCTUNEbits 0x000f9b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PC 0x000ff9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PCL 0x000ff9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PCLATH 0x000ffa data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PCLATU 0x000ffb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE1 0x000f9d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE1bits 0x000f9d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE2 0x000fa0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE2bits 0x000fa0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR1 0x000f9e data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR1bits 0x000f9e data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR2 0x000fa1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR2bits 0x000fa1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PLUSW0 0x000feb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PLUSW1 0x000fe3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PLUSW2 0x000fdb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTA 0x000f80 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTAbits 0x000f80 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTB 0x000f81 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTBbits 0x000f81 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTC 0x000f82 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTCbits 0x000f82 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTD 0x000f83 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTDbits 0x000f83 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTE 0x000f84 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTEbits 0x000f84 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTDEC0 0x000fed data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTDEC1 0x000fe5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTDEC2 0x000fdd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTINC0 0x000fee data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTINC1 0x000fe6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTINC2 0x000fde data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PR2 0x000fcb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PREINC0 0x000fec data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PREINC1 0x000fe4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PREINC2 0x000fdc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PROD 0x000ff3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PRODH 0x000ff4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PRODL 0x000ff3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PWM1CON 0x000fb7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PWM1CONbits 0x000fb7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCON 0x000fd0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCONbits 0x000fd0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCREG 0x000fae data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCSTA 0x000fab data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCSTAbits 0x000fab data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SIGN 0x000000 data extern C:\MCC18\src\traditional\math\cmath18.asm
+ SPBRG 0x000faf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SPBRGH 0x000fb0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPADD 0x000fc8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPBUF 0x000fc9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON1 0x000fc6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON1bits 0x000fc6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON2 0x000fc5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON2bits 0x000fc5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPSTAT 0x000fc7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPSTATbits 0x000fc7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STATUS 0x000fd8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STATUSbits 0x000fd8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STKPTR 0x000ffc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STKPTRbits 0x000ffc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T0CON 0x000fd5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T0CONbits 0x000fd5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T1CON 0x000fcd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T1CONbits 0x000fcd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T2CON 0x000fca data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T2CONbits 0x000fca data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T3CON 0x000fb1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T3CONbits 0x000fb1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TABLAT 0x000ff5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTR 0x000ff6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTRH 0x000ff7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTRL 0x000ff6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTRU 0x000ff8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR0H 0x000fd7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR0L 0x000fd6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR1H 0x000fcf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR1L 0x000fce data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR2 0x000fcc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR3H 0x000fb3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR3L 0x000fb2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOS 0x000ffd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOSH 0x000ffe data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOSL 0x000ffd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOSU 0x000fff data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISA 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISAbits 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISB 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISBbits 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISC 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISCbits 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISD 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISDbits 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISE 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISEbits 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TXREG 0x000fad data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TXSTA 0x000fac data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TXSTAbits 0x000fac data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ W 0x000fe8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ WDTCON 0x000fd1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ WDTCONbits 0x000fd1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ WREG 0x000fe8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ __FPFLAGS 0x000001 data extern C:\MCC18\src\traditional\math\cmath18.asm
+ __FPFLAGSbits 0x000001 data extern C:\MCC18\src\traditional\math\cmath18.asm
+ curr_byte 0x0000d0 data static C:\MCC18\src\traditional\startup\c018i.c
+ curr_entry 0x0000d2 data static C:\MCC18\src\traditional\startup\c018i.c
+ data_ptr 0x0000d4 data static C:\MCC18\src\traditional\startup\c018i.c
+ flags 0x0000c5 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ lcd_mode 0x000080 data static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ prom 0x0000cd data static C:\MCC18\src\traditional\startup\c018i.c
+ rx_buf_read_pointer 0x0000c3 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ rx_buf_write_pointer 0x0000c4 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ rxbuffer 0x0000a1 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ str 0x0000c6 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ tx_buf_read_pointer 0x0000c1 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ tx_buf_write_pointer 0x0000c2 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ txbuffer 0x000081 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ ultima_tecla 0x0000cc data static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+
+
+
+ Symbols - Sorted by Address
+ Name Address Location Storage File
+ --------- --------- --------- --------- ---------
+ _entry 0x000000 program extern C:\MCC18\src\traditional\startup\c018i.c
+ ___return_lbl00000 0x000004 program static
+ ISR_baixa_prioridade 0x000008 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ ___if_lbl00048 0x00000c program static
+ ___return_lbl00047 0x000010 program static
+ ___if_lbl00049 0x000010 program static
+ LCD_delay_ms 0x000012 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_send_byte 0x00003e program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_init 0x000080 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_pos_xy 0x000116 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_write_char 0x00014c program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_write_string_rom 0x000198 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_write_string 0x0001d8 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_display_on 0x000214 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_display_off 0x000226 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_cursor_on 0x000238 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_cursor_off 0x00024a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_cursor_blink_on 0x00025c program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ LCD_cursor_blink_off 0x00026e program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ RX_ISR 0x000280 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ TX_ISR 0x0002e2 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+EUSART_escreve_char_buffer 0x00032c program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+EUSART_escreve_string_buffer 0x00036a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+EUSART_escreve_string_buffer_rom 0x0003a6 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+EUSART_le_caractere_buffer 0x0003e6 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ MCU_init 0x000424 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ imprime_menu 0x000472 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ le_teclas 0x0004f2 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ main 0x00052a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_10 0x0005aa program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_9 0x0005b5 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_8 0x0005c0 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_7 0x0005d3 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_6 0x0005e3 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_5 0x0005f8 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_4 0x00060a program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_3 0x00061f program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_2 0x000631 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_1 0x00063e program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __string_0 0x00065b program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ _do_cinit 0x00066e program extern C:\MCC18\src\traditional\startup\c018i.c
+ test 0x000688 program static
+ copy_loop 0x0006e0 program static
+ copy_one_byte 0x0006e6 program static
+ done_copying 0x0006f4 program static
+ done 0x00070a program static
+ ___return_lbl00002 0x00070a program static
+ _startup 0x00070c program extern C:\MCC18\src\traditional\startup\c018i.c
+ loop 0x00071c program static
+ ___return_lbl00001 0x000726 program static
+ __zero_memory 0x000728 program extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ clear_loop 0x00072e program static C:\MCC18\src\traditional\proc\p18F4520.asm
+ __init 0x000736 program extern C:\MCC18\src\traditional\stdclib\__init.c
+ __config_0 0x300001 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __config_1 0x300002 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __config_2 0x300003 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __config_3 0x300005 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ __config_4 0x300006 program static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ SIGN 0x000000 data extern C:\MCC18\src\traditional\math\cmath18.asm
+ __FPFLAGS 0x000001 data extern C:\MCC18\src\traditional\math\cmath18.asm
+ __FPFLAGSbits 0x000001 data extern C:\MCC18\src\traditional\math\cmath18.asm
+ lcd_mode 0x000080 data static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\meu_lcd16x2.c
+ txbuffer 0x000081 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ rxbuffer 0x0000a1 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ tx_buf_read_pointer 0x0000c1 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ tx_buf_write_pointer 0x0000c2 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ rx_buf_read_pointer 0x0000c3 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ rx_buf_write_pointer 0x0000c4 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ flags 0x0000c5 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ str 0x0000c6 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ ultima_tecla 0x0000cc data static C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.c
+ prom 0x0000cd data static C:\MCC18\src\traditional\startup\c018i.c
+ curr_byte 0x0000d0 data static C:\MCC18\src\traditional\startup\c018i.c
+ curr_entry 0x0000d2 data static C:\MCC18\src\traditional\startup\c018i.c
+ data_ptr 0x0000d4 data static C:\MCC18\src\traditional\startup\c018i.c
+ PORTAbits 0x000f80 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTA 0x000f80 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTB 0x000f81 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTBbits 0x000f81 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTC 0x000f82 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTCbits 0x000f82 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTD 0x000f83 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTDbits 0x000f83 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTEbits 0x000f84 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTE 0x000f84 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATAbits 0x000f89 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATA 0x000f89 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATBbits 0x000f8a data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATB 0x000f8a data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATCbits 0x000f8b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATC 0x000f8b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATDbits 0x000f8c data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATD 0x000f8c data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATEbits 0x000f8d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATE 0x000f8d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISAbits 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISA 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRAbits 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRA 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISB 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRB 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRBbits 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISBbits 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRC 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRCbits 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISC 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISCbits 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRD 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRDbits 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISDbits 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISD 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISEbits 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISE 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRE 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDREbits 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCTUNE 0x000f9b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCTUNEbits 0x000f9b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE1bits 0x000f9d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE1 0x000f9d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR1bits 0x000f9e data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR1 0x000f9e data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR1bits 0x000f9f data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR1 0x000f9f data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE2 0x000fa0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE2bits 0x000fa0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR2bits 0x000fa1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR2 0x000fa1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR2 0x000fa2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR2bits 0x000fa2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EECON1 0x000fa6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EECON1bits 0x000fa6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EECON2 0x000fa7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EEDATA 0x000fa8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EEADR 0x000fa9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCSTAbits 0x000fab data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCSTA 0x000fab data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TXSTA 0x000fac data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TXSTAbits 0x000fac data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TXREG 0x000fad data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCREG 0x000fae data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SPBRG 0x000faf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SPBRGH 0x000fb0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T3CON 0x000fb1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T3CONbits 0x000fb1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR3L 0x000fb2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR3H 0x000fb3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CMCONbits 0x000fb4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CMCON 0x000fb4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CVRCONbits 0x000fb5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CVRCON 0x000fb5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ECCP1AS 0x000fb6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ECCP1ASbits 0x000fb6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PWM1CONbits 0x000fb7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PWM1CON 0x000fb7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCTLbits 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCTL 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCONbits 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCON 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP2CONbits 0x000fba data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP2CON 0x000fba data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR2 0x000fbb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR2L 0x000fbb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR2H 0x000fbc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP1CONbits 0x000fbd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP1CON 0x000fbd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR1 0x000fbe data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR1L 0x000fbe data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR1H 0x000fbf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON2 0x000fc0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON2bits 0x000fc0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON1 0x000fc1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON1bits 0x000fc1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON0 0x000fc2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON0bits 0x000fc2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADRES 0x000fc3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADRESL 0x000fc3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADRESH 0x000fc4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON2 0x000fc5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON2bits 0x000fc5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON1 0x000fc6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON1bits 0x000fc6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPSTATbits 0x000fc7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPSTAT 0x000fc7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPADD 0x000fc8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPBUF 0x000fc9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T2CONbits 0x000fca data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T2CON 0x000fca data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PR2 0x000fcb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR2 0x000fcc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T1CONbits 0x000fcd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T1CON 0x000fcd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR1L 0x000fce data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR1H 0x000fcf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCONbits 0x000fd0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCON 0x000fd0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ WDTCON 0x000fd1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ WDTCONbits 0x000fd1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LVDCONbits 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LVDCON 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ HLVDCONbits 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ HLVDCON 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCCONbits 0x000fd3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCCON 0x000fd3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T0CON 0x000fd5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T0CONbits 0x000fd5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR0L 0x000fd6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR0H 0x000fd7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STATUSbits 0x000fd8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STATUS 0x000fd8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR2L 0x000fd9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR2 0x000fd9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR2H 0x000fda data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PLUSW2 0x000fdb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PREINC2 0x000fdc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTDEC2 0x000fdd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTINC2 0x000fde data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INDF2 0x000fdf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BSR 0x000fe0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR1L 0x000fe1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR1 0x000fe1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR1H 0x000fe2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PLUSW1 0x000fe3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PREINC1 0x000fe4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTDEC1 0x000fe5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTINC1 0x000fe6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INDF1 0x000fe7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ W 0x000fe8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ WREG 0x000fe8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR0 0x000fe9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR0L 0x000fe9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR0H 0x000fea data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PLUSW0 0x000feb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PREINC0 0x000fec data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTDEC0 0x000fed data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTINC0 0x000fee data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INDF0 0x000fef data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON3 0x000ff0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON3bits 0x000ff0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON2 0x000ff1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON2bits 0x000ff1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON 0x000ff2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCONbits 0x000ff2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PRODL 0x000ff3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PROD 0x000ff3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PRODH 0x000ff4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TABLAT 0x000ff5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTR 0x000ff6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTRL 0x000ff6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTRH 0x000ff7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTRU 0x000ff8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PCL 0x000ff9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PC 0x000ff9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PCLATH 0x000ffa data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PCLATU 0x000ffb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STKPTR 0x000ffc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STKPTRbits 0x000ffc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOS 0x000ffd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOSL 0x000ffd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOSH 0x000ffe data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOSU 0x000fff data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+
+
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.mcp" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.mcp"
new file mode 100644
index 00000000..8e6ebf34
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.mcp"
@@ -0,0 +1,54 @@
+[HEADER]
+magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
+file_version=1.0
+device=PIC18F4520
+[PATH_INFO]
+BuildDirPolicy=BuildDirIsProjectDir
+dir_src=
+dir_bin=
+dir_tmp=
+dir_sin=
+dir_inc=C:\MCC18\h
+dir_lib=C:\MCC18\lib
+dir_lkr=
+[CAT_FILTERS]
+filter_src=*.asm;*.c
+filter_inc=*.h;*.inc
+filter_obj=*.o
+filter_lib=*.lib
+filter_lkr=*.lkr
+[CAT_SUBFOLDERS]
+subfolder_src=
+subfolder_inc=
+subfolder_obj=
+subfolder_lib=
+subfolder_lkr=
+[FILE_SUBFOLDERS]
+file_000=.
+file_001=.
+[GENERATED_FILES]
+file_000=no
+file_001=no
+[OTHER_FILES]
+file_000=no
+file_001=no
+[FILE_INFO]
+file_000=exemplo_13_5.c
+file_001=C:\MCC18\lkr\18f4520i.lkr
+[SUITE_INFO]
+suite_guid={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+suite_state=
+[TOOL_SETTINGS]
+TS{DD2213A8-6310-47B1-8376-9430CDFC013F}=
+TS{BFD27FBA-4A02-4C0E-A5E5-B812F3E7707C}=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof"
+TS{C2AF05E7-1416-4625-923D-E114DB6E2B96}=-k
+TS{ADE93A55-C7C7-4D4D-A4BA-59305F7D0391}=
+[INSTRUMENTED_TRACE]
+enable=0
+transport=0
+format=0
+[CUSTOM_BUILD]
+Pre-Build=
+Pre-BuildEnabled=1
+Post-Build=
+Post-BuildEnabled=1
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.mcs" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.mcs"
new file mode 100644
index 00000000..3000feca
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.mcs"
@@ -0,0 +1,58 @@
+[Header]
+MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7}
+Version=1.0
+[File000]
+Location=C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.o
+Folder=Intermediary
+DeviceName=PIC18F4520
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644}
+LanguageToolLocation=C:\MCC18\bin\mcc18.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)|C:\MCC18\h||$(LIBDIR)|C:\MCC18\lib||$(LKRDIR)||
+SOLK=|exemplo_13_5.c|||||||C:\MCC18\lkr\18f4520i.lkr||
+SuiteArgsString=
+ToolArgsString=-k
+TraceCmdString=
+DebugOptions=-D__DEBUG -D__MPLAB_DEBUGGER_ICD2=1
+[File001]
+Location=C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.cof
+Folder=Output
+DeviceName=PIC18F4520
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\MCC18\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)|C:\MCC18\h||$(LIBDIR)|C:\MCC18\lib||$(LKRDIR)||
+SOLK=|exemplo_13_5.c|||||||C:\MCC18\lkr\18f4520i.lkr||
+SuiteArgsString=
+ToolArgsString=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof"
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1 /z__MPLAB_DEBUGGER_ICD2=1 /z__ICD2RAM=1
+[File002]
+Location=C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.hex
+Folder=Output
+DeviceName=PIC18F4520
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\MCC18\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)|C:\MCC18\h||$(LIBDIR)|C:\MCC18\lib||$(LKRDIR)||
+SOLK=|exemplo_13_5.c|||||||C:\MCC18\lkr\18f4520i.lkr||
+SuiteArgsString=
+ToolArgsString=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof"
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1 /z__MPLAB_DEBUGGER_ICD2=1 /z__ICD2RAM=1
+[File003]
+Location=C:\PIC18_Detalhado\Cap13\Exemplo13.5\Firmware\exemplo_13_5.map
+Folder=Output
+DeviceName=PIC18F4520
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\MCC18\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)|C:\MCC18\h||$(LIBDIR)|C:\MCC18\lib||$(LKRDIR)||
+SOLK=|exemplo_13_5.c|||||||C:\MCC18\lkr\18f4520i.lkr||
+SuiteArgsString=
+ToolArgsString=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof"
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1 /z__MPLAB_DEBUGGER_ICD2=1 /z__ICD2RAM=1
+[TOOL_LOC_STAMPS]
+tool_loc{96C98149-AA1B-4CF9-B967-FAE79CAB663C}=C:\MCC18\bin\mplink.exe
+tool_loc{E56A1C86-9D32-4DF6-8C34-FE0388B1B644}=C:\MCC18\bin\mcc18.exe
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.mcw" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.mcw"
new file mode 100644
index 00000000..f2e4eab2
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.mcw" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.o" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.o"
new file mode 100644
index 00000000..01218d76
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/exemplo_13_5.o" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/meu_lcd16x2.c" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/meu_lcd16x2.c"
new file mode 100644
index 00000000..e582fdb2
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/meu_lcd16x2.c"
@@ -0,0 +1,227 @@
+//**************************************************************************
+//* Funes bsicas para mdulo LCD de caractere
+//* Autor: Fbio Pereira
+//* Para o livro PIC18 Detalhado: Hardware e Software
+//**************************************************************************
+
+// Os defines a seguir setam os pinos padro do display LCD
+#define LCD_ENABLE LATEbits.LATE1 // ENABLE no pino RE1
+#define LCD_RS LATEbits.LATE0 // R/S no pino RE0
+
+#define LCD_SEC_LINE 0x40 // Address of the second line of the LCD
+
+// LCD configuration constants
+#define CURSOR_ON 2
+#define CURSOR_OFF 0
+#define CURSOR_BLINK 1
+#define CURSOR_NOBLINK 0
+#define DISPLAY_ON 4
+#define DISPLAY_OFF 0
+#define DISPLAY_8X5 0
+#define DISPLAY_10X5 4
+#define _2_LINES 8
+#define _1_LINE 0
+
+#define FOSC_CLK 4000
+
+// Varivel global de configurao do display
+static char lcd_mode;
+
+//**************************************************************************
+//* Prottipos
+//**************************************************************************
+void LCD_send_nibble(char data);
+void LCD_send_byte(char address, char data);
+void LCD_init(char mode1, char mode2);
+void LCD_pos_xy(char x, char y);
+void LCD_write_char(char c);
+void LCD_write_string (char *c);
+void LCD_display_on(void);
+void LCD_display_off(void);
+void LCD_cursor_on(void);
+void LCD_cursor_off(void);
+void LCD_cursor_blink_on(void);
+void LCD_cursor_blink_off(void);
+
+//**************************************************************************
+//* Uma funo de atraso utilizada pelas funes do LCD
+//**************************************************************************
+//* Argumentos:
+//* unsigned char time: tempo aproximado em milisegundos
+//**************************************************************************
+void LCD_delay_ms (unsigned char time)
+{
+ unsigned char temp;
+ for(;time;time--) for(temp=(FOSC_CLK/20);temp;temp--);
+}
+
+//**************************************************************************
+//* Escreve um byte no LCD
+//**************************************************************************
+//* Argumentos:
+//* char address : 0 para comandos, 1 para dados
+//* char data : comando ou dado a ser escrito
+//**************************************************************************
+void LCD_send_byte(char address, char data)
+{
+ unsigned char temp;
+ LCD_RS = address; // configura linha R/S
+ LATD = data; // escreve o dado
+ LCD_ENABLE = 1; // habilita o display
+ for (temp=100; temp; temp--);
+ LCD_ENABLE = 0; // desabilita display
+ for (temp=100; temp; temp--);
+}
+
+
+//**************************************************************************
+//* Inicializao do LCD
+//**************************************************************************
+//* Argumentos de chamada:
+//* char mode1 : modo (nmero de linhas e tamanho do caractere)
+//* char mode2 : modo (cursor e estado do display)
+//**************************************************************************
+void LCD_init(char mode1, char mode2)
+{
+ char aux;
+ // configura os pinos de dados do LCD para zero
+ TRISD = 0;
+ TRISEbits.TRISE0 = 0;
+ TRISEbits.TRISE1 = 0;
+ LATD = 0;
+ LCD_RS = 0;
+ LCD_ENABLE = 0;
+ LCD_delay_ms(50);
+ // Sequencia de inicializao do LCD para 8 bits
+ // Envia trs vezes o valor 0x30
+ for(aux=0;aux<3;++aux)
+ {
+ LCD_send_byte(0,0x30);
+ LCD_delay_ms(5);
+ }
+ // Envia configurao
+ LCD_send_byte(0,0x30 | mode1);
+ LCD_send_byte(0,0x08);
+ LCD_send_byte(0,0x01);
+ LCD_send_byte(0,0x06);
+ LCD_send_byte(0,0x08 | mode2);
+ lcd_mode = 0x08 | mode2;
+}
+
+//**************************************************************************
+//* Configura a posio do cursor
+//**************************************************************************
+//* Argumentos de chamada:
+//* char x : coluna (comeando por 0)
+//* char y : linha (0 ou 1)
+//**************************************************************************
+void LCD_pos_xy(char x, char y)
+{
+ char address;
+ if (y) address = LCD_SEC_LINE; else address = 0;
+ address += x;
+ LCD_send_byte(0,0x80|address);
+}
+
+//**************************************************************************
+//* Escreve um caractere no display
+//**************************************************************************
+//* Argumentos de chamada:
+//* char c : caractere a ser escrito
+//**************************************************************************
+//* Notas :
+//* \f apaga o display
+//* \n e \r retornam o cursor para a linha 0 coluna 0
+//**************************************************************************
+void LCD_write_char(char c)
+{
+ switch (c)
+ {
+ case '\f' :
+ LCD_send_byte(0,1);
+ LCD_delay_ms(5);
+ break;
+ case '\n' :
+ case '\r' :
+ LCD_pos_xy(0,0);
+ break;
+ default:
+ LCD_send_byte(1,c);
+ }
+}
+
+//**************************************************************************
+//* Escreve uma string da memria de programa no display
+//**************************************************************************
+//* Argumentos de chamada:
+//* const rom char *c : ponteiro para a string na memria de programa
+//**************************************************************************
+void LCD_write_string_rom (const rom char *c)
+{
+ while (*c) LCD_write_char(*c++);
+}
+
+//**************************************************************************
+//* Escreve uma string no display
+//**************************************************************************
+//* Argumentos de chamada:
+//* char *c : ponteiro para a string
+//**************************************************************************
+void LCD_write_string (char *c)
+{
+ while (*c) LCD_write_char(*c++);
+}
+
+//**************************************************************************
+//* Liga o display
+//**************************************************************************
+void LCD_display_on(void)
+{
+ lcd_mode |= 4;
+ LCD_send_byte (0,lcd_mode);
+}
+
+//**************************************************************************
+//* Desliga o display
+//**************************************************************************
+void LCD_display_off(void)
+{
+ lcd_mode &= 0xFB;
+ LCD_send_byte (0,lcd_mode);
+}
+
+//**************************************************************************
+//* Liga o cursor
+//**************************************************************************
+void LCD_cursor_on(void)
+{
+ lcd_mode |= 2;
+ LCD_send_byte (0,lcd_mode);
+}
+
+//**************************************************************************
+//* Desliga o cursor
+//**************************************************************************
+void LCD_cursor_off(void)
+{
+ lcd_mode &= 0xFD;
+ LCD_send_byte (0,lcd_mode);
+}
+//**************************************************************************
+//* Liga o cursor piscante
+//**************************************************************************
+void LCD_cursor_blink_on(void)
+{
+ lcd_mode |= 1;
+ LCD_send_byte (0,lcd_mode);
+}
+
+//**************************************************************************
+//* Desliga o cursor piscante
+//**************************************************************************
+void LCD_cursor_blink_off(void)
+{
+ lcd_mode &= 0xFE;
+ LCD_send_byte (0,lcd_mode);
+}
+
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/pic_simb.h" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/pic_simb.h"
new file mode 100644
index 00000000..a542bb4e
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Firmware/pic_simb.h"
@@ -0,0 +1,370 @@
+//***************************************************************
+// Arquivo de smbolos utilizados no livro PIC18 Detalhado
+// Autor: Fbio Pereira
+//***************************************************************
+
+#define BIT7 0x80
+#define BIT6 0x40
+#define BIT5 0x20
+#define BIT4 0x10
+#define BIT3 0x08
+#define BIT2 0x04
+#define BIT1 0x02
+#define BIT0 0x01
+
+// INTCON
+
+#define bGIE BIT7
+#define bGIEH BIT7
+#define bPEIE BIT6
+#define bGIEL BIT6
+#define bTMR0IE BIT5
+#define bINT0IE BIT4
+#define bRBIE BIT3
+#define bTMR0IF BIT2
+#define bINT0IF BIT1
+#define bRBIF BIT0
+
+#define bNRBPU BIT7
+#define bINTEDG0 BIT6
+#define bINTEDG1 BIT5
+#define bINTEDG2 BIT4
+#define bTMR0IP BIT2
+#define bRBIO BIT0
+
+#define bINT2IP BIT7
+#define bINT1IP BIT6
+#define bINT2IE BIT4
+#define bINT1IE BIT3
+#define bINT2IF BIT1
+#define bINT1IF BIT0
+
+#define bPSPIF BIT7
+#define bADIF BIT6
+#define bRCIF BIT5
+#define bTXIF BIT4
+#define bSSPIF BIT3
+#define bCCP1IF BIT2
+#define bTMR2IF BIT1
+#define bTMR1IF BIT0
+
+#define bOSCFIF BIT7
+#define bCMIF BIT6
+#define bEEIF BIT4
+#define bBCLIF BIT3
+#define bLVDIF BIT2
+#define bTMR3IF BIT1
+#define bCCP2IF BIT0
+
+#define bPSPIE BIT7
+#define bADIE BIT6
+#define bRCIE BIT5
+#define bTXIE BIT4
+#define bSSPIE BIT3
+#define bCCP1IE BIT2
+#define bTMR2IE BIT1
+#define bTMR1IE BIT0
+
+#define bOSCFIE BIT7
+#define bCMIE BIT6
+#define bEEIE BIT4
+#define bBCLIE BIT3
+#define bLVDIE BIT2
+#define bTMR3IE BIT1
+#define bCCP2IE BIT0
+
+#define bPSPIP BIT7
+#define bADIP BIT6
+#define bRCIP BIT5
+#define bTXIP BIT4
+#define bSSPIP BIT3
+#define bCCP1IP BIT2
+#define bTMR2IP BIT1
+#define bTMR1IP BIT0
+
+#define bOSCFIP BIT7
+#define bCMIP BIT6
+#define bEEIP BIT4
+#define bBCLIP BIT3
+#define bLVDIP BIT2
+#define bTMR3IP BIT1
+#define bCCP2IP BIT0
+
+// RCON ********************
+
+#define bIPEN BIT7
+#define bSBOREN BIT6
+#define bNRI BIT4
+#define bNTO BIT3
+#define bNPD BIT2
+#define bNPOR BIT1
+#define bNBOR BIT0
+
+// WDTCON
+
+#define bSWDTEN BIT0
+
+// HLVDCON
+
+#define VDIRMAQ BIT7
+#define bIRVST BIT5
+#define bHLVDEN BIT4
+#define bHLVD2V17 0
+#define bHLVD2V23 1
+#define bHLVD2V36 2
+#define bHLVD2V44 3
+#define bHLVD2V60 4
+#define bHLVD2V79 5
+#define bHLVD2V89 6
+#define bHLVD3V12 7
+#define bHLVD3V39 8
+#define bHLVD3V55 9
+#define bHLVD3V71 10
+#define bHLVD3V90 11
+#define bHLVD4V11 12
+#define bHLVD4V33 13
+#define bHLVD4V59 14
+#define bHLVD_EXT 15
+
+// OSCCON **************
+
+#define bIDLEN BIT7
+#define bCLKINT_31k 0
+#define bCLKINT_125k BIT4
+#define bCLKINT_250k BIT5
+#define bCLKINT_500k (BIT5 | BIT4)
+#define bCLKINT_1M BIT6
+#define bCLKINT_2M (BIT6 | BIT4)
+#define bCLKINT_4M (BIT6 | BIT5)
+#define bCLKINT_8M (BIT6 | BIT5 | BIT4)
+#define bOSTS BIT3
+#define bIOFS BIT2
+#define bOSC_PRI 0
+#define bOSC_SEC 1
+#define bOSC_INT 3
+
+// OSCTUNE *************
+#define bINTSRC BIT7
+#define bPLLEN BIT6
+
+// T0CON ***************
+#define bTMR0ON BIT7
+#define bT08BIT BIT6
+#define bT0CS BIT5
+#define bT0SE BIT4
+#define bPSA BIT3
+#define bT0CLK_PRE2 0
+#define bT0CLK_PRE4 1
+#define bT0CLK_PRE8 2
+#define bT0CLK_PRE16 3
+#define bT0CLK_PRE32 4
+#define bT0CLK_PRE64 5
+#define bT0CLK_PRE128 6
+#define bT0CLK_PRE256 7
+
+// T1CON ***************
+#define bRD16 BIT7
+#define bT1RUN BIT6
+#define bT1CLK_PRE1 0
+#define bT1CLK_PRE2 BIT4
+#define bT1CLK_PRE4 BIT5
+#define bT1CLK_PRE8 (BIT5 | BIT4)
+#define bT1OSCEN BIT3
+#define bT1SYNC BIT2
+#define bT1CLK_EXT BIT1
+#define bTMR1ON BIT0
+
+// T2CON ***************
+#define bT2OUTPS_1 0
+#define bT2OUTPS_2 1<<3
+#define bT2OUTPS_3 2<<3
+#define bT2OUTPS_4 3<<3
+#define bT2OUTPS_5 4<<3
+#define bT2OUTPS_6 5<<3
+#define bT2OUTPS_7 6<<3
+#define bT2OUTPS_8 7<<3
+#define bT2OUTPS_9 8<<3
+#define bT2OUTPS_10 9<<3
+#define bT2OUTPS_11 10<<3
+#define bT2OUTPS_12 11<<3
+#define bT2OUTPS_13 12<<3
+#define bT2OUTPS_14 13<<3
+#define bT2OUTPS_15 14<<3
+#define bT2OUTPS_16 15<<3
+#define bTMR2ON BIT2
+#define bT2CLK_PRE1 0
+#define bT2CLK_PRE2 1
+#define bT2CLK_PRE4 2
+#define bT2CLK_PRE8 3
+
+// T3CON ***************
+#define bT3CLK_PRE1 0
+#define bT3CLK_PRE2 BIT4
+#define bT3CLK_PRE4 BIT5
+#define bT3CLK_PRE8 (BIT5 | BIT4)
+#define bT1CCP12 0
+#define bT1CCP1_T3CCP2 BIT3
+#define bT3CCP12 (BIT3 | BIT6)
+#define bT3SYNC BIT2
+#define bT3CLK_EXT BIT1
+#define bTMR3ON BIT0
+
+// CCP1CON *********************
+// CCP2CON *********************
+#define bECCP_PWM_SINGLE 0
+#define bECCP_PWM_FULL_FWD BIT6
+#define bECCP_PWM_HALF BIT7
+#define bECCP_PWM_FULL_REV (BIT7 | BIT6)
+#define bCCP_OFF 0
+#define bCCP_COMPARE_TOGGLE 2
+#define bCCP_CAPTURE_FALLING 4
+#define bCCP_CAPTURE_RISING 5
+#define bCCP_CAPTURE_4RISING 6
+#define bCCP_CAPTURE_16RISING 7
+#define bCCP_COMPARE_SET 8
+#define bCCP_COMPARE_RESET 9
+#define bCCP_COMPARE_INT 10
+#define bCCP_COMPARE_SPECIAL 11
+#define bCCP_PWM 12
+#define bECCP_PWM_ABCD_HIGH 12
+#define bECCP_PWM_AC_HIGH 13
+#define bECCP_PWM_BD_HIGH 14
+#define bECCP_PWM_LOW 15
+
+// PWM1CON *********************
+#define bPRSEN BIT7
+
+// ECCPAS **********************
+#define bECCPASE BIT7
+#define bAS_OFF 0
+#define bAS_CMP1 1<<4
+#define bAS_CMP2 2<<4
+#define bAS_CMP 3<<4
+#define bAS_INT0 4<<4
+#define bAS_INT0CMP1 5<<4
+#define bAS_INT0CMP2 6<<4
+#define bAS_INT0CMP 7<<4
+#define bAS_AC_LOW 0
+#define bAS_AC_HIGH BIT2
+#define bAS_AC_HIGHZ 3<<2
+#define bAS_BD_LOW 0
+#define bAS_BD_HIGH 1
+#define bAS_BD_HIGHZ 3
+
+// CVRCON *********************
+#define bCVREN BIT7
+#define bCVROE BIT6
+#define bCVRR BIT5
+#define bCVRSS BIT4
+
+// CMCON **********************
+#define bC2OUT BIT7
+#define bC1OUT BIT6
+#define bC2INV BIT5
+#define bC1INV BIT4
+#define bCIS BIT3
+
+// ADCON0 *********************
+#define bADC_CH0 0<<2
+#define bADC_CH1 1<<2
+#define bADC_CH2 2<<2
+#define bADC_CH3 3<<2
+#define bADC_CH4 4<<2
+#define bADC_CH5 5<<2
+#define bADC_CH6 6<<2
+#define bADC_CH7 7<<2
+#define bADC_CH8 8<<2
+#define bADC_CH9 9<<2
+#define bADC_CH10 10<<2
+#define bADC_CH11 11<<2
+#define bADC_CH12 12<<2
+#define bADC_GO BIT1
+#define bADC_ON BIT0
+
+// ADCON1 *********************
+#define bADC_EXT_NREF BIT5
+#define bADC_EXT_PREF BIT4
+
+//ADCON2 **********************
+#define bADFM BIT7
+#define bADC_ACQ0 0<<3
+#define bADC_ACQ2 1<<3
+#define bADC_ACQ4 2<<3
+#define bADC_ACQ6 3<<3
+#define bADC_ACQ8 4<<3
+#define bADC_ACQ12 5<<3
+#define bADC_ACQ16 6<<3
+#define bADC_ACQ20 7<<3
+#define bADC_CLK_DIV2 0
+#define bADC_CLK_DIV8 1
+#define bADC_CLK_DIV32 2
+#define bADC_CLK_RC 3
+#define bADC_CLK_DIV4 4
+#define bADC_CLK_DIV16 5
+#define bADC_CLK_DIV64 6
+
+// EECON1
+#define bEEPGD BIT7
+#define bCFGS BIT6
+#define bFREE BIT4
+#define bWRERR BIT3
+#define bWREN BIT2
+#define bWR BIT1
+#define bRD BIT0
+
+// TXSTA
+#define bCSRC BIT7
+#define bTX9 BIT6
+#define bTXEN BIT5
+#define bSYNC BIT4
+#define bSENDB BIT3
+#define bBRGH BIT2
+#define bTRMT BIT1
+#define bTX9D BIT0
+
+// RCSTA
+#define bSPEN BIT7
+#define bRX9 BIT6
+#define bSREN BIT5
+#define bCREN BIT4
+#define bADDEN BIT3
+#define bFERR BIT2
+#define bOERR BIT1
+#define bRX9D BIT0
+
+// BAUDCON
+#define bABDOVF BIT7
+#define bRCIDL BIT6
+#define bRXDTP BIT5
+#define bTXCKP BIT4
+#define bBRG16 BIT3
+#define bWUE BIT1
+#define bABDEN BIT0
+
+// SSPSTAT
+#define bSMP BIT7
+#define bCKE BIT6
+#define bDATA BIT5
+#define bSTOP BIT4
+#define bSTART BIT3
+#define bRW BIT2
+#define bUA BIT1
+#define bBF BIT0
+
+//SSPCON1
+#define bWCOL BIT7
+#define bSSPOV BIT6
+#define bSSPEN BIT5
+#define bCKP BIT4
+#define bSPI_MST_4 0
+#define bSPI_MST_16 1
+#define bSPI_MST_64 2
+#define bSPI_MST_TMR2 3
+#define bSPI_SLAVE_SS 4
+#define bSPI_SLAVE 5
+#define bI2C_SLV_ADD7 6
+#define bI2C_SLV_ADD10 7
+#define bI2C_MST_1 8
+#define bI2C_MST_2 11
+#define bI2C_SLV_ADD7I 14
+#define bI2C_SLV_ADD10I 15
\ No newline at end of file
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Simula\303\276\303\222o/Exemplo_13_5.DSN" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Simula\303\276\303\222o/Exemplo_13_5.DSN"
new file mode 100644
index 00000000..3fb3b70a
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.5 - Comunica\303\247\303\243o Serial com o PC/Simula\303\276\303\222o/Exemplo_13_5.DSN" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.c" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.c"
new file mode 100644
index 00000000..d4475db3
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.c"
@@ -0,0 +1,167 @@
+#include
+#include
+#include "pic_simb.h"
+#include "meu_lcd16x2.c"
+
+#pragma config OSC = XT, WDT = OFF, MCLRE = ON
+#pragma config DEBUG = ON, LVP = OFF, PWRT = ON, BOREN = OFF
+
+#define S1 PORTBbits.RB0 /* Decrementa rotao */
+#define S2 PORTBbits.RB1 /* Incrementa rotao */
+#define NUM_PAS 7
+
+unsigned char str[6], tmr1tmp;
+unsigned char timer_atualiza_lcd;
+unsigned int rpm, rpm_alvo, pwm;
+struct
+{
+ char atualiza_rpm :1;
+} flags;
+
+// Interrupo do TMR0: uma interrupo aproximadamente a cada 120ms
+#pragma interrupt TMR0_ISR
+void TMR0_ISR(void)
+{
+ INTCONbits.TMR0IF = 0; // apaga flag de interrupo
+ // 469 contagens para uma interrupo
+ TMR0H = 0xFE;
+ TMR0L = 0x2B;
+ tmr1tmp = TMR1L; // armazena a contagem do TMR1
+ TMR1L = 0;
+ flags.atualiza_rpm = 1;
+ if (timer_atualiza_lcd) timer_atualiza_lcd--;
+}
+
+#pragma code isr_baixa = 0x0008
+void ISR_baixa_prioridade(void)
+{
+ if (INTCONbits.TMR0IF) _asm BRA TMR0_ISR _endasm
+}
+#pragma code
+
+void bin16_to_string(unsigned int val, char string[])
+{
+ unsigned int subtrator = 10000;
+ unsigned char indice=0, elim_zero=1;
+ while (indice<5) string[indice++]=0;
+ indice = 0;
+ while (val)
+ {
+ if (val>=subtrator)
+ {
+ val -= subtrator;
+ string[indice]++;
+ } else
+ {
+ subtrator /= 10;
+ indice++;
+ }
+ }
+ indice=0;
+ while (indice<4)
+ {
+ if (elim_zero && !string[indice]) string[indice++]=' ';
+ else
+ {
+ string[indice++]+='0';
+ elim_zero = 0;
+ }
+ }
+ string[4]+='0';
+ string[5]=0;
+}
+
+void atualiza_LCD(void)
+{
+ LCD_pos_xy(0,0); // posiciona o cursor na primeira coluna da primeira linha
+ LCD_write_string_rom("RPM = "); // velocidade atual do motor
+ bin16_to_string(rpm,str);
+ LCD_write_string(str);
+ LCD_pos_xy(0,1); // posiciona o cursor na primeira coluna da segunda linha
+ LCD_write_string_rom("Alvo= "); // velocidade desejada do motor
+ bin16_to_string(rpm_alvo,str);
+ LCD_write_string(str);
+}
+
+void atualiza_PWM(unsigned int val)
+{
+ CCPR2L = val>>2;
+ CCP2CONbits.DC2B1 = val & 0x02;
+ CCP2CONbits.DC2B0 = val & 0x01;
+}
+
+void controle(void)
+{
+ unsigned int dif;
+ if (rpm750) pwm+=50;
+ else if (dif>500) pwm+=20;
+ else if (dif>250) pwm+=10; else pwm++;
+ if (pwm>1023) pwm=1023;
+ }
+ if (rpm>rpm_alvo)
+ {
+ dif = rpm - rpm_alvo;
+ if (dif>750) pwm-=50;
+ else if (dif>500) pwm-=20;
+ else if (dif>250) pwm-=10; else pwm--;
+ if (pwm>1023) pwm=0;
+ }
+ atualiza_PWM(pwm);
+}
+
+void MCU_init(void)
+{
+ LATA = LATB = LATD = 0;
+ TRISA = 0x02; // pino 2 da porta A como entrada
+ TRISB = 0x0F; // RB0 a RB3 como entradas, RB4 a RB7 como sadas
+ TRISC = 0x01; // RC0 como entrada
+ TRISD = 0; // RD0 a RD7 como sadas
+ CMCON = 0x07; // desliga pinos analgicos do comparador
+ ADCON1 = 0x0F; // Desliga entradas analgicas do ADC
+ T2CON = bTMR2ON; // liga o timer 2 (prescaler = 1)
+ CCP2CON = 0x0C; // CCP2 no modo PWM
+ CCPR2L = 0x7F; // ciclo ativo = metade do perodo (PR2=255, valor default)
+ T1CON = bT1CLK_EXT | bTMR1ON;
+ TMR1L = TMR1H = 0;
+ T0CON = bTMR0ON | bT0CLK_PRE256;
+ TMR0H = 0xFE;
+ TMR0L = 0x2B;
+ INTCON = bGIE | bTMR0IE;
+ LCD_init(DISPLAY_8X5|_2_LINES,DISPLAY_ON|CURSOR_OFF|CURSOR_NOBLINK);
+ LCD_write_char('\f'); // apaga o display
+ timer_atualiza_lcd = 3;
+}
+
+void calcula_RPM(void)
+{
+ rpm = (int)tmr1tmp*72;
+ controle();
+ flags.atualiza_rpm = 0;
+}
+
+void main(void)
+{
+ char aux;
+ MCU_init();
+ rpm = 0;
+ atualiza_LCD();
+ rpm_alvo=0;
+ pwm = 0;
+ while(1)
+ {
+ if (!timer_atualiza_lcd)
+ {
+ atualiza_LCD();
+ timer_atualiza_lcd = 3;
+ if (!S1) rpm_alvo += 50;
+ if (rpm_alvo>5000) rpm_alvo=5000;
+ if (!S2) rpm_alvo -= 50;
+ if (rpm_alvo>5000) rpm_alvo=0;
+ }
+ if (flags.atualiza_rpm) calcula_RPM();
+ }
+}
+
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.cof" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.cof"
new file mode 100644
index 00000000..e00b21e5
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.cof" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.hex" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.hex"
new file mode 100644
index 00000000..7b2ffbb7
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.hex"
@@ -0,0 +1,151 @@
+:020000040000FA
+:060000001AEF04F01200EB
+:020006000000F8
+:06000800F2B438D1120031
+:02000E00D9CF48
+:10001000E6FFE1CFD9FFE652FE0EDB5009E0C80E45
+:10002000DF6EDF5002E0DF06FCD7FE0EDB06F4D702
+:10003000E552E552E7CFD9FF1200D9CFE6FFE1CF75
+:10004000D9FFE652FE0EDB50E8B08D80E8A08D901F
+:10005000FD0EDB508C6E8D82640EDF6EDF5002E091
+:10006000DF06FCD78D92640EDF6EDF5002E0DF0604
+:10007000FCD7E552E552E7CFD9FF1200D9CFE6FF12
+:10008000E1CFD9FFE652956A969096928C6A8D9050
+:100090008D92320EE66EBBDFE552DF6A030EDF5C47
+:1000A0000CE2300EE66EE66AC8DFE552E552050E58
+:1000B000E66EADDFE552DF2AF1D7FE0EDB503009E8
+:1000C000E66EE66ABADFE552E552080EE66EE66ACB
+:1000D000B4DFE552E552010EE66EE66AAEDFE552A8
+:1000E000E552060EE66EE66AA8DFE552E552FD0E21
+:1000F000DB500809E66EE66AA0DFE552E552FD0E28
+:10010000DB5008090001806FE552E552E7CFD9FFC7
+:100110001200D9CFE6FFE1CFD9FFE652FD0EDB504A
+:1001200003E0400EDF6E01D0DF6AFE0EDB50DF26FB
+:10013000800EDF10E66EE66A80DFE552E552E5529A
+:10014000E552E7CFD9FF1200D9CFE6FFE1CFD9FFC3
+:10015000FE0EDB500A0A0EE0070A0CE0010A0EE16F
+:10016000010EE66EE66A69DFE552E552050EE66EBF
+:100170004EDF0BD0E66AE66ACCDF06D0FE0EDBCFA0
+:10018000E6FF010EE66E59DFE552E552E552E7CF94
+:10019000D9FF1200D9CFE6FFE1CFD9FFFD0EDBCFAB
+:1001A000F6FFFE0EDBCFF7FF0800F5500FE0FD0E67
+:1001B000DBCFF6FFDB2AFE0EDBCFF7FF01E3DB2A06
+:1001C0000800F550E66EC0DFE552E8D7E552E7CF0C
+:1001D000D9FF1200D9CFE6FFE1CFD9FFFD0EDBCF6B
+:1001E000E9FFFE0EDBCFEAFFEF500EE0FD0EDBCFA6
+:1001F000E9FFDB2AFE0EDBCFEAFF01E3DB2AEF504B
+:10020000E66EA2DFE552EAD7E552E7CFD9FF12004A
+:100210000001808580C0E6FFE66A0FDFE552E55207
+:1002200012000001809580C0E6FFE66A06DFE55215
+:10023000E55212000001808380C0E6FFE66AFDDE21
+:10024000E552E55212000001809380C0E6FFE66AA5
+:10025000F4DEE552E55212000001808180C0E6FF25
+:10026000E66AEBDEE552E55212000001809180C0A3
+:10027000E6FFE66AE2DEE552E5521200DACFE4FF7D
+:10028000E652F294FE0ED76E2B0ED66ECECF87F0CE
+:10029000CE6A00018F81885101E08807E552E5CFE1
+:1002A000DAFF1100D9CFE6FFE1CFD9FF040EE12636
+:1002B000100EDE6E270EDD6E020EDB6A010EF36E8F
+:1002C000030EF3CFDBFF050EF36E020EDBCFF4FF60
+:1002D000F350F45C12E2020EDBCFF3FFDB2AF350A3
+:1002E000E76EFB0EDBCFE9FFFC0EDBCFEAFFE7504A
+:1002F000E926000EEA22EF6AE6D7020EDB6AD95041
+:10030000FD0FE96EFF0EDA20EA6EEE50ED1040E0D0
+:10031000FD0EDBCF10F0FE0EDBCF11F0DECF12F0C2
+:10032000DDCF13F01250105C135011581DE3DECFD7
+:1003300010F0DDCF11F0D950FD0FE96EFF0EDA207D
+:10034000EA6E1050EE5E1150ED5A020EDB50E76E71
+:10035000FB0EDBCFE9FFFC0EDBCFEAFFE750E9261F
+:10036000000EEA22EF2ACBD7D9CFE9FFDACFEAFF96
+:100370000A0E0B6E0C6AEECF06F0EDCF07F004EC20
+:1003800004F006C0EEFF07C0EDFF020EDB2AB7D770
+:10039000020EDB6A040EF36E020EDBCFF4FFF350A5
+:1003A000F45C3CE2030EDB5022E0020EDB50E76E11
+:1003B000FB0EDBCFE9FFFC0EDBCFEAFFE750E926BF
+:1003C000000EEA22EF5013E1020EDBCFF3FFDB2A2F
+:1003D000F350E76EFB0EDBCFE9FFFC0EDBCFEAFF4D
+:1003E000E750E926000EEA22200EEF6ED3D7300E3A
+:1003F000106E020EDBCFF3FFDB2AF350E76EFB0E2D
+:10040000DBCFE9FFFC0EDBCFEAFFE750E926000E69
+:10041000EA221050EF26030EDB6ABCD7300E106EB6
+:10042000040EE76EFB0EDBCFE9FFFC0EDBCFEAFF2D
+:10043000E750E926000EEA221050EF26050EE76E7F
+:10044000FB0EDBCFE9FFFC0EDBCFEAFFE750E9262E
+:10045000000EEA22EF6A040EE15C02E2E16AE55274
+:10046000E16EE552E7CFD9FF1200E66AE66A51DE97
+:10047000E552E552570EE66E080EE66E8BDEE5524B
+:10048000E552810EE66E000EE66E89C0E6FF8AC078
+:10049000E6FF08DFE552E552E552E552810EE66ED1
+:1004A000000EE66E97DEE552E552010EE66EE66A54
+:1004B00030DEE552E552500EE66E080EE66E6ADE5C
+:1004C000E552E552810EE66E000EE66E8BC0E6FF49
+:1004D0008CC0E6FFE7DEE552E552E552E552810EBB
+:1004E000E66E000EE66E76DEE552E5521200D9CFDA
+:1004F000E6FFE1CFD9FFFD0EDBCF10F0FE0EDBCF24
+:1005000011F0D89011321032D890113210321050B0
+:10051000BB6E020EE76EFD0EDBCF10F0FE0EDBCFE2
+:1005200011F0E7501016116A1050E8B0BA8AE8A02E
+:10053000BA9A010EE76EFD0EDBCF10F0FE0EDBCF98
+:1005400011F0E7501016116A1050E8B0BA88E8A010
+:10055000BA98E552E7CFD9FF1200D9CFE6FFE1CF35
+:10056000D9FF020EE12600018B51895D8C518A5919
+:100570003AE289518B5D106E8C518A55116E10C014
+:10058000DEFFDD6ED9CFE9FFDACFEAFFEE0ED880CD
+:10059000EE54020EED5402E2320E17D0D9CFE9FF2D
+:1005A000DACFEAFFF40ED880EE54010EED5402E2E9
+:1005B000140E0BD0D9CFE9FFDACFEAFFFA0ED880BC
+:1005C000EE54000EED5403E20A0E8D2701D08D2B60
+:1005D000000E8E23FF0ED8808D55030E8E5503E23C
+:1005E0008D69030E8E6F89518B5D8A518C5939E26A
+:1005F0008B51895D106E8A518C55116E10C0DEFFD3
+:10060000DD6ED9CFE9FFDACFEAFFEE0ED880EE54E7
+:10061000020EED5402E2320E17D0D9CFE9FFDACF45
+:10062000EAFFF40ED880EE54010EED5402E2140EEF
+:100630000BD0D9CFE9FFDACFEAFFFA0ED880EE541B
+:10064000000EED5403E20A0E8D5F01D08D07000EFF
+:100650008E5BFF0ED8808D55030E8E5502E28D6B9A
+:100660008E6B8DC0E6FF8EC0E6FF41DFE552E5529E
+:10067000020EE15C02E2E16AE552E16EE552E7CF8B
+:10068000D9FF1200000E8C6E8A6E896E020E926E79
+:100690000F0E936E010E946E956A070EB46E0F0ED8
+:1006A000C16E040ECA6E0C0EBA6E7F0EBB6E030EC8
+:1006B000CD6ECF6ACE6A870ED56EFE0ED76E2B0E2C
+:1006C000D66EA00EF26E040EE66E080EE66ED6DC56
+:1006D000E552E5520C0EE66E37DDE5520001030EE1
+:1006E000886F120000018751480DF3CF89F0F4CFD5
+:1006F0008AF033DF00018F911200D9CFE6FFE1CFFE
+:10070000D9FFE652BFDF0001896B8A6BAEDE0001C4
+:100710008B6B8C6B8D6B8E6B0001885122E1A5DE9B
+:100720000001030E886F81B004D0320E8B27000EBB
+:100730008C23880ED8808B55130E8C5504E2880EBE
+:100740008B6F130E8C6F81B204D0320E8B5F000E54
+:100750008C5B880ED8808B55130E8C5502E28B6B08
+:0A0760008C6B8FA1D9D7BEDFD7D76D
+:06076A00060EF66E000E03
+:10077000F76E000EF86E00010900F550956F090044
+:10078000F550966F03E1956701D03DD00900F55013
+:10079000906F0900F550916F0900F550926F0900B4
+:1007A0000900F550E96E0900F550EA6E09000900EC
+:1007B0000900F550936F0900F550946F0900090086
+:1007C000F6CF97F0F7CF98F0F8CF99F090C0F6FFFA
+:1007D00091C0F7FF92C0F8FF0001935302E19453D8
+:1007E00007E00900F550EE6E9307F8E29407F9D799
+:1007F00097C0F6FF98C0F7FF99C0F8FF0001950772
+:08080000000E965BBFD7120049
+:08080800036A026A100EE76E9C
+:10081000D89006360736023603360B50025C0C5071
+:10082000035805E30B50025E0C50035A062AE72ECC
+:04083000F0D71200EB
+:0C08340014EE00F024EE00F0F86A0F9CB7
+:10084000B5EC03F036EC04F07DEC03F0FBD71200BE
+:0E085000416C766F3D200052504D203D20003F
+:02085E0000EEAA
+:0C08600000F00F0EEE6AEA62FDD71200F5
+:02086C00120078
+:020000040030CA
+:0100010001FD
+:0100020018E5
+:010003001EDE
+:010005008377
+:0100060001F8
+:00000001FF
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.map" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.map"
new file mode 100644
index 00000000..ee2eee88
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.map"
@@ -0,0 +1,604 @@
+MPLINK 4.20, Linker
+Linker Map File - Created Mon Mar 22 23:55:28 2010
+
+ Section Info
+ Section Type Address Location Size(Bytes)
+ --------- --------- --------- --------- ---------
+ _entry_scn code 0x000000 program 0x000006
+ .cinit romdata 0x000006 program 0x000002
+ isr_baixa code 0x000008 program 0x000006
+ .code_exemplo_13_6.o code 0x00000e program 0x00075c
+ _cinit_scn code 0x00076a program 0x00009e
+ .code_fxd1616u.o code 0x000808 program 0x00002c
+ _startup_scn code 0x000834 program 0x00001c
+ .stringtable romdata 0x000850 program 0x00000e
+ .code code 0x00085e program 0x00000e
+ .code___init.o code 0x00086c program 0x000002
+ .romdata___init.o romdata 0x00086e program 0x000000
+ .idata___init.o_i romdata 0x00086e program 0x000000
+ .romdata_fxd1616u.o romdata 0x00086e program 0x000000
+ .idata_fxd1616u.o_i romdata 0x00086e program 0x000000
+ .romdata_exemplo_13_6.o romdata 0x00086e program 0x000000
+ .idata_exemplo_13_6.o_i romdata 0x00086e program 0x000000
+ .code_c018i.o code 0x00086e program 0x000000
+ .romdata_c018i.o romdata 0x00086e program 0x000000
+ .idata_c018i.o_i romdata 0x00086e program 0x000000
+.config_300001_exemplo_13_6.o romdata 0x300001 program 0x000001
+.config_300002_exemplo_13_6.o romdata 0x300002 program 0x000001
+.config_300003_exemplo_13_6.o romdata 0x300003 program 0x000001
+.config_300005_exemplo_13_6.o romdata 0x300005 program 0x000001
+.config_300006_exemplo_13_6.o romdata 0x300006 program 0x000001
+ MATH_DATA udata 0x000000 data 0x000010
+ .tmpdata udata 0x000010 data 0x000004
+ .udata_exemplo_13_6.o udata 0x000080 data 0x000010
+ .udata_c018i.o udata 0x000090 data 0x00000a
+ .idata_c018i.o idata 0x00009a data 0x000000
+ .idata_exemplo_13_6.o idata 0x00009a data 0x000000
+ .udata_fxd1616u.o udata 0x00009a data 0x000000
+ .idata_fxd1616u.o idata 0x00009a data 0x000000
+ .udata___init.o udata 0x00009a data 0x000000
+ .idata___init.o idata 0x00009a data 0x000000
+ .stack udata 0x000400 data 0x000100
+ SFR_UNBANKED0 udata 0x000f80 data 0x000080
+
+
+
+ Program Memory Usage
+ Start End
+ --------- ---------
+ 0x000000 0x00086d
+ 0x300001 0x300003
+ 0x300005 0x300006
+ 2163 out of 33048 program addresses used, program memory utilization is 6%
+
+
+
+ Symbols - Sorted by Name
+ Name Address Location Storage File
+ --------- --------- --------- --------- ---------
+ FXD1616U 0x000808 program extern C:\MCC18\src\traditional\math\fxd1616u.c
+ ISR_baixa_prioridade 0x000008 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ LCD_cursor_blink_off 0x00026a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_cursor_blink_on 0x000258 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_cursor_off 0x000246 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_cursor_on 0x000234 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_delay_ms 0x00000e program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_display_off 0x000222 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_display_on 0x000210 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_init 0x00007c program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_pos_xy 0x000112 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_send_byte 0x00003a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_write_char 0x000148 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_write_string 0x0001d4 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_write_string_rom 0x000194 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ MCU_init 0x000684 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ TMR0_ISR 0x00027c program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ ___if_lbl00042 0x00000c program static
+ ___return_lbl00000 0x000004 program static
+ ___return_lbl00000 0x000832 program static
+ ___return_lbl00001 0x00084e program static
+ ___return_lbl00002 0x000806 program static
+ ___return_lbl00041 0x00000c program static
+ __config_0 0x300001 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __config_1 0x300002 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __config_2 0x300003 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __config_3 0x300005 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __config_4 0x300006 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __init 0x00086c program extern C:\MCC18\src\traditional\stdclib\__init.c
+ __string_0 0x000857 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __string_1 0x000850 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __zero_memory 0x00085e program extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ _do_cinit 0x00076a program extern C:\MCC18\src\traditional\startup\c018i.c
+ _entry 0x000000 program extern C:\MCC18\src\traditional\startup\c018i.c
+ _startup 0x000834 program extern C:\MCC18\src\traditional\startup\c018i.c
+ atualiza_LCD 0x00046a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ atualiza_PWM 0x0004ee program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ bin16_to_string 0x0002a4 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ calcula_RPM 0x0006e4 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ clear_loop 0x000864 program static C:\MCC18\src\traditional\proc\p18F4520.asm
+ controle 0x00055a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ copy_loop 0x0007dc program static
+ copy_one_byte 0x0007e2 program static
+ done 0x000806 program static
+ done_copying 0x0007f0 program static
+ endloop 0x00082e program static
+ loop 0x000844 program static
+ loop 0x000812 program static
+ main 0x0006fa program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ test 0x000784 program static
+ ADCON0 0x000fc2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON0bits 0x000fc2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON1 0x000fc1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON1bits 0x000fc1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON2 0x000fc0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON2bits 0x000fc0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADRES 0x000fc3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADRESH 0x000fc4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADRESL 0x000fc3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCON 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCONbits 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCTL 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCTLbits 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BSR 0x000fe0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP1CON 0x000fbd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP1CONbits 0x000fbd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP2CON 0x000fba data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP2CONbits 0x000fba data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR1 0x000fbe data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR1H 0x000fbf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR1L 0x000fbe data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR2 0x000fbb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR2H 0x000fbc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR2L 0x000fbb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CMCON 0x000fb4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CMCONbits 0x000fb4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CVRCON 0x000fb5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CVRCONbits 0x000fb5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRA 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRAbits 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRB 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRBbits 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRC 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRCbits 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRD 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRDbits 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRE 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDREbits 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ECCP1AS 0x000fb6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ECCP1ASbits 0x000fb6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EEADR 0x000fa9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EECON1 0x000fa6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EECON1bits 0x000fa6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EECON2 0x000fa7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EEDATA 0x000fa8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR0 0x000fe9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR0H 0x000fea data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR0L 0x000fe9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR1 0x000fe1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR1H 0x000fe2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR1L 0x000fe1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR2 0x000fd9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR2H 0x000fda data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR2L 0x000fd9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ HLVDCON 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ HLVDCONbits 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INDF0 0x000fef data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INDF1 0x000fe7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INDF2 0x000fdf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON 0x000ff2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON2 0x000ff1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON2bits 0x000ff1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON3 0x000ff0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON3bits 0x000ff0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCONbits 0x000ff2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR1 0x000f9f data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR1bits 0x000f9f data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR2 0x000fa2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR2bits 0x000fa2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATA 0x000f89 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATAbits 0x000f89 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATB 0x000f8a data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATBbits 0x000f8a data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATC 0x000f8b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATCbits 0x000f8b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATD 0x000f8c data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATDbits 0x000f8c data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATE 0x000f8d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATEbits 0x000f8d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LVDCON 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LVDCONbits 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCCON 0x000fd3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCCONbits 0x000fd3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCTUNE 0x000f9b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCTUNEbits 0x000f9b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PC 0x000ff9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PCL 0x000ff9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PCLATH 0x000ffa data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PCLATU 0x000ffb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE1 0x000f9d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE1bits 0x000f9d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE2 0x000fa0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE2bits 0x000fa0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR1 0x000f9e data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR1bits 0x000f9e data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR2 0x000fa1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR2bits 0x000fa1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PLUSW0 0x000feb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PLUSW1 0x000fe3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PLUSW2 0x000fdb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTA 0x000f80 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTAbits 0x000f80 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTB 0x000f81 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTBbits 0x000f81 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTC 0x000f82 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTCbits 0x000f82 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTD 0x000f83 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTDbits 0x000f83 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTE 0x000f84 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTEbits 0x000f84 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTDEC0 0x000fed data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTDEC1 0x000fe5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTDEC2 0x000fdd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTINC0 0x000fee data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTINC1 0x000fe6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTINC2 0x000fde data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PR2 0x000fcb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PREINC0 0x000fec data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PREINC1 0x000fe4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PREINC2 0x000fdc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PROD 0x000ff3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PRODH 0x000ff4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PRODL 0x000ff3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PWM1CON 0x000fb7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PWM1CONbits 0x000fb7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCON 0x000fd0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCONbits 0x000fd0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCREG 0x000fae data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCSTA 0x000fab data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCSTAbits 0x000fab data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SIGN 0x00000e data extern C:\MCC18\src\traditional\math\cmath18.asm
+ SPBRG 0x000faf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SPBRGH 0x000fb0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPADD 0x000fc8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPBUF 0x000fc9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON1 0x000fc6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON1bits 0x000fc6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON2 0x000fc5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON2bits 0x000fc5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPSTAT 0x000fc7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPSTATbits 0x000fc7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STATUS 0x000fd8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STATUSbits 0x000fd8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STKPTR 0x000ffc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STKPTRbits 0x000ffc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T0CON 0x000fd5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T0CONbits 0x000fd5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T1CON 0x000fcd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T1CONbits 0x000fcd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T2CON 0x000fca data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T2CONbits 0x000fca data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T3CON 0x000fb1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T3CONbits 0x000fb1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TABLAT 0x000ff5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTR 0x000ff6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTRH 0x000ff7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTRL 0x000ff6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTRU 0x000ff8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR0H 0x000fd7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR0L 0x000fd6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR1H 0x000fcf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR1L 0x000fce data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR2 0x000fcc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR3H 0x000fb3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR3L 0x000fb2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOS 0x000ffd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOSH 0x000ffe data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOSL 0x000ffd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOSU 0x000fff data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISA 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISAbits 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISB 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISBbits 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISC 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISCbits 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISD 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISDbits 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISE 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISEbits 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TXREG 0x000fad data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TXSTA 0x000fac data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TXSTAbits 0x000fac data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ W 0x000fe8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ WDTCON 0x000fd1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ WDTCONbits 0x000fd1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ WREG 0x000fe8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ __AARGB0 0x000007 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB1 0x000006 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB2 0x000005 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB3 0x000004 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB4 0x000003 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB5 0x000002 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB6 0x000001 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB7 0x000000 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AEXP 0x000008 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __BARGB0 0x00000c data extern C:\MCC18\src\traditional\math\barg.asm
+ __BARGB1 0x00000b data extern C:\MCC18\src\traditional\math\barg.asm
+ __BARGB2 0x00000a data extern C:\MCC18\src\traditional\math\barg.asm
+ __BARGB3 0x000009 data extern C:\MCC18\src\traditional\math\barg.asm
+ __BEXP 0x00000d data extern C:\MCC18\src\traditional\math\barg.asm
+ __FPFLAGS 0x00000f data extern C:\MCC18\src\traditional\math\cmath18.asm
+ __FPFLAGSbits 0x00000f data extern C:\MCC18\src\traditional\math\cmath18.asm
+ __REMB0 0x000003 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __REMB1 0x000002 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __REMB2 0x000001 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __REMB3 0x000000 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __tmp_0 0x000010 data static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ curr_byte 0x000093 data static C:\MCC18\src\traditional\startup\c018i.c
+ curr_entry 0x000095 data static C:\MCC18\src\traditional\startup\c018i.c
+ data_ptr 0x000097 data static C:\MCC18\src\traditional\startup\c018i.c
+ flags 0x00008f data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ lcd_mode 0x000080 data static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ prom 0x000090 data static C:\MCC18\src\traditional\startup\c018i.c
+ pwm 0x00008d data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ rpm 0x000089 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ rpm_alvo 0x00008b data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ str 0x000081 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ timer_atualiza_lcd 0x000088 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ tmr1tmp 0x000087 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+
+
+
+ Symbols - Sorted by Address
+ Name Address Location Storage File
+ --------- --------- --------- --------- ---------
+ _entry 0x000000 program extern C:\MCC18\src\traditional\startup\c018i.c
+ ___return_lbl00000 0x000004 program static
+ ISR_baixa_prioridade 0x000008 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ ___return_lbl00041 0x00000c program static
+ ___if_lbl00042 0x00000c program static
+ LCD_delay_ms 0x00000e program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_send_byte 0x00003a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_init 0x00007c program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_pos_xy 0x000112 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_write_char 0x000148 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_write_string_rom 0x000194 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_write_string 0x0001d4 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_display_on 0x000210 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_display_off 0x000222 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_cursor_on 0x000234 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_cursor_off 0x000246 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_cursor_blink_on 0x000258 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ LCD_cursor_blink_off 0x00026a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ TMR0_ISR 0x00027c program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ bin16_to_string 0x0002a4 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ atualiza_LCD 0x00046a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ atualiza_PWM 0x0004ee program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ controle 0x00055a program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ MCU_init 0x000684 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ calcula_RPM 0x0006e4 program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ main 0x0006fa program extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ _do_cinit 0x00076a program extern C:\MCC18\src\traditional\startup\c018i.c
+ test 0x000784 program static
+ copy_loop 0x0007dc program static
+ copy_one_byte 0x0007e2 program static
+ done_copying 0x0007f0 program static
+ done 0x000806 program static
+ ___return_lbl00002 0x000806 program static
+ FXD1616U 0x000808 program extern C:\MCC18\src\traditional\math\fxd1616u.c
+ loop 0x000812 program static
+ endloop 0x00082e program static
+ ___return_lbl00000 0x000832 program static
+ _startup 0x000834 program extern C:\MCC18\src\traditional\startup\c018i.c
+ loop 0x000844 program static
+ ___return_lbl00001 0x00084e program static
+ __string_1 0x000850 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __string_0 0x000857 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __zero_memory 0x00085e program extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ clear_loop 0x000864 program static C:\MCC18\src\traditional\proc\p18F4520.asm
+ __init 0x00086c program extern C:\MCC18\src\traditional\stdclib\__init.c
+ __config_0 0x300001 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __config_1 0x300002 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __config_2 0x300003 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __config_3 0x300005 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __config_4 0x300006 program static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ __AARGB7 0x000000 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __REMB3 0x000000 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB6 0x000001 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __REMB2 0x000001 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB5 0x000002 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __REMB1 0x000002 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __REMB0 0x000003 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB4 0x000003 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB3 0x000004 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB2 0x000005 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB1 0x000006 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AARGB0 0x000007 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __AEXP 0x000008 data extern C:\MCC18\src\traditional\math\aarg.asm
+ __BARGB3 0x000009 data extern C:\MCC18\src\traditional\math\barg.asm
+ __BARGB2 0x00000a data extern C:\MCC18\src\traditional\math\barg.asm
+ __BARGB1 0x00000b data extern C:\MCC18\src\traditional\math\barg.asm
+ __BARGB0 0x00000c data extern C:\MCC18\src\traditional\math\barg.asm
+ __BEXP 0x00000d data extern C:\MCC18\src\traditional\math\barg.asm
+ SIGN 0x00000e data extern C:\MCC18\src\traditional\math\cmath18.asm
+ __FPFLAGS 0x00000f data extern C:\MCC18\src\traditional\math\cmath18.asm
+ __FPFLAGSbits 0x00000f data extern C:\MCC18\src\traditional\math\cmath18.asm
+ __tmp_0 0x000010 data static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ lcd_mode 0x000080 data static C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\meu_lcd16x2.c
+ str 0x000081 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ tmr1tmp 0x000087 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ timer_atualiza_lcd 0x000088 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ rpm 0x000089 data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ rpm_alvo 0x00008b data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ pwm 0x00008d data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ flags 0x00008f data extern C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.c
+ prom 0x000090 data static C:\MCC18\src\traditional\startup\c018i.c
+ curr_byte 0x000093 data static C:\MCC18\src\traditional\startup\c018i.c
+ curr_entry 0x000095 data static C:\MCC18\src\traditional\startup\c018i.c
+ data_ptr 0x000097 data static C:\MCC18\src\traditional\startup\c018i.c
+ PORTA 0x000f80 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTAbits 0x000f80 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTBbits 0x000f81 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTB 0x000f81 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTCbits 0x000f82 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTC 0x000f82 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTDbits 0x000f83 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTD 0x000f83 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTE 0x000f84 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PORTEbits 0x000f84 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATAbits 0x000f89 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATA 0x000f89 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATBbits 0x000f8a data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATB 0x000f8a data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATCbits 0x000f8b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATC 0x000f8b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATD 0x000f8c data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATDbits 0x000f8c data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATE 0x000f8d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LATEbits 0x000f8d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRA 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRAbits 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISA 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISAbits 0x000f92 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISB 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISBbits 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRB 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRBbits 0x000f93 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISC 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISCbits 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRCbits 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRC 0x000f94 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRDbits 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRD 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISDbits 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISD 0x000f95 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDRE 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ DDREbits 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISEbits 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TRISE 0x000f96 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCTUNE 0x000f9b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCTUNEbits 0x000f9b data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE1 0x000f9d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE1bits 0x000f9d data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR1bits 0x000f9e data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR1 0x000f9e data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR1bits 0x000f9f data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR1 0x000f9f data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE2bits 0x000fa0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIE2 0x000fa0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR2 0x000fa1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PIR2bits 0x000fa1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR2bits 0x000fa2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ IPR2 0x000fa2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EECON1 0x000fa6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EECON1bits 0x000fa6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EECON2 0x000fa7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EEDATA 0x000fa8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ EEADR 0x000fa9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCSTA 0x000fab data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCSTAbits 0x000fab data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TXSTA 0x000fac data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TXSTAbits 0x000fac data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TXREG 0x000fad data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCREG 0x000fae data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SPBRG 0x000faf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SPBRGH 0x000fb0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T3CONbits 0x000fb1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T3CON 0x000fb1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR3L 0x000fb2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR3H 0x000fb3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CMCON 0x000fb4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CMCONbits 0x000fb4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CVRCON 0x000fb5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CVRCONbits 0x000fb5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ECCP1ASbits 0x000fb6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ECCP1AS 0x000fb6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PWM1CON 0x000fb7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PWM1CONbits 0x000fb7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCON 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCONbits 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCTL 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BAUDCTLbits 0x000fb8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP2CON 0x000fba data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP2CONbits 0x000fba data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR2 0x000fbb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR2L 0x000fbb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR2H 0x000fbc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP1CON 0x000fbd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCP1CONbits 0x000fbd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR1L 0x000fbe data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR1 0x000fbe data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ CCPR1H 0x000fbf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON2bits 0x000fc0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON2 0x000fc0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON1bits 0x000fc1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON1 0x000fc1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON0 0x000fc2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADCON0bits 0x000fc2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADRES 0x000fc3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADRESL 0x000fc3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ ADRESH 0x000fc4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON2 0x000fc5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON2bits 0x000fc5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON1 0x000fc6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPCON1bits 0x000fc6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPSTAT 0x000fc7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPSTATbits 0x000fc7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPADD 0x000fc8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ SSPBUF 0x000fc9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T2CON 0x000fca data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T2CONbits 0x000fca data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PR2 0x000fcb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR2 0x000fcc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T1CON 0x000fcd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T1CONbits 0x000fcd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR1L 0x000fce data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR1H 0x000fcf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCONbits 0x000fd0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ RCON 0x000fd0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ WDTCONbits 0x000fd1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ WDTCON 0x000fd1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ HLVDCONbits 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ HLVDCON 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LVDCON 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ LVDCONbits 0x000fd2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCCONbits 0x000fd3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ OSCCON 0x000fd3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T0CONbits 0x000fd5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ T0CON 0x000fd5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR0L 0x000fd6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TMR0H 0x000fd7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STATUS 0x000fd8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STATUSbits 0x000fd8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR2 0x000fd9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR2L 0x000fd9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR2H 0x000fda data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PLUSW2 0x000fdb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PREINC2 0x000fdc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTDEC2 0x000fdd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTINC2 0x000fde data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INDF2 0x000fdf data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ BSR 0x000fe0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR1L 0x000fe1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR1 0x000fe1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR1H 0x000fe2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PLUSW1 0x000fe3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PREINC1 0x000fe4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTDEC1 0x000fe5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTINC1 0x000fe6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INDF1 0x000fe7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ W 0x000fe8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ WREG 0x000fe8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR0 0x000fe9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR0L 0x000fe9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ FSR0H 0x000fea data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PLUSW0 0x000feb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PREINC0 0x000fec data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTDEC0 0x000fed data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ POSTINC0 0x000fee data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INDF0 0x000fef data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON3 0x000ff0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON3bits 0x000ff0 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON2bits 0x000ff1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON2 0x000ff1 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCONbits 0x000ff2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ INTCON 0x000ff2 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PRODL 0x000ff3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PROD 0x000ff3 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PRODH 0x000ff4 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TABLAT 0x000ff5 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTR 0x000ff6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTRL 0x000ff6 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTRH 0x000ff7 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TBLPTRU 0x000ff8 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PCL 0x000ff9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PC 0x000ff9 data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PCLATH 0x000ffa data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ PCLATU 0x000ffb data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STKPTR 0x000ffc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ STKPTRbits 0x000ffc data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOS 0x000ffd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOSL 0x000ffd data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOSH 0x000ffe data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+ TOSU 0x000fff data extern C:\MCC18\src\traditional\proc\p18F4520.asm
+
+
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.mcp" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.mcp"
new file mode 100644
index 00000000..c05631e5
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.mcp"
@@ -0,0 +1,54 @@
+[HEADER]
+magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
+file_version=1.0
+device=PIC18F4520
+[PATH_INFO]
+BuildDirPolicy=BuildDirIsProjectDir
+dir_src=
+dir_bin=
+dir_tmp=
+dir_sin=
+dir_inc=C:\MCC18\h
+dir_lib=C:\MCC18\lib
+dir_lkr=
+[CAT_FILTERS]
+filter_src=*.asm;*.c
+filter_inc=*.h;*.inc
+filter_obj=*.o
+filter_lib=*.lib
+filter_lkr=*.lkr
+[CAT_SUBFOLDERS]
+subfolder_src=
+subfolder_inc=
+subfolder_obj=
+subfolder_lib=
+subfolder_lkr=
+[FILE_SUBFOLDERS]
+file_000=.
+file_001=.
+[GENERATED_FILES]
+file_000=no
+file_001=no
+[OTHER_FILES]
+file_000=no
+file_001=no
+[FILE_INFO]
+file_000=exemplo_13_6.c
+file_001=C:\MCC18\lkr\18f4520i.lkr
+[SUITE_INFO]
+suite_guid={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+suite_state=
+[TOOL_SETTINGS]
+TS{DD2213A8-6310-47B1-8376-9430CDFC013F}=
+TS{BFD27FBA-4A02-4C0E-A5E5-B812F3E7707C}=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof"
+TS{C2AF05E7-1416-4625-923D-E114DB6E2B96}=-k
+TS{ADE93A55-C7C7-4D4D-A4BA-59305F7D0391}=
+[INSTRUMENTED_TRACE]
+enable=0
+transport=0
+format=0
+[CUSTOM_BUILD]
+Pre-Build=
+Pre-BuildEnabled=1
+Post-Build=
+Post-BuildEnabled=1
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.mcs" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.mcs"
new file mode 100644
index 00000000..81bfc7aa
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.mcs"
@@ -0,0 +1,58 @@
+[Header]
+MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7}
+Version=1.0
+[File000]
+Location=C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.o
+Folder=Intermediary
+DeviceName=PIC18F4520
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644}
+LanguageToolLocation=C:\MCC18\bin\mcc18.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)|C:\MCC18\h||$(LIBDIR)|C:\MCC18\lib||$(LKRDIR)||
+SOLK=|exemplo_13_6.c|||||||C:\MCC18\lkr\18f4520i.lkr||
+SuiteArgsString=
+ToolArgsString=-k
+TraceCmdString=
+DebugOptions=-D__DEBUG -D__MPLAB_DEBUGGER_ICD2=1
+[File001]
+Location=C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.cof
+Folder=Output
+DeviceName=PIC18F4520
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\MCC18\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)|C:\MCC18\h||$(LIBDIR)|C:\MCC18\lib||$(LKRDIR)||
+SOLK=|exemplo_13_6.c|||||||C:\MCC18\lkr\18f4520i.lkr||
+SuiteArgsString=
+ToolArgsString=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof"
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1 /z__MPLAB_DEBUGGER_ICD2=1 /z__ICD2RAM=1
+[File002]
+Location=C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.hex
+Folder=Output
+DeviceName=PIC18F4520
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\MCC18\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)|C:\MCC18\h||$(LIBDIR)|C:\MCC18\lib||$(LKRDIR)||
+SOLK=|exemplo_13_6.c|||||||C:\MCC18\lkr\18f4520i.lkr||
+SuiteArgsString=
+ToolArgsString=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof"
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1 /z__MPLAB_DEBUGGER_ICD2=1 /z__ICD2RAM=1
+[File003]
+Location=C:\PIC18_Detalhado\Cap13\Exemplo13.6\Firmware\exemplo_13_6.map
+Folder=Output
+DeviceName=PIC18F4520
+LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416}
+LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C}
+LanguageToolLocation=C:\MCC18\bin\mplink.exe
+PPAD=$(BINDIR)||$(TMPDIR)||$(AINDIR)||$(INCDIR)|C:\MCC18\h||$(LIBDIR)|C:\MCC18\lib||$(LKRDIR)||
+SOLK=|exemplo_13_6.c|||||||C:\MCC18\lkr\18f4520i.lkr||
+SuiteArgsString=
+ToolArgsString=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof"
+TraceCmdString=
+DebugOptions=/z__MPLAB_DEBUG=1 /z__MPLAB_DEBUGGER_ICD2=1 /z__ICD2RAM=1
+[TOOL_LOC_STAMPS]
+tool_loc{96C98149-AA1B-4CF9-B967-FAE79CAB663C}=C:\MCC18\bin\mplink.exe
+tool_loc{E56A1C86-9D32-4DF6-8C34-FE0388B1B644}=C:\MCC18\bin\mcc18.exe
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.mcw" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.mcw"
new file mode 100644
index 00000000..fa2c5068
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.mcw" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.o" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.o"
new file mode 100644
index 00000000..9a8bc7a1
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/exemplo_13_6.o" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/meu_lcd16x2.c" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/meu_lcd16x2.c"
new file mode 100644
index 00000000..e582fdb2
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/meu_lcd16x2.c"
@@ -0,0 +1,227 @@
+//**************************************************************************
+//* Funes bsicas para mdulo LCD de caractere
+//* Autor: Fbio Pereira
+//* Para o livro PIC18 Detalhado: Hardware e Software
+//**************************************************************************
+
+// Os defines a seguir setam os pinos padro do display LCD
+#define LCD_ENABLE LATEbits.LATE1 // ENABLE no pino RE1
+#define LCD_RS LATEbits.LATE0 // R/S no pino RE0
+
+#define LCD_SEC_LINE 0x40 // Address of the second line of the LCD
+
+// LCD configuration constants
+#define CURSOR_ON 2
+#define CURSOR_OFF 0
+#define CURSOR_BLINK 1
+#define CURSOR_NOBLINK 0
+#define DISPLAY_ON 4
+#define DISPLAY_OFF 0
+#define DISPLAY_8X5 0
+#define DISPLAY_10X5 4
+#define _2_LINES 8
+#define _1_LINE 0
+
+#define FOSC_CLK 4000
+
+// Varivel global de configurao do display
+static char lcd_mode;
+
+//**************************************************************************
+//* Prottipos
+//**************************************************************************
+void LCD_send_nibble(char data);
+void LCD_send_byte(char address, char data);
+void LCD_init(char mode1, char mode2);
+void LCD_pos_xy(char x, char y);
+void LCD_write_char(char c);
+void LCD_write_string (char *c);
+void LCD_display_on(void);
+void LCD_display_off(void);
+void LCD_cursor_on(void);
+void LCD_cursor_off(void);
+void LCD_cursor_blink_on(void);
+void LCD_cursor_blink_off(void);
+
+//**************************************************************************
+//* Uma funo de atraso utilizada pelas funes do LCD
+//**************************************************************************
+//* Argumentos:
+//* unsigned char time: tempo aproximado em milisegundos
+//**************************************************************************
+void LCD_delay_ms (unsigned char time)
+{
+ unsigned char temp;
+ for(;time;time--) for(temp=(FOSC_CLK/20);temp;temp--);
+}
+
+//**************************************************************************
+//* Escreve um byte no LCD
+//**************************************************************************
+//* Argumentos:
+//* char address : 0 para comandos, 1 para dados
+//* char data : comando ou dado a ser escrito
+//**************************************************************************
+void LCD_send_byte(char address, char data)
+{
+ unsigned char temp;
+ LCD_RS = address; // configura linha R/S
+ LATD = data; // escreve o dado
+ LCD_ENABLE = 1; // habilita o display
+ for (temp=100; temp; temp--);
+ LCD_ENABLE = 0; // desabilita display
+ for (temp=100; temp; temp--);
+}
+
+
+//**************************************************************************
+//* Inicializao do LCD
+//**************************************************************************
+//* Argumentos de chamada:
+//* char mode1 : modo (nmero de linhas e tamanho do caractere)
+//* char mode2 : modo (cursor e estado do display)
+//**************************************************************************
+void LCD_init(char mode1, char mode2)
+{
+ char aux;
+ // configura os pinos de dados do LCD para zero
+ TRISD = 0;
+ TRISEbits.TRISE0 = 0;
+ TRISEbits.TRISE1 = 0;
+ LATD = 0;
+ LCD_RS = 0;
+ LCD_ENABLE = 0;
+ LCD_delay_ms(50);
+ // Sequencia de inicializao do LCD para 8 bits
+ // Envia trs vezes o valor 0x30
+ for(aux=0;aux<3;++aux)
+ {
+ LCD_send_byte(0,0x30);
+ LCD_delay_ms(5);
+ }
+ // Envia configurao
+ LCD_send_byte(0,0x30 | mode1);
+ LCD_send_byte(0,0x08);
+ LCD_send_byte(0,0x01);
+ LCD_send_byte(0,0x06);
+ LCD_send_byte(0,0x08 | mode2);
+ lcd_mode = 0x08 | mode2;
+}
+
+//**************************************************************************
+//* Configura a posio do cursor
+//**************************************************************************
+//* Argumentos de chamada:
+//* char x : coluna (comeando por 0)
+//* char y : linha (0 ou 1)
+//**************************************************************************
+void LCD_pos_xy(char x, char y)
+{
+ char address;
+ if (y) address = LCD_SEC_LINE; else address = 0;
+ address += x;
+ LCD_send_byte(0,0x80|address);
+}
+
+//**************************************************************************
+//* Escreve um caractere no display
+//**************************************************************************
+//* Argumentos de chamada:
+//* char c : caractere a ser escrito
+//**************************************************************************
+//* Notas :
+//* \f apaga o display
+//* \n e \r retornam o cursor para a linha 0 coluna 0
+//**************************************************************************
+void LCD_write_char(char c)
+{
+ switch (c)
+ {
+ case '\f' :
+ LCD_send_byte(0,1);
+ LCD_delay_ms(5);
+ break;
+ case '\n' :
+ case '\r' :
+ LCD_pos_xy(0,0);
+ break;
+ default:
+ LCD_send_byte(1,c);
+ }
+}
+
+//**************************************************************************
+//* Escreve uma string da memria de programa no display
+//**************************************************************************
+//* Argumentos de chamada:
+//* const rom char *c : ponteiro para a string na memria de programa
+//**************************************************************************
+void LCD_write_string_rom (const rom char *c)
+{
+ while (*c) LCD_write_char(*c++);
+}
+
+//**************************************************************************
+//* Escreve uma string no display
+//**************************************************************************
+//* Argumentos de chamada:
+//* char *c : ponteiro para a string
+//**************************************************************************
+void LCD_write_string (char *c)
+{
+ while (*c) LCD_write_char(*c++);
+}
+
+//**************************************************************************
+//* Liga o display
+//**************************************************************************
+void LCD_display_on(void)
+{
+ lcd_mode |= 4;
+ LCD_send_byte (0,lcd_mode);
+}
+
+//**************************************************************************
+//* Desliga o display
+//**************************************************************************
+void LCD_display_off(void)
+{
+ lcd_mode &= 0xFB;
+ LCD_send_byte (0,lcd_mode);
+}
+
+//**************************************************************************
+//* Liga o cursor
+//**************************************************************************
+void LCD_cursor_on(void)
+{
+ lcd_mode |= 2;
+ LCD_send_byte (0,lcd_mode);
+}
+
+//**************************************************************************
+//* Desliga o cursor
+//**************************************************************************
+void LCD_cursor_off(void)
+{
+ lcd_mode &= 0xFD;
+ LCD_send_byte (0,lcd_mode);
+}
+//**************************************************************************
+//* Liga o cursor piscante
+//**************************************************************************
+void LCD_cursor_blink_on(void)
+{
+ lcd_mode |= 1;
+ LCD_send_byte (0,lcd_mode);
+}
+
+//**************************************************************************
+//* Desliga o cursor piscante
+//**************************************************************************
+void LCD_cursor_blink_off(void)
+{
+ lcd_mode &= 0xFE;
+ LCD_send_byte (0,lcd_mode);
+}
+
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/pic_simb.h" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/pic_simb.h"
new file mode 100644
index 00000000..a542bb4e
--- /dev/null
+++ "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 21 - Exemplos de projetos/Exemplo13.6 - Controle de Velocidade de Motot DC/Firmware/pic_simb.h"
@@ -0,0 +1,370 @@
+//***************************************************************
+// Arquivo de smbolos utilizados no livro PIC18 Detalhado
+// Autor: Fbio Pereira
+//***************************************************************
+
+#define BIT7 0x80
+#define BIT6 0x40
+#define BIT5 0x20
+#define BIT4 0x10
+#define BIT3 0x08
+#define BIT2 0x04
+#define BIT1 0x02
+#define BIT0 0x01
+
+// INTCON
+
+#define bGIE BIT7
+#define bGIEH BIT7
+#define bPEIE BIT6
+#define bGIEL BIT6
+#define bTMR0IE BIT5
+#define bINT0IE BIT4
+#define bRBIE BIT3
+#define bTMR0IF BIT2
+#define bINT0IF BIT1
+#define bRBIF BIT0
+
+#define bNRBPU BIT7
+#define bINTEDG0 BIT6
+#define bINTEDG1 BIT5
+#define bINTEDG2 BIT4
+#define bTMR0IP BIT2
+#define bRBIO BIT0
+
+#define bINT2IP BIT7
+#define bINT1IP BIT6
+#define bINT2IE BIT4
+#define bINT1IE BIT3
+#define bINT2IF BIT1
+#define bINT1IF BIT0
+
+#define bPSPIF BIT7
+#define bADIF BIT6
+#define bRCIF BIT5
+#define bTXIF BIT4
+#define bSSPIF BIT3
+#define bCCP1IF BIT2
+#define bTMR2IF BIT1
+#define bTMR1IF BIT0
+
+#define bOSCFIF BIT7
+#define bCMIF BIT6
+#define bEEIF BIT4
+#define bBCLIF BIT3
+#define bLVDIF BIT2
+#define bTMR3IF BIT1
+#define bCCP2IF BIT0
+
+#define bPSPIE BIT7
+#define bADIE BIT6
+#define bRCIE BIT5
+#define bTXIE BIT4
+#define bSSPIE BIT3
+#define bCCP1IE BIT2
+#define bTMR2IE BIT1
+#define bTMR1IE BIT0
+
+#define bOSCFIE BIT7
+#define bCMIE BIT6
+#define bEEIE BIT4
+#define bBCLIE BIT3
+#define bLVDIE BIT2
+#define bTMR3IE BIT1
+#define bCCP2IE BIT0
+
+#define bPSPIP BIT7
+#define bADIP BIT6
+#define bRCIP BIT5
+#define bTXIP BIT4
+#define bSSPIP BIT3
+#define bCCP1IP BIT2
+#define bTMR2IP BIT1
+#define bTMR1IP BIT0
+
+#define bOSCFIP BIT7
+#define bCMIP BIT6
+#define bEEIP BIT4
+#define bBCLIP BIT3
+#define bLVDIP BIT2
+#define bTMR3IP BIT1
+#define bCCP2IP BIT0
+
+// RCON ********************
+
+#define bIPEN BIT7
+#define bSBOREN BIT6
+#define bNRI BIT4
+#define bNTO BIT3
+#define bNPD BIT2
+#define bNPOR BIT1
+#define bNBOR BIT0
+
+// WDTCON
+
+#define bSWDTEN BIT0
+
+// HLVDCON
+
+#define VDIRMAQ BIT7
+#define bIRVST BIT5
+#define bHLVDEN BIT4
+#define bHLVD2V17 0
+#define bHLVD2V23 1
+#define bHLVD2V36 2
+#define bHLVD2V44 3
+#define bHLVD2V60 4
+#define bHLVD2V79 5
+#define bHLVD2V89 6
+#define bHLVD3V12 7
+#define bHLVD3V39 8
+#define bHLVD3V55 9
+#define bHLVD3V71 10
+#define bHLVD3V90 11
+#define bHLVD4V11 12
+#define bHLVD4V33 13
+#define bHLVD4V59 14
+#define bHLVD_EXT 15
+
+// OSCCON **************
+
+#define bIDLEN BIT7
+#define bCLKINT_31k 0
+#define bCLKINT_125k BIT4
+#define bCLKINT_250k BIT5
+#define bCLKINT_500k (BIT5 | BIT4)
+#define bCLKINT_1M BIT6
+#define bCLKINT_2M (BIT6 | BIT4)
+#define bCLKINT_4M (BIT6 | BIT5)
+#define bCLKINT_8M (BIT6 | BIT5 | BIT4)
+#define bOSTS BIT3
+#define bIOFS BIT2
+#define bOSC_PRI 0
+#define bOSC_SEC 1
+#define bOSC_INT 3
+
+// OSCTUNE *************
+#define bINTSRC BIT7
+#define bPLLEN BIT6
+
+// T0CON ***************
+#define bTMR0ON BIT7
+#define bT08BIT BIT6
+#define bT0CS BIT5
+#define bT0SE BIT4
+#define bPSA BIT3
+#define bT0CLK_PRE2 0
+#define bT0CLK_PRE4 1
+#define bT0CLK_PRE8 2
+#define bT0CLK_PRE16 3
+#define bT0CLK_PRE32 4
+#define bT0CLK_PRE64 5
+#define bT0CLK_PRE128 6
+#define bT0CLK_PRE256 7
+
+// T1CON ***************
+#define bRD16 BIT7
+#define bT1RUN BIT6
+#define bT1CLK_PRE1 0
+#define bT1CLK_PRE2 BIT4
+#define bT1CLK_PRE4 BIT5
+#define bT1CLK_PRE8 (BIT5 | BIT4)
+#define bT1OSCEN BIT3
+#define bT1SYNC BIT2
+#define bT1CLK_EXT BIT1
+#define bTMR1ON BIT0
+
+// T2CON ***************
+#define bT2OUTPS_1 0
+#define bT2OUTPS_2 1<<3
+#define bT2OUTPS_3 2<<3
+#define bT2OUTPS_4 3<<3
+#define bT2OUTPS_5 4<<3
+#define bT2OUTPS_6 5<<3
+#define bT2OUTPS_7 6<<3
+#define bT2OUTPS_8 7<<3
+#define bT2OUTPS_9 8<<3
+#define bT2OUTPS_10 9<<3
+#define bT2OUTPS_11 10<<3
+#define bT2OUTPS_12 11<<3
+#define bT2OUTPS_13 12<<3
+#define bT2OUTPS_14 13<<3
+#define bT2OUTPS_15 14<<3
+#define bT2OUTPS_16 15<<3
+#define bTMR2ON BIT2
+#define bT2CLK_PRE1 0
+#define bT2CLK_PRE2 1
+#define bT2CLK_PRE4 2
+#define bT2CLK_PRE8 3
+
+// T3CON ***************
+#define bT3CLK_PRE1 0
+#define bT3CLK_PRE2 BIT4
+#define bT3CLK_PRE4 BIT5
+#define bT3CLK_PRE8 (BIT5 | BIT4)
+#define bT1CCP12 0
+#define bT1CCP1_T3CCP2 BIT3
+#define bT3CCP12 (BIT3 | BIT6)
+#define bT3SYNC BIT2
+#define bT3CLK_EXT BIT1
+#define bTMR3ON BIT0
+
+// CCP1CON *********************
+// CCP2CON *********************
+#define bECCP_PWM_SINGLE 0
+#define bECCP_PWM_FULL_FWD BIT6
+#define bECCP_PWM_HALF BIT7
+#define bECCP_PWM_FULL_REV (BIT7 | BIT6)
+#define bCCP_OFF 0
+#define bCCP_COMPARE_TOGGLE 2
+#define bCCP_CAPTURE_FALLING 4
+#define bCCP_CAPTURE_RISING 5
+#define bCCP_CAPTURE_4RISING 6
+#define bCCP_CAPTURE_16RISING 7
+#define bCCP_COMPARE_SET 8
+#define bCCP_COMPARE_RESET 9
+#define bCCP_COMPARE_INT 10
+#define bCCP_COMPARE_SPECIAL 11
+#define bCCP_PWM 12
+#define bECCP_PWM_ABCD_HIGH 12
+#define bECCP_PWM_AC_HIGH 13
+#define bECCP_PWM_BD_HIGH 14
+#define bECCP_PWM_LOW 15
+
+// PWM1CON *********************
+#define bPRSEN BIT7
+
+// ECCPAS **********************
+#define bECCPASE BIT7
+#define bAS_OFF 0
+#define bAS_CMP1 1<<4
+#define bAS_CMP2 2<<4
+#define bAS_CMP 3<<4
+#define bAS_INT0 4<<4
+#define bAS_INT0CMP1 5<<4
+#define bAS_INT0CMP2 6<<4
+#define bAS_INT0CMP 7<<4
+#define bAS_AC_LOW 0
+#define bAS_AC_HIGH BIT2
+#define bAS_AC_HIGHZ 3<<2
+#define bAS_BD_LOW 0
+#define bAS_BD_HIGH 1
+#define bAS_BD_HIGHZ 3
+
+// CVRCON *********************
+#define bCVREN BIT7
+#define bCVROE BIT6
+#define bCVRR BIT5
+#define bCVRSS BIT4
+
+// CMCON **********************
+#define bC2OUT BIT7
+#define bC1OUT BIT6
+#define bC2INV BIT5
+#define bC1INV BIT4
+#define bCIS BIT3
+
+// ADCON0 *********************
+#define bADC_CH0 0<<2
+#define bADC_CH1 1<<2
+#define bADC_CH2 2<<2
+#define bADC_CH3 3<<2
+#define bADC_CH4 4<<2
+#define bADC_CH5 5<<2
+#define bADC_CH6 6<<2
+#define bADC_CH7 7<<2
+#define bADC_CH8 8<<2
+#define bADC_CH9 9<<2
+#define bADC_CH10 10<<2
+#define bADC_CH11 11<<2
+#define bADC_CH12 12<<2
+#define bADC_GO BIT1
+#define bADC_ON BIT0
+
+// ADCON1 *********************
+#define bADC_EXT_NREF BIT5
+#define bADC_EXT_PREF BIT4
+
+//ADCON2 **********************
+#define bADFM BIT7
+#define bADC_ACQ0 0<<3
+#define bADC_ACQ2 1<<3
+#define bADC_ACQ4 2<<3
+#define bADC_ACQ6 3<<3
+#define bADC_ACQ8 4<<3
+#define bADC_ACQ12 5<<3
+#define bADC_ACQ16 6<<3
+#define bADC_ACQ20 7<<3
+#define bADC_CLK_DIV2 0
+#define bADC_CLK_DIV8 1
+#define bADC_CLK_DIV32 2
+#define bADC_CLK_RC 3
+#define bADC_CLK_DIV4 4
+#define bADC_CLK_DIV16 5
+#define bADC_CLK_DIV64 6
+
+// EECON1
+#define bEEPGD BIT7
+#define bCFGS BIT6
+#define bFREE BIT4
+#define bWRERR BIT3
+#define bWREN BIT2
+#define bWR BIT1
+#define bRD BIT0
+
+// TXSTA
+#define bCSRC BIT7
+#define bTX9 BIT6
+#define bTXEN BIT5
+#define bSYNC BIT4
+#define bSENDB BIT3
+#define bBRGH BIT2
+#define bTRMT BIT1
+#define bTX9D BIT0
+
+// RCSTA
+#define bSPEN BIT7
+#define bRX9 BIT6
+#define bSREN BIT5
+#define bCREN BIT4
+#define bADDEN BIT3
+#define bFERR BIT2
+#define bOERR BIT1
+#define bRX9D BIT0
+
+// BAUDCON
+#define bABDOVF BIT7
+#define bRCIDL BIT6
+#define bRXDTP BIT5
+#define bTXCKP BIT4
+#define bBRG16 BIT3
+#define bWUE BIT1
+#define bABDEN BIT0
+
+// SSPSTAT
+#define bSMP BIT7
+#define bCKE BIT6
+#define bDATA BIT5
+#define bSTOP BIT4
+#define bSTART BIT3
+#define bRW BIT2
+#define bUA BIT1
+#define bBF BIT0
+
+//SSPCON1
+#define bWCOL BIT7
+#define bSSPOV BIT6
+#define bSSPEN BIT5
+#define bCKP BIT4
+#define bSPI_MST_4 0
+#define bSPI_MST_16 1
+#define bSPI_MST_64 2
+#define bSPI_MST_TMR2 3
+#define bSPI_SLAVE_SS 4
+#define bSPI_SLAVE 5
+#define bI2C_SLV_ADD7 6
+#define bI2C_SLV_ADD10 7
+#define bI2C_MST_1 8
+#define bI2C_MST_2 11
+#define bI2C_SLV_ADD7I 14
+#define bI2C_SLV_ADD10I 15
\ No newline at end of file
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 7 - C.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 7 - C.pdf"
new file mode 100644
index 00000000..c37ec60a
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 7 - C.pdf" differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 9 - C.pdf" "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 9 - C.pdf"
new file mode 100644
index 00000000..db6cc2c9
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/Microcontroladores PIC 18F - Programa\303\247\303\243o em C/Aula 9 - C.pdf" differ
diff --git a/S04 - Microcontroladores e Microprocessadores/ccs_c_manual.pdf b/S04 - Microcontroladores e Microprocessadores/ccs_c_manual.pdf
new file mode 100644
index 00000000..d0b13c35
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/ccs_c_manual.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/curso__pic_cap1.pdf b/S04 - Microcontroladores e Microprocessadores/curso__pic_cap1.pdf
new file mode 100644
index 00000000..19eb57db
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/curso__pic_cap1.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/curso__pic_cap2.pdf b/S04 - Microcontroladores e Microprocessadores/curso__pic_cap2.pdf
new file mode 100644
index 00000000..29dfd388
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/curso__pic_cap2.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/curso__pic_cap3.pdf b/S04 - Microcontroladores e Microprocessadores/curso__pic_cap3.pdf
new file mode 100644
index 00000000..21e1debd
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/curso__pic_cap3.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/curso__pic_cap4.pdf b/S04 - Microcontroladores e Microprocessadores/curso__pic_cap4.pdf
new file mode 100644
index 00000000..70c30790
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/curso__pic_cap4.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/ledboto4.c b/S04 - Microcontroladores e Microprocessadores/ledboto4.c
new file mode 100644
index 00000000..d89bd07c
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/ledboto4.c
@@ -0,0 +1,81 @@
+
+ #include <16F871.h>
+ #use delay(clock=20000000)
+ #fuses HS,NOWDT,PUT,NOLVP
+/*********************************************************************
+* Configura modo de I/O inicia portas *
+* ( inicializao rpida *
+*********************************************************************/
+ #use fast_io(a)
+ #use fast_io(b)
+
+
+ #byte porta = 0x05
+ #byte portb = 0x06
+
+ #define chave input(pin_a0)
+ /*********************************************************************/
+
+ testa_bot(int cont)
+ {
+ int1 led;
+ if(chave)return cont;
+ delay_ms(5);
+ if(chave) return cont;
+ delay_ms(5);
+ while(!chave);
+ cont++ ;
+ return cont;
+ }
+
+
+
+
+ void liga_led(int n)
+ {
+ switch(n)
+ {
+ case 0: portb=0b00000000;
+ break;
+
+ case 1: portb = 0b00000001;
+ break;
+ case 2: portb = 0b00000010;
+
+ break;
+ case 3: portb = 0b00000100;
+ break;
+ default:
+ portb=0x00;
+
+ }
+
+ }
+
+ main()
+ { int n;
+
+ setup_adc_ports(no_analogs);
+
+ set_tris_a(0b00000001);
+ set_tris_b(0b00000000);
+
+ portb=0;
+ n = 0;
+
+
+ While(true)
+ {
+ while(chave);
+ delay_ms(5);
+ n = testa_bot(n);
+ liga_led(n);
+ delay_ms(10);
+ if(n==4)n=0;
+ }
+ }
+
+
+
+
+
diff --git a/S04 - Microcontroladores e Microprocessadores/pratica_led1.c b/S04 - Microcontroladores e Microprocessadores/pratica_led1.c
new file mode 100644
index 00000000..1868aa31
--- /dev/null
+++ b/S04 - Microcontroladores e Microprocessadores/pratica_led1.c
@@ -0,0 +1,54 @@
+ // Pisca Leds ligados nos pinos B0 e B1
+ #include <16F871.h>
+ #use delay(clock=20000000)// Ser usado um cristal de 20MHz para clock externo.
+
+ #define led0 pin_b0
+ #define led1 pin_b1
+
+
+/*********************************************************************
+* Configura modo de I/O, inicia portas *
+* ( inicializao rpida) *
+*********************************************************************/
+
+ #use fast_io(b)
+
+ #byte porta = 0x05
+ #byte portb = 0x06
+ #byte portc = 0x07
+
+
+main()
+{ int tempo;
+ tempo=250;
+
+
+ set_tris_b(0b00000000);// RB0 e RB1 configurados como sada.
+
+
+ portb = 0x00;
+
+
+
+
+
+
+ while (true)
+ {
+ output_high(led0);
+ output_low(led1);
+ delay_ms (tempo);
+ delay_ms (tempo);
+ delay_ms (tempo);
+ delay_ms (tempo);
+
+
+ output_low(led0);
+ output_high(led1);
+ delay_ms (tempo);
+ delay_ms (tempo);
+ delay_ms (tempo);
+ delay_ms (tempo);
+
+ }
+}
diff --git a/S04 - Microcontroladores e Microprocessadores/relatorios e provas passadas/prova 1.pdf b/S04 - Microcontroladores e Microprocessadores/relatorios e provas passadas/prova 1.pdf
new file mode 100644
index 00000000..239c428d
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/relatorios e provas passadas/prova 1.pdf differ
diff --git a/S04 - Microcontroladores e Microprocessadores/relatorios e provas passadas/prova 2.pdf b/S04 - Microcontroladores e Microprocessadores/relatorios e provas passadas/prova 2.pdf
new file mode 100644
index 00000000..8f4eb159
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/relatorios e provas passadas/prova 2.pdf differ
diff --git "a/S04 - Microcontroladores e Microprocessadores/relatorios e provas passadas/relatorio - pr\303\241tica 2.pdf" "b/S04 - Microcontroladores e Microprocessadores/relatorios e provas passadas/relatorio - pr\303\241tica 2.pdf"
new file mode 100644
index 00000000..c197bdf2
Binary files /dev/null and "b/S04 - Microcontroladores e Microprocessadores/relatorios e provas passadas/relatorio - pr\303\241tica 2.pdf" differ
diff --git a/S04 - Microcontroladores e Microprocessadores/relatorios e provas passadas/relatorio1.pdf b/S04 - Microcontroladores e Microprocessadores/relatorios e provas passadas/relatorio1.pdf
new file mode 100644
index 00000000..7c8d3d27
Binary files /dev/null and b/S04 - Microcontroladores e Microprocessadores/relatorios e provas passadas/relatorio1.pdf differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/2\302\272 Exercicio PeO.pdf" "b/S04 - Pesquisa e Ordena\303\247\303\243o/2\302\272 Exercicio PeO.pdf"
new file mode 100644
index 00000000..5f803d88
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/2\302\272 Exercicio PeO.pdf" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/Listas de PeO.pdf" "b/S04 - Pesquisa e Ordena\303\247\303\243o/Listas de PeO.pdf"
new file mode 100644
index 00000000..4c597aff
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/Listas de PeO.pdf" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/bubblesort.ipynb" "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/bubblesort.ipynb"
new file mode 100644
index 00000000..cc033edf
--- /dev/null
+++ "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/bubblesort.ipynb"
@@ -0,0 +1,431 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "collapsed_sections": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Implementação BubbleSort - Felipe Alves de Sousa\n",
+ " \n"
+ ],
+ "metadata": {
+ "id": "oa7rR3vjb3zF"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Nessa tecnica, fazemos uma comparação dois a dois dos elementos, se o elemento anterior for maior que o elemento seguinte, é feita a troca desses elementos e sera feita uma nova comparação com os proximos elementos\n"
+ ],
+ "metadata": {
+ "id": "sOqC8Rn1niqE"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Primeiro importaremos as bibliotecas "
+ ],
+ "metadata": {
+ "id": "C2oHGfZOWqsN"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "id": "LUZgcyOavKNF"
+ },
+ "outputs": [],
+ "source": [
+ "#Importacao das bibliotecas utilizadas\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "from time import perf_counter"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Aqui implementei a minha versao do Bubble Sort"
+ ],
+ "metadata": {
+ "id": "szHQR7m2W05G"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def BubbleSort(lista):\n",
+ " #Variaveis auxiliares\n",
+ " aux=0\n",
+ " troca=True\n",
+ " x=0\n",
+ " tamanho=len(lista)-1\n",
+ "\n",
+ " while troca==True:\n",
+ " troca=False\n",
+ " #Utilizarei um for para percorrer a lista\n",
+ " for x in range (tamanho):\n",
+ " #Depois vamos fazer as comparaçoes dois a dois\n",
+ " if lista[x] > lista[x+1]:\n",
+ " lista[x+1],lista[x]=lista[x],lista[x+1]\n",
+ " troca=troca+1\n",
+ " troca=True\n",
+ " #Podemos otimizar o algoritmo diminuindo o numero de comparaçoes a cada iteracao do for\n",
+ " tamanho=tamanho-1\n",
+ " \n",
+ " \n"
+ ],
+ "metadata": {
+ "id": "0ivCngiRqW28"
+ },
+ "execution_count": 32,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Testando a funcionalidade\n",
+ "teste=np.array([4,5,6,10,20])\n",
+ "\n",
+ "for x in range (len(teste)):\n",
+ "\n",
+ " lista = np.random.randint(50,size=(teste[x]))\n",
+ "\n",
+ " print(\"LISTA ANTES DA ORDENACAO\",teste[x],\"elementos:\")\n",
+ " print(lista)\n",
+ "\n",
+ " BubbleSort(lista)\n",
+ "\n",
+ " print(\"LISTA DEPOIS DA ORDENACAO\",teste[x],\"elementos:\")\n",
+ " print(lista,\"\\n\")"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "MogXOukdis6Y",
+ "outputId": "b0c768a8-7fd7-4595-8164-2534cbf85660"
+ },
+ "execution_count": 33,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "LISTA ANTES DA ORDENACAO 4 elementos:\n",
+ "[39 14 6 30]\n",
+ "LISTA DEPOIS DA ORDENACAO 4 elementos:\n",
+ "[ 6 14 30 39] \n",
+ "\n",
+ "LISTA ANTES DA ORDENACAO 5 elementos:\n",
+ "[31 19 45 43 27]\n",
+ "LISTA DEPOIS DA ORDENACAO 5 elementos:\n",
+ "[19 27 31 43 45] \n",
+ "\n",
+ "LISTA ANTES DA ORDENACAO 6 elementos:\n",
+ "[47 27 26 28 28 44]\n",
+ "LISTA DEPOIS DA ORDENACAO 6 elementos:\n",
+ "[26 27 28 28 44 47] \n",
+ "\n",
+ "LISTA ANTES DA ORDENACAO 10 elementos:\n",
+ "[ 2 11 38 40 35 11 3 38 6 5]\n",
+ "LISTA DEPOIS DA ORDENACAO 10 elementos:\n",
+ "[ 2 3 5 6 11 11 35 38 38 40] \n",
+ "\n",
+ "LISTA ANTES DA ORDENACAO 20 elementos:\n",
+ "[43 22 6 34 0 45 27 46 39 22 10 29 47 42 6 22 45 2 13 17]\n",
+ "LISTA DEPOIS DA ORDENACAO 20 elementos:\n",
+ "[ 0 2 6 6 10 13 17 22 22 22 27 29 34 39 42 43 45 45 46 47] \n",
+ "\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Testes"
+ ],
+ "metadata": {
+ "id": "RAyV0Ckybi_B"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Agora vamo aos testes para os valores de 1k ate 15k de elementos quanto sera que o BubbleSort demora para executar ?"
+ ],
+ "metadata": {
+ "id": "QRfcPGUYW7UO"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Irei iniciar com array com os numeros de elementos que usaremos em cada teste\n",
+ "testes=np.array([1000,2000,3000,4000,5000,8000,11000,15000])\n",
+ "#Tambem irei criar um array para armazenar o resultado em segundos de cada teste\n",
+ "resultados=np.array([0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0])\n",
+ "\n",
+ "#Com esse for conseguiremos testar nosso BubbleSort com os valores de 1k ate 15k de elementos\n",
+ "for x in range (len(testes)):\n",
+ " #Primeiro iremos iniciar um vetor do tamanho da vez(indicado por testes[x])\n",
+ " lista = np.random.randint(2500,size=(testes[x]))\n",
+ "\n",
+ " #Temporizador \n",
+ " inicio = perf_counter()\n",
+ " BubbleSort(lista)\n",
+ " fim = perf_counter()\n",
+ "\n",
+ "\n",
+ " resultados[x]=fim-inicio\n",
+ " #O tempo sera armazenado em vetor na mesma posicao do teste que esta sendo feito\n",
+ " resultados[x]=round(resultados[x],2)\n",
+ "\n",
+ " print(\"Para \",testes[x],\" elementos foi gasto\",resultados[x],\"segundos\")"
+ ],
+ "metadata": {
+ "id": "WVZX7TOOptbY",
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "outputId": "c2f1bd5d-ff97-4aa7-ccd8-b864243bae93"
+ },
+ "execution_count": 34,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Para 1000 elementos foi gasto 0.3 segundos\n",
+ "Para 2000 elementos foi gasto 1.08 segundos\n",
+ "Para 3000 elementos foi gasto 2.43 segundos\n",
+ "Para 4000 elementos foi gasto 4.42 segundos\n",
+ "Para 5000 elementos foi gasto 6.77 segundos\n",
+ "Para 8000 elementos foi gasto 17.25 segundos\n",
+ "Para 11000 elementos foi gasto 33.28 segundos\n",
+ "Para 15000 elementos foi gasto 59.61 segundos\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Plotando gráfico comparativo"
+ ],
+ "metadata": {
+ "id": "Xju4ybljuM36"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Por fim utilizarei o matplotlib para plotar um grafico com as comparações entre Nº de Elementos e Tempos necessario para executar o BubbleSort"
+ ],
+ "metadata": {
+ "id": "XdgtPJuluXv4"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "plt.plot(testes,resultados)\n",
+ "plt.ylabel('Tempo(s)')\n",
+ "plt.xlabel('Nº de Elementos')\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "id": "dM0dJs1TcHJb",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 279
+ },
+ "outputId": "136e596b-abc5-4e23-c506-3f475815fcae"
+ },
+ "execution_count": 35,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Pior caso\n"
+ ],
+ "metadata": {
+ "id": "_yZSXO6Scomy"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "O pior caso desse algoritmo é quando ele é usado em uma lista inversamente ordenada, nesses casos a complexidade dele chega a O(x²).Vamos ver quanto tempo o BubbleSorte demora pra ordenar no pior caso"
+ ],
+ "metadata": {
+ "id": "_dEOq2oecsvA"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#O código sera bem parecido\n",
+ "testes=np.array([1000,2000,3000,4000,5000,8000,11000,15000])\n",
+ "resultados2=np.array([0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0])\n",
+ "\n",
+ "for x in range (len(testes)):\n",
+ " #Só que aqui iremos gerar uma lista ordenada e depois invertela\n",
+ " lista = np.arange(testes[x])\n",
+ " listaInversa = lista[::-1]\n",
+ "\n",
+ " \n",
+ " inicio = perf_counter()\n",
+ " BubbleSort(listaInversa)\n",
+ " fim = perf_counter()\n",
+ "\n",
+ "\n",
+ " resultados2[x]=fim-inicio\n",
+ " resultados2[x]=round(resultados2[x],2)\n",
+ "\n",
+ " print(\"Para \",testes[x],\" elementos foi gasto\",resultados2[x],\"segundos\")"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "r9OiTRAxcudU",
+ "outputId": "df68bf3c-c7a9-43b3-e903-946e3a841c4b"
+ },
+ "execution_count": 36,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Para 1000 elementos foi gasto 0.41 segundos\n",
+ "Para 2000 elementos foi gasto 1.57 segundos\n",
+ "Para 3000 elementos foi gasto 3.62 segundos\n",
+ "Para 4000 elementos foi gasto 6.41 segundos\n",
+ "Para 5000 elementos foi gasto 9.96 segundos\n",
+ "Para 8000 elementos foi gasto 25.49 segundos\n",
+ "Para 11000 elementos foi gasto 46.83 segundos\n",
+ "Para 15000 elementos foi gasto 88.49 segundos\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Vamos agora ver o gráfico do pior caso"
+ ],
+ "metadata": {
+ "id": "niHHwWdVfumm"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "plt.plot(testes,resultados2)\n",
+ "plt.ylabel('Tempo(s)')\n",
+ "plt.xlabel('Nº de Elementos')\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 279
+ },
+ "id": "B4CvezvrftbC",
+ "outputId": "29c3f035-de35-4ad1-b496-49edd7fb9388"
+ },
+ "execution_count": 37,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Comparativo entre Pior Caso e listas com números aleatórios"
+ ],
+ "metadata": {
+ "id": "ZzvMsVJrpBlj"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "x = testes\n",
+ "\n",
+ "plt.plot(x, resultados, label='Números Aleatórios')\n",
+ "plt.plot(x, resultados2, label='Pior Caso(Lista Invertida)') \n",
+ "plt.ylabel('Tempo(s)')\n",
+ "plt.xlabel('Nº de Elementos')\n",
+ "plt.title(\"Bubble Sort\")\n",
+ "plt.legend();\n",
+ "\n"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 295
+ },
+ "id": "Cldk1mKFl4nT",
+ "outputId": "e98eb77c-8958-4acc-eb32-b00d61e38960"
+ },
+ "execution_count": 54,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/bubblesort.png" "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/bubblesort.png"
new file mode 100644
index 00000000..a511c376
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/bubblesort.png" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/countingsort.ipynb" "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/countingsort.ipynb"
new file mode 100644
index 00000000..354bbe85
--- /dev/null
+++ "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/countingsort.ipynb"
@@ -0,0 +1,441 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Implementação CountingSort - Felipe Alves de Sousa\n",
+ " \n"
+ ],
+ "metadata": {
+ "id": "oa7rR3vjb3zF"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Primeiro importaremos as bibliotecas "
+ ],
+ "metadata": {
+ "id": "C2oHGfZOWqsN"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "LUZgcyOavKNF"
+ },
+ "outputs": [],
+ "source": [
+ "#Importacao das bibliotecas utilizadas\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "from time import perf_counter"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Aqui implementei a minha versao do Counting Sort"
+ ],
+ "metadata": {
+ "id": "szHQR7m2W05G"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def countingSort(lista):\n",
+ " tam = len(lista)\n",
+ " listaOrdenada = [0] * tam\n",
+ "\n",
+ " # Inicializa o vetor contador\n",
+ " contador = [0] * 10\n",
+ "\n",
+ " # Armazena a contagem de cada elemento na lista contador\n",
+ " for i in range(0, tam):\n",
+ " contador[lista[i]] += 1\n",
+ "\n",
+ " # Armazena a contagem acumulativa na lista contador\n",
+ " for i in range(1, 10):\n",
+ " contador[i] += contador[i - 1]\n",
+ "\n",
+ " # Acha o index de cada elemento da lista original no contador e coloca\n",
+ " # os elementos na listaOrdenada\n",
+ " i = tam - 1\n",
+ " while i >= 0:\n",
+ " listaOrdenada[contador[lista[i]] - 1] = lista[i]\n",
+ " contador[lista[i]] -= 1\n",
+ " i -= 1\n",
+ "\n",
+ " # Copia a listaOrdenada pra lista original\n",
+ " for i in range(0, tam):\n",
+ " lista[i] = listaOrdenada[i]\n"
+ ],
+ "metadata": {
+ "id": "0ivCngiRqW28"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Testando a funcionalidade\n",
+ "teste=np.array([4,5,6,10,20])\n",
+ "\n",
+ "for x in range (len(teste)):\n",
+ "\n",
+ " lista = np.random.randint(10,size=(teste[x]))\n",
+ "\n",
+ " print(\"LISTA ANTES DA ORDENACAO\",teste[x],\"elementos:\")\n",
+ " print(lista)\n",
+ "\n",
+ " countingSort(lista)\n",
+ "\n",
+ " print(\"LISTA DEPOIS DA ORDENACAO\",teste[x],\"elementos:\")\n",
+ " print(lista,\"\\n\")"
+ ],
+ "metadata": {
+ "id": "s1xws1K3Be9w",
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "outputId": "d701baea-773e-40c7-9d8f-df20f732b3a1"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "LISTA ANTES DA ORDENACAO 4 elementos:\n",
+ "[1 7 1 9]\n",
+ "LISTA DEPOIS DA ORDENACAO 4 elementos:\n",
+ "[1 1 7 9] \n",
+ "\n",
+ "LISTA ANTES DA ORDENACAO 5 elementos:\n",
+ "[4 4 6 5 7]\n",
+ "LISTA DEPOIS DA ORDENACAO 5 elementos:\n",
+ "[4 4 5 6 7] \n",
+ "\n",
+ "LISTA ANTES DA ORDENACAO 6 elementos:\n",
+ "[2 0 7 2 8 1]\n",
+ "LISTA DEPOIS DA ORDENACAO 6 elementos:\n",
+ "[0 1 2 2 7 8] \n",
+ "\n",
+ "LISTA ANTES DA ORDENACAO 10 elementos:\n",
+ "[1 7 1 7 2 2 4 2 7 6]\n",
+ "LISTA DEPOIS DA ORDENACAO 10 elementos:\n",
+ "[1 1 2 2 2 4 6 7 7 7] \n",
+ "\n",
+ "LISTA ANTES DA ORDENACAO 20 elementos:\n",
+ "[7 9 3 1 2 8 4 6 5 9 5 9 6 4 9 2 3 0 9 6]\n",
+ "LISTA DEPOIS DA ORDENACAO 20 elementos:\n",
+ "[0 1 2 2 3 3 4 4 5 5 6 6 6 7 8 9 9 9 9 9] \n",
+ "\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Testes"
+ ],
+ "metadata": {
+ "id": "RAyV0Ckybi_B"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Agora vamo aos testes para os valores de 1k ate 15k de elementos quanto sera que o CountingSort demora para executar ?"
+ ],
+ "metadata": {
+ "id": "QRfcPGUYW7UO"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Irei iniciar com array com os numeros de elementos que usaremos em cada teste\n",
+ "testes=np.array([10000,20000,30000,40000,50000,80000,100000])\n",
+ "#Tambem irei criar um array para armazenar o resultado em segundos de cada teste\n",
+ "resultados=np.array([0.0,0.0,0.0,0.0,0.0,0.0,0.0])\n",
+ "\n",
+ "#Com esse for conseguiremos testar nosso BubbleSort com os valores de 1k ate 15k de elementos\n",
+ "for x in range (len(testes)):\n",
+ " #Primeiro iremos iniciar um vetor do tamanho da vez(indicado por testes[x])\n",
+ " lista = np.random.randint(10,size=(testes[x]))\n",
+ "\n",
+ " #Temporizador \n",
+ " inicio = perf_counter()\n",
+ " countingSort(lista)\n",
+ " fim = perf_counter()\n",
+ "\n",
+ "\n",
+ " resultados[x]=fim-inicio\n",
+ " #O tempo sera armazenado em vetor na mesma posicao do teste que esta sendo feito\n",
+ " resultados[x]=round(resultados[x],5)\n",
+ "\n",
+ " print(\"Para \",testes[x],\" elementos foi gasto\",resultados[x],\"segundos\")"
+ ],
+ "metadata": {
+ "id": "WVZX7TOOptbY",
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "outputId": "5d3cf927-e7d0-451c-c972-f912101afe31"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Para 10000 elementos foi gasto 0.01312 segundos\n",
+ "Para 20000 elementos foi gasto 0.02608 segundos\n",
+ "Para 30000 elementos foi gasto 0.02935 segundos\n",
+ "Para 40000 elementos foi gasto 0.04542 segundos\n",
+ "Para 50000 elementos foi gasto 0.04955 segundos\n",
+ "Para 80000 elementos foi gasto 0.08098 segundos\n",
+ "Para 100000 elementos foi gasto 0.10652 segundos\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Plotando gráfico comparativo"
+ ],
+ "metadata": {
+ "id": "Xju4ybljuM36"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Por fim utilizarei o matplotlib para plotar um grafico com as comparações entre Nº de Elementos e Tempos necessario para executar o CountingSort"
+ ],
+ "metadata": {
+ "id": "XdgtPJuluXv4"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "plt.plot(testes,resultados)\n",
+ "plt.ylabel('Tempo(s)')\n",
+ "plt.xlabel('Nº de Elementos')\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "id": "dM0dJs1TcHJb",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 279
+ },
+ "outputId": "9138eb86-541b-4c25-f385-751a93d650ff"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Pior caso\n"
+ ],
+ "metadata": {
+ "id": "_yZSXO6Scomy"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "O pior caso desse algoritmo é quando o nosso vetor contador[] é muito grande"
+ ],
+ "metadata": {
+ "id": "_dEOq2oecsvA"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def countingSort2(lista):\n",
+ " tam = len(lista)\n",
+ " listaOrdenada = [0] * tam\n",
+ " #vamos aumentar o vetor contador\n",
+ " contador = [0] * 100000\n",
+ "\n",
+ " for i in range(0, tam):\n",
+ " contador[lista[i]] += 1\n",
+ " for i in range(1, 10):\n",
+ " contador[i] += contador[i - 1]\n",
+ " i = tam - 1\n",
+ " while i >= 0:\n",
+ " listaOrdenada[contador[lista[i]] - 1] = lista[i]\n",
+ " contador[lista[i]] -= 1\n",
+ " i -= 1\n",
+ " for i in range(0, tam):\n",
+ " lista[i] = listaOrdenada[i]\n",
+ "\n",
+ "\n",
+ "testes=np.array([10000,20000,30000,40000,50000,80000,100000])\n",
+ "resultados2=np.array([0.0,0.0,0.0,0.0,0.0,0.0,0.0])\n",
+ "\n",
+ "for x in range (len(testes)):\n",
+ " \n",
+ " listaPiorCaso = np.random.randint(100000,size=(testes[x]))\n",
+ " \n",
+ " inicio = perf_counter()\n",
+ " countingSort2(listaPiorCaso)\n",
+ " fim = perf_counter()\n",
+ "\n",
+ "\n",
+ " resultados2[x]=fim-inicio\n",
+ " resultados2[x]=round(resultados2[x],5)\n",
+ "\n",
+ " print(\"Para \",testes[x],\" elementos foi gasto\",resultados2[x],\"segundos\")"
+ ],
+ "metadata": {
+ "id": "r9OiTRAxcudU",
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "outputId": "a5d9001c-43e0-43d8-a2f7-b3bb85a87978"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Para 10000 elementos foi gasto 0.00902 segundos\n",
+ "Para 20000 elementos foi gasto 0.01904 segundos\n",
+ "Para 30000 elementos foi gasto 0.03388 segundos\n",
+ "Para 40000 elementos foi gasto 0.05386 segundos\n",
+ "Para 50000 elementos foi gasto 0.05604 segundos\n",
+ "Para 80000 elementos foi gasto 0.11242 segundos\n",
+ "Para 100000 elementos foi gasto 0.10319 segundos\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Vamos agora ver o gráfico do pior caso"
+ ],
+ "metadata": {
+ "id": "niHHwWdVfumm"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "plt.plot(testes,resultados2)\n",
+ "plt.ylabel('Tempo(s)')\n",
+ "plt.xlabel('Nº de Elementos')\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "id": "B4CvezvrftbC",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 279
+ },
+ "outputId": "5ddc4bad-d33b-4f25-e42e-a8a9c2b648a5"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Comparativo entre Pior Caso e listas com números aleatórios"
+ ],
+ "metadata": {
+ "id": "ZzvMsVJrpBlj"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "x = testes\n",
+ "\n",
+ "plt.plot(x, resultados, label='Números Aleatórios')\n",
+ "plt.plot(x, resultados2, label='Pior Caso(vetor contador muito grande)') \n",
+ "plt.ylabel('Tempo(s)')\n",
+ "plt.xlabel('Nº de Elementos')\n",
+ "plt.title(\"Counting Sort\")\n",
+ "plt.legend();\n",
+ "\n"
+ ],
+ "metadata": {
+ "id": "Cldk1mKFl4nT",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 295
+ },
+ "outputId": "9df2b252-04f2-4ed3-b023-be62e0389216"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEWCAYAAACXGLsWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd3gU5fbA8e9LEnoLvYbQpCahhCYdUUGkKV0pongvitguitdCRLGiNPEiPwURadIjoGChCiKhQ+gQklBDQjoh7fz+2GUNmEbIZlPO53nykJ15Z/bsJuzJzDtzjhERlFJKqfQUcnQASimlcj9NFkoppTKkyUIppVSGNFkopZTKkCYLpZRSGdJkoZRSKkOaLJTKRsaYjsaYE46OQ6nspslC5QvGmGHGGD9jTLQx5pIx5idjTIcceF4xxtS79VhEtotIAzs9VxNjzCZjTJgxJtwYs9cY88g97O+22JVKjyYLlecZY14BpgMfAJUBN+BLoK8j47KDH4FfgCpAJWA8EHm3OzHGOGdzXKoA0GSh8jRjTBlgMvC8iKwSkRgRSRCRH0VkgnVMEWPMdGPMRevXdGNMEeu6UcaYHXfs0/YXtzHmW2PMbGPMemNMlDFmtzGmrnXdNusmB61HNIONMV2MMcEp9hVgjPmPMeaQMSbCGLPMGFM0xfrXrEdCF40xz6T1174xpgJQG/g/EYm3fv0hIjtSjBljjDltPfLwNcZUu+M1PW+MOQWcSi32e/gxqAJAk4XK69oBRYHV6Yx5E2gLNAO8gNbAW3fxHEOAdwFX4DQwBUBEOlnXe4lISRFZlsb2g4AeWD7sPYFRAMaYHsArQHegHtAlnRhCrc/9vTGmnzGmcsqVxphuwIfW56oKnAeW3rGPfkAboPFdxK4UoMlC5X3lgWsikpjOmCeAySJyVURCsHzwD7+L51gtIn9Zn2MRlqRzN2aKyEURCcNyKunW9oOA+SJyVERiAZ+0diCWIm5dgQDgM+CSMWabMaa+dcgTwDwR2SciN4E3gHbGGPcUu/lQRMJE5MZdxq+UJguV54UCFTI4D18Ny1/at5y3Lsusyym+jwVK3sW26W1fDQhKsS7l9/8gIsEiMk5E6gK1gBjguxT7Op9ibDSW96Z6ZvevVHo0Wai8bhdwE8splrRcxPLheoubdRlYPnCL31phjKmS3QGm4xJQI8XjmpndUESCgNlAU+ui216jMaYElqOuCyk3y3KkqsDTZKHyNBGJAN4BZlvP5Rc3xrgYY3oaYz6xDlsCvGWMqWidKH4H+N667iDQxBjTzDrx7HOXIVwB6mQx/B+Ap4wxjYwxxYG30xpojHE1xrxrjKlnjClkfR2jgT+tQ5ZY99XMOnn/AbBbRALsFLsqYDRZqDxPRD7DMlH8FhCC5XTLOGCNdcj7gB9wCDgM7LMuQ0ROYrma6lfgFHDblVGZ4AMssN73MOgu4/4JmAlsxjJ5feuD/2Yqw+MBd2uckcAR67hR1n39iiXZrMRyxFIXy8S8XWJXBY/R5kdK5Q7GmEZYkkCRDCbslcpxemShlAMZY/pb7wNxBT4GftREoXIjTRZKOda/gKvAGSAJGOvYcJRKnZ6GUkoplSE9slBKKZWhfFNQrEKFCuLu7u7oMJRSKk/Zu3fvNRGpmNG4fJMs3N3d8fPzc3QYSimVpxhjzmc8Sk9DKaWUygRNFkoppTKkyUIppVSGNFkopZTKkCYLpZRSGdJkoZRSKkOaLJRSSmVIk4VSKm8JD4S//g+C90KS1lzMKfnmpjylVAEQHgjzekCktQFgkTLg3h5qd4Y6naFiQzDGsTHmU5oslFJ5Q9QV+K4vxEfDyB8hJgTOboVzW+HEBsuYEpWgdidL4qjdGVxrpb9PlWmaLJRSuV9sGCzsb0kYI9ZAzdaW5U0ft/x7/Tyc22ZJHGe3wpEVluWu7pbkUduaPEpmWAJJpUGThVIqd7sZBYsGQugpGPbD34kiJdda4DocWgwHEQg5bkkeZ7fC0bWw7zvLuEpNrEcdnaBWeyhaOmdfSx6Wb/pZeHt7ixYSVCqfSYiDxQMh4A8YvBAa9rr7fSQlwqWDlqOOc1sh8E9IjAPjBNVbWI86OkHNNuBSNPtfQy5njNkrIt4ZjtNkoZTKlZISYNlwOPkT9J8LXoOzZ78JcRD8l3W+Yxtc2AuSBM5FLQmjTmeo3QWqeoFT/j/5ktlkkf/fCaVU3pOcDGvGWhLFI1OzL1GA5eihdifLF0BcJJzf+fd8x2+Tgcl6pdUdNFkopXIXEdjwKhxeDg9MgtZj7Pt8RUtDgx6WL4DoEAjYplda3UGThVIq9xCBXyeB3zzo8DJ0fCXnYyhZ0XKVlV5pdRuds1BK5R7bpsLv74H309Drs9x32ufWlVa35jsCdsDNCMu6PHqllU5wK6Xylt1z4acJ4DEI+n8FhfJANSLblVZbLAkkaHeOX2l1+mo0Lk6GWuVLZGl7TRZKqbzjwBJY829o0AsGLQAnF0dHlDW3XWm1FS7sS+VKq85Qtdk9X2klIizbE8S7P/rTunY5FoxO5f6TTNCroZRSecOxH2Htc5YP0QHz8m6igDuutHo7jSutgCKlwb1Dlq+0iohN4I3Vh9hw+DId6lXgkwGe9nk9KWiyUEo5zpnfYcVoqN4ShizOfzfF2eFKq7/OhfHS0v1cjbrJxJ4NebZjHQoVsv/cjiYLpZRjBP4JS5+ACvfBE8uhSElHR2R/qV5ptfXv0iTpXGmVmJTMzN9P88Xvp3ArV5yVY+/Hq2bZHAtd5yyUUjnv0kH4tjeUqACjf4aSlRwdkePddqXVVuuVVpEAxJdvxKYb97E6vB6VPbrz38daU7JI9vytrxPcSqncKeQkzO9pmfQd/TOUrenoiHIn65VWx3b+SIT/rzST4xQ1Cdl+pZVOcCulcp/wQFjYzzKZO2KtJop0xCSCzy5nlu9rRXO3B5k5oBE1Y478feSxYxpsn2pJui1HQc+P7RqPJgulVM5I2bxo1HqoUM/REeVaRy5E8MKS/QSExjCuaz1e7F4fF6dCQBpXWpWrY/eYNFkopewvNsxyRHGreVEVD0dHlCslJwvf7DjHJxuPU6FkEZaMaUvbOuVTH3znlVZ2pslCKWVfN6Ng0QAIPZ128yLF1ag4Xv3hINtPXePhJpX5+HFPyhYv7OiwbOx6P70xpocx5oQx5rQxZmIq6zsZY/YZYxKNMQPuWDfSGHPK+jXSnnEqpewkIQ6WDIWLB2Dgt1C3q6MjypU2H79Kz+nb2RMQxpT+TZnzZMtclSjAjkcWxhgnYDbwIBAM7DHG+IqIf4phgcAo4D93bFsOmAR4AwLstW573V7xKqWyWVICLB8FAdstzYuy0uUun4tLSOLjn48z/48AGlYpxdKhbalfuZSjw0qVPU9DtQZOi8hZAGPMUqAvYEsWIhJgXZd8x7YPA7+ISJh1/S9AD2CJHeNVSmWX5CRY/W/7NC/KJ05fjeKFJQc4dimSUfe7M7FnQ4q6ODk6rDTZM1lUB4JSPA4G2tzDttXvHGSMeRZ4FsDNzS1rUSqlspcIrH/VcjdyTjQvymNEhCV/BTF53VGKF3Zm3ihvujWs7OiwMpSnJ7hFZC4wFyw35Tk4HKXUreZFe+c7rnlRLhYeG8/ElYf5+ailAODng7yoVDpv1MOyZ7K4AKS846aGdVlmt+1yx7ZbsiUqpZT9bP8M/pgBrZ6xHFUomz/PhvLysgOERN3kjZ4NGZNDBQCziz2TxR6gvjGmNpYP/yHAsExuuxH4wBjjan38EPBG9oeolMo2u+dautx5Doaen+a+LncOkpiUzIzfTjF782lqlS/Bqufux7NGzhUAzC52SxYikmiMGYflg98JmCciR40xkwE/EfE1xrQCVgOuQG9jzLsi0kREwowx72FJOACTb012K6VyoQNLLF3uGvSCvl/mjS53OSAoLJYXl+5nX2A4A1rW4N0+TSiRTQUAc5oWElRK3ZtjP8IPI8C9o+Wmu/zWkyKL1h64wFurjwAw5TEP+nhVc3BEqdNCgkop+7M1L/LOn82LsiD6ZiI+vkdZsTeYFm5lmTGkOTXLFXd0WPdMk4VSKmtszYsawBM/FIzmRRk4FBzO+CX7CQyLZXy3eox/oD7OTvnjlJwmC6XU3bt0EBYNgtLVYPgqKOaa8Tb5WHKy8H/bzzJ10wlbAcA2aRUAzKM0WSil7k7ISVj4GBQpBcPXFPgud1cj43jlh4PsOH2NHk2q8NHjHrmurlN20GShlMo8bV50m9+OXWHCikPExify4WMeDGlVE5NPLxnWZKGUypzbmhdtKNDNi+ISkvjop+N8uzOARlVLM2toM+pVyp0FALOLJgulVMZua160Fqo0dXREDnPqShQvLNnP8ctRPNXendd75O4CgNlFk4VSKn0pmxc9sRxqtnJ0RA4hIizaHch76/wpWcSZ+aNa0bVhwZmv0WShlEpbyuZFgxdCnS6OjsghrsfEM3HVITYevULH+hX4bJAXlUoVrHtKNFkopVJna160Ax4ruM2Ldp2xFAAMjbnJm4804ukOtfNUAcDsoslCKfVPKZsX9focPAc5OqIcl5CUzPRfT/LlljO4ly/BqhHt8ahRxtFhOYwmC6XU7URg/SuW5kXdfaDV046OKMcFhsby4rL97A8MZ2DLGvjk4QKA2aVgv3ql1O1E4Jd3YO+30OEVSwOjAmbtgQu8ufoIxsCsoc3pnUsLAOY0TRZKqb9tnwo7Z1qbF73j6GhyVPTNRN5Ze4RV+y7QspYr0wc3yxcFALOLJgullMXur+D39wtk86KDQeGMX7qfoLBYxj9Qn/Hd6uWbAoDZRZOFUgoOLIafXitwzYuSk4Wvtp3ls00nqFSqCEufbUfr2uUcHVaupMlCqYLO3xfWPg+1O8OAeeBUMD4WrkTG8coPB/jjdCiPeFThw/6elCnu4uiwcq2C8VuhlErd6d8KZPOiX/2vMGHFQeISkvnoMQ8G5+MCgNlFk4VSBdWt5kUVGxaY5kVxCUl8sOEY3+06T+OqpZk5tDn1KuX/150dNFkoVRBdOgiLBkKZ6gWmedHJK1G8sHg/J65EMbp9bV7v2YAizvm/AGB20WShVEFja15UukA0LxIRvt8dyPvr/ClV1Jn5T7Wia4P8/ZrtQZOFUgVJAWtedD0mntdWHuIX/yt0uq8inw30omKpIo4OK0/SZKFUQVHAmhftPHONl5cdICwmnrd6NWJ0+4JZADC7aLJQqiAoQM2LEpKSmfbLSf639Qy1y5fgm5GtaFq94BYAzC6aLJTK7wpQ86LA0FjGL93PgaBwBnvX5J3ejQt8AcDsou+iUvlZAWpetHp/MG+vOYox8MWw5jzqqQUAs5MmC6XyqwLSvCgqLoF31h5l9f4LeNdyZfqQZtRw1QKA2U2ThVL5UQFpXnQgKJzxS/YTfD2Wl7rXZ1xXLQBoL5oslMpvCkDzoqRkYc7WM0z75SSVSxdl2b/a0cpdCwDak11TsDGmhzHmhDHmtDFmYirrixhjllnX7zbGuFuXuxhjFhhjDhtjjhlj3rBnnErlGwWgedGF8Bs8+fVuPt14goebVGHD+I6aKHKA3Y4sjDFOwGzgQSAY2GOM8RUR/xTDngaui0g9Y8wQ4GNgMDAQKCIiHsaY4oC/MWaJiATYK16l8gVb86Ix+a55UVxCEl9vP8vszWcA+PhxDwZ5awHAnGLP01CtgdMichbAGLMU6AukTBZ9AR/r9yuAL4zlJy9ACWOMM1AMiAci7RirUnmfrXnREOj5Sb5qXvTbsStMXufP+dBYejatwpu9Gukkdg6zZ7KoDgSleBwMtElrjIgkGmMigPJYEkdf4BJQHHhZRMLufAJjzLPAswBubm7ZHb9Secet5kUNH4W+s/NN86KAazFMXufP78evUrdiCRY+3ZqO9Ss6OqwCKbdOcLcGkoBqgCuw3Rjz662jlFtEZC4wF8Db21tyPEqlcoNbzYvqdMk3zYti4xOZvfk0/7ftHIWdC/HmI40Yeb87hZ3zRxLMi+z5W3UBSFmlrIZ1WWpjgq2nnMoAocAw4GcRSQCuGmP+ALyBsyil/nZn8yLnvF0kT0TYcPgy76/351JEHI81r87Eng2pVLpgNGXKzeyZLPYA9Y0xtbEkhSFYkkBKvsBIYBcwAPhdRMQYEwh0AxYaY0oAbYHpdoxVqbzntuZFy6FwCUdHdE9OXoli0tqj7DobSuOqpZk1tDneepVTrmG3ZGGdgxgHbAScgHkictQYMxnwExFf4BssCeE0EIYloYDlKqr5xpijgAHmi8ghe8WqVJ5zW/Oi1VCsrKMjyrLIuASm/3KKBbsCKFnEmff6NWVYazectEJsrmJE8sepfm9vb/Hz83N0GErZX8hJmN8DXIrD6J+hTA1HR5QlycnCqv0X+OinY4TGxDO0tRv/eagB5UoUdnRoBYoxZq+IeGc0Lu/PhClVkFw/b+lJYZwspcbzaKI4HBzBO75H2B8YTnO3sswf1RqPGlpGPDfTZKFUXhF12ZIoEmIszYvK13V0RHctLCaeTzeeYOmeQMqXKMzUgV481ry6NiXKAzRZKJUXxIbBwv4QfTVPNi9KShYW7z7P1E0nib6ZyOj2tXmxe31KF3VxdGgqkzRZKJXb2ZoXncmTzYv8AsJ4Z+1R/C9F0q5Oed7t24T7KpdydFjqLmmyUCo3S7iRonnR91Cns6MjyrSrkXF89NNxVu2/QNUyRZk9rAWPeFTRWk55lCYLpXKr25oX/R80fMTREWVKfGIy3+48x8zfThOfmMy4rvV4rmtdihfWj5u8TH96SuVGyUmw+l9w8md4dBp4DnR0RJmy/VQIPr5HORMSQ7eGlXjn0ca4V8jbNwsqC00WSuU2tuZFK6H7u+A92tERZSj4eixT1h/jpyOXqVW+ON+M9OaBRpUdHZbKRposlMpNUjYv6vgqdHjJ0RGlKy4hibnbzvLlltMATHi4AU93qE1RFycHR6aymyYLpXKTlM2Lur3t6GjSJCL8euwqk9cdJSjsBr08qvLfXo2oXraYo0NTdqLJQqncIo80LzobEs27P/qz9WQI9SuVZPEzbbi/XgVHh6XsLMNkYYypBLTH0lviBnAESyHAZDvHplTBkQeaF8XcTOSLzaf5evtZijo78VYvS48JF6fcF6vKfmkmC2NMV2AiUA7YD1wFigL9gLrGmBXAZyKi7U6Vuhe5vHmRiPDjoUt8sP4YlyPjeLxFDV7v2YBKpbTHREGS3m/lI8AYEQm8c4W1UdGjwIPASjvFplT+l8ubFx2/HMmktUfZfS6MptVLM/uJFrSs5erosJQDpJksRGRCOusSgTV2iUipgiIXNy+KuJHAtF9OsvDP85Qq6syU/k0Z0kp7TBRkmZmzeBGYD0QBXwPNgYkissnOsSmVf+XS5kXJycKKvcF8/PNxrsfGM6yNG68+2ABX7TFR4GXm5OhoEZlhjHkYcAWGAwsBTRZKZUXISUsF2aJlLBVkS1Z0dEQAHAwK5x3foxwMCqdlLVcW9GlN0+raY0JZZCZZ3DrufARYaG2NqseiSmVFLmxeFBp9k083nmCZXxAVShbh80Fe9G9eXQv+qdtkJlnsNcZsAmoDbxhjSgF62axSdyuXNS9KTEpm0e5APtt0gtj4JJ7pUJvxD9SnlPaYUKnITLJ4GmgGnBWRWGNMeeAp+4alVD6Ty5oX/XUujHfWHuH45Sg61KuAT5/G1KukPSZU2tK7z8JdRAKsN9/tu7VcREKBUOupqOoiEpwDcSqVd+Wi5kVXIuP4YMMx1h64SPWyxfjfEy3o0VR7TKiMpXdk8akxphCwFtgLhGC5Ka8e0BV4AJgEaLJQKi25pHlRfGIy8/44x6zfTpGQLIzvVo+xXepRrLAW/FOZk959FgONMY2BJ4DRQFUs5T6OAeuBKSISlyNRKpUX5ZLmRVtPhvCu71HOXouhe6PKvPNoY9zKF3dILCrvSnfOQkT8gTdzKBal8o9c0LwoKCyW99b5s8n/CrUrlGD+U63o2qBSjseh8ofM3JTnAowFOlkXbQG+EpEEO8alVN4lAutedljzoriEJOZsPcP/tpyhkDG81sPSY6KIs55yUlmXmauh/ge4AF9aHw+3LnvGXkEplWeJwC9vw74FOd68SETYePQK76/3J/j6DXp7VeO/jzSkahntMaHuXWaSRSsR8Urx+HdjzEF7BaRUnrZtKuycBa2fzdHmRWdCovHxPcr2U9doULkUS8a0pV3d8jn2/Cr/y0yySDLG1BWRMwDGmDpAkn3DUioP+nMObH4fvIZCj49zpHlR9M1EZv12inl/nKOoixOTejdmeNtaOGuPCZXNMpMsJgCbjTFnsZT+qIXelKfU7fYvgp9ftzQv6vOF3ZsXiQi+By8yZf0xrkbdZJB3DV7r0ZAKJXNXiXOVf2SYLETkN2NMfaCBddEJEbmZmZ0bY3oAMwAn4GsR+eiO9UWA74CWQCgwWEQCrOs8ga+A0ljKi7TSS3VVruS/FnzHQZ2uOdK8yP9iJD6+R/krIAzPGmX4anhLmrtpjwllX5m5Gqoo8BzQARBguzFmTkYf3MYYJ2A2lgZJwcAeY4yv9XLcW54GrotIPWPMEOBjYLC1udL3wHAROWgtMaJXX6nc5/SvsOJpqNEKhiyya/OiiNgEPvvlBN//eZ4yxVz46DEPBnnXpJD2mFA5IDN/An2HpZfFLOvjYVhKlGd04Xhr4LSInAUwxiwF+gIpk0VfwMf6/QrgC2sZkYeAQyJyEGwlRpTKXc7vgqVPQqWGMOwHuzUvSk4WfvAL4pONJwiPjefJtrV45cH7KFtce0yonJOZZNFURBqneLzZGOOf5ui/VQeCUjwOBtqkNUZEEo0xEUB54D5AjDEbgYrAUhH55M4nMMY8CzwL4ObmlomQlMomFw/A4kGWEuNP2q950YGgcCatPcLB4Ahaubvybp82NK5W2i7PpVR6MpMs9hlj2orInwDGmDaAn33DwhnLaa9WQCzwmzFmr4j8lnKQiMwF5gJ4e3uLnWNSyiLkJHz/mLV50Rq7NC+6Fn2TT34+zg9+wVQqVYQZQ5rRx6uaFvxTDpOZZNES2GmMCbQ+dgNOGGMOAyIinmlsdwGomeJxDeuy1MYEW+cpymCZ6A4GtonINQBjzAagBfAbSjmSnZsXJSYls/DP83z+y0luxCfxr051eOGB+pQsYt9Jc6UykpnfwB5Z3PceoL4xpjaWpDAEy3xHSr7ASGAXMAD4XURunX56zRhTHIgHOgPTshiHUtnD1rwoFp7K/uZFu86E4uN7lBNXouhYvwKTejehXqWS2focSmVVZi6dPW+MccVyBOCcYvm+tLeyzUGMAzZiuXR2nrUl62TAT0R8gW+AhcaY00AYloSCiFw3xnyOJeEIsEFE1mfpFSqVHVI2LxrpC5WbZNuuL0Xc4IMNx/nxoKXHxFfDW/JQ48p6yknlKkYk/VP9xpj3gFHAGSwf3GA5/dTNvqHdHW9vb/Hzs/dUiiqQbkZZjiguH4EnV0DtThlvk5ndJibxzY5zfPH7aZKShX93rsvYLnUp6qIF/1TOsc4He2c0LjOnoQYBdUUk/t7DUiqPudW86NJBS/OibEoUm09cZfKP/py7FsNDjSvz9qONqVlOe0yo3CszyeIIUBa4audYlHIcEbhxHcLPQ3gghAdZ/g3abUkUj38NDXre89MEhsYyeZ0/vx67Qp0KJVgwujWd78v+q6mUym6ZSRYfAvuNMUcAW5kPEeljt6iUym4iEBNiTQTWr4ig2xNDQszt2xQuBWXdoN//wGPAPT39jfgk/rflNHO2ncW5kGFiz4aMbl+bws5a8E/lDZlJFguwlOE4jKVGk1K5T3IyRF/++4M//PztySAiCBLvqFBTzBXK1LRc1VS3qyUxlKlp+bdsTSha9p4rx4oIPx+5zPvrj3Eh/AZ9m1XjjZ6NqFKm6D3tV6mclplkESsiM+0eiVLpSUqEqIt/J4OIIOspI+vjyAuQdMe0WvEKlg/+yo2hQQ8o42ZNBNZkUKSUXUM+fTUKH19/dpy+RsMqpVj2bFva1NEeEypvykyy2G6M+RDLPREpT0Ole+msUvfk5EY4uubvU0aRF0DuaKNSsorlQ796C2jc15oEalmWlalht1pNGYmKS2Dmb6eY/0cAxQs78W6fJjzRxk17TKg8LTPJorn137YplgmQqy6dVfnIyY2WK5CKl4Py9cCt7e1HBGVrQenq4JK7TuWICGsOXOCDDce5Fn2Twd41mfBwA8prjwmVD2TmpryuORGIUgBc2AvLR0EVDxi1HorkjTuYj1yIwMf3KH7nr+NVsyxfj/DGq6Z9igsq5QiZ6WdRGfgAqCYiPY0xjYF2IvKN3aNTBUvYWVg0CEpUhCeW54lEER4bz9RNJ1i8OxDX4oX55HFPBrSsoT0mVL6TmdNQ3wLzgTetj08Cy7CU6lAqe8Rcg+8fB0mGJ1dByUqOjihdScnC0j2BTN14gogbCYxo587LD95HmWIujg5NKbtIM1kYY5xFJBGoICI/GGPeAFvNp6S0tlPqrsXHwuLBEHkRRv4IFeo5OqJ07T1/nUm+RzhyIZLWtcvxbp8mNKqqPSZU/pbekcVfWMqCx1jbmgqAMaYtEJEDsamCICkRVj4NF/fBoIVQs7WjI0rT1ag4Pv7pBCv3BVO5dBFmDm1Ob8+qWvBPFQjpJYtb/wNewXLZbF1jzB9YOtfd2+2sSoHlruqfXoMTG+CRqdDoUUdHlKqEpGQW7Axgxq+niEtMYmyXuozrWo8S2mNCFSDp/bZXNMa8Yv1+NbABSwK5CXQHDtk5NpXf7fgc/L6BDi9D6zGOjuYfYm4msvNMKJ/8fJxTV6PpfF9FJvVuTJ2KuX/iXansll6ycAJK8vcRxi1aGlPdu4NL4bfJ4DEIur3j6GgAuBIZh1/AdfYEhLH3/HX8L0WSlCzULFeM/xvhTfdGlfSUkyqw0ksWl0Rkco5FogqOM7/D2uehdmfoOxsK5fydzcnJwpmQaPYEXMcvIAy/89cJDIsFoKhLIZrXdOW5LnVpWcuVtnXKa48JVeBlZs5Cqexz6RAsGwEVG8LgheBcOEee9mZiEoeDI2zJYW/gdcJjEwCoULIw3rXKMaJdLbzdywcD064AACAASURBVNGkWmlctDSHUrdJL1k8kGNRqIIhPBAWDYSiZSw33RUtY7+nio1n7/nr7Am4zt7zYRwMjiA+0VI0uU7FEjzcuAot3V1p5V4O9/LF9fSSUhlIM1mISFhOBqLyuRvX4fsBls5zT2+E0tWybdciQvD1G+wJCLMdOZy6Gg2AcyGDR40yjLQeNXjXctVaTUplgV77p+wvIQ6WDIPr52D4aqjU6J52l5iUzPHLUewJCLNNSF+NshRELlXEmZburvRtVg1v93J41ShLscI636DUvdJkoewrORlW/wsCd8KAeeDe4a53EXMzkQNB4bbksD/wOjHxliIC1csWo13d8njXcsXbvRz3VS6Fk9ZlUirbabJQ9rXpLfBfAw9NgaaPZ3qzg0HhrDlwAb+Avy9hNQYaVinNYy1q4O1uSQ7VyxazY/BKqVs0WSj72TUb/pwNbcZCu+czvdm6Qxd5edkBnAoZmtUsy9jOdfF2d6VFLVdKF9VCfUo5giYLZR9HVsHG/1o62D38QaZ7WS/YGYDPj0fxruXK1yNaUaa4JgelcgNNFir7Bfxhmadwawf952bqpjsR4fNfTjLr99N0b1SZL4Y11xvhlMpFNFmo7HX1GCwdCq61YcjiTLU+TUxK5q01R1i6J4jB3jWZ0r+p9qtWKpfRZKGyT+RFy70UzsXgyRWWHtoZiEtIYvyS/Wzyv8LzXevyn4ca6A1ySuVCmixU9oiLtNydHRcOT/0EZd0y3CTiRgJjvvPjr3NhTOrdmKfa186BQJVSWaHJQt27xHhY9iSEHLeU8ajqmeEmVyLjGDnvL86ERDNzaHP6eGXfHd1KqeynyULdGxHwHQfntkK/OVC3W4abnA2JZsS8vwiLiWfeqFZ0rF8xBwJVSt0Lu84iGmN6GGNOGGNOG2MmprK+iDFmmXX9bmOM+x3r3Ywx0caY/9gzTnUPfpsMh5ZBt7eg2dAMhx8MCmfAnF3Exiex9Nm2miiUyiPsliyMMU7AbKAn0BgYaoxpfMewp4HrIlIPmAZ8fMf6z4Gf7BWjukd7vrZ0u2v5FHTMOJ9vPxXC0P/7k+KFnVjx73Z41iibA0EqpbKDPY8sWgOnReSsiMQDS4G+d4zpCyywfr8CeMBYL4UxxvQDzgFH7Rijyqrj62HDBLivp6V/dgZXMPkevMjob/fgVq44K8fer61Jlcpj7JksqgNBKR4HW5elOkZEEoEIoLwxpiTwOvBuek9gjHnWGONnjPELCQnJtsBVBoL+ghWjoVpzGPANOKU/9TX/j3OMX7Kf5jVdWfavdlQunfG9F0qp3CW33vnkA0wTkej0BonIXBHxFhHvihX13HeOuHYaFg+29KMY9gMULpHmUBHh043HefdHfx5qXJnvnm5NmWJavkOpvMieV0NdAGqmeFzDuiy1McHGGGegDBAKtAEGGGM+AcoCycaYOBH5wo7xqoxEX4XvHwNTCJ5cCSUqpDk0MSmZN1cfYZlfEENb1+S9vnpXtlJ5mT2TxR6gvjGmNpakMAQYdscYX2AksAsYAPwuIgJ0vDXAGOMDRGuicLCb0Zab7mJCYOQ6KFcnzaFxCUmMW7yfX49dYXy3erz84H16V7ZSeZzdkoWIJBpjxgEbASdgnogcNcZMBvxExBf4BlhojDkNhGFJKCq3SUqEFU/B5UMwZAnUaJnm0IjYBJ75bg9+56/zbp8mjLzfPefiVErZjbH8IZ/3eXt7i5+fn6PDyH9EwPcF2L8QHp0O3k+lOfRKZBwjvvmLs9ei+XxQM3rrXdlK5XrGmL0i4p3ROL2DW6Vv6yeWRNFpQrqJ4kxINCO++Yvw2Hjmj2pNh/ppz2copfIeTRYqbfsWwpYPoNkT0PXNNIcdCArnqfl/UcgYlj7bDo8aZXIwSKVUTtBkoVJ36hf48UVLrafeM9K86W7byRD+/f1eypcszHej21C7QtqX0iql8i5NFuqfLu6HH0ZC5SYw6DtwSv3eiLUHLvDqDwepX7kUC55qRSW92U6pfEuThbpd2DlYNAiKl7eUGy9SKtVh83acY/I6f9rULsf/jfSmdFG92U6p/EyThfpb0B5YOgyS4mHUeihV5R9DRIRPNp7gf1vO0KNJFaYPaaa9spUqADRZKIvDK2DNc1C6KgxbBxXv+8eQxKRk3lh1mOV7gxna2o33+zXFqZDebKdUQaDJoqBLToatH8HWj6FWexi0EEqU/8ewG/FJvLBkH78eu8r4B+rzcvf6ele2UgWIJouCLD4W1j4HR1dDsyfh0WngXPgfwyJiE3h6wR72Bl7nvb5NGN7OPedjVUo5lCaLgirykmV+4uJ+ePA9uP+FVC+PvRwRx4h5uwm4FsvsYS14xKOqA4JVSjmaJouC6OIBWDIU4iJgyGJo+Eiqw05fjWbkvL+IuJHAt0+14v56ele2UgWVJouCxt8XVv8LipWDpzdCFY9Uh+0PvM7ob/fgVMiw9Nm2NK2ud2UrVZBpsigoRCz9sn+bDDVaweBFUKpyqkO3nLjK2O/3UbFUEb4b3Rp3vStbqQJPk0VBkHjTUrrj4BJoOgD6zgaXv++2jo1P5PjlKPwvRnL0YgTL/YK5r3Ipvh3dikql9K5spZQmi/wvOgSWPQlBfyJd/svlZi/gfzqCY5eCOHYpCv9LkQSExnCrUn2pos483KQKHz7uoXdlK6VsNFnkU/GJyQQe96Pq+lEUvnmN2a5v8u22ZoT/vNk2xq1ccRpVLUW/ZtVpVLUUjaqWpoZrMb1/Qin1D5os8oGwmHiOXYrk2KVI/C9G4n8pkhrXtjPNaRbRFOH55HdIcG5Oz6aWhNCoamkaVilFKT1yUEplkiaLPCQpWQgIjbElBUuCiOJyZJxtTOVShXmx5K8McZ5LVJkGxPb9jmXu9bUsh1LqnmiyyKWibyZy4vKtI4Uojl2K5MTlKG4kJAHgXMhQr1JJ2tUtT2Pr0UKjSkUpv/W/sG8BNOpNmf5fUaawXsmklLp3mixyiZComyzbE8hR6xFDQGisbV2ZYi40rlqaoa3dbHML9SuXpIhzimqvsWHwwxAI2A4dX4Wub0GhQg54JUqp/EiTRS6w7WQIr/xwgNCYeNzLl6BxtdI83qIGjatZjhiqlima/qTztVOweDBEBEH/r8BrSM4Fr5QqEDRZOFBCUjKfbTrJnK1nuK9ySRY905YGVVJvNpSmM5th+Ugo5AIjfwS3tvYJVilVoGmycJCgsFheWLKfA0HhDGvjxtu9GlOs8F02EdrzDWyYABUbwNCl4FrLPsEqpQo8TRYOsO7QRd5YeRgMfPlEFiq5JiXCpjdh9xyo/zA8/jUULW2fYJVSCk0WOepGfBKT1x1lyV9BtHAry4whzalZrvjd7SQuAlaMhtO/Qtvn4aH3oJC2NVVK2Zcmixxy/HIkLyzez+mQaJ7rUpeXH7wPF6e7vFop7BwsGQKhp6H3DGg5yi6xZkVCQgLBwcHExcVlPFgpleOKFi1KjRo1cHHJ2s24mizsTERYtDuQ99b5U6qoCwtHt6FD/Sz0hTi/01LjKTkJhq+G2p2yP9h7EBwcTKlSpXB3d9dyIUrlMiJCaGgowcHB1K5dO0v70GRhRxGxCUxcdYifjlym030V+WygFxVLFbn7He1fZKka61oLhv0A5etmf7D3KC4uThOFUrmUMYby5csTEhKS5X1osrCTveevM37Jfq5ExvHfRxryTIc6FLrbkhvJyfCbD/wxA2p3hkELoJirXeLNDpoolMq97vX/p11v8TXG9DDGnDDGnDbGTExlfRFjzDLr+t3GGHfr8geNMXuNMYet/3azZ5zZKSlZmL35NIO+2oVTIcOKsffzbKe6d58obkZbTjv9MQO8R8OTK3N1oshLZs+eTXR0tKPDcLivv/6asLAwR4eh8gi7JQtjjBMwG+gJNAaGGmMa3zHsaeC6iNQDpgEfW5dfA3qLiAcwElhorziz09XIOEbM282nG0/Qs2kV1o3vQLOaZe9+RxHBMK8HnPwJen4CvT4HJ60QmxFjDK+++qrt8dSpU/Hx8bltzPfff09oaCglS5bM4egyZ/r06RQtWpSIiAjbsi1btvDoo49maX8BAQEsXrz4H8s//vhjihUrRrly5VLd7uLFiwwYMCBLz6nyJ3seWbQGTovIWRGJB5YCfe8Y0xdYYP1+BfCAMcaIyH4RuWhdfhQoZozJwsn+nLPlxFV6ztjO3vPX+fhxD2YNbZ615kHBe+H/ukH4eRi2HNr8C/T0TqYUKVKEVatWce3atTTHJCUl8fbbb9vl+RMTE+95H0uWLKFVq1asWrUqGyJKO1m8/vrrPPHEE6luk5iYSLVq1VixYkW2xKDyB3vOWVQHglI8DgbapDVGRBKNMRFAeSxHFrc8DuwTkZt3PoEx5lngWQA3N7fsi/wuxCcmM3XTCeZuO0vDKqVYNqwt9SrdZcmOWw6vgLXPQ8nKMMIXKjXM3mBzyLs/HsX/YmS27rNxtdJM6t0k3THOzs48++yzTJs2jSlTpty2btSoUTz66KOMHDkSgJIlSxIdHc2WLVuYNGkSZcuW5fDhwwwaNAgPDw9mzJjBjRs3WLNmDXXr1iUkJIR///vfBAYGApYjgPbt2+Pj48OZM2c4e/Ysbm5ufPjhh4wePZpr165RsWJF5s+fj5ubG8uXL+fdd9/FycmJMmXKsG3btn/Ef+bMGaKjo/nyyy+ZMmUKTz311D/GxMTE8MILL3DkyBESEhLw8fGhb9++BAQEMHz4cGJiYgD44osvuP/++5k4cSLHjh2jWbNmjBw5krFjxzJ27Fj8/Pxwdnbm888/p2vXrnz77besWrWK6OhokpKSWLBgAY8++ihHjhwhLi4u1W2OHj3KU089RXx8PMnJyaxcuZL69etn6eercr9cPcFtjGmC5dTUQ6mtF5G5wFwAb29vycHQADgfGsP4Jfs5GBzB8La1eLNXI4q6ZOEGuajL8Nt7cOB7cGsHg7+HElm4vFbx/PPP4+npyWuvvZbpbQ4ePMixY8coV64cderU4ZlnnuGvv/5ixowZzJo1i+nTp/Piiy/y8ssv06FDBwIDA3n44Yc5duwYAP7+/uzYsYNixYrRu3dvRo4cyciRI5k3bx7jx49nzZo1TJ48mY0bN1K9enXCw8NTjWPp0qUMGTKEjh07cuLECa5cuULlypVvGzNlyhS6devGvHnzCA8Pp3Xr1nTv3p1KlSrxyy+/ULRoUU6dOsXQoUPx8/Pjo48+YurUqaxbtw6Azz77DGMMhw8f5vjx4zz00EOcPHkSgH379nHo0CHKlStHQECA7Tlnz56d6jZz5szhxRdf5IknniA+Pp6kpKS7+VGpPMaeyeICUDPF4xrWZamNCTbGOANlgFAAY0wNYDUwQkTO2DHOLFl74AJvrj5CIQNznmxJj6ZV7n4nCTdg5xewYxokxcP946HbW+Ccq8+4ZSijIwB7Kl26NCNGjGDmzJkUK1YsU9u0atWKqlUtJVfq1q3LQw9Z/jbx8PBg82ZLG9pff/0Vf39/2zaRkZG2SfI+ffrYnmvXrl22U0jDhw+3Ja327dszatQoBg0axGOPPZZqHEuWLGH16tUUKlSIxx9/nOXLlzNu3LjbxmzatAlfX1+mTp0KWC5ZDgwMpFq1aowbN44DBw7g5ORkSwB32rFjBy+88AIADRs2pFatWraxDz74YKpzGGlt065dO6ZMmUJwcDCPPfaYHlXkc/ZMFnuA+saY2liSwhBg2B1jfLFMYO8CBgC/i4gYY8oC64GJIvKHHWO8a7Hxifj4HuUHv2Ba1nJlxpBm1HC9y5IdIpZTTr/6QGQwNOoND06GcnXsEnNB89JLL9GiRYvbTuM4OzuTnJwMQHJyMvHx8bZ1RYr8nZwLFSpke1yoUCHbPERycjJ//vknRYsW/cfzlSiRcYOpOXPmsHv3btavX0/Lli3Zu3cv5cuXt60/fPgwp06d4sEHHwQgPj6e2rVr/yNZiAgrV66kQYMGty338fGhcuXKHDx4kOTk5FTjzEhmXkdKw4YNo02bNqxfv55HHnmEr776im7d8syFi+ou2W2CW0QSgXHARuAY8IOIHDXGTDbG9LEO+wYob4w5DbwC3Lq8dhxQD3jHGHPA+lXJXrFm1rFLkfSetYPle4MZ17Uey55te/eJIugv+Lo7rHoGipeDUestp500UWSbcuXKMWjQIL755hvbMnd3d/bu3QuAr68vCQkJd7XPhx56iFmzZtkeHzhwINVx999/P0uXLgVg0aJFdOzYEbDMR7Rp04bJkydTsWJFgoKCbttuyZIl+Pj4EBAQQEBAABcvXuTixYucP3/+tnEPP/wws2bNQsRy1nX//v0AREREULVqVQoVKsTChQttp4RKlSpFVFSUbfuOHTuyaNEiAE6ePElgYOA/Es+d0trm7Nmz1KlTh/Hjx9O3b18OHTqU7n5U3mbX+yxEZIOI3CcidUVkinXZOyLia/0+TkQGikg9EWktImety98XkRIi0izF11V7xprB62DhrgD6zv6DqLhEFj3dhv883ADnu6ntFB4Iy5+Cbx60XBrb90t4diu4d7Bb3AXZq6++ettVUWPGjGHr1q14eXmxa9euu/4reubMmfj5+eHp6Unjxo2ZM2dOquNmzZrF/Pnz8fT0ZOHChcyYMQOACRMm4OHhQdOmTbn//vvx8vK6bbulS5fSv3//25b179/flnhuefvtt0lISMDT05MmTZrYrux67rnnWLBgAV5eXhw/ftz2+jw9PXFycsLLy4tp06bx3HPPkZycjIeHB4MHD+bbb7+97cgqNWlt88MPP9C0aVOaNWvGkSNHGDFiRObfUJXnmFt/oeR13t7e4ufnl+37DY+N5/WVh9h49ApdG1Rk6kAvype8izmFm1Gw/XPYNdtyCez946H9i1Akd17nn1XHjh2jUaNGjg5DKZWO1P6fGmP2ioh3Rtvm6quhHG1PQBgvLtlPSPRN3urViNHta2f+TuzkJNj/Pfz+PsRcBY9B0H0SlKlh36CVUsoONFmkIilZ+HLzaab9epKa5Yqzcuz9eNa4izuxz26FjW/ClcNQozUMXQI1MkzcSimVa2myuMOVyDheWnqAXWdD6dusGu/3a0qpzN6JHXoGNr0FJzZAGTcYMA+aPKZ3YCul8jxNFin8fvwK/1l+iBvxSXw6wJMBLWtkrlLjjeuw9RP4ay44F4UH3oG2z4FL5q7zV0qp3E6TBXAzMYlPfj7BNzvO0ahqaWYNbU69SpmYgE5KAL95sOVDuBEOLYZD17egVOWMt1VKqTykwCeLwNBYnl+8j8MXIhh1vzsTezbMuGSHCJzaZDnldO2kpWvdwx9AFY+cCVoppXKYXe+zyAsE4XpsPHOHt8SnT5OME8UVf1jYHxYPslzxNGSJpeifJgqHc3JyolmzZjRt2pSBAwcSGxuLn58f48ePv6f9njx5kkceeYT69evTokULBg0axJUrV7Ipast9PN26dSMy8u6LL4aHh/Pll19mWyz3Iqux+Pj42MqXOIKvry8fffQRAGvWrLmtrEtuk1Fp/fj4eDp16pQtFZDvVOCTRa3yJdj8ny481CSD2k7RIfDjSzCnPVzcBw9/CM/9CQ0f0QnsXKJYsWIcOHCAI0eOULhwYebMmYO3tzczZ87M9D7u/E8WFxdHr169GDt2LKdOnWLfvn0899xz99Se8k4bNmzAy8uL0qVL3/W2WfmAtscHSVZjyYrsjr9Pnz5MnGgpHmGvZGGv9/xOhQsX5oEHHmDZsmXZvu8CnywAXNK7EzvxJuyYDrNawL7voNUYGH8A2j0HzoVzLsi85KeJML9X9n799I9Gi+nq2LEjp0+fvq1xUFhYGP369cPT05O2bdvaylP4+PgwfPhw2rdvz/Dhw2/bz+LFi2nXrh29e/e2LevSpQtNmzYlICCAjh070qJFC1q0aMHOnTsBuHTpEp06dbId5Wzfvh2wlPS4dRf366+/btvfokWL6NvX0upl4sSJzJ4927Yu5V/dn376Ka1atcLT05NJkybZxp85c4ZmzZoxYcIERIQJEybQtGlTPDw8bB8aW7ZsoWPHjvTp04fGje/sQQY///wzLVq0wMvLiwceeCDD92v06NF06dKFOnXq2JLxnbFER0fzwAMP0KJFCzw8PFi7dq3t+aZMmcJ9991Hhw4dOHHihG35gQMHaNu2LZ6envTv35/r16/b3vOXXnoJb29v213xKd+jkSNH0rFjR2rVqsWqVat47bXX8PDwoEePHrbSLu7u7ra7+v38/OjSpQsA3377LePGjWPnzp34+voyYcIEmjVrxpkzZ9KMJ6UzZ87Qtm1bPDw8eOutt2x//af2nvfr14+WLVvSpEkT5s6da9tHyZIlefPNN/Hy8qJt27a2I9dz587Rrl07275TSu334dZz3CrPkq1EJF98tWzZUrJVcrLIkdUi0zxEJpUW+X6gyNUT2fsc+Yi/v//fDza8LjLvkez92vB6hjGUKFFCREQSEhKkT58+8uWXX8rmzZulV69eIiIybtw48fHxERGR3377Tby8vEREZNKkSdKiRQuJjY39xz5ffvllmT59eqrPFxMTIzdu3BARkZMnT8qt38GpU6fK+++/LyIiiYmJEhkZKRcuXJCaNWvK1atXJSEhQbp27SqrV68WERE3NzeJjIwUEZF9+/ZJp06dbM/RqFEjCQwMlI0bN8qYMWMkOTlZkpKSpFevXrJ161Y5d+6cNGnSxDZ+xYoV0r17d0lMTJTLly9LzZo15eLFi7J582YpXry4nD179h+v4+rVq1KjRg3butDQ0Azfr3bt2klcXJyEhIRIuXLlJD4+/h+xJCQkSEREhIiIhISESN26dSU5OVn8/PykadOmEhMTIxEREVK3bl359NNPRUTEw8NDtmzZIiIib7/9trz44osiItK5c2cZO3Zsqj+HSZMmSfv27SU+Pl4OHDggxYoVkw0bNoiISL9+/Wzvc61atSQkJERERPbs2SOdO3cWEZH58+fL888/LyIiI0eOlOXLl9v2nVY8KfXq1UsWL14sIiL/+9//bL+Hqb3nt97b2NhYadKkiVy7dk1ERADx9fUVEZEJEybIe++9JyIivXv3lgULFoiIyBdffGHbd1q/DyKW37kKFSqk+l7d9v/UCvCTTHzGFvgJ7lRd3A8//xcCd0KlxjB8NdTVapqZ1vMjhzztjRs3aNasGWA5snj66adtf+2DpdT2ypUrAejWrRuhoaG2eYKUZcYzKyEhIdWy4K1atWL06NEkJCTQr18/mjVrxu+//06XLl2oWLEiAE888QTbtm2jX79+hIWFUaqUpWFW8+bNuXr1KhcvXiQkJARXV1dq1qzJjBkz2LRpE82bNwcgOjqaU6dO/aPp144dOxg6dChOTk5UrlyZzp07s2fPHkqXLk3r1q2pXbv2P17Hn3/+SadOnWzrbpUpT+/96tWrF0WKFKFIkSJUqlQp1TkcEeG///0v27Zto1ChQly4cIErV66wfft2+vfvT/HixW3vPViKIYaHh9O5c2cARo4cycCBA237Gzx4cJo/i549e+Li4oKHhwdJSUn06NEDsJSZT9mb425kFM8tu3btYs2aNYClEu9//vMf27o73/OZM2eyevVqAIKCgjh16hTly5encOHCtiPgli1b8ssvvwDwxx9/2H4Gw4cPtx2Rbtq0KdXfh06dOuHk5EThwoWJioqy/V5lB00WKUVehN8mw8ElULwCPDoNmo8AJ32b8oJbcxZZkVZhwSZNmrB169ZU102bNi3VsuCdOnVi27ZtrF+/nlGjRvHKK69QpkyZNJ/7Vvn0QoUsp0MHDhzIihUruHz5su0DUkR44403+Ne//nXbtnfzQXi3xRPTk7L4oJOTU6rn5BctWkRISAh79+7FxcUFd3d34uLisvyc6cWfsqy8i4uL7f6olGXmU5apv5c47kbKmLds2cKvv/7Krl27KF68OF26dLHFkTLmO9/P1O71Suv34ZabN29mqUx9enTOAiA+FrZ8DLNawpGVlkJ/4/eB92hNFPlIylLbW7ZsoUKFChlOKg8bNoydO3eyfv1627Jt27Zx5MiRNMuCnz9/nsqVKzNmzBieeeYZ9u3bR+vWrdm6dSvXrl0jKSmJJUuW2P5ivVXu+5bBgwezdOlSVqxYYftL9uGHH2bevHm2hksXLlzg6tWrqZYgX7ZsGUlJSYSEhLBt2zZat26d7mts27Yt27Zt49y5c4BlriIr79edsURERFCpUiVcXFzYvHmzrdx6p06dWLNmDTdu3CAqKooff/wRgDJlyuDq6mqb41m4cKHtPcoOKcvU3/prPb3XkNl42rZta9vfnVWCU4qIiMDV1ZXixYtz/Phx/vzzzwxjbt++/W0l729J6/cBIDQ0lAoVKuDiksnKE5mkn4QX9sKy4RB5ARr3he7vQrl/HqqrvO/WxKynpyfFixdnwYIFGW5TrFgx1q1bx0svvcRLL72Ei4sLnp6ezJgxg+eee47HH3+c7777jh49etj+ityyZQuffvopLi4ulCxZku+++46qVavy0Ucf0bVrV0SEXr162Sa1e/XqxZYtW6hXrx5gOZqJioqievXqtg5+Dz30EMeOHaNdu3aAZUL0+++/p27durRv356mTZvSs2dPPvnkE3bt2oWXlxfGGD755BOqVKnC8ePH03yNFStWZO7cuTz22GMkJyfbWrTe7ftVvnz522J5/fXX6d27Nx4eHnh7e9OwoaWnfIsWLRg8eDBeXl5UqlSJVq1a2faxYMEC/v3vfxMbG0udOnWYP39+hj+jzJo0aRJPP/00b7/9tm1y+05DhgxhzJgxzJw5kxUrVmQqnunTp/Pkk08yZcoUevTokeZRZI8ePZgzZw6NGjWiQYMGtG3bNsOYZ8yYwbBhw/j4449tvy+Q9u9DpUqV2Lx5M7169crEO3KXMjOxkRe+sjzBHRsm8l0/kYA/sra9EpHUJ85U5ly8Mg3iHwAACStJREFUeFG6d+/u6DBUFsXExEhycrKIiCxZskT69Onj0Hj69+8vJ06kfjGOTnDfi2KulglspRykatWqjBkzhsjIyCzda6Eca+/evYwbNw4R+f/2zj3GzqKMw88v9LIVTLcFJYUltmhLhIhQCinhEiNYLjFatUJJFVqqUbxD1LTBPyTRIAoGCESKsICkIhdRsFEXRLzEYOXW0gq0FMFSBCk1BTTI9fWPebf9drPbb9u9nOOe35NMzsw799n3nHdnvvlmaG9vp7Ozs2FtefXVV5k7dy4zZswY8rJtLIxpAk455ZRGN8HsIscccwyrV69udDOA8lLecN1Y6AfcZsgoM1pjTDMy2O+njYUZEtra2tiyZYsNhjFNSESwZcuWQW2n9TKUGRI6OjrYtGnTkJ6ZZIwZOtra2ujo2PVrnW0szJAwduzYPt8ONsaMDrwMZYwxphYbC2OMMbXYWBhjjKlFo2X3iqTNwN8b3Y5BshfwfKMb0UR4PHri8diOx6IngxmPd0TE2+oSjRpjMRqQdF9EzGp0O5oFj0dPPB7b8Vj0ZCTGw8tQxhhjarGxMMYYU4uNRXNxZX2SlsLj0ROPx3Y8Fj0Z9vHwMwtjjDG1eGZhjDGmFhsLY4wxtdhYDDGS9pN0t6SHJf1V0pdTPlnSnZIey89JKZekSyVtkPSQpJmVss7I9I9JOqMiP0zSmsxzqfq60b3JkLSbpAclrcjwNEkrsw83ShqX8vEZ3pDxUytlLE35OkknVOQnpmyDpCUj3bedRVK7pFskPSrpEUlHtqp+SDo7vydrJd0gqa2VdENSp6TnJK2tyIZdF/qrY4cM5Do9u4E7YAowM/1vBdYDBwLfBZakfAlwQfpPBn4FCJgNrEz5ZOBv+Tkp/ZMy7i+ZVpn3pEb3ewDjcg7wY2BFhm8C5qf/CuCs9H8OuCL984Eb038gsBoYD0wDHgd2S/c4sD8wLtMc2Oj+1ozFdcCn0j8OaG9F/QD2BZ4AJlR0YmEr6QZwLDATWFuRDbsu9FfHDtva6MEa7Q64DfgAsA6YkrIpwLr0LwNOq6Rfl/GnAcsq8mUpmwI8WpH3SNeMDugA7gLeD6xIxX0eGJPxRwJd6e8Cjkz/mEwnYCmwtFJmV+bbljflPdI1mwMm5g+keslbTj8oxuKp/JEbk7pxQqvpBjCVnsZi2HWhvzp25LwMNYzkNPlQYCWwd0Q8k1HPAnunv/sL082mlO1IvqkPeTNzMfB14M0M7wlsjYjXM1ztw7Z+Z/wLmX5nx6lZmQZsBq7JZbmrJO1OC+pHRDwNXAhsBJ6h/K3vp3V1o5uR0IX+6ugXG4thQtIewE+Br0TEi9W4KOa8JfYsS/og8FxE3N/otjQJYyjLDj+IiEOB/1CWAbbRKvqR6+QfphjQfYDdgRMb2qgmYyR0YaB12FgMA5LGUgzF8oi4NcX/lDQl46cAz6X8aWC/SvaOlO1I3tGHvFk5CviQpCeBn1CWoi4B2iV1X75V7cO2fmf8RGALOz9OzcomYFNErMzwLRTj0Yr6cTzwRERsjojXgFsp+tKqutHNSOhCf3X0i43FEJO7Da4GHomI71eibge6dymcQXmW0S0/PXc6zAZeyOlhFzBH0qT8D2wOZf31GeBFSbOzrtMrZTUdEbE0IjoiYirloeRvI2IBcDcwL5P1Ho/ucZqX6SPl83NHzDRgOuXh3b3A9NxBMy7ruH0EurZLRMSzwFOSDkjRccDDtKZ+bARmS3pLtrV7LFpSNyqMhC70V0f/NPrhzmhzwNGUKd1DwKp0J1PWVu8CHgN+A0zO9AIup+zaWAPMqpR1JrAh3aKKfBawNvNcRq+Hpc3qgPexfTfU/pQv9AbgZmB8ytsyvCHj96/kPzf7vI7KDp8c3/UZd26j+zmAcTgEuC915OeUHSwtqR/AecCj2d7rKTuaWkY3gBsoz2teo8w6F4+ELvRXx46cj/swxhhTi5ehjDHG1GJjYYwxphYbC2OMMbXYWBhjjKnFxsIYY0wtNhbm/x5JIemiSvirkr6Z/kWSbpJ0u6TDasqZWj39c4B1vyFpVcUtSfnvJM3ahe4MGkkLJe3TiLrN6GVMfRJjmp5XgI9KOj8inu8Vtzgijs4fz0uAjw9x3S9HxCFDXOZgWUjZW/+PBrfDjCI8szCjgdcpdxCf3Uecen32jCzn/a+WtBr4fEW+m6TvSbo37w74zK42TtIcSfdIekDSzXluGJKelHR+zkjukzRTUpekxyV9tpL/a5V2nJeyqSp3YfxQ5T6IOyRNkDSP8iLW8ix3gqTj8tDCNSr3J4zPMr6jcu/KQ5Iu3NX+mdbAxsKMFi4HFkia2Et+taSfUYzJBX3kuwb4YkS8t5d8MeU4hcOBw4FP51ESvZnQaxnq1GqkpL2AbwDHR8RMypvb51SSbMyZyR+BaynHWMymvNmMpDmU4yuOoLz5fZikYzPvdODyiDgI2Ap8LCJuyToWZLmR5Z4aEe+hrCacJWlP4CPAQRFxMPCtPvpmzDa8DGVGBRHxoqQfAV8CXq7IO4HOvvJIagfaI+IPKboeOCn9c4CD8z91KIfWTafcRVGlbhlqNuVynj+V43kYB9xTie8+q2gNsEdEvAS8JOmVbN+cdA9muj2yHRsph/CtSvn9lHsRenNApluf4esoM6jLgP9SjOkKyl0SxvSLjYUZTVwMPECZLQAg6dvAOzP4i4hYPsCyRJlxdA2yTQLujIjT+ol/JT/frPi7w2My//kRsaxHoeWulGr6N4AJA21URLwu6QjK4X3zgC9QTgQ2pk+8DGVGDRHxL8qVnIsrsnMjYn665b3SbwW2Sjo6RQsq0V2U5ZqxAJJmqFxStLP8GThK0ruynN0lzdiJ/F3AmZXnHPtKentNnpcoV/pCOVhvanf9wCeB32d5EyPil5RnPb2X4YzpgWcWZrRxEeW/5IGyCOiUFMAdFflVlGWdB/J4583A3D7yT5C0qhL+dURsu8woIjZLWgjc0P1gmfIMYz0DICLukPRu4J5cxvo38AnKTKI/rgWukPQy5WrRRcDNKndA3Eu513oycJukNsrs5Zx+yjIGwKfOGmOMqcfLUMYYY2qxsTDGGFOLjYUxxphabCyMMcbUYmNhjDGmFhsLY4wxtdhYGGOMqeV/gdosR08WoqQAAAAASUVORK5CYII=\n"
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/countingsort.png" "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/countingsort.png"
new file mode 100644
index 00000000..bee54866
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/countingsort.png" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/insertionsort.ipynb" "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/insertionsort.ipynb"
new file mode 100644
index 00000000..ba64c946
--- /dev/null
+++ "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/insertionsort.ipynb"
@@ -0,0 +1,405 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Implementação InsertionSort - Felipe Alves de Sousa\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "metadata": {
+ "id": "uPCjaDQsBuSi"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "C2oHGfZOWqsN"
+ },
+ "source": [
+ "Primeiro importaremos as bibliotecas "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "rXzwT-IZ_SEb"
+ },
+ "outputs": [],
+ "source": [
+ "#Importacao das bibliotecas utilizadas\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "from time import perf_counter"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "szHQR7m2W05G"
+ },
+ "source": [
+ "Aqui implementei a minha versao do Insertion Sort"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "0ivCngiRqW28"
+ },
+ "outputs": [],
+ "source": [
+ "def InsertionSort(lista):\n",
+ " for x in range(1,len(lista)):\n",
+ " pivo = lista[x] \n",
+ " indice=x-1\n",
+ " \n",
+ " while indice>=0 and pivo"
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ],
+ "source": [
+ "plt.plot(testes,resultados)\n",
+ "plt.ylabel('Tempo(s)')\n",
+ "plt.xlabel('Nº de Elementos')\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Pior caso\n"
+ ],
+ "metadata": {
+ "id": "_yZSXO6Scomy"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "No InsertionSort temos algo bem interessante, na maoria dos casos a complexidade do algoritmo é O(x²) inclusive no pior caso, vejamos como esse algoritmo se comparta"
+ ],
+ "metadata": {
+ "id": "_dEOq2oecsvA"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#O código sera bem parecido\n",
+ "testes=np.array([1000,2000,3000,4000,5000,8000,11000,15000])\n",
+ "resultados2=np.array([0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0])\n",
+ "\n",
+ "for x in range (len(testes)):\n",
+ " #Só que aqui iremos gerar uma lista ordenada e depois invertela\n",
+ " lista = np.arange(testes[x])\n",
+ " listaInversa = lista[::-1]\n",
+ "\n",
+ " \n",
+ " inicio = perf_counter()\n",
+ " InsertionSort(listaInversa)\n",
+ " fim = perf_counter()\n",
+ "\n",
+ "\n",
+ " resultados2[x]=fim-inicio\n",
+ " resultados2[x]=round(resultados2[x],4)\n",
+ "\n",
+ " print(\"Para \",testes[x],\" elementos foi gasto\",resultados2[x],\"segundos\")"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "r9OiTRAxcudU",
+ "outputId": "122370be-2cf6-4433-9672-6b0af19e6de1"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Para 1000 elementos foi gasto 0.2008 segundos\n",
+ "Para 2000 elementos foi gasto 0.8287 segundos\n",
+ "Para 3000 elementos foi gasto 1.8309 segundos\n",
+ "Para 4000 elementos foi gasto 3.325 segundos\n",
+ "Para 5000 elementos foi gasto 5.0915 segundos\n",
+ "Para 8000 elementos foi gasto 12.9853 segundos\n",
+ "Para 11000 elementos foi gasto 24.924 segundos\n",
+ "Para 15000 elementos foi gasto 45.3603 segundos\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Vamos agora ver o gráfico do pior caso"
+ ],
+ "metadata": {
+ "id": "niHHwWdVfumm"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "plt.plot(testes,resultados2)\n",
+ "plt.ylabel('Tempo(s)')\n",
+ "plt.xlabel('Nº de Elementos')\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "B4CvezvrftbC",
+ "outputId": "f074a11f-2c70-4c7c-9378-b871f0bf2e0d"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Comparativo entre Pior Caso e listas com números aleatórios"
+ ],
+ "metadata": {
+ "id": "ZzvMsVJrpBlj"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "x = testes\n",
+ "\n",
+ "plt.plot(x, resultados, label='Números Aleatórios')\n",
+ "plt.plot(x, resultados2, label='Pior Caso(Lista Invertida)') \n",
+ "plt.ylabel('Tempo(s)')\n",
+ "plt.xlabel('Nº de Elementos')\n",
+ "plt.title(\"Insertion Sort\")\n",
+ "plt.legend();\n",
+ "\n"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "Cldk1mKFl4nT",
+ "outputId": "af16a9ee-e225-46cd-9ee6-00d79f129233"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/insertionsort.png" "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/insertionsort.png"
new file mode 100644
index 00000000..cf0a40d2
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/insertionsort.png" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/selectionsort.ipynb" "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/selectionsort.ipynb"
new file mode 100644
index 00000000..d2b2ea37
--- /dev/null
+++ "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/selectionsort.ipynb"
@@ -0,0 +1,427 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Z9RkcuCKAX3h"
+ },
+ "source": [
+ "# Implementação SelectionSort - Felipe Alves de Sousa\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "JqLpLayhfMwa"
+ },
+ "source": [
+ "Neste método procuramos o menor valor da lista e substituimos na posição mais a esquerda da lista, depois repetimos esse processso até que toda lista esteja ordenada\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "C2oHGfZOWqsN"
+ },
+ "source": [
+ "Primeiro importaremos as bibliotecas "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "id": "rXzwT-IZ_SEb"
+ },
+ "outputs": [],
+ "source": [
+ "#Importacao das bibliotecas utilizadas\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "from time import perf_counter"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "szHQR7m2W05G"
+ },
+ "source": [
+ "Aqui implementei a minha versao do Selection Sort"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "id": "0ivCngiRqW28"
+ },
+ "outputs": [],
+ "source": [
+ "def SelectionSort(lista):\n",
+ " \n",
+ " #Vou usar dois for para percorrer a lista\n",
+ " #Apois ordenarmos a primeira posição, podemos apenas avançar para 2º posição\n",
+ " for y in range (len(lista)):\n",
+ " menorValor=lista[y]\n",
+ " for x in range (y,len(lista)):\n",
+ " #Comparamos a lista[x] com o menor valor que ja temos\n",
+ " if lista[x]<=menorValor:\n",
+ " menorValor=lista[x]\n",
+ " indice=x\n",
+ " #Essa eh uma forma de trocar os valroes das variaveis em python\n",
+ " lista[y],lista[indice]=lista[indice],lista[y]\n",
+ " \n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "MogXOukdis6Y",
+ "outputId": "0b4b87c6-017a-4deb-81a7-faf8f1da1636"
+ },
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "LISTA ANTES DA ORDENACAO 8 elementos:\n",
+ "[26 12 21 6 8 36 19 15]\n",
+ "LISTA DEPOIS DA ORDENACAO 8 elementos:\n",
+ "[ 6 8 12 15 19 21 26 36] \n",
+ "\n",
+ "LISTA ANTES DA ORDENACAO 10 elementos:\n",
+ "[ 4 6 35 24 15 22 31 19 0 3]\n",
+ "LISTA DEPOIS DA ORDENACAO 10 elementos:\n",
+ "[ 0 3 4 6 15 19 22 24 31 35] \n",
+ "\n",
+ "LISTA ANTES DA ORDENACAO 15 elementos:\n",
+ "[12 29 31 22 13 18 14 20 27 6 34 32 34 14 31]\n",
+ "LISTA DEPOIS DA ORDENACAO 15 elementos:\n",
+ "[ 6 12 13 14 14 18 20 22 27 29 31 31 32 34 34] \n",
+ "\n",
+ "LISTA ANTES DA ORDENACAO 20 elementos:\n",
+ "[29 35 4 6 35 8 11 4 38 28 5 33 9 3 17 19 3 30 21 17]\n",
+ "LISTA DEPOIS DA ORDENACAO 20 elementos:\n",
+ "[ 3 3 4 4 5 6 8 9 11 17 17 19 21 28 29 30 33 35 35 38] \n",
+ "\n",
+ "LISTA ANTES DA ORDENACAO 24 elementos:\n",
+ "[15 23 11 21 1 10 6 9 35 31 19 29 36 29 10 3 25 13 34 19 8 23 2 8]\n",
+ "LISTA DEPOIS DA ORDENACAO 24 elementos:\n",
+ "[ 1 2 3 6 8 8 9 10 10 11 13 15 19 19 21 23 23 25 29 29 31 34 35 36] \n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Testando a funcionalidade\n",
+ "teste=np.array([8,10,15,20,24])\n",
+ "\n",
+ "for x in range (len(teste)):\n",
+ " lista = np.random.randint(40,size=teste[x])\n",
+ "\n",
+ " print(\"LISTA ANTES DA ORDENACAO\",teste[x],\"elementos:\")\n",
+ " print(lista)\n",
+ "\n",
+ " SelectionSort(lista)\n",
+ "\n",
+ " print(\"LISTA DEPOIS DA ORDENACAO\",teste[x],\"elementos:\")\n",
+ " print(lista,\"\\n\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "RAyV0Ckybi_B"
+ },
+ "source": [
+ "# Testes"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "QRfcPGUYW7UO"
+ },
+ "source": [
+ "Agora vamo aos testes para os valores de 1k ate 15k de elementos quanto sera que o SelectionSort demora para executar ? 😧"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "45iQN6A_tcOQ",
+ "outputId": "38b58e5d-6f78-45b5-ed81-d6dec9a84b58"
+ },
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Para 1000 elementos foi gasto 0.0896 segundos\n",
+ "Para 2000 elementos foi gasto 0.3079 segundos\n",
+ "Para 3000 elementos foi gasto 0.6689 segundos\n",
+ "Para 4000 elementos foi gasto 1.1621 segundos\n",
+ "Para 5000 elementos foi gasto 1.8084 segundos\n",
+ "Para 8000 elementos foi gasto 4.5371 segundos\n",
+ "Para 11000 elementos foi gasto 8.4663 segundos\n",
+ "Para 15000 elementos foi gasto 15.8513 segundos\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Aqui implementei bem parecido com os testes do BubbleSort\n",
+ "testes=np.array([1000,2000,3000,4000,5000,8000,11000,15000])\n",
+ "resultados=np.array([0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0])\n",
+ "\n",
+ "for x in range (len(testes)):\n",
+ " lista = np.random.randint(2500,size=(testes[x]))\n",
+ "\n",
+ " inicio = perf_counter()\n",
+ " SelectionSort(lista)\n",
+ " fim = perf_counter()\n",
+ "\n",
+ "\n",
+ " resultados[x]=fim-inicio\n",
+ " resultados[x]=round(resultados[x],4)\n",
+ "\n",
+ " print(\"Para \",testes[x],\" elementos foi gasto\",resultados[x],\"segundos\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Xju4ybljuM36"
+ },
+ "source": [
+ "# Plotando gráfico comparativo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "XdgtPJuluXv4"
+ },
+ "source": [
+ "Por fim utilizarei o matplotlib para plotar um grafico com as comparações entre Nº de Elementos e Tempos necessario para executar o SelectionSort"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 279
+ },
+ "id": "dM0dJs1TcHJb",
+ "outputId": "46f32c6a-773a-4543-fa86-e7e920b0da4f"
+ },
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEGCAYAAABiq/5QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXxU5dn/8c8FYQlbQiAgECI7CgICAdyXqrjU1qq1at3YxGqr1q3V+vzaPk/7PNatVVurUjYXSkXUaq2K+1IXMOwIhl0IWwIxYQ1kuX5/zMGGNECEzJyZzPf9euWVM/c5M+fLIbly5j5n7tvcHRERSR4Nwg4gIiKxpcIvIpJkVPhFRJKMCr+ISJJR4RcRSTIpYQeojbZt23qXLl3CjiEiklBmz5692d0zq7cnROHv0qULubm5YccQEUkoZvZlTe3q6hERSTIq/CIiSUaFX0QkyUSt8JvZRDMrMLNF1dpvNLMvzOxzM7svWvsXEZGaRfOMfzJwTtUGMzsduAAY4O59gQeiuH8REalB1Aq/u38AFFVrvh74nbvvDrYpiNb+RUSkZrHu4+8FnGxmM83sfTMbsr8NzWysmeWaWW5hYWEMI4qI1G+xLvwpQAZwHHAHMM3MrKYN3X2cu+e4e05m5n98/kBEpF7btaeCX7/8OSU7y+r8tWNd+POBFzxiFlAJtI1xBhGRuLanvJLrnpnNU5+sZs6ar+r89WNd+P8OnA5gZr2AxsDmGGcQEYlbFZXOT5+dywdLC7nnon6cflS7Ot9H1IZsMLOpwGlAWzPLB34FTAQmBrd47gGucU0BJiICQGWlc9cLC3h14Ub+69tHc+mQ7KjsJ2qF390v38+qK6O1TxGRROXu/PafS5iWm89NZ/RkzMndorYvfXJXRCQOPPz2MiZ+tIoRJ3ThljN7RnVfKvwiIiGb8K9VPPTWMr4/OItfnt+H/dzsWGdU+EVEQjQtdy2/eWUx5/Q9gt9d1I8GDaJb9EGFX0QkNK8u3MCdzy/g5J5tefjyY0lpGJuSrMIvIhKC95cWcvPf5jIwuzVPXDWYJikNY7ZvFX4RkRj7bHUR1z2dS892LZk4YgjNGsd2MkQVfhGRGFq0roRRkz6jY1oqT40eSlpqo5hnUOEXEYmR5QXbuXriLFqlNuKZMcNo26JJKDlU+EVEYiD/q51cNWEmDQyeHj2UjumpoWVR4RcRibKCbaVcOX4mO3aX8/ToYXTLbBFqntheURARSTIlO8u4esIsNm3dzTNjhnF0h1ZhR9IZv4hItOzYXc6IybNYWbiDv1ydw+AjW4cdCdAZv4hIVJSWVTD26VwW5Jfw6A8HcVLP+Jl6RGf8IiJ1rLyikhunzuWj5Vu47+L+nHPMEWFH2ocKv4hIHaqsdH42fQFvLt7Ef3+3LxcPzgo70n9Q4RcRqSPuzq//8TkvzF3H7cN7cc0JXcKOVKOoFX4zm2hmBcFsW9XX3WZmbmbx0+klInKYHngjj6c++ZKxp3Tjx6f3CDvOfkXzjH8ycE71RjPrDAwH1kRx3yIiMfX4+yt49N0VXD60M3ede1TUx9Q/HFEr/O7+AVBUw6o/AD8DNNeuiNQLf525ht+99gXn9+/Ab7/XL66LPsS4j9/MLgDWufv8Wmw71sxyzSy3sLAwBulERL65l+at4+6/L+T03pn8/gfH0jAGE6kcrpgVfjNrBvwC+GVttnf3ce6e4+45mZmZ0Q0nInII3l6yidumzWdIlwweu3IwjVMS436ZWKbsDnQF5pvZaiALmGNm8XWDq4hILXyyYgs3TJnD0R1aMeGaHJo2it1EKocrZp/cdfeFQLu9j4Pin+Pum2OVQUSkLsxfW8yYJz8jO6MZT44aSsumsR9T/3BE83bOqcAnQG8zyzez0dHal4hIrCzdtI1rJs0io0Vjnh49jIzmjcOO9I1F7Yzf3S8/yPou0dq3iEg0rNmykyvHz6RxwwZMGX0cR6Q1DTvSIdEgbSIitbCxpJQrJnzKnopKpl13PNltmoUd6ZAlxiVoEZEQFe3Yw1UTZlK0fQ9PjhxKr/Ytw450WHTGLyJyANtKy7hm4izWFO1k8sihDOicHnakw6YzfhGR/Sgtq2D0k7ks2bCVx64cxPHd24QdqU7ojF9EpAZ7yiu5/pnZfLa6iIcuPZZvHdU+7Eh1Rmf8IiLVVFQ6t06bx7t5hfzv9/pxwbGdwo5Up1T4RUSqcHf+6+8LeWXBBu469yh+OCw77Eh1ToVfRCTg7tzz2hdMnbWWH5/enetO7R52pKhQ4RcRCTz67nLGfbCSq48/ktuH9w47TtSo8IuIAE9+vJoH3ljKhQM78evv9I37MfUPhwq/iCS952fn86uXP+esPu25//v9aZAAY+ofDhV+EUlqry/ayB3T53Nijzb88fKBpDSs/2Wx/v8LRUT241/LNnPT1Ln0z0pn3FWJNab+4VDhF5GkNPvLr7j2qVy6ZTZn8sghNG+SPJ9nVeEXkaSzeP1WRk6aRftWTXhq9FDSmyXemPqHQ4VfRJLKysLtXD1xJs2bpPDMmGG0a5mYY+ofjmjOwDXRzArMbFGVtvvN7AszW2BmL5pZ4g9zJyIJY13xLq4cPxN3eHr0MLJaJ+6Y+ocjmmf8k4FzqrW9CRzj7v2BpcBdUdy/iMjXNm/fzVXjZ7KttJwnRw2lR7sWYUcKTdQKv7t/ABRVa3vD3cuDh58CWdHav4jIXiW7yrh6wizWl+xi4sghHNMpLexIoQqzj38U8FqI+xeRJLBzTzmjJn/GsoJtPHFVDkO6ZIQdKXShFH4zuxsoB6YcYJuxZpZrZrmFhYWxCyci9cbu8gque3o2c9d8xcOXDeTUXplhR4oLMS/8ZjYCOB+4wt19f9u5+zh3z3H3nMxM/WeJyDdTXlHJzVPn8eGyzfzu4v6c169D2JHiRkw/sWBm5wA/A051952x3LeIJI/KSufOFxby+ucb+eX5ffhBTuewI8WVaN7OORX4BOhtZvlmNhr4E9ASeNPM5pnZ49Hav4gkJ3fnf15ZzPTZ+fz0zJ6MOqlr2JHiTtTO+N398hqaJ0RrfyIiAH94axmTP17NqBO7cvMZPcOOE5f0yV0RqTfGf7iSR95exg9ysvh/5x9dr8fUPxwq/CJSLzz72Rp++88lnNfvCO65qL+K/gGo8ItIwntlwXrufGEhp/bK5KFLB9Kwnk+kcrhU+EUkob2bV8Atz84j58jWPH7lYBqnqKwdjI6QiCSsWauKuP6Z2fRq35IJI4aQ2jg5JlI5XCr8IpKQFuaXMGryZ3RKT+WpUUNp1bRR2JEShgq/iCSc5QXbuGbSLNJSG/HMmGG0adEk7EgJRYVfRBLK2qKdXDF+Jg3MeGbMMDqkpYYdKeGo8ItIwijYWsqVE2ZSWlbJM2OG0rVt87AjJSQVfhFJCMU793DVhFkUbtvNpJFDOOqIVmFHSljJM628iCSs7bvLuWbSZ6zasoPJI4YwKLt12JESms74RSSulZZVcO2TuSxaV8KfLh/ICT3ahh0p4anwi0jcKquo5Cd/ncMnK7fwwCX9Gd73iLAj1Qsq/CISlyorndufm89bSwr4zQV9uXCgpuiuKyr8IhJ33J3/99IiXpq3njvO7s1Vx3cJO1K9osIvInHnvhl5TJm5hutO7cYNp3UPO069E80ZuCaaWYGZLarSlmFmb5rZsuC7Ls2LyD7+/N5yHntvBT8cls2d5xyl4ZWjIJpn/JOBc6q13Qm87e49gbeDxyIiADz96Zfc93oeFxzbkd9ccIyKfpRErfC7+wdAUbXmC4Ang+Unge9Fa/8iklj+Pncdv3xpEWcc1Y4HLhmgMfWjKNZ9/O3dfUOwvBFoH+P9i0gcemvxJm57bj7Dumbw6BWDaNRQlx+jKbSj6+4O+P7Wm9lYM8s1s9zCwsIYJhORWPp4+WZu+OscjunYivHXDKFpI42pH22xLvybzKwDQPC9YH8buvs4d89x95zMzMyYBRSR2Jm75ivGPJVLlzbNmDxyKC2aaBSZWIh14X8ZuCZYvgZ4Kcb7F5E48cXGrYyY9BltWzTh6dHDaN28cdiRkkY0b+ecCnwC9DazfDMbDfwOOMvMlgFnBo9FJMms3ryDqybMommjBkwZM4z2rZqGHSmpRO19lbtfvp9VZ0RrnyIS/zaU7OKK8TMpr6hk2nXH0zmjWdiRks5BC7+ZtQNOBDoCu4BFQK67V0Y5m4jUM1u27+bK8TMp2VXG1GuPo2f7lmFHSkr7LfxmdjqRD1hlAHOJXIhtSuTe++5mNh140N23xiKoiCS2raVlXDNpFvlf7eKpUUPpl5UWdqSkdaAz/vOAa919TfUVZpYCnA+cBTwfpWwiUk/s2lPBmMm5fLFhG3+5Oodh3dqEHSmp7bfwu/sdB1hXDvw9KolEpF7ZU17Jj56ZzWdfFvHIZQM5/ah2YUdKege9q8fMbjazVhYxwczmmNnwWIQTkcRWUenc8uw83l9ayD0X9uM7AzqGHUmo3e2co4J+/OFAa+AqdBumiByEu/OLFxbyz4UbuPu8o7lsaHbYkSRQm8K/d6Sk84Cn3f3zKm0iIv/B3fntP5fwbO5abvxWD649pVvYkaSK2hT+2Wb2BpHCP8PMWgK6lVNE9uuP7yxnwr9WMeKELtx6Vq+w40g1tfkA12jgWGClu+80szbAyOjGEpFENfFfq/j9m0u5eFAWvzy/j8bUj0P7PeM3sy4A7l7p7nPcvTh4vMXdFwQXezX7sYh87bnctfzPK4s5u2977r24Hw00pn5cOtAZ//1m1oDIQGqzgUIiH+DqAZxOZOiFXwH50Q4pIvHv9UUb+PnzCzi5Z1seuXwgKRpTP24d6D7+S8ysD3AFMAroQGTIhiXAP4H/dffSmKQUkbj2wdJCbpw6l2M7p/PEVYNpkqIx9ePZAfv43X0xcHeMsohIAspdXcTYp3Pp0a4lk0YOpVljjakf72ozSFsj4HrglKDpPeAJdy+LYi4RSQDv5RVw49S5dEhL5alRQ0lLbRR2JKmF2vxpfgxoBPw5eHxV0DYmWqFEJL6VV1Tyh7eW8ui7KzjqiJZMGDGEzJZNwo4ltVSbwj/E3QdUefyOmc2PViARiW+btpZy09S5zFxVxKU5nfn1d/uS2lh9+omkNoW/wsy6u/sKADPrBlREN5aIxKOPlm/m5r/NZcfuCh68ZAAXD9Yd3YmoNoX/DuBdM1tJZKiGIznMD3CZ2S1EuoocWAiM1B1CIvGrotJ55O1lPPLOMrpntmDqtYM0iUoCO2jhd/e3zawn0DtoynP33Ye6QzPrBNwE9HH3XWY2DbgMmHyoryki0VO4bTc/fXYuHy3fwkUDO/HbC4/RnTsJrjZ39TQFbgBOInKG/qGZPX6YZ+gpQKqZlQHNgPWH8VoiEiWfrtzCjVPnsnVXGfde3I8f5HTWEAz1QG3+bD8FbAP+GDz+IfA0cMmh7NDd15nZA8AaIh8Ie8Pd36i+nZmNBcYCZGdrOFeRWKqsdB57fwUPvpHHkW2a89SooRzdoVXYsaSO1KbwH+Pufao8ftfMFh/qDs2sNXAB0BUoBp4zsyvd/Zmq27n7OGAcQE5Ojh/q/kTkmynasefryVO+M6Aj91zUjxZN1LVTn9Tmf3OOmR3n7p8CmNkwIPcw9nkmsMrdC4PXewE4AXjmgM8SkajLXV3EjVPnsmX7Hn7zvWO4cli2unbqodoU/sHAx2a2d9L1bCDPzBYC7u79v+E+1wDHmVkzIl09Z3B4f0hE5DC5O3/5cCX3vp5Hp/RUXrjhBI7plBZ2LImS2hT+c+pyh+4+08ymA3OAcmAuQZeOiMRe8c493P7cfN5aUsA5fY/gvkv606qphl6oz2pzO+eXQb9856rbu/ucQ92pu/+KyJDOIhKieWuL+fGUORRsK+VX3+nDiBO6qGsnCdTmds7fACOAFURu5yT4/q3oxRKRaHJ3Jn+8mv97dQntWjbluR+dwLGd08OOJTFSm66eHwDd3X1PtMOISPRtLS3j59MX8NqijZx5dDseuGQA6c0ahx1LYqg2hX8RkA4URDmLiETZonUl3DBlDuuKd/GL847i2pO7qWsnCdWm8N8DzDWzRcDXQzW4+3ejlkpE6pS788zMNfzmH4vJaN6YZ8ceR06XjLBjSUhqU/ifBO4lMphaZXTjiEhd2767nLteWMg/5q/n1F6Z/OHSY8lorq6dZFabwr/T3R+JehIRqXNLNmzlx1PmsHrLDu44uzfXn9qdBg3UtZPsalP4PzSze4CX2ber55Bv5xSR6HJ3puWu5ZcvfU6r1EZMGXMcx3dvE3YsiRO1KfwDg+/HVWnT7ZwicWrnnnL+68VFvDB3HSf2aMNDlw7UtIiyj9p8gOv0WAQRkcO3bNM2bpgyh+WF2/npmT258Vs9aaiuHammNh/gag/8H9DR3c81sz7A8e4+IerpRKTWXpiTz90vLqJ5k4Y8PWoYJ/VsG3YkiVMNarHNZGAG0DF4vBT4abQCicg3U1pWwc+nL+DWafPpn5XGP286WUVfDmi/Z/xmluLu5UBbd59mZncBuHu5mWmydZE4sLJwOzdMmcMXG7fx49O7c8uZvUhpWJvzOUlmB+rqmQUMAnaYWRuCcXrM7DigJAbZROQAXp6/nrueX0DjlAZMGjmE03u3CzuSJIgDFf69V4RuJXIrZ3cz+wjIBL4f7WAiUrPSsgp++8/FPPPpGgYf2Zo/Xj6QjumpYceSBHKgwp9pZrcGyy8CrxL5Y7CbyCxaC6KcTUSq+XLLDm6YMofP129l7CnduOPs3jRS1458Qwcq/A2BFvz7zH+vZtGLIyL78/qiDdzx3AIaNDDGX53DmX3ahx1JEtSBCv8Gd/+faOzUzNKB8cAxRK4djHL3T6KxL5FEt6e8knteW8Kkj1YzoHM6f7p8IJ0zdP4lh642ffzR8DDwurt/38wao3cRIjVaW7STn0ydy/y1xYw8sQt3nXs0jVPUtSOH50CF/4xo7NDM0oBTiMzqRTDBiyZ5EanmzcWbuG3aPNzhsSsGcW6/DmFHknpiv4Xf3YuitM+uQCEwycwGALOBm919R9WNzGwsMBYgOzs7SlFE4k9ZRSX3z8hj3Acr6duxFX++YhBHtmkediypR8J4z5hC5PMBj7n7QGAHcGf1jdx9nLvnuHtOZmZmrDOKhGJDyS4uG/cp4z5YyZXHZfP89Seo6Eudq83onHUtH8h395nB4+nUUPhFks17eQXc8uw89pRX8sjlA/nugI4Hf5LIIYh54Xf3jWa21sx6u3sekWsJi2OdQyRelFdU8oe3lvLouys46oiWPHrFILpntgg7ltRjYZzxA9wITAnu6FkJjAwph0ioNm0t5aapc5m5qohLczrz3xf0pWmjhmHHknoulMLv7vOAnDD2LRIvPlq+mZv/Npcduyt48JIBXDw4K+xIkiTCOuMXSVoVlc4jby/jkXeW0T2zBVOvHUTP9i3DjiVJRIVfJIYKt+3mp8/O5aPlW7hoYCd+e+ExNGusX0OJLf3EicTIpyu3cNPUuZTsKuPei/vxg5zOmGlaRIk9FX6RKKusdB57fwUPvpFHlzbNeXLUUI7u0CrsWJLEVPhFoqhoxx5ueXYe7y8t5DsDOnLPRf1o0US/dhIu/QSKREnu6iJunDqXLdv38JvvHcOVw7LVtSNxQYVfpI65O3/5cCX3vp5Hp/RUXrjhBI7plBZ2LJGvqfCL1KGSnWXc9tx83lqyiXP6HsF9l/SnVdNGYccS2YcKv0gdmbe2mB9PmUPBtlJ+9Z0+jDihi7p2JC6p8IscJndn8ser+b9Xl9CuZVOe+9EJHNs5PexYIvulwi9yGLaWlvHz6Qt4bdFGzjy6HQ9cMoD0Zo3DjiVyQCr8IofA3flo+RZ+8eJC1hXv4u7zjmbMyV3VtSMJQYVf5Buas+Yr7n89j09WbqFTeirPjj2OnC4ZYccSqTUVfpFa+mLjVh6YsZS3lmyiTfPG/Oo7ffjhsGyapGgYZUksKvwiB/Hllh384c2lvDR/PS2apHD78F6MPLErzfUJXElQ+skV2Y+NJaU88s4ypn22lpSGxnWndOdHp3bTxVtJeKEVfjNrCOQC69z9/LByiFRXtGMPj7+/gic/Xk2lOz8cls1PTu9Bu1ZNw44mUifCPOO/GVgCaJhCiQvbd5cz/sOVjP9wFTv2lHPhwE7ccmYvOmc0CzuaSJ0KpfCbWRbwbeB/gVvDyCCyV2lZBc98+iV/fm8FRTv2cHbf9tw2vDe9NCuW1FNhnfE/BPwM2O9vlpmNBcYCZGdnxyiWJJOyikqmz87n4beWsXFrKSf3bMvtw3szQJ+6lXou5oXfzM4HCtx9tpmdtr/t3H0cMA4gJyfHYxRPkkBlpfPKwg384c2lrNq8g4HZ6fz+0gGc0L1t2NFEYiKMM/4Tge+a2XlAU6CVmT3j7leGkEWSiLvzzhcF3D8jjy82buOoI1oy/uoczji6nT5xK0kl5oXf3e8C7gIIzvhvV9GXaPt05Rbun5HH7C+/4sg2zXj4smP5Tv+ONGiggi/JR/fxS722ML+E+2Z8wYfLNtO+VRP+78J+XJKTRaOGDcKOJhKaUAu/u78HvBdmBqmflhds48E3lvLaoo20btaIu887mquOP5KmjTS8gojO+KVeWVu0k4feWsaLc/NJbdSQm8/oyZiTu9JSs2CJfE2FX+qFgm2lPPrOcv46aw1mxuiTunL9aT3IaK7hFUSqU+GXhFays4wnPljBpI9Ws6eikh/kdOamM3rQIS017GgicUuFXxLSzj3lTPpoNU+8v4Jtu8v57oCO3HJmL7q0bR52NJG4p8IvCWV3eQVTZ67hT++uYPP23Zx5dDtuG96boztoyCeR2lLhl4RQXlHJi3PX8dBby1hXvIvjumXwxFWDGXxk67CjiSQcFX6Ja+7Oa4s28uAbeawo3EH/rDR+d3E/TurRVp+2FTlEKvwSl9ydD5Zt5oEZeSxcV0LPdi14/MrBnN23vQq+yGFS4Ze4M/vLIu59PY9Zq4rIap3Kg5cM4HsDO9FQwyuI1AkVfokbi9dv5YE38njniwLatmjC/1zQl8uGZNM4RcMriNQlFX4J3arNO/j9m0v5x/z1pKU24ufnHMU1JxxJs8b68RSJBv1mSWjWF+/ij+8sY1puPk1SGvCT03tw7SndSEvV8Aoi0aTCLzG3Zftu/vzeCp7+9EtwuPr4I7nhtB5ktmwSdjSRpKDCLzGztbSM8R+uYsKHK9lVVsH3B2dx0xk9yWqtycxFYkmFX6KutKyCJz9ezWPvr6B4Zxnf7teBW87qRY92LcKOJpKUVPglasoqKnn2s7X88Z1lbNq6m1N7ZXLH2b05plNa2NFEkloYk613Bp4C2gMOjHP3h2OdQ6KnotL5x/z1/P7Npawp2knOka155LKBDOvWJuxoIkI4Z/zlwG3uPsfMWgKzzexNd18cQhapQ+7OW0sKeGBGHnmbttGnQysmjRjCab0z9WlbkTgSxmTrG4ANwfI2M1sCdAJU+BPYx8s3c9+MPOatLaZb2+b86YcDOe+YDprMXCQOhdrHb2ZdgIHAzBrWjQXGAmRnZ8c0l9TevLXFPDAjj38t30zHtKbce3E/Lh6URYomMxeJW6EVfjNrATwP/NTdt1Zf7+7jgHEAOTk5HuN4cgDuzoL8Eh59dzlvLN5Em+aN+eX5ffjhsGxNZi6SAEIp/GbWiEjRn+LuL4SRQb65TVtLeXHuOqbPzmd5wXZaNknhtrN6MfKkrrRoohvERBJFGHf1GDABWOLuv4/1/uWbKS2r4I3Fm3h+dj4fLiuk0iHnyNbcc1E/vt2/A62aangFkUQTxmnaicBVwEIzmxe0/cLdXw0hi9TA3Zmzppjps/N5ZcF6tpWW0yk9lR+f3oOLBmXRVfPaiiS0MO7q+RegWz3i0LriXbw4J5/n56xj1eYdpDZqyLn9juD7g7I4rlsb3aEjUk+oYzbJ7dxTzozPNzJ9dj4fr9iCOwzrmsENp3Xn3H4d1HcvUg/ptzoJuTuzVhXx/Jx8/rlgAzv2VNA5I5Wbz+jJxYOy6JyhQdNE6jMV/iSytmgnz8/J5/k5+awt2kXzxg35dv8OXDwoiyFdMtSVI5IkVPjrua927OHNJZG7cmauKsIMTuzellvP6sXZfY/QLFciSUi/9fVMZaWzYF0J7+UV8P7SQuavLabSoWvb5txxdm8uHNiJjumpYccUkRCp8NcDW7bv5sNlm3kvr4APlm2maMcezGBAVjo3ndGT03u3o39WmgZKExFAhT8hVVQ68/OLeS+vkPfzCliwrgR3aNO8Maf2yuS03pmc3DOTjOaNw44qInFIhT9BFG7bzQdLC3lvaSEfLiukeGcZDQyO7ZzOLWf24rTemRzTMU0XaEXkoFT441R5RSXz1hbz/tJC3ssrZOG6EgDatmjCGUe159TemZzSsy3pzXRWLyLfjAp/HCnYWhop9EsL+deyzZTsipzVD8puze3De3Fa73b06dBKZ/UiclhU+EOyrbSMhetKmL+2hAX5xSzIL2Fd8S4A2rVswvA+7TmtdztO6tGWtGYaCE1E6o4KfwyUllWwZMNWFuSXMD+/mPlri1m5eQcezDKQndGMgdnpjDihCyf0aEOfDq10B46IRI0Kfx2rqHSWF2z/usAvyC/hi41bKauIVPm2LZpwbOc0Lji2EwM6p9O/UxqtdfeNiMSQCv9hcHfWFu1ifn4xC/KLmb+2hEXrS9i5pwKAlk1S6JeVxpiTuzEgK43+Wel0SGuqs3kRCZUKfy2UllWwrngX+V/tIv+rnawt2hV03RTz1c4yABqnNKBvx1b8IKcz/bPSGNA5na5tmutCrIjEHRV+YHd5BeuLS8n/aif5X+1ibdHOr4t8/le7KNi2e5/tGzU0ume24Kw+7RnQOZ0BWen0at+SximaYFxE4l9Yc+6eAzwMNATGu/vvorm/PeWVbCjZ94x9b1HP/2oXm7aVfn2hFSClgdExPZWs1qmc1juTrNbN6JyRSlbrZmS1TqVdy6Y01Jm8iCSoMObcbQg8CpwF5AOfmdnL7r64rvf1yNvL+NusNWzcWkpllcLewKBDWiqdM1I5qWdbslqn0jko6lkZzWjfsgkpDXX2LiL1Uxhn/BLxepAAAAmVSURBVEOB5e6+EsDM/gZcANR54W/fqgnHdW/z9Zn63uJ+RFpTGqmwi0iSCqPwdwLWVnmcDwyrvpGZjQXGAmRnZx/Sji4dks2lQw7tuSIi9VXcnva6+zh3z3H3nMzMzLDjiIjUG2EU/nVA5yqPs4I2ERGJgTAK/2dATzPramaNgcuAl0PIISKSlGLex+/u5Wb2E2AGkds5J7r757HOISKSrEK5j9/dXwVeDWPfIiLJLm4v7oqISHSo8IuIJBkVfhGRJGNedZCaOGVmhcCXYeeopi2wOewQtZRIWSGx8iZSVkisvImUFeIz75Hu/h8fhEqIwh+PzCzX3XPCzlEbiZQVEitvImWFxMqbSFkhsfKqq0dEJMmo8IuIJBkV/kM3LuwA30AiZYXEyptIWSGx8iZSVkigvOrjFxFJMjrjFxFJMir8IiJJRoU/YGadzexdM1tsZp+b2c1Be4aZvWlmy4LvrYN2M7NHzGy5mS0ws0FVXuuaYPtlZnZNFDM3NLO5ZvZK8Lirmc0MMj0bjH6KmTUJHi8P1nep8hp3Be15ZnZ2FLOmm9l0M/vCzJaY2fHxemzN7JbgZ2CRmU01s6bxdGzNbKKZFZjZoiptdXYszWywmS0MnvOImR3WBNP7yXt/8LOwwMxeNLP0KutqPG5mdk7QttzM7qzSXuP/TV1lrbLuNjNzM2sbPA792B4yd9dX5DpHB2BQsNwSWAr0Ae4D7gza7wTuDZbPA14DDDgOmBm0ZwArg++tg+XWUcp8K/BX4JXg8TTgsmD5ceD6YPkG4PFg+TLg2WC5DzAfaAJ0BVYADaOU9UlgTLDcGEiPx2NLZIa4VUBqlWM6Ip6OLXAKMAhYVKWtzo4lMCvY1oLnnhuFvMOBlGD53ip5azxuwdcKoFvw8zMf6HOgn/u6yhq0dyYyovCXQNt4ObaH/O8MY6eJ8AW8RGRC+DygQ9DWAcgLlp8ALq+yfV6w/nLgiSrt+2xXh/mygLeBbwGvBD9Im6v8Mh0PzAiWZwDHB8spwXYG3AXcVeU1v96ujrOmESmmVq097o4t/54aNCM4Vq8AZ8fbsQW6sG8hrZNjGaz7okr7PtvVVd5q6y4EpgTLNR63qse86nYH+rmvy6zAdGAAsJp/F/64OLaH8qWunhoEb9cHAjOB9u6+IVi1EWgfLNc0d3CnA7TXtYeAnwGVweM2QLG7l9ew368zBetLgu1jlbUrUAhMskjX1Hgza04cHlt3Xwc8AKwBNhA5VrOJ32O7V10dy07BcvX2aBpF5OyXg+Sqqf1AP/d1wswuANa5+/xqqxLh2NZIhb8aM2sBPA/81N23Vl3nkT/Tod//ambnAwXuPjvsLLWUQuTt82PuPhDYQaQ74mtxdGxbAxcQ+WPVEWgOnBNqqG8oXo5lbZjZ3UA5MCXsLDUxs2bAL4Bfhp2lLqnwV2FmjYgU/Snu/kLQvMnMOgTrOwAFQfv+5g6OxZzCJwLfNbPVwN+IdPc8DKSb2d7Jdaru9+tMwfo0YEuMskLkzCbf3WcGj6cT+UMQj8f2TGCVuxe6exnwApHjHa/Hdq+6OpbrguXq7XXOzEYA5wNXBH+sDiXvFvb/f1MXuhM5CZgf/L5lAXPM7IhDyBqzY3tQYfQvxeMXkb7Cp4CHqrXfz74Xze4Llr/Nvhd2ZgXtGUT6s1sHX6uAjCjmPo1/X9x9jn0vct0QLP+YfS9ATguW+7LvhbSVRO/i7odA72D518FxjbtjCwwDPgeaBft/Ergx3o4t/9nHX2fHkv+8AHleFPKeAywGMqttV+NxI/KucWXQtvfibt8D/dzXVdZq61bz7z7+uDi2h/RvDGOn8fgFnETk7fECYF7wdR6RPsS3gWXAW1X+Aw14lMidBguBnCqvNQpYHnyNjHLu0/h34e8W/GAtD34ZmgTtTYPHy4P13ao8/+7g35BHFO8wAI4FcoPj+/fgFyIujy3w38AXwCLg6aAIxc2xBaYSuf5QRuTd1Oi6PJZATvBvXwH8iWoX5eso73Ii/eB7f9ceP9hxC34flwbr7q7SXuP/TV1lrbZ+Nf8u/KEf20P90pANIiJJRn38IiJJRoVfRCTJqPCLiCQZFX4RkSSjwi8ikmRU+CWuBaMhPljl8e1m9utgeaSZTTOzl81s8EFep0tNIy4e5DkVZjavytedQft7ZhbKpNpmNsLMOoaxb6k/Ug6+iUiodgMXmdk97r652rrR7n5SUAgfBi6p433vcvdj6/g1D9cIIveBrw85hyQwnfFLvCsnMpfpLTWss2rf910ZGft8vpnNJ/IJ273tDYPx4D8LxlG/7lDDmdlwM/vEzOaY2XPBWE+Y2Wozuyd4p5BrZoPMbIaZrTCzH1V5/h1Vcvx30NbFInMW/MUi8wK8YWapZvZ9Ih8AmhK8bqqZnREMfLcwGEu+SfAav7PI3BILzOyBQ/33Sf2kwi+J4FHgCjNLq9Y+wcxeJPKH4d4anjcJuNHdB1RrHw2UuPsQYAhwrZl1reH5qdW6ei6tujKYkOO/gDPdfRCRTybfWmWTNcE7hg+BycD3iXxcf2+BHw70BIYS+WTzYDM7JXhuT+BRd+8LFAMXu/v0YB9XBK/rwete6u79iLyDv97M2hAZ6rivu/cHflvDv02SmLp6JO65+1Yzewq4CdhVpX0iMLGm51hkRqd0d/8gaHoaODdYHg70D86gITKwWk8iY6pUdbCunuOITBzyUTCRUmPgkyrrXw6+LwRauPs2YJuZ7Q7yDQ++5gbbtQhyrCEyUNy8oH02kfFjqusdbLc0ePwkkXc2fwJKifxhfIXInAIiX1Phl0TxEDCHyFk8AGb2v0RGTwT4h7vXdmhfI/JOYMZhZjLgTXe/fD/rdwffK6ss732cEjz/Hnd/Yp8XjcwHUXX7CiC1tqHcvdzMhgJnEHmX8RMiI7iKAOrqkQTh7kVEptgbXaXtbne/LPiaUm37YqDYzE4Kmq6osnoGkS6RRgBm1iuYGOab+hQ40cx6BK/T3Mx6fYPnzwBGVbku0MnM2h3kOduITA0KkUHMuuzdP3AV8H7wemnu/iqRayPVu7okyemMXxLJg0TOXmtrJDDRzBx4o0r7eCJdJ3OCya4Lge/V8PxUM5tX5fHr7v71BDLuXhiMKT9170VVIn3+S6kFd3/DzI4GPgm6irYDVxI5w9+fycDjZraLyDSDI4HngvHoPyMyLHEG8JKZNSXyruLW/byWJCmNzikikmTU1SMikmRU+EVEkowKv4hIklHhFxFJMir8IiJJRoVfRCTJqPCLiCSZ/w9L8SHkSzoh9QAAAABJRU5ErkJggg==\n"
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ],
+ "source": [
+ "plt.plot(testes,resultados)\n",
+ "plt.ylabel('Tempo(s)')\n",
+ "plt.xlabel('Nº de Elementos')\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Pior caso\n"
+ ],
+ "metadata": {
+ "id": "_yZSXO6Scomy"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "No Selection Sort temos algo bem interessante, na maoria dos casos a complexidade do algoritmo é O(x²) inclusive no pior caso, vejamos como esse algoritmo se comparta"
+ ],
+ "metadata": {
+ "id": "_dEOq2oecsvA"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#O código sera bem parecido\n",
+ "testes=np.array([1000,2000,3000,4000,5000,8000,11000,15000])\n",
+ "resultados2=np.array([0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0])\n",
+ "\n",
+ "for x in range (len(testes)):\n",
+ " #Só que aqui iremos gerar uma lista ordenada e depois invertela\n",
+ " lista = np.arange(testes[x])\n",
+ " listaInversa = lista[::-1]\n",
+ "\n",
+ " \n",
+ " inicio = perf_counter()\n",
+ " SelectionSort(listaInversa)\n",
+ " fim = perf_counter()\n",
+ "\n",
+ "\n",
+ " resultados2[x]=fim-inicio\n",
+ " resultados2[x]=round(resultados2[x],4)\n",
+ "\n",
+ " print(\"Para \",testes[x],\" elementos foi gasto\",resultados2[x],\"segundos\")"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "r9OiTRAxcudU",
+ "outputId": "147d9ad1-fcc6-43f2-d969-487e03fa42fd"
+ },
+ "execution_count": 14,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Para 1000 elementos foi gasto 0.1028 segundos\n",
+ "Para 2000 elementos foi gasto 0.4152 segundos\n",
+ "Para 3000 elementos foi gasto 0.9827 segundos\n",
+ "Para 4000 elementos foi gasto 1.7169 segundos\n",
+ "Para 5000 elementos foi gasto 2.6121 segundos\n",
+ "Para 8000 elementos foi gasto 6.46 segundos\n",
+ "Para 11000 elementos foi gasto 12.2885 segundos\n",
+ "Para 15000 elementos foi gasto 22.6739 segundos\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Vamos agora ver o gráfico do pior caso"
+ ],
+ "metadata": {
+ "id": "niHHwWdVfumm"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "plt.plot(testes,resultados2)\n",
+ "plt.ylabel('Tempo(s)')\n",
+ "plt.xlabel('Nº de Elementos')\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 279
+ },
+ "id": "B4CvezvrftbC",
+ "outputId": "e535b2ac-c2b3-4706-92ce-d3887c3cc9d3"
+ },
+ "execution_count": 15,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Comparativo entre Pior Caso e listas com números aleatórios"
+ ],
+ "metadata": {
+ "id": "ZzvMsVJrpBlj"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "x = testes\n",
+ "\n",
+ "plt.plot(x, resultados, label='Números Aleatórios')\n",
+ "plt.plot(x, resultados2, label='Pior Caso(Lista Invertida)') \n",
+ "plt.ylabel('Tempo(s)')\n",
+ "plt.xlabel('Nº de Elementos')\n",
+ "plt.title(\"Selection Sort\")\n",
+ "plt.legend();\n",
+ "\n"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 295
+ },
+ "id": "Cldk1mKFl4nT",
+ "outputId": "6bd7f7f3-002a-4e64-e12f-1a7410a702f5"
+ },
+ "execution_count": 16,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "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\n"
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "É possivel ver uma clara diferença entre o pior dos casos"
+ ],
+ "metadata": {
+ "id": "3ETgsFnl09FJ"
+ }
+ }
+ ],
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/selectionsort.png" "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/selectionsort.png"
new file mode 100644
index 00000000..755fb6a9
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO-Ronaldo 2022.2/selectionsort.png" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/PO2.pdf" "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO2.pdf"
new file mode 100644
index 00000000..00dccdf0
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO2.pdf" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/PO2_ufc.pdf" "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO2_ufc.pdf"
new file mode 100644
index 00000000..00dccdf0
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO2_ufc.pdf" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/PO4.pdf" "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO4.pdf"
new file mode 100644
index 00000000..931dde6f
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/PO4.pdf" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/Quadro Resumo PeO.PDF" "b/S04 - Pesquisa e Ordena\303\247\303\243o/Quadro Resumo PeO.PDF"
new file mode 100644
index 00000000..d062fa8f
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/Quadro Resumo PeO.PDF" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/Resolu\303\247oes de Provas PeO e Paradigmas.pdf" "b/S04 - Pesquisa e Ordena\303\247\303\243o/Resolu\303\247oes de Provas PeO e Paradigmas.pdf"
new file mode 100644
index 00000000..aaada513
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/Resolu\303\247oes de Provas PeO e Paradigmas.pdf" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/lista 2 2015.2 - glauber .pdf" "b/S04 - Pesquisa e Ordena\303\247\303\243o/lista 2 2015.2 - glauber .pdf"
new file mode 100644
index 00000000..c8408092
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/lista 2 2015.2 - glauber .pdf" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/trabalho de PeO.pdf" "b/S04 - Pesquisa e Ordena\303\247\303\243o/trabalho de PeO.pdf"
new file mode 100644
index 00000000..e1f8708d
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/trabalho de PeO.pdf" differ
diff --git "a/S04 - Pesquisa e Ordena\303\247\303\243o/trabalho de PeO0001.pdf" "b/S04 - Pesquisa e Ordena\303\247\303\243o/trabalho de PeO0001.pdf"
new file mode 100644
index 00000000..14846582
Binary files /dev/null and "b/S04 - Pesquisa e Ordena\303\247\303\243o/trabalho de PeO0001.pdf" differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 001/IMG_20190128_185919.jpg b/S04 - [OPT]Eletronica Industrial/Aula 001/IMG_20190128_185919.jpg
new file mode 100644
index 00000000..179b4789
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 001/IMG_20190128_185919.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_195228.jpg b/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_195228.jpg
new file mode 100644
index 00000000..25454dc4
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_195228.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_195254.jpg b/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_195254.jpg
new file mode 100644
index 00000000..3fbdfbf1
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_195254.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_211907.jpg b/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_211907.jpg
new file mode 100644
index 00000000..726d9302
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_211907.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_213832.jpg b/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_213832.jpg
new file mode 100644
index 00000000..b38700d4
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_213832.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_213838.jpg b/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_213838.jpg
new file mode 100644
index 00000000..4ecafc9a
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 002/IMG_20190129_213838.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_191220.jpg b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_191220.jpg
new file mode 100644
index 00000000..201909c3
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_191220.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_191224.jpg b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_191224.jpg
new file mode 100644
index 00000000..d4f9ca96
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_191224.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_192023.jpg b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_192023.jpg
new file mode 100644
index 00000000..642c9c07
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_192023.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_192034.jpg b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_192034.jpg
new file mode 100644
index 00000000..d68e5f88
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_192034.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_194756.jpg b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_194756.jpg
new file mode 100644
index 00000000..721ccbc6
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_194756.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_200159.jpg b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_200159.jpg
new file mode 100644
index 00000000..4f5ba083
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_200159.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_200203.jpg b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_200203.jpg
new file mode 100644
index 00000000..454d10f2
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 003/IMG_20190204_200203.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_192231.jpg b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_192231.jpg
new file mode 100644
index 00000000..e38ba994
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_192231.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_194055.jpg b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_194055.jpg
new file mode 100644
index 00000000..9bdc9d27
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_194055.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_194102.jpg b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_194102.jpg
new file mode 100644
index 00000000..ede35d8a
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_194102.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_195234.jpg b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_195234.jpg
new file mode 100644
index 00000000..da52db47
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_195234.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_205607.jpg b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_205607.jpg
new file mode 100644
index 00000000..8a9eceb2
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_205607.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213541.jpg b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213541.jpg
new file mode 100644
index 00000000..142b38a8
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213541.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213546.jpg b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213546.jpg
new file mode 100644
index 00000000..023cd203
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213546.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213554.jpg b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213554.jpg
new file mode 100644
index 00000000..ce3b8cde
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213554.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213559.jpg b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213559.jpg
new file mode 100644
index 00000000..7b6c8528
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213559.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213941.jpg b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213941.jpg
new file mode 100644
index 00000000..dbbfe8f9
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 004/IMG_20190205_213941.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 005/IMG_20190211_192420.jpg b/S04 - [OPT]Eletronica Industrial/Aula 005/IMG_20190211_192420.jpg
new file mode 100644
index 00000000..4037752f
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 005/IMG_20190211_192420.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 005/IMG_20190211_192429.jpg b/S04 - [OPT]Eletronica Industrial/Aula 005/IMG_20190211_192429.jpg
new file mode 100644
index 00000000..d435122e
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 005/IMG_20190211_192429.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 005/IMG_20190211_195637.jpg b/S04 - [OPT]Eletronica Industrial/Aula 005/IMG_20190211_195637.jpg
new file mode 100644
index 00000000..47cd2876
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 005/IMG_20190211_195637.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 005/IMG_20190211_195643.jpg b/S04 - [OPT]Eletronica Industrial/Aula 005/IMG_20190211_195643.jpg
new file mode 100644
index 00000000..827aae41
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 005/IMG_20190211_195643.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_195713.jpg b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_195713.jpg
new file mode 100644
index 00000000..994a451e
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_195713.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_195720.jpg b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_195720.jpg
new file mode 100644
index 00000000..056200d7
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_195720.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_200121.jpg b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_200121.jpg
new file mode 100644
index 00000000..1a558d96
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_200121.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_200126.jpg b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_200126.jpg
new file mode 100644
index 00000000..646cc5d0
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_200126.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_200709.jpg b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_200709.jpg
new file mode 100644
index 00000000..312b6678
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_200709.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_205206.jpg b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_205206.jpg
new file mode 100644
index 00000000..4cfb1796
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_205206.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_205210.jpg b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_205210.jpg
new file mode 100644
index 00000000..506d58ad
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_205210.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_211915.jpg b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_211915.jpg
new file mode 100644
index 00000000..fc6440af
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_211915.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_211919.jpg b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_211919.jpg
new file mode 100644
index 00000000..fdaa8ae7
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 006/IMG_20190212_211919.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 007/1802.jpg b/S04 - [OPT]Eletronica Industrial/Aula 007/1802.jpg
new file mode 100644
index 00000000..9ac91eee
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 007/1802.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 009/2502.jpg b/S04 - [OPT]Eletronica Industrial/Aula 009/2502.jpg
new file mode 100644
index 00000000..d9add744
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 009/2502.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 009/2502A.jpg b/S04 - [OPT]Eletronica Industrial/Aula 009/2502A.jpg
new file mode 100644
index 00000000..e0e6fbd1
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 009/2502A.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 009/2502B.jpg b/S04 - [OPT]Eletronica Industrial/Aula 009/2502B.jpg
new file mode 100644
index 00000000..2437e5db
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 009/2502B.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 009/2502D.jpg b/S04 - [OPT]Eletronica Industrial/Aula 009/2502D.jpg
new file mode 100644
index 00000000..1a5a632d
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 009/2502D.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 009/2503C.jpg b/S04 - [OPT]Eletronica Industrial/Aula 009/2503C.jpg
new file mode 100644
index 00000000..a89890d3
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 009/2503C.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 010/IMG-20190226-WA0011.jpg b/S04 - [OPT]Eletronica Industrial/Aula 010/IMG-20190226-WA0011.jpg
new file mode 100644
index 00000000..68f89dea
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 010/IMG-20190226-WA0011.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 010/IMG_20190226_200637.jpg b/S04 - [OPT]Eletronica Industrial/Aula 010/IMG_20190226_200637.jpg
new file mode 100644
index 00000000..75909d52
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 010/IMG_20190226_200637.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 010/IMG_20190226_200641.jpg b/S04 - [OPT]Eletronica Industrial/Aula 010/IMG_20190226_200641.jpg
new file mode 100644
index 00000000..618b26f6
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 010/IMG_20190226_200641.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 010/IMG_20190226_200736.jpg b/S04 - [OPT]Eletronica Industrial/Aula 010/IMG_20190226_200736.jpg
new file mode 100644
index 00000000..cd431bb3
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 010/IMG_20190226_200736.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 011/IMG_20190318_200046.jpg b/S04 - [OPT]Eletronica Industrial/Aula 011/IMG_20190318_200046.jpg
new file mode 100644
index 00000000..f36d78bb
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 011/IMG_20190318_200046.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 011/IMG_20190318_200104.jpg b/S04 - [OPT]Eletronica Industrial/Aula 011/IMG_20190318_200104.jpg
new file mode 100644
index 00000000..ba278bfc
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 011/IMG_20190318_200104.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 012/IMG_20190311_195647.jpg b/S04 - [OPT]Eletronica Industrial/Aula 012/IMG_20190311_195647.jpg
new file mode 100644
index 00000000..fe7fc3f3
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 012/IMG_20190311_195647.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 012/IMG_20190311_195714.jpg b/S04 - [OPT]Eletronica Industrial/Aula 012/IMG_20190311_195714.jpg
new file mode 100644
index 00000000..49ae8985
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 012/IMG_20190311_195714.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 013/AmpOP 001.png b/S04 - [OPT]Eletronica Industrial/Aula 013/AmpOP 001.png
new file mode 100644
index 00000000..5f3f3617
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 013/AmpOP 001.png differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 013/AmpOP 002.png b/S04 - [OPT]Eletronica Industrial/Aula 013/AmpOP 002.png
new file mode 100644
index 00000000..bdd16026
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 013/AmpOP 002.png differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 013/AmpOP 003.png b/S04 - [OPT]Eletronica Industrial/Aula 013/AmpOP 003.png
new file mode 100644
index 00000000..1ad5ba32
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 013/AmpOP 003.png differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 013/AmpOP 004.png b/S04 - [OPT]Eletronica Industrial/Aula 013/AmpOP 004.png
new file mode 100644
index 00000000..ce57c02c
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 013/AmpOP 004.png differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 013/IMG_20190402_213304.jpg b/S04 - [OPT]Eletronica Industrial/Aula 013/IMG_20190402_213304.jpg
new file mode 100644
index 00000000..2b2726b6
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 013/IMG_20190402_213304.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 013/IMG_20190402_213307.jpg b/S04 - [OPT]Eletronica Industrial/Aula 013/IMG_20190402_213307.jpg
new file mode 100644
index 00000000..ccc09ae3
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 013/IMG_20190402_213307.jpg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Aula 013/IMG_20190402_213311.jpg b/S04 - [OPT]Eletronica Industrial/Aula 013/IMG_20190402_213311.jpg
new file mode 100644
index 00000000..cee51979
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Aula 013/IMG_20190402_213311.jpg differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/555.jpg" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/555.jpg"
new file mode 100644
index 00000000..20270ad3
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/555.jpg" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/APOSTILA ELETR\303\224NICA INDUSTRIAL[1].pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/APOSTILA ELETR\303\224NICA INDUSTRIAL[1].pdf"
new file mode 100644
index 00000000..69a4d580
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/APOSTILA ELETR\303\224NICA INDUSTRIAL[1].pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Conversores.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Conversores.pdf"
new file mode 100644
index 00000000..f4144752
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Conversores.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/000 SUM\303\201RIO.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/000 SUM\303\201RIO.pdf"
new file mode 100644
index 00000000..425af9b9
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/000 SUM\303\201RIO.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 001 TUJ.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 001 TUJ.pdf"
new file mode 100644
index 00000000..1c9eba39
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 001 TUJ.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 003 SCR.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 003 SCR.pdf"
new file mode 100644
index 00000000..32d88d59
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 003 SCR.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 004 Dados T\303\251cnicos de Tirirtores.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 004 Dados T\303\251cnicos de Tirirtores.pdf"
new file mode 100644
index 00000000..444d330b
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 004 Dados T\303\251cnicos de Tirirtores.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 005 DIAC.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 005 DIAC.pdf"
new file mode 100644
index 00000000..17a20efc
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 005 DIAC.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 006 TRIAC.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 006 TRIAC.pdf"
new file mode 100644
index 00000000..dc2e645a
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 006 TRIAC.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 007 Circuitos de Disparo de Tirirtores.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 007 Circuitos de Disparo de Tirirtores.pdf"
new file mode 100644
index 00000000..70ecd19a
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 007 Circuitos de Disparo de Tirirtores.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 008 TCA_785.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 008 TCA_785.pdf"
new file mode 100644
index 00000000..a6c96cce
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 008 TCA_785.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 009 Conversores Est\303\241ticos.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 009 Conversores Est\303\241ticos.pdf"
new file mode 100644
index 00000000..bb04f0c1
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 009 Conversores Est\303\241ticos.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 010 RETIFICADORES.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 010 RETIFICADORES.pdf"
new file mode 100644
index 00000000..445a46fb
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 010 RETIFICADORES.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 011 Conversores Com Carga Indutiva.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 011 Conversores Com Carga Indutiva.pdf"
new file mode 100644
index 00000000..b4f9f17b
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 011 Conversores Com Carga Indutiva.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 012 Dispositivo de Pot\303\252ncia.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 012 Dispositivo de Pot\303\252ncia.pdf"
new file mode 100644
index 00000000..f865869d
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/Cap\303\255tulo 012 Dispositivo de Pot\303\252ncia.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/ZbThumbnail.info" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/ZbThumbnail.info"
new file mode 100644
index 00000000..0e55feb0
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/ZbThumbnail.info" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/capa livro edna.jpg" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/capa livro edna.jpg"
new file mode 100644
index 00000000..9bb32126
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Edna/capa livro edna.jpg" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Capa Ivo Barbi.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Capa Ivo Barbi.pdf"
new file mode 100644
index 00000000..c0a7a2ae
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Capa Ivo Barbi.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 1 Introdu\303\247\303\243o aos conversores CC CC.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 1 Introdu\303\247\303\243o aos conversores CC CC.pdf"
new file mode 100644
index 00000000..612c213b
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 1 Introdu\303\247\303\243o aos conversores CC CC.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 2 Buck.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 2 Buck.pdf"
new file mode 100644
index 00000000..90de9279
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 2 Buck.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 3 Boost.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 3 Boost.pdf"
new file mode 100644
index 00000000..d92cf9ad
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 3 Boost.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 4 Buck-Boost.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 4 Buck-Boost.pdf"
new file mode 100644
index 00000000..0febc17d
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 4 Buck-Boost.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 5 Sepic.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 5 Sepic.pdf"
new file mode 100644
index 00000000..aa1c2abe
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 5 Sepic.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 6 ZETA.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 6 ZETA.pdf"
new file mode 100644
index 00000000..67e5caed
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 6 ZETA.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 7 CC CC DIRETOS.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 7 CC CC DIRETOS.pdf"
new file mode 100644
index 00000000..6b5d3be4
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Cap\303\255tulo 7 CC CC DIRETOS.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Pref\303\241cio e Sum\303\241rio.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Pref\303\241cio e Sum\303\241rio.pdf"
new file mode 100644
index 00000000..7fab29e1
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI CONVERSORES CC CC N\303\203O ISOLADOS/Ivo Barbi Pref\303\241cio e Sum\303\241rio.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Ap\303\252ndices.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Ap\303\252ndices.pdf"
new file mode 100644
index 00000000..dac6fa01
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Ap\303\252ndices.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 1.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 1.pdf"
new file mode 100644
index 00000000..e8dc726f
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 1.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 10.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 10.pdf"
new file mode 100644
index 00000000..2a9e6b2c
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 10.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 2.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 2.pdf"
new file mode 100644
index 00000000..75661a7e
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 2.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 3.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 3.pdf"
new file mode 100644
index 00000000..f2abfb6f
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 3.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 4.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 4.pdf"
new file mode 100644
index 00000000..59afa10f
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 4.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 5.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 5.pdf"
new file mode 100644
index 00000000..a3198918
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 5.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 6.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 6.pdf"
new file mode 100644
index 00000000..fe9dbc11
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 6.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 7.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 7.pdf"
new file mode 100644
index 00000000..93df96ea
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 7.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 8.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 8.pdf"
new file mode 100644
index 00000000..314753b1
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 8.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 9.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 9.pdf"
new file mode 100644
index 00000000..4034d426
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas Cap\303\255tulo 9.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas SUM\303\201RIO.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas SUM\303\201RIO.pdf"
new file mode 100644
index 00000000..42f3e937
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas SUM\303\201RIO.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas, Capa.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas, Capa.pdf"
new file mode 100644
index 00000000..4e7b7e25
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/IVO BARBI, PROJETOS DE FONTES CHAVEADAS/Ivo Barbi Projetos de Fontes Chaveadas, Capa.pdf" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Pertence Amplificadores Operacionais/A.Pertence.Junior-Amplificadores_Operacionales_y_Filtros_Activos-McGraw-Hill.by.[CHILE]Kveldulv.pdf" "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Pertence Amplificadores Operacionais/A.Pertence.Junior-Amplificadores_Operacionales_y_Filtros_Activos-McGraw-Hill.by.[CHILE]Kveldulv.pdf"
new file mode 100644
index 00000000..de5f8481
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Conte\303\272do/Pertence Amplificadores Operacionais/A.Pertence.Junior-Amplificadores_Operacionales_y_Filtros_Activos-McGraw-Hill.by.[CHILE]Kveldulv.pdf" differ
diff --git a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Backup Of Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrente.pdsbak b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Backup Of Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrente.pdsbak
new file mode 100644
index 00000000..4857c3e7
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Backup Of Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrente.pdsbak differ
diff --git a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Backup Of Fonte Regulado Com Amplificador de Erro.pdsbak b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Backup Of Fonte Regulado Com Amplificador de Erro.pdsbak
new file mode 100644
index 00000000..72fabb39
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Backup Of Fonte Regulado Com Amplificador de Erro.pdsbak differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulada com Amplificador de Erro (Revis\303\243o).docx" "b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulada com Amplificador de Erro (Revis\303\243o).docx"
new file mode 100644
index 00000000..ecfcc5c1
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulada com Amplificador de Erro (Revis\303\243o).docx" differ
diff --git a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro 1.pdsprj b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro 1.pdsprj
new file mode 100644
index 00000000..c0cdd754
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro 1.pdsprj differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro 1.pdsprj.ANDRE-NOTE.Andr\303\251 Vieira.workspace" "b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro 1.pdsprj.ANDRE-NOTE.Andr\303\251 Vieira.workspace"
new file mode 100644
index 00000000..aed7935f
--- /dev/null
+++ "b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro 1.pdsprj.ANDRE-NOTE.Andr\303\251 Vieira.workspace"
@@ -0,0 +1,36 @@
+
+
+
+ 2c0000000200000003000000ffffffffffffffffffffffffffffffff8300000009000000d3040000cf020000
+
+
+
+
+
+
+ 665
+ No
+ 100
+ 100
+
+
+
+
+ 83
+ No
+ Yes
+ 83
+ Yes
+ No
+ No
+ Yes
+ 0
+ 83
+ 100
+ 83
+ 0
+
+
+
+
+
diff --git a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrent.pdsprj b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrent.pdsprj
new file mode 100644
index 00000000..98820670
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrent.pdsprj differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrent.pdsprj.ANDRE-NOTE.Andr\303\251 Vieira.workspace" "b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrent.pdsprj.ANDRE-NOTE.Andr\303\251 Vieira.workspace"
new file mode 100644
index 00000000..7f654f48
--- /dev/null
+++ "b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrent.pdsprj.ANDRE-NOTE.Andr\303\251 Vieira.workspace"
@@ -0,0 +1,10 @@
+
+
+
+ 2c0000000200000003000000ffffffffffffffffffffffffffffffff8300000009000000d3040000cf020000
+
+
+
+
+
+
diff --git a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrente.pdsprj b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrente.pdsprj
new file mode 100644
index 00000000..bf3012e9
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrente.pdsprj differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrente.pdsprj.ANDRE-NOTE.Andr\303\251 Vieira.workspace" "b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrente.pdsprj.ANDRE-NOTE.Andr\303\251 Vieira.workspace"
new file mode 100644
index 00000000..e927e9e3
--- /dev/null
+++ "b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro e Desdobrador de Corrente.pdsprj.ANDRE-NOTE.Andr\303\251 Vieira.workspace"
@@ -0,0 +1,36 @@
+
+
+
+ 2c00000002000000030000000083ffff0083ffffffffffffffffffff8300000009000000d3040000cf020000
+
+
+
+
+
+
+ 665
+ No
+ 100
+ 100
+
+
+
+
+ 83
+ No
+ Yes
+ 83
+ Yes
+ No
+ No
+ Yes
+ 0
+ 83
+ 100
+ 83
+ 0
+
+
+
+
+
diff --git a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro.BMP b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro.BMP
new file mode 100644
index 00000000..798e9665
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro.BMP differ
diff --git a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro.PDF b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro.PDF
new file mode 100644
index 00000000..faace768
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro.PDF differ
diff --git a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro.pdsprj b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro.pdsprj
new file mode 100644
index 00000000..1bc848f3
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro.pdsprj differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro.pdsprj.ANDRE-NOTE.Andr\303\251 Vieira.workspace" "b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro.pdsprj.ANDRE-NOTE.Andr\303\251 Vieira.workspace"
new file mode 100644
index 00000000..aed7935f
--- /dev/null
+++ "b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/Fonte Regulado Com Amplificador de Erro.pdsprj.ANDRE-NOTE.Andr\303\251 Vieira.workspace"
@@ -0,0 +1,36 @@
+
+
+
+ 2c0000000200000003000000ffffffffffffffffffffffffffffffff8300000009000000d3040000cf020000
+
+
+
+
+
+
+ 665
+ No
+ 100
+ 100
+
+
+
+
+ 83
+ No
+ Yes
+ 83
+ Yes
+ No
+ No
+ Yes
+ 0
+ 83
+ 100
+ 83
+ 0
+
+
+
+
+
diff --git a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/fonte regulada com amplificador de erro.bmp b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/fonte regulada com amplificador de erro.bmp
new file mode 100644
index 00000000..97aeccaa
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/fonte regulada com amplificador de erro.bmp differ
diff --git a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/fonte regulado com amplificador de erro e desdobrador de corrente + potenciometro.bmp b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/fonte regulado com amplificador de erro e desdobrador de corrente + potenciometro.bmp
new file mode 100644
index 00000000..4a0f4766
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/fonte regulado com amplificador de erro e desdobrador de corrente + potenciometro.bmp differ
diff --git a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/fonte regulado com amplificador de erro e desdobrador de corrente.bmp b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/fonte regulado com amplificador de erro e desdobrador de corrente.bmp
new file mode 100644
index 00000000..c87b8109
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/fonte regulado com amplificador de erro e desdobrador de corrente.bmp differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/~$nte Regulada com Amplificador de Erro (Revis\303\243o).docx" "b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/~$nte Regulada com Amplificador de Erro (Revis\303\243o).docx"
new file mode 100644
index 00000000..6789f417
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/~$nte Regulada com Amplificador de Erro (Revis\303\243o).docx" differ
diff --git a/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/~WRL2603.tmp b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/~WRL2603.tmp
new file mode 100644
index 00000000..54a89709
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Fonte Regulada com Amplificador de Erro/~WRL2603.tmp differ
diff --git a/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.15 (1).jpeg b/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.15 (1).jpeg
new file mode 100644
index 00000000..17e61ef3
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.15 (1).jpeg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.15.jpeg b/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.15.jpeg
new file mode 100644
index 00000000..85e4fb6c
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.15.jpeg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.16 (1).jpeg b/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.16 (1).jpeg
new file mode 100644
index 00000000..a9aae994
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.16 (1).jpeg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.16 (2).jpeg b/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.16 (2).jpeg
new file mode 100644
index 00000000..3d5c7ddd
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.16 (2).jpeg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.16 (3).jpeg b/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.16 (3).jpeg
new file mode 100644
index 00000000..d12b66d8
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.16 (3).jpeg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.16.jpeg b/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.16.jpeg
new file mode 100644
index 00000000..ecdceadd
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Resumo/Provas/WhatsApp Image 2019-03-12 at 15.57.16.jpeg differ
diff --git a/S04 - [OPT]Eletronica Industrial/Resumo/Resumo (Sara).jpeg b/S04 - [OPT]Eletronica Industrial/Resumo/Resumo (Sara).jpeg
new file mode 100644
index 00000000..38370b7f
Binary files /dev/null and b/S04 - [OPT]Eletronica Industrial/Resumo/Resumo (Sara).jpeg differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Resumo/Resumo - Eletr\303\264nica Industrial(1).docx" "b/S04 - [OPT]Eletronica Industrial/Resumo/Resumo - Eletr\303\264nica Industrial(1).docx"
new file mode 100644
index 00000000..0acc5cc2
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Resumo/Resumo - Eletr\303\264nica Industrial(1).docx" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Resumo/Resumo - Eletr\303\264nica Industrial.docx" "b/S04 - [OPT]Eletronica Industrial/Resumo/Resumo - Eletr\303\264nica Industrial.docx"
new file mode 100644
index 00000000..5a958d7d
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Resumo/Resumo - Eletr\303\264nica Industrial.docx" differ
diff --git "a/S04 - [OPT]Eletronica Industrial/Resumo/Resumo - Eletr\303\264nica Industrial.pdf" "b/S04 - [OPT]Eletronica Industrial/Resumo/Resumo - Eletr\303\264nica Industrial.pdf"
new file mode 100644
index 00000000..5986181e
Binary files /dev/null and "b/S04 - [OPT]Eletronica Industrial/Resumo/Resumo - Eletr\303\264nica Industrial.pdf" differ
diff --git a/S05 - Banco de Dados/2018.2 - Serra/AP1 BD.pdf b/S05 - Banco de Dados/2018.2 - Serra/AP1 BD.pdf
new file mode 100644
index 00000000..cbe5c6de
Binary files /dev/null and b/S05 - Banco de Dados/2018.2 - Serra/AP1 BD.pdf differ
diff --git "a/S05 - Banco de Dados/2018.2 - Serra/Listas de Exerc\303\255cios - BD.pdf" "b/S05 - Banco de Dados/2018.2 - Serra/Listas de Exerc\303\255cios - BD.pdf"
new file mode 100644
index 00000000..2dd68488
Binary files /dev/null and "b/S05 - Banco de Dados/2018.2 - Serra/Listas de Exerc\303\255cios - BD.pdf" differ
diff --git a/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/552584_298592286904975_2049456714_n.jpg b/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/552584_298592286904975_2049456714_n.jpg
new file mode 100644
index 00000000..4390c56f
Binary files /dev/null and b/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/552584_298592286904975_2049456714_n.jpg differ
diff --git a/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/580868_298570533573817_338163735_n.jpg b/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/580868_298570533573817_338163735_n.jpg
new file mode 100644
index 00000000..5a518f27
Binary files /dev/null and b/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/580868_298570533573817_338163735_n.jpg differ
diff --git a/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/8021_298526240244913_1422775508_n.jpg b/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/8021_298526240244913_1422775508_n.jpg
new file mode 100644
index 00000000..346a8597
Binary files /dev/null and b/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/8021_298526240244913_1422775508_n.jpg differ
diff --git a/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/SQL1_Create_Use_Drop_Database.pdf b/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/SQL1_Create_Use_Drop_Database.pdf
new file mode 100644
index 00000000..ec42385e
Binary files /dev/null and b/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/SQL1_Create_Use_Drop_Database.pdf differ
diff --git a/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/SQL3_Insercao_e_Consulta.pdf b/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/SQL3_Insercao_e_Consulta.pdf
new file mode 100644
index 00000000..070eb6bd
Binary files /dev/null and b/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/SQL3_Insercao_e_Consulta.pdf differ
diff --git a/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/Thumbs.db b/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/Thumbs.db
new file mode 100644
index 00000000..dcf00060
Binary files /dev/null and b/S05 - Banco de Dados/Conteudos Anteriores/Conteudo N2/Thumbs.db differ
diff --git a/S05 - Banco de Dados/Conteudos Anteriores/MapeamentoObjetoRelacional.pdf b/S05 - Banco de Dados/Conteudos Anteriores/MapeamentoObjetoRelacional.pdf
new file mode 100644
index 00000000..ad49315e
Binary files /dev/null and b/S05 - Banco de Dados/Conteudos Anteriores/MapeamentoObjetoRelacional.pdf differ
diff --git "a/S05 - Banco de Dados/Conteudos Anteriores/Trabalho SELECT\302\264s/Trabalho de Banco de Dados.docx" "b/S05 - Banco de Dados/Conteudos Anteriores/Trabalho SELECT\302\264s/Trabalho de Banco de Dados.docx"
new file mode 100644
index 00000000..918620c0
Binary files /dev/null and "b/S05 - Banco de Dados/Conteudos Anteriores/Trabalho SELECT\302\264s/Trabalho de Banco de Dados.docx" differ
diff --git a/S05 - Banco de Dados/Conteudos Anteriores/Trabalho de Banco de Dados.docx b/S05 - Banco de Dados/Conteudos Anteriores/Trabalho de Banco de Dados.docx
new file mode 100644
index 00000000..918620c0
Binary files /dev/null and b/S05 - Banco de Dados/Conteudos Anteriores/Trabalho de Banco de Dados.docx differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2020.1 - Glauber Cintra/Calcnum - 2020.1 - avaliacao1 - Jo\303\243o Gabriel - Tirou 10 na prova.pdf" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2020.1 - Glauber Cintra/Calcnum - 2020.1 - avaliacao1 - Jo\303\243o Gabriel - Tirou 10 na prova.pdf"
new file mode 100644
index 00000000..aca680a8
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2020.1 - Glauber Cintra/Calcnum - 2020.1 - avaliacao1 - Jo\303\243o Gabriel - Tirou 10 na prova.pdf" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2020.1 - Glauber Cintra/Calcnum - 2020.1 - avaliacao2 - Jo\303\243o Gabriel - Tirou 10 na prova.pdf" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2020.1 - Glauber Cintra/Calcnum - 2020.1 - avaliacao2 - Jo\303\243o Gabriel - Tirou 10 na prova.pdf"
new file mode 100644
index 00000000..7974d951
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2020.1 - Glauber Cintra/Calcnum - 2020.1 - avaliacao2 - Jo\303\243o Gabriel - Tirou 10 na prova.pdf" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2020.1 - Glauber Cintra/LEIA-ME.txt" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2020.1 - Glauber Cintra/LEIA-ME.txt"
new file mode 100644
index 00000000..bb58e36b
--- /dev/null
+++ "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2020.1 - Glauber Cintra/LEIA-ME.txt"
@@ -0,0 +1 @@
+Pasta com arquivos referentes as provas dadas no semestre de 2020.1 .
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2021.1 - Glauber Cintra/Calcnum - Conteudo - 2021.1/LEIA-ME.txt" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2021.1 - Glauber Cintra/Calcnum - Conteudo - 2021.1/LEIA-ME.txt"
new file mode 100644
index 00000000..654b5474
--- /dev/null
+++ "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2021.1 - Glauber Cintra/Calcnum - Conteudo - 2021.1/LEIA-ME.txt"
@@ -0,0 +1 @@
+Conteúdos dados no semestre de 2021.1 .
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2021.1 - Glauber Cintra/Calcnum - Conteudo - 2021.1/calcnum_2021.1_slides_N1_Rudigus-san.pdf" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2021.1 - Glauber Cintra/Calcnum - Conteudo - 2021.1/calcnum_2021.1_slides_N1_Rudigus-san.pdf"
new file mode 100644
index 00000000..3c2fbc1e
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2021.1 - Glauber Cintra/Calcnum - Conteudo - 2021.1/calcnum_2021.1_slides_N1_Rudigus-san.pdf" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2021.1 - Glauber Cintra/Calcnum - Conteudo - 2021.1/calcnum_2021.1_slides_N2_Rudigus-san.pdf" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2021.1 - Glauber Cintra/Calcnum - Conteudo - 2021.1/calcnum_2021.1_slides_N2_Rudigus-san.pdf"
new file mode 100644
index 00000000..b920933a
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2021.1 - Glauber Cintra/Calcnum - Conteudo - 2021.1/calcnum_2021.1_slides_N2_Rudigus-san.pdf" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2021.1 - Glauber Cintra/LEIA-ME.txt" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2021.1 - Glauber Cintra/LEIA-ME.txt"
new file mode 100644
index 00000000..f2a44baa
--- /dev/null
+++ "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/2021.1 - Glauber Cintra/LEIA-ME.txt"
@@ -0,0 +1 @@
+Pasta para provas e conteúdos referentes ao devido semestre de 2021.1 .
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/C.N avaliac\314\247a\314\203o N1.pdf" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/C.N avaliac\314\247a\314\203o N1.pdf"
new file mode 100644
index 00000000..5a1c371a
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/C.N avaliac\314\247a\314\203o N1.pdf" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/WhatsApp Image 2016-08-30 at 21.24.35.jpeg" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/WhatsApp Image 2016-08-30 at 21.24.35.jpeg"
new file mode 100644
index 00000000..5c138c0a
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/WhatsApp Image 2016-08-30 at 21.24.35.jpeg" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/WhatsApp Image 2016-08-30 at 21.24.38.jpeg" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/WhatsApp Image 2016-08-30 at 21.24.38.jpeg"
new file mode 100644
index 00000000..13e881a8
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/WhatsApp Image 2016-08-30 at 21.24.38.jpeg" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/WhatsApp Image 2016-08-30 at 21.24.41.jpeg" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/WhatsApp Image 2016-08-30 at 21.24.41.jpeg"
new file mode 100644
index 00000000..d70eda13
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/WhatsApp Image 2016-08-30 at 21.24.41.jpeg" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0584.JPG" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0584.JPG"
new file mode 100644
index 00000000..e2d9197c
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0584.JPG" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0585.JPG" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0585.JPG"
new file mode 100644
index 00000000..3764d69f
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0585.JPG" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0586.JPG" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0586.JPG"
new file mode 100644
index 00000000..684b33fe
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0586.JPG" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0587.JPG" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0587.JPG"
new file mode 100644
index 00000000..d1b8c977
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0587.JPG" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0588.JPG" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0588.JPG"
new file mode 100644
index 00000000..f2f3dd55
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/IMG_0588.JPG" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/Lista de exerc\303\255cios 1.pdf" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/Lista de exerc\303\255cios 1.pdf"
new file mode 100644
index 00000000..ddadc604
Binary files /dev/null and "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/Resolu\303\247\303\243o lista/Lista de exerc\303\255cios 1.pdf" differ
diff --git "a/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/ep1.c" "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/ep1.c"
new file mode 100644
index 00000000..270f098d
--- /dev/null
+++ "b/S05 - C\303\241lculo Num\303\251rico/Conteudos anteriores/metodos_numericos/ep1.c"
@@ -0,0 +1,467 @@
+#include
+#include
+#include
+#include
+
+//============================ METODOS AUXILIARES ============================//
+
+ typedef struct {
+ int tam;
+ double** matriz;
+} MatrizSL;
+
+double** alocaMatriz(int l, int c){
+ int i, j;
+ double **m;
+ m = malloc(sizeof(double*) * l);
+ if(m == NULL)
+ return NULL;
+ for(i=0;imatriz = matrix;
+ mSL->tam = n;
+
+ return mSL;
+}
+//============================ METODOS AUXILIARES ============================//
+//============================ METODO DE LAGRANGE ============================//
+int perguntaGrauEquacao() {
+ int grauEq;
+ do {
+ printf("Informe grau da equação: ");
+ scanf(" %d", &grauEq);
+ printf("\n");
+ } while(grauEq < 0);
+ return grauEq;
+}
+
+void metodoDeLagrange() {
+ int i, j;
+ int mTam = perguntaGrauEquacao() + 1;
+ double** ml = alocaMatriz(4, mTam + 2);
+ double* limites = alocaVetor(4);
+
+ leMatrizLagrange(ml, 1, mTam);
+
+ for(i=0; i ml[j][mTam])) ? (mTam-i-1) : ml[j][mTam];
+ ml[j][mTam+1] = (ml[j][i] < ml[j][mTam+1]) ? ml[j][i] : ml[j][mTam+1];
+ }
+
+ ml[j][mTam+1] = fabs(ml[j][mTam+1]);
+ }
+
+ //calculando os limites
+ for(i=0; i<4; i++) {
+ limites[i] = (1.0 + pow(ml[i][mTam+1]/ml[i][0], 1.0/(mTam-1-ml[i][mTam]))) * (i<2 ? 1 : -1);
+ }
+
+ printf("Os limites para a equacao sao:\n");
+ printf("Superiores: %.4f <= x <= %.4f\n", 1.0/limites[1], limites[0]);
+ printf("Inferiores: %.4f <= x <= %.4f\n", limites[2], 1.0/limites[3]);
+}
+//============================ METODO DE LAGRANGE ============================//
+
+
+
+
+
+
+
+
+//============================ METODO DE GAUSS-SEIDEL ============================//
+
+
+//retorna 1 para bem condicionada. -1 para mal condicionada
+int checarCriterioDasLinhasEColunas(double** m) {
+ int nVariaveis = 3, i, j;
+ double pivo, somaLinha, somaColuna;
+
+ for (i = 0; i < nVariaveis; i++){
+ somaLinha = 0.0;
+ somaColuna = 0.0;
+ pivo = fabs(m[i][i]);
+
+ for (j = 0; j < nVariaveis; j++){
+ if (i != j){
+ somaLinha = somaLinha + fabs(m[i][j]);
+ somaColuna = somaColuna + fabs(m[j][i]);
+ }
+
+ if (somaLinha > pivo || somaColuna > pivo)
+ return -1;
+ }
+ }
+ return 1;
+}
+/*
+* @brief
+* @params
+*/
+void metodoDeGaussSeidel() {
+ MatrizSL* mSL = lerArquivo();
+
+ if(mSL == NULL) {
+ printf("Houve um erro ao ler a matriz ou o arquivo.\n");
+ return;
+ }
+
+ double** m = mSL->matriz;
+
+ if (checarCriterioDasLinhasEColunas(m) == -1) {
+ printf("\nMatriz não satisfaz criterio das linhas e colunas\n");
+ return;
+ }
+ //verificar condicionamento
+ double divisor, valorLinha;
+ int i, j, h = 0;
+ int nVariaveis = mSL->tam;
+ double valores[nVariaveis];
+ double valoresAnteriores[nVariaveis];
+
+ for(i=0;i 0 e A0 != 0\n");
+// return -1;
+// }
+// // for(int j=0;j<4;j++)
+// // printf("%lf\t", vcoef[j]);
+
+// limites = metodoDeLagrange(grau, vcoef);
+// double aux, aux_linha, xi, xiprox = NULL;
+// xi = limites[1];
+// while(count < 1000 || abs(xi - xiprox) < 0.00000001){
+// aux = 0;
+// aux_linha = 0;
+
+// if(xiprox != NULL)
+// xi = xiprox;
+
+// for (i = 0; i < grau + 1; i++){
+// aux += vcoef[i] * pow(xi, grau - i);
+// aux_linha += (grau-i) * vcoef[i] * pow(xi, grau - (1 + i));
+// }
+// xiprox = xi - (aux/aux_linha);
+// count += 1;
+// }
+
+// return 0.0;
+// }
+
+/*
+* @brief método auxiliar para checar os valores quando for imprimir
+* na base hexxadecimal.
+* @params value, valor a ser verificado. Se for entre 10 - 15,imprime
+* a respectiva letra, caso nao, imprime o proprio value.*/
+void checkValue(int value){
+ switch (value){
+ case 10: printf("A");
+ break;
+ case 11: printf("B");
+ break;
+ case 12: printf("C");
+ break;
+ case 13: printf("D");
+ break;
+ case 14: printf("E");
+ break;
+ case 15: printf("F");
+ break;
+ default: printf("%d", value);
+ break;
+ }
+}
+
+/*
+* @brief método que converte de decimal para binário
+* @params i, valor da parte inteira do decimal.
+* f, valor da parte fracionária do decimal.
+*/
+void convertBin(int i, double f){
+ int res_int[10], index_int = 0, index_frac = 0;
+ double f_aux = f, res_fra[20];
+
+ while(i >= 2){
+ res_int[index_int] = i%2;
+ i = (i - i%2)/2;
+ index_int++;
+ }
+ res_int[index_int] = i;
+
+ while(f_aux > 0 && index_frac < 20){
+ double k;
+ f_aux = modf(f_aux * 2, &k);
+ res_fra[index_frac] = k;
+ index_frac++;
+ }
+ // Imprimindo valores convertidos
+ printf("Binário: ");
+ for(i=index_int; i>=0; i--)
+ printf("%d", res_int[i]);
+ if(f > 0){
+ printf(".");
+ for(i=0; i= 16){
+ res_int[index_int] = i%16;
+ i = (i - i%16)/16;
+ index_int++;
+ }
+ res_int[index_int] = i;
+
+ while(f_aux > 0 && index_frac < 20){
+ double k;
+ f_aux = modf(f_aux * 16, &k);
+ res_fra[index_frac] = k;
+ index_frac++;
+ }
+ // Imprimindo valores convertidos
+ printf("Hexadecimal: ");
+ for(i=index_int; i>=0; i--)
+ checkValue(res_int[i]);
+ if(f > 0){
+ printf(".");
+ for(i=0; i= 8){
+ res_int[index_int] = i%8;
+ i = (i - i%8)/8;
+ index_int++;
+ }
+ res_int[index_int] = i;
+
+ while(f_aux > 0 && index_frac < 20){
+ double k;
+ f_aux = modf(f_aux * 8, &k);
+ res_fra[index_frac] = k;
+ index_frac++;
+ }
+ // Imprimindo valores convertidos
+ printf("Octadecimal: ");
+ for(i=index_int; i>=0; i--)
+ printf("%d", res_int[i]);
+ if(f > 0){
+ printf(".");
+ for(i=0; i