<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://wiki.unicentro.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hgardin</id>
	<title>Wikiunicentro - Contribuições do usuário [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.unicentro.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hgardin"/>
	<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/Especial:Contribui%C3%A7%C3%B5es/Hgardin"/>
	<updated>2026-04-25T20:37:54Z</updated>
	<subtitle>Contribuições do usuário</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Classifica%C3%A7%C3%A3o_de_problemas&amp;diff=15768</id>
		<title>Classificação de problemas</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Classifica%C3%A7%C3%A3o_de_problemas&amp;diff=15768"/>
		<updated>2018-03-06T11:54:58Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Os problemas trabalhados desde que o projeto teve início estão sendo classificados e documentados. &lt;br /&gt;
Os dados aqui apresentados são resultantes das fontes bibliográficas utilizadas e das experiências para a resolução de cada um dos problemas.&lt;br /&gt;
Agradecemos, em especial, a colaboração de Paulo Daniel Gonçalves, que atuou como monitor do projeto em 2012 e 2013. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tabela de classificação de problemas ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problema&lt;br /&gt;
! Classificação&lt;br /&gt;
! Dificuldade&lt;br /&gt;
! Observações&lt;br /&gt;
! Lista de usos&lt;br /&gt;
! Referências&lt;br /&gt;
|-&lt;br /&gt;
| Aero	&lt;br /&gt;
| Adhoc/Contagem	&lt;br /&gt;
| Fácil	&lt;br /&gt;
| Contar quantas vezes cada aeroporto aparece na lista de vôos, e por fim imprimir o(s) maior(es) valor(es).	&lt;br /&gt;
| 2º encontro 2013	&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Ants, Colônia de Formigas &lt;br /&gt;
| Grafos&lt;br /&gt;
| Médio&lt;br /&gt;
| Floyd-Warshall deve resolver (Caminho mínimo de qualquer nó para qualquer nó). Porém não sei se os limites permitem isso, preciso verificar.&lt;br /&gt;
| Seletiva 2012&lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1135 URI 1135]&lt;br /&gt;
|-&lt;br /&gt;
| Beldades, Ordenação por Tamanho &lt;br /&gt;
| Ordenação&lt;br /&gt;
| Fácil&lt;br /&gt;
| Ordenação de Strings e Contagem de repetições	&lt;br /&gt;
| Seletiva 2012, 2ª seletiva 2013&lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1244 URI 1244]&lt;br /&gt;
|-&lt;br /&gt;
| Bit&lt;br /&gt;
| Aritmética e Álgebra&lt;br /&gt;
| Fácil&lt;br /&gt;
| É necessário dividir a quantia de saque desejada pelos valores das notas disponiveis, a divisão deve ser feita na ordem da maior nota para menor.&lt;br /&gt;
| 1º encontro 2013&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Botas, Botas Perdidas &lt;br /&gt;
| Adhoc/Contagem	&lt;br /&gt;
| Fácil&lt;br /&gt;
| A partir de uma lista de botas, contar pares de botas (mesmo tamanho, pés diferentes).	&lt;br /&gt;
| 3º encontro 2013	&lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1245 URI 1245]&lt;br /&gt;
|-&lt;br /&gt;
| Decoder, The Decoder &lt;br /&gt;
| Strings/Tabela ASCII	&lt;br /&gt;
| Fácil&lt;br /&gt;
| Cifra de César, foi adicionado 7 a cada valor da string. Tratamento de valores da tabela ASC.&lt;br /&gt;
| 1ª seletiva 2013	&lt;br /&gt;
| [http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;category=6&amp;amp;page=show_problem&amp;amp;problem=399 UVA 458]&lt;br /&gt;
|-&lt;br /&gt;
| Digitos Romanos, Contagem de Dígitos , Romam Digitis &lt;br /&gt;
| Aritmética e Álgebra	&lt;br /&gt;
| Fácil&lt;br /&gt;
| Lembra o problema do caixa, de retornar o menor número de notas de dinheiro.&lt;br /&gt;
| 1ª seletiva 2013		&lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1138 URI 1138], [http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;category=5&amp;amp;page=show_problem&amp;amp;problem=280 UVA 344]&lt;br /&gt;
|-&lt;br /&gt;
| Eletricity&lt;br /&gt;
| Aritmética e Álgebra	&lt;br /&gt;
| Fácil&lt;br /&gt;
| Verifica as datas que estão em sequência válida (possível de calcular a diferença), calcula a diferença de consumo entre elas, e apresenta o resultado.	&lt;br /&gt;
| Seletiva 2012&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Espelho Espelho Meu, Mirror, Mirror 	&lt;br /&gt;
| Adhoc/Matrizes	&lt;br /&gt;
| Fácil&lt;br /&gt;
| Operações básicas sobre uma matriz, como rotacionar valores.	&lt;br /&gt;
| 1ª seletiva 2013	&lt;br /&gt;
| [http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;category=6&amp;amp;page=show_problem&amp;amp;problem=407 UVA 466]&lt;br /&gt;
|-&lt;br /&gt;
| Fatores, Fatores e Múltiplos &lt;br /&gt;
| Teoria dos Números/Analise combinatoria	&lt;br /&gt;
| Difícil&lt;br /&gt;
| &lt;br /&gt;
| 1ª seletiva 2013	&lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1056 URI 1056], ICPC 2013&lt;br /&gt;
|-&lt;br /&gt;
| Fatorial, Fatorial Novamente! 	&lt;br /&gt;
| Aritmética e Álgebra	&lt;br /&gt;
| Fácil	&lt;br /&gt;
| Lembra uma mudança de base, onde cada posição vale N!, e N é o nº da posição do dígito.	&lt;br /&gt;
| Seletiva 2012, 2ª seletiva 2013	&lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1429 URI 1429]&lt;br /&gt;
|-&lt;br /&gt;
| Fechem as portas&lt;br /&gt;
| Aritmética e Álgebra/Vetor &lt;br /&gt;
| Fácil &lt;br /&gt;
| Parece ser apenas percorrer um vetor invertendo o estado de sua posição, os índices são múltiplos de uma variável de controle, e por fim imprimir os índices das posições que contém um determinado estado. &lt;br /&gt;
| 2ª seletiva 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1371 URI 1371] &lt;br /&gt;
|-&lt;br /&gt;
| Feynman, , &lt;br /&gt;
| Combinatória/Aritmética e Álgebra &lt;br /&gt;
| Fácil/Médio &lt;br /&gt;
| A quantidade de quadrados é uma recorrência: Realizar o somatório N * N + (N-1) * (N-1) + (N-2) * (N-2) + ... 1 * 1 para encontrar o resultado. &lt;br /&gt;
| Seletiva 2012 &lt;br /&gt;
|[https://www.urionlinejudge.com.br/judge/pt/problems/view/1323 URI 1323], [http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;page=show_problem&amp;amp;problem=3301 UVA 12149] &lt;br /&gt;
|-&lt;br /&gt;
| Frotatax &lt;br /&gt;
| Aritmética e Álgebra &lt;br /&gt;
| Fácil &lt;br /&gt;
| Multiplica-se o valor de KM/L do combustível pelo seu preço, e compara. &lt;br /&gt;
| 1º encontro 2013 &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Hist, Maior Retângulo em um Histograma&lt;br /&gt;
| Adhoc/Vetor &lt;br /&gt;
| Médio &lt;br /&gt;
| Salva os números em um vetor, e percorre atualizando os valores, se for igual ao atual então modifica para 1, se não incrementa em 1, e vai incrementando um contador com o valor atual. &lt;br /&gt;
| Seletiva 2012 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1683 URI 1683] &lt;br /&gt;
|-&lt;br /&gt;
| Matrioshkas &lt;br /&gt;
| Estrutura de Dados/Pilha &lt;br /&gt;
| Fácil/Médio &lt;br /&gt;
| Verificar uma sequência de bonecas matrioshkas está correta (Se uma boneca cabe dentro de outra, levando em consideração que já pode ter outras dentro dela). &lt;br /&gt;
| 5º encontro 2013 &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Mean, Problema com Mediana e Média&lt;br /&gt;
| Aritmética e Álgebra &lt;br /&gt;
| Fácil/Médio &lt;br /&gt;
| Utiliza a fórmula (A + B + C)/3 = min(A,B). &lt;br /&gt;
| Seletiva 2012 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1379 URI 1379]&lt;br /&gt;
|-&lt;br /&gt;
| Movimentos, Trilhos Novamente... Traçando Movimentos&lt;br /&gt;
| Adhoc/Matriz &lt;br /&gt;
| Fácil &lt;br /&gt;
| Verificar se a partir de uma posição da matriz é possível se deslocar na matriz para outra posição (Está dentro dos limites, o espaço não está ocupado). &lt;br /&gt;
| 3º encontro 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1063 URI 1063] &lt;br /&gt;
|-&lt;br /&gt;
| Ordenação &lt;br /&gt;
| Ordenação &lt;br /&gt;
| Fácil &lt;br /&gt;
| Ordenar uma sequência de números (Acho que a saída do último exemplo está errada no pdf, caso contrário não entendi o problema). &lt;br /&gt;
| Seletiva 2012 &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Palavras Fibonacci; Fibonacci, Quantas Chamadas? &lt;br /&gt;
| Strings/Programação dinamica &lt;br /&gt;
| Difícil &lt;br /&gt;
| 1ª seletiva 2013 &lt;br /&gt;
| ICPC 2012 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 URI 1029]&lt;br /&gt;
|-&lt;br /&gt;
| Parenteses, Balanço de Parênteses I &lt;br /&gt;
| Estrutura de Dados/Pilha &lt;br /&gt;
| Fácil &lt;br /&gt;
| Verificar se os parênteses abre e fecham em ordem. &lt;br /&gt;
| 3º encontro 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 URI 1068]&lt;br /&gt;
|-&lt;br /&gt;
| Permutations, Gerando Permutações Ordenadas Rapidamente&lt;br /&gt;
| Combinatória &lt;br /&gt;
| Médio &lt;br /&gt;
| Enunciado complexo. &lt;br /&gt;
| 2º encontro 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1401 URI 1401]&lt;br /&gt;
|-&lt;br /&gt;
| Primo, Número primo&lt;br /&gt;
| Teoria dos Números &lt;br /&gt;
| Fácil &lt;br /&gt;
| Verificar se um número é primo. &lt;br /&gt;
| 3º encontro 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1165 URI 1165]&lt;br /&gt;
|-&lt;br /&gt;
| Quadrado, Quadrado de Pares&lt;br /&gt;
| Aritmética e Álgebra &lt;br /&gt;
| Fácil &lt;br /&gt;
| Imprimir o quadrado de um número. &lt;br /&gt;
| 1º encontro 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1073 URI 1073]&lt;br /&gt;
|-&lt;br /&gt;
| Stack&#039;em up&lt;br /&gt;
| Adhoc/Vetor &lt;br /&gt;
| Fácil/Médio &lt;br /&gt;
| Começa com um baralho ordenado, aplica as trocas do vetor conforme os embaralhamentos, e imprime o resultado. &lt;br /&gt;
| 5º encontro 2013, 1ª seletiva 2013 &lt;br /&gt;
| [http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;page=show_problem&amp;amp;problem=1146 UVA 10205] &lt;br /&gt;
|-&lt;br /&gt;
| Tic-Tac-Toe, Jogo da Velha&lt;br /&gt;
| Adhoc/Matriz/Contagem &lt;br /&gt;
| Fácil &lt;br /&gt;
| Como X inicia jogando, é necessário verificar se o número de O&#039;s é igual ou apenas uma unidade menor que o número de X&#039;s. &lt;br /&gt;
| 1º encontro 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1130 URI 1130]&lt;br /&gt;
|-&lt;br /&gt;
| Trilhos, Rails &lt;br /&gt;
| Estrutura de Dados/Pilha &lt;br /&gt;
| Fácil &lt;br /&gt;
| Enunciado complexo. &lt;br /&gt;
| 1ª seletiva 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1062 URI 1062], [http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;category=7&amp;amp;page=show_problem&amp;amp;problem=455 UVA 514]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;h6&amp;gt;Contribuintes&amp;lt;/h6&amp;gt; ==&lt;br /&gt;
* Ana Elisa T. P. da Palma (Autor), Paulo Daniel Gonçalves (Autor), Mauro Henrique Mulati.&lt;br /&gt;
&lt;br /&gt;
[[Category:Principal | WIKI]]&lt;br /&gt;
[[Category:DECOMP ]]&lt;br /&gt;
[[Category:E2PC]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=0 cellpadding=0 cellspacing=0 style=&amp;quot;width:1000px&amp;quot; style=&#039;border-collapse: collapse;table-layout:fixed; width:100%&#039; bgcolor=&amp;quot;	#F5F5F5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;br&amp;gt;&amp;lt;center&amp;gt;Categorias: [[WIKI]] | [[DECOMP | DECOMP]] | [[Ensino Extracurricular de Programação de Computadores | E2PC]]&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Classifica%C3%A7%C3%A3o_de_problemas&amp;diff=15767</id>
		<title>Classificação de problemas</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Classifica%C3%A7%C3%A3o_de_problemas&amp;diff=15767"/>
		<updated>2018-03-06T11:54:09Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Os problemas trabalhados desde que o projeto teve início estão sendo classificados e documentados. &lt;br /&gt;
Os dados aqui apresentados são resultantes das fontes bibliográficas utilizadas e das experiências para a resolução de cada um dos problemas.&lt;br /&gt;
Agradecemos, em especial, a colaboração de Paulo Daniel Gonçalves, que atuou como monitor do projeto em 2012 e 2013. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tabela de classificação de problemas ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problema&lt;br /&gt;
! Classificação&lt;br /&gt;
! Dificuldade&lt;br /&gt;
! Observações&lt;br /&gt;
! Lista de usos&lt;br /&gt;
! Referências&lt;br /&gt;
|-&lt;br /&gt;
| Aero	&lt;br /&gt;
| Adhoc/Contagem	&lt;br /&gt;
| Fácil	&lt;br /&gt;
| Contar quantas vezes cada aeroporto aparece na lista de vôos, e por fim imprimir o(s) maior(es) valor(es).	&lt;br /&gt;
| 2º encontro 2013	&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Ants, Colônia de Formigas &lt;br /&gt;
| Grafos&lt;br /&gt;
| Médio&lt;br /&gt;
| Floyd-Warshall deve resolver (Caminho mínimo de qualquer nó para qualquer nó). Porém não sei se os limites permitem isso, preciso verificar.&lt;br /&gt;
| Seletiva 2012&lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1135 URI 1135]&lt;br /&gt;
|-&lt;br /&gt;
| Beldades, Ordenação por Tamanho &lt;br /&gt;
| Ordenação&lt;br /&gt;
| Fácil&lt;br /&gt;
| Ordenação de Strings e Contagem de repetições	&lt;br /&gt;
| Seletiva 2012, 2ª seletiva 2013&lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1244 URI 1244]&lt;br /&gt;
|-&lt;br /&gt;
| Bit&lt;br /&gt;
| Aritmética e Álgebra&lt;br /&gt;
| Fácil&lt;br /&gt;
| É necessário dividir a quantia de saque desejada pelos valores das notas disponiveis, a divisão deve ser feita na ordem da maior nota para menor.&lt;br /&gt;
| 1º encontro 2013&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Botas, Botas Perdidas &lt;br /&gt;
| Adhoc/Contagem	&lt;br /&gt;
| Fácil&lt;br /&gt;
| A partir de uma lista de botas, contar pares de botas (mesmo tamanho, pés diferentes).	&lt;br /&gt;
| 3º encontro 2013	&lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1245 URI 1245]&lt;br /&gt;
|-&lt;br /&gt;
| Decoder, The Decoder &lt;br /&gt;
| Strings/Tabela ASCII	&lt;br /&gt;
| Fácil&lt;br /&gt;
| Cifra de César, foi adicionado 7 a cada valor da string. Tratamento de valores da tabela ASC.&lt;br /&gt;
| 1ª seletiva 2013	&lt;br /&gt;
| [http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;category=6&amp;amp;page=show_problem&amp;amp;problem=399 UVA 458]&lt;br /&gt;
|-&lt;br /&gt;
| Digitos Romanos, Contagem de Dígitos , Romam Digitis &lt;br /&gt;
| Aritmética e Álgebra	&lt;br /&gt;
| Fácil&lt;br /&gt;
| Lembra o problema do caixa, de retornar o menor número de notas de dinheiro.&lt;br /&gt;
| 1ª seletiva 2013		&lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1138 URI 1138], [http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;category=5&amp;amp;page=show_problem&amp;amp;problem=280 UVA 344]&lt;br /&gt;
|-&lt;br /&gt;
| Eletricity&lt;br /&gt;
| Aritmética e Álgebra	&lt;br /&gt;
| Fácil&lt;br /&gt;
| Verifica as datas que estão em sequência válida (possível de calcular a diferença), calcula a diferença de consumo entre elas, e apresenta o resultado.	&lt;br /&gt;
| Seletiva 2012&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Espelho Espelho Meu, Mirror, Mirror 	&lt;br /&gt;
| Adhoc/Matrizes	&lt;br /&gt;
| Fácil&lt;br /&gt;
| Operações básicas sobre uma matriz, como rotacionar valores.	&lt;br /&gt;
| 1ª seletiva 2013	&lt;br /&gt;
| [http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;category=6&amp;amp;page=show_problem&amp;amp;problem=407 UVA 466]&lt;br /&gt;
|-&lt;br /&gt;
| Fatores, Fatores e Múltiplos &lt;br /&gt;
| Teoria dos Números/Analise combinatoria	&lt;br /&gt;
| Difícil&lt;br /&gt;
| &lt;br /&gt;
| 1ª seletiva 2013	&lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1056 URI 1056], ICPC 2013&lt;br /&gt;
|-&lt;br /&gt;
| Fatorial, Fatorial Novamente! 	&lt;br /&gt;
| Aritmética e Álgebra	&lt;br /&gt;
| Fácil	&lt;br /&gt;
| Lembra uma mudança de base, onde cada posição vale N!, e N é o nº da posição do dígito.	&lt;br /&gt;
| Seletiva 2012, 2ª seletiva 2013	&lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1429 URI 1429]&lt;br /&gt;
|-&lt;br /&gt;
| Fechem as portas&lt;br /&gt;
| Aritmética e Álgebra/Vetor &lt;br /&gt;
| Fácil &lt;br /&gt;
| Parece ser apenas percorrer um vetor invertendo o estado de sua posição, os índices são múltiplos de uma variável de controle, e por fim imprimir os índices das posições que contém um determinado estado. &lt;br /&gt;
| 2ª seletiva 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1371 URI 1371] &lt;br /&gt;
|-&lt;br /&gt;
| Feynman, , &lt;br /&gt;
| Combinatória/Aritmética e Álgebra &lt;br /&gt;
| Fácil/Médio &lt;br /&gt;
| A quantidade de quadrados é uma recorrência: Realizar o somatório N * N + (N-1) * (N-1) + (N-2) * (N-2) + ... 1 * 1 para encontrar o resultado. &lt;br /&gt;
| Seletiva 2012 &lt;br /&gt;
|[https://www.urionlinejudge.com.br/judge/pt/problems/view/1323 URI 1323], [http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;page=show_problem&amp;amp;problem=3301 UVA 12149] &lt;br /&gt;
|-&lt;br /&gt;
| Frotatax &lt;br /&gt;
| Aritmética e Álgebra &lt;br /&gt;
| Fácil &lt;br /&gt;
| Multiplica-se o valor de KM/L do combustível pelo seu preço, e compara. &lt;br /&gt;
| 1º encontro 2013 &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Hist, Maior Retângulo em um Histograma&lt;br /&gt;
| Adhoc/Vetor &lt;br /&gt;
| Médio &lt;br /&gt;
| Salva os números em um vetor, e percorre atualizando os valores, se for igual ao atual então modifica para 1, se não incrementa em 1, e vai incrementando um contador com o valor atual. &lt;br /&gt;
| Seletiva 2012 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1683 URI 1683] &lt;br /&gt;
|-&lt;br /&gt;
| Matrioshkas &lt;br /&gt;
| Estrutura de Dados/Pilha &lt;br /&gt;
| Fácil/Médio &lt;br /&gt;
| Verificar uma sequência de bonecas matrioshkas está correta (Se uma boneca cabe dentro de outra, levando em consideração que já pode ter outras dentro dela). &lt;br /&gt;
| 5º encontro 2013 &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Mean, Problema com Mediana e Média&lt;br /&gt;
| Aritmética e Álgebra &lt;br /&gt;
| Fácil/Médio &lt;br /&gt;
| Utiliza a fórmula (A + B + C)/3 = min(A,B). &lt;br /&gt;
| Seletiva 2012 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1379 URI 1379]&lt;br /&gt;
|-&lt;br /&gt;
| Movimentos, Trilhos Novamente... Traçando Movimentos&lt;br /&gt;
| Adhoc/Matriz &lt;br /&gt;
| Fácil &lt;br /&gt;
| Verificar se a partir de uma posição da matriz é possível se deslocar na matriz para outra posição (Está dentro dos limites, o espaço não está ocupado). &lt;br /&gt;
| 3º encontro 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1063 URI 1063] &lt;br /&gt;
|-&lt;br /&gt;
| Ordenação &lt;br /&gt;
| Ordenação &lt;br /&gt;
| Fácil &lt;br /&gt;
| Ordenar uma sequência de números (Acho que a saída do último exemplo está errada no pdf, caso contrário não entendi o problema). &lt;br /&gt;
| Seletiva 2012 &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Palavras Fibonacci; Fibonacci, Quantas Chamadas? &lt;br /&gt;
| Strings/Programação dinamica &lt;br /&gt;
| Difícil &lt;br /&gt;
| 1ª seletiva 2013 &lt;br /&gt;
| ICPC 2012 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 URI 1029]&lt;br /&gt;
|-&lt;br /&gt;
| Parenteses, Balanço de Parênteses I &lt;br /&gt;
| Estrutura de Dados/Pilha &lt;br /&gt;
| Fácil &lt;br /&gt;
| Verificar se os parênteses abre e fecham em ordem. &lt;br /&gt;
| 3º encontro 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 URI 1068]&lt;br /&gt;
|-&lt;br /&gt;
| Permutations, Gerando Permutações Ordenadas Rapidamente&lt;br /&gt;
| Combinatória &lt;br /&gt;
| Médio &lt;br /&gt;
| Enunciado complexo. &lt;br /&gt;
| 2º encontro 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1401 URI 1401]&lt;br /&gt;
|-&lt;br /&gt;
| Primo, Número primo&lt;br /&gt;
| Teoria dos Números &lt;br /&gt;
| Fácil &lt;br /&gt;
| Verificar se um número é primo. &lt;br /&gt;
| 3º encontro 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1165 URI 1165]&lt;br /&gt;
|-&lt;br /&gt;
| Quadrado, Quadrado de Pares&lt;br /&gt;
| Aritmética e Álgebra &lt;br /&gt;
| Fácil &lt;br /&gt;
| Imprimir o quadrado de um número. &lt;br /&gt;
| 1º encontro 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1073 URI 1073]&lt;br /&gt;
|-&lt;br /&gt;
| Stack&#039;em up&lt;br /&gt;
| Adhoc/Vetor &lt;br /&gt;
| Fácil/Médio &lt;br /&gt;
| Começa com um baralho ordenado, aplica as trocas do vetor conforme os embaralhamentos, e imprime o resultado. &lt;br /&gt;
| 5º encontro 2013, 1ª seletiva 2013 &lt;br /&gt;
| [http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;page=show_problem&amp;amp;problem=1146 UVA 10205] &lt;br /&gt;
|-&lt;br /&gt;
| Tic-Tac-Toe, Jogo da Velha&lt;br /&gt;
| Adhoc/Matriz/Contagem &lt;br /&gt;
| Fácil &lt;br /&gt;
| Como X inicia jogando, é necessário verificar se o número de O&#039;s é igual ou apenas uma unidade menor que o número de X&#039;s. &lt;br /&gt;
| 1º encontro 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1130 URI 1130]&lt;br /&gt;
|-&lt;br /&gt;
| Trilhos, Rails &lt;br /&gt;
| Estrutura de Dados/Pilha &lt;br /&gt;
| Fácil &lt;br /&gt;
| Enunciado complexo. &lt;br /&gt;
| 1ª seletiva 2013 &lt;br /&gt;
| [https://www.urionlinejudge.com.br/judge/pt/problems/view/1062 URI 1062], [http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;category=7&amp;amp;page=show_problem&amp;amp;problem=455 UVA 514]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Classificação de problemas ==&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;title&amp;gt;Lista de Problemas&amp;lt;/title&amp;gt;&lt;br /&gt;
		&amp;lt;style&amp;gt;&lt;br /&gt;
			*{&lt;br /&gt;
				box-sizing: border-box;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			#campoBusca{&lt;br /&gt;
				background-position: 10px 12px;&lt;br /&gt;
				background-repeat: no-repeat;&lt;br /&gt;
				width: 80%;&lt;br /&gt;
				font-size: 16px;&lt;br /&gt;
				padding: 12px 20px 12px 10px;&lt;br /&gt;
				border: 1px solid #ddd;&lt;br /&gt;
				margin-bottom: 12px;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			table{&lt;br /&gt;
				font-family: Arial, sans-serif;&lt;br /&gt;
				border-collapse: collapse;&lt;br /&gt;
				width: 100%;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			th, td{&lt;br /&gt;
				border: 1px solid #dddddd;&lt;br /&gt;
				text-align: left;&lt;br /&gt;
				padding: 8px;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			th{&lt;br /&gt;
				background-color: #dddddd;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
			.button{&lt;br /&gt;
				position: relative;&lt;br /&gt;
				border: thin;&lt;br /&gt;
				font-size: 20px;&lt;br /&gt;
				color: black;&lt;br /&gt;
				padding: 10px;&lt;br /&gt;
				width: 250px;&lt;br /&gt;
				text-align: center;&lt;br /&gt;
				transition-duration: 0.4s;&lt;br /&gt;
				text-decoration: none;&lt;br /&gt;
				overflow: hidden;&lt;br /&gt;
				cursor: pointer;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			.button:after{&lt;br /&gt;
				content: &amp;quot;&amp;quot;;&lt;br /&gt;
				background: grey;&lt;br /&gt;
				display: block;&lt;br /&gt;
				position: absolute;&lt;br /&gt;
				padding-top: 300%;&lt;br /&gt;
				padding-left: 350%;&lt;br /&gt;
				margin-left: -20px!important;&lt;br /&gt;
				margin-top: -120%;&lt;br /&gt;
				opacity: 0;&lt;br /&gt;
				transition: all 0.8s&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			.button:active:after{&lt;br /&gt;
				padding: 0;&lt;br /&gt;
				margin: 0;&lt;br /&gt;
				opacity: 1;&lt;br /&gt;
				transition: 0s;&lt;br /&gt;
			}&lt;br /&gt;
		&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;script&amp;gt;&lt;br /&gt;
			window.onload = init;&lt;br /&gt;
			&lt;br /&gt;
			function buscar(){&lt;br /&gt;
				var textField, filter, tabela, linhas, td, i;&lt;br /&gt;
				textField = document.getElementById(&amp;quot;campoBusca&amp;quot;);&lt;br /&gt;
				filter = textField.value.toUpperCase();&lt;br /&gt;
				tabela = document.getElementById(&amp;quot;tabelaDesafios&amp;quot;);&lt;br /&gt;
				linhas = tabela.getElementsByTagName(&amp;quot;tr&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
				for(i = 0; i &amp;lt; linhas.length; i++){&lt;br /&gt;
					td = linhas[i].getElementsByTagName(&amp;quot;td&amp;quot;)[0];&lt;br /&gt;
&lt;br /&gt;
					if(td){&lt;br /&gt;
						if(td.innerHTML.toUpperCase().indexOf(filter) &amp;gt; -1){&lt;br /&gt;
							linhas[i].style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
						}else{&lt;br /&gt;
							linhas[i].style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			function init(){&lt;br /&gt;
				ocultaColuna(5);&lt;br /&gt;
				ocultaColuna(6);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			function ocultaColunaLogica(indice){&lt;br /&gt;
				document.getElementById(&amp;quot;exibirLogicaButton&amp;quot;).value = &amp;quot;Exibir Lógica&amp;quot;;&lt;br /&gt;
				document.getElementById(&amp;quot;exibirLogicaButton&amp;quot;).setAttribute(&amp;quot;onclick&amp;quot;,&amp;quot;mostraColunaLogica(&amp;quot; + indice + &amp;quot;);&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
				ocultaColuna(indice);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			function mostraColunaLogica(indice){&lt;br /&gt;
				document.getElementById(&amp;quot;exibirLogicaButton&amp;quot;).value = &amp;quot;Ocultar Lógica&amp;quot;;&lt;br /&gt;
				document.getElementById(&amp;quot;exibirLogicaButton&amp;quot;).setAttribute(&amp;quot;onclick&amp;quot;,&amp;quot;ocultaColunaLogica(&amp;quot; + indice + &amp;quot;);&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
				mostraColuna(indice);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			function ocultaColunaCodigo(indice){&lt;br /&gt;
				document.getElementById(&amp;quot;exibirCodigoButton&amp;quot;).value = &amp;quot;Exibir Código&amp;quot;;&lt;br /&gt;
				document.getElementById(&amp;quot;exibirCodigoButton&amp;quot;).setAttribute(&amp;quot;onclick&amp;quot;,&amp;quot;mostraColunaCodigo(&amp;quot; + indice + &amp;quot;);&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
				ocultaColuna(indice);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			function mostraColunaCodigo(indice){&lt;br /&gt;
				document.getElementById(&amp;quot;exibirCodigoButton&amp;quot;).value = &amp;quot;Ocultar Código&amp;quot;;&lt;br /&gt;
				document.getElementById(&amp;quot;exibirCodigoButton&amp;quot;).setAttribute(&amp;quot;onclick&amp;quot;,&amp;quot;ocultaColunaCodigo(&amp;quot; + indice + &amp;quot;);&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
				mostraColuna(indice);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			function ocultaColuna(indice){&lt;br /&gt;
				var tabela = document.getElementById(&amp;quot;tabelaDesafios&amp;quot;);&lt;br /&gt;
				for(var i = 0; i &amp;lt; tabela.rows.length; i++){&lt;br /&gt;
					tabela.rows[i].cells[indice].style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			function mostraColuna(indice){&lt;br /&gt;
				var tabela = document.getElementById(&amp;quot;tabelaDesafios&amp;quot;);&lt;br /&gt;
				for(var i = 0; i &amp;lt; tabela.rows.length; i++){&lt;br /&gt;
					tabela.rows[i].cells[indice].style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			function abrirJanelaDesafio(nome, textAreaCols, textAreaRows, windowWidth, windowsHeight){&lt;br /&gt;
				var nodeCodigo = document.getElementById(nome), htmlContent = nodeCodigo.innerHTML, textContent = nodeCodigo.textContent;&lt;br /&gt;
				var textNode = document.createElement(&amp;quot;TEXTAREA&amp;quot;);&lt;br /&gt;
				textNode.setAttribute(&#039;cols&#039;, textAreaCols);&lt;br /&gt;
				textNode.setAttribute(&#039;rows&#039;, textAreaRows);&lt;br /&gt;
				var text = document.createTextNode(nodeCodigo.value);&lt;br /&gt;
				textNode.appendChild(text);&lt;br /&gt;
&lt;br /&gt;
				var attributes = &amp;quot;width= &amp;quot; + windowWidth + &amp;quot;, height= &amp;quot; + windowsHeight + &amp;quot;, resizable=1&amp;quot;;&lt;br /&gt;
				var newWindow = window.open(&#039;&#039;, &#039;_blank&#039;, attributes);&lt;br /&gt;
				newWindow.document.body.appendChild(textNode);&lt;br /&gt;
			}&lt;br /&gt;
		&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;h1&amp;gt;Lista de Problemas&amp;lt;/h1&amp;gt;&lt;br /&gt;
		&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;campoBusca&amp;quot; onkeyup=&amp;quot;buscar()&amp;quot; placeholder=&amp;quot;Buscar por problema&amp;quot; title=&amp;quot;Insira o nome do problema&amp;quot; style=&amp;quot;width: 61%&amp;quot;&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;input id=&amp;quot;exibirLogicaButton&amp;quot; class=&amp;quot;button&amp;quot; type=&amp;quot;button&amp;quot; value=&amp;quot;Exibir Lógica&amp;quot; onclick=&amp;quot;mostraColunaLogica(5);&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;input id=&amp;quot;exibirCodigoButton&amp;quot; class=&amp;quot;button&amp;quot; type=&amp;quot;button&amp;quot; value=&amp;quot;Exibir Código&amp;quot; onclick=&amp;quot;mostraColunaCodigo(6);&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;table id=&amp;quot;tabelaDesafios&amp;quot; style=&amp;quot;width: 100%&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;tr class=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;th style=&amp;quot;width: 12%&amp;quot;&amp;gt;Problema&amp;lt;/th&amp;gt;&lt;br /&gt;
				&amp;lt;th style=&amp;quot;width: 10%&amp;quot;&amp;gt;Classificação&amp;lt;/th&amp;gt;&lt;br /&gt;
				&amp;lt;th style=&amp;quot;width: 8%&amp;quot;&amp;gt;Dificuldade&amp;lt;/th&amp;gt;&lt;br /&gt;
				&amp;lt;th style=&amp;quot;width: 10%&amp;quot;&amp;gt;Lista de Usos&amp;lt;/th&amp;gt;&lt;br /&gt;
				&amp;lt;th style=&amp;quot;width: 10%&amp;quot;&amp;gt;Referências&amp;lt;/th&amp;gt;&lt;br /&gt;
				&amp;lt;th style=&amp;quot;width: 80%&amp;quot;&amp;gt;Lógica&amp;lt;/th&amp;gt;&lt;br /&gt;
				&amp;lt;th style=&amp;quot;width: 5%&amp;quot;&amp;gt;Código&amp;lt;/th&amp;gt;&lt;br /&gt;
			&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;tr&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;OBI&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Repetição/Vetor&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Muito Fácil&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;OBI 2008 (1º Fase)&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;http://olimpiada.ic.unicamp.br/pratique/programacao/nivelj/2008f1pj_obi&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Devemos apenas percorrer o número total de competidores para somar a nota nas fases, verificar se ele será convidade, e caso seja incremantar o total de convidados.&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;&lt;br /&gt;
					&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;button class=&amp;quot;exibirCodigo&amp;quot; onclick=&amp;quot;abrirJanelaDesafio(&#039;OBICode&#039;,&#039;40&#039;,&#039;25&#039;,400,450);&amp;quot;&amp;gt;Exibir&amp;lt;/button&amp;gt;&lt;br /&gt;
					&amp;lt;/div&amp;gt;&lt;br /&gt;
				&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
			&amp;lt;tr&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Auto-Estrada&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Seleção/Repetição&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Muito Fácil&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;OBI 2008 (2º Fase)&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;http://olimpiada.ic.unicamp.br/pratique/programacao/nivelj/2008f2pj_auto&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Cada bloco possui um código, sabendo disso, apenas precisamos saber quantos painéis serão instalados ao decorrer da estrada por meio dos códigos dos blocos, cada código possui uma quantidade dada de refletores, dessa forma, percorremos por uma estrutura de repetição o comprimento da auto-estrada, e verificamos cada códgio somando o valor dele à quantidade de painéis que devem ser instalados.&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;&lt;br /&gt;
					&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;button class=&amp;quot;exibirCodigo&amp;quot; onclick=&amp;quot;abrirJanelaDesafio(&#039;AutoEstradaCode&#039;,&#039;50&#039;,&#039;25&#039;,450,450);&amp;quot;&amp;gt;Exibir&amp;lt;/button&amp;gt;&lt;br /&gt;
					&amp;lt;/div&amp;gt;&lt;br /&gt;
				&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/tr&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
			&amp;lt;tr&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Mini-Calculadora&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Matemática (MDC)/Repetição/Seleção&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Fácil&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;OBI 2008 (2º Fase)&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;http://olimpiada.ic.unicamp.br/pratique/programacao/nivelj/2008f2pj_minicalc&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;No problema se faz necessário o uso do MDC (Máximo Divisor Comum) que vemos na escola, para que se obtenha o menor resultado possível e que possa ser exibido levando em consideração o tamanho máximo do número de bits. Vale lembrar que o enunciado está confuso em não especificar que o número N de bits que será lido, já é o total de bits pra ser considerado, então não é necessário fazer potência desse valor para descobrir o total de bits.&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;&lt;br /&gt;
					&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;button class=&amp;quot;exibirCodigo&amp;quot; onclick=&amp;quot;abrirJanelaDesafio(&#039;MiniCalculadoraCode&#039;,&#039;50&#039;,&#039;25&#039;,450,450);&amp;quot;&amp;gt;Exibir&amp;lt;/button&amp;gt;&lt;br /&gt;
					&amp;lt;/div&amp;gt;&lt;br /&gt;
				&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;tr&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Aviões de Papel&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Seleção&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Muito Fácil&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;OBI 2009 (1º Fase)&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;http://olimpiada.ic.unicamp.br/pratique/programacao/nivelj/2009f1pj_papel&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Este é um simples problema de lógica, onde, se o número de folhas dividido pela quantidade que cada competidor deve receber for maior ou igual a quantidade de competidores, então cada competidor receberá a quantidade requerida de folhas.&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;&lt;br /&gt;
					&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;button class=&amp;quot;exibirCodigo&amp;quot; onclick=&amp;quot;abrirJanelaDesafio(&#039;AvioesDePapelCode&#039;,&#039;40&#039;,&#039;25&#039;,400,450);&amp;quot;&amp;gt;Exibir&amp;lt;/button&amp;gt;&lt;br /&gt;
					&amp;lt;/div&amp;gt;&lt;br /&gt;
				&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;tr&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Vestibular&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Strings/Repetição/Seleção&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Fácil&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;OBI 2009 (1º Fase)&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;http://olimpiada.ic.unicamp.br/pratique/programacao/nivelj/2008f1pj_vestib&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;Basta ler as strings necessárias, e compará-las, caracter por caracter.&amp;lt;/td&amp;gt;&lt;br /&gt;
				&amp;lt;td&amp;gt;&lt;br /&gt;
					&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;button class=&amp;quot;exibirCodigo&amp;quot; onclick=&amp;quot;abrirJanelaDesafio(&#039;VestibularCode&#039;,&#039;60&#039;,&#039;30&#039;,600,500);&amp;quot;&amp;gt;Exibir&amp;lt;/button&amp;gt;&lt;br /&gt;
					&amp;lt;/div&amp;gt;&lt;br /&gt;
				&amp;lt;/td&amp;gt;&lt;br /&gt;
			&amp;lt;/tr&amp;gt;&lt;br /&gt;
		&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;div class=&amp;quot;codigos&amp;quot; style=&amp;quot;display:none&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;textarea id=&amp;quot;OBICode&amp;quot; cols=&amp;quot;0&amp;quot; rows=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main(){&lt;br /&gt;
	int i = 0, N, P;&lt;br /&gt;
	int X, Y, convidados = 0;&lt;br /&gt;
&lt;br /&gt;
	cin &amp;gt;&amp;gt; N;&lt;br /&gt;
	cin &amp;gt;&amp;gt; P;&lt;br /&gt;
&lt;br /&gt;
	while(i &amp;lt; N){&lt;br /&gt;
		cin &amp;gt;&amp;gt; X;&lt;br /&gt;
		cin &amp;gt;&amp;gt; Y;&lt;br /&gt;
		if((X + Y) &amp;gt;= P){&lt;br /&gt;
			convidados++;&lt;br /&gt;
		}&lt;br /&gt;
		i++;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	cout &amp;lt;&amp;lt; convidados;&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
				&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;textarea id=&amp;quot;AutoEstradaCode&amp;quot; cols=&amp;quot;0&amp;quot; rows=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main(){&lt;br /&gt;
	int i = 0, comprimento, up = 0;&lt;br /&gt;
	char trecho;&lt;br /&gt;
&lt;br /&gt;
	cin &amp;gt;&amp;gt; comprimento;&lt;br /&gt;
	while(i &amp;lt; comprimento){&lt;br /&gt;
		cin &amp;gt;&amp;gt; trecho;&lt;br /&gt;
		switch(trecho){&lt;br /&gt;
			case &#039;P&#039;: up += 2; break;&lt;br /&gt;
			case &#039;C&#039;: up += 2; break;&lt;br /&gt;
			case &#039;A&#039;: up += 1; break;&lt;br /&gt;
			default: up += 0;&lt;br /&gt;
		}&lt;br /&gt;
		i++;&lt;br /&gt;
	}&lt;br /&gt;
	cout &amp;lt;&amp;lt; up;&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
				&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;textarea id=&amp;quot;MiniCalculadoraCode&amp;quot; cols=&amp;quot;0&amp;quot; rows=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main(){&lt;br /&gt;
	int N, D, Q;&lt;br /&gt;
	int R, P;&lt;br /&gt;
&lt;br /&gt;
	cin &amp;gt;&amp;gt; N;&lt;br /&gt;
	cin &amp;gt;&amp;gt; D;&lt;br /&gt;
	cin &amp;gt;&amp;gt; Q;&lt;br /&gt;
&lt;br /&gt;
	R = D;&lt;br /&gt;
	P = Q;&lt;br /&gt;
	&lt;br /&gt;
	int MDC = 0, resto = 0;&lt;br /&gt;
	&lt;br /&gt;
	while(R % P != 0){&lt;br /&gt;
		resto = R % P;&lt;br /&gt;
		if(resto == 0){&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
		R = P;&lt;br /&gt;
		P = resto;&lt;br /&gt;
	}&lt;br /&gt;
	MDC = P;&lt;br /&gt;
	D /= MDC;&lt;br /&gt;
	Q /= MDC;&lt;br /&gt;
&lt;br /&gt;
	if((D &amp;gt; N) || (Q &amp;gt; N)){&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;IMPOSSIVEL&amp;quot;;&lt;br /&gt;
	}else{&lt;br /&gt;
		printf(&amp;quot;%d %d\n&amp;quot;, D, Q);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
				&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;textarea id=&amp;quot;AvioesDePapelCode&amp;quot; cols=&amp;quot;0&amp;quot; rows=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main(){&lt;br /&gt;
	int C, P, F, totalfolhas = 0;&lt;br /&gt;
&lt;br /&gt;
	cin &amp;gt;&amp;gt; C;&lt;br /&gt;
	cin &amp;gt;&amp;gt; P;&lt;br /&gt;
	cin &amp;gt;&amp;gt; F;&lt;br /&gt;
&lt;br /&gt;
	totalfolhas = P / F; &lt;br /&gt;
&lt;br /&gt;
	if(totalfolhas &amp;gt;= C){&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;S&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}else{&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;N&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
				&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&lt;br /&gt;
				&amp;lt;textarea id=&amp;quot;VestibularCode&amp;quot; cols=&amp;quot;0&amp;quot; rows=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;cstring&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main(){&lt;br /&gt;
	int N, resultado = 0;&lt;br /&gt;
&lt;br /&gt;
	cin &amp;gt;&amp;gt; N;&lt;br /&gt;
&lt;br /&gt;
	char gabarito[N];&lt;br /&gt;
	char respostas[N];&lt;br /&gt;
&lt;br /&gt;
	cin &amp;gt;&amp;gt; gabarito;&lt;br /&gt;
	cin &amp;gt;&amp;gt; respostas;&lt;br /&gt;
&lt;br /&gt;
	if(strcmp(gabarito, respostas) == 0){&lt;br /&gt;
		resultado = N;&lt;br /&gt;
	}else{&lt;br /&gt;
		for(int i = 0; i &amp;lt; N; i++){&lt;br /&gt;
			if(gabarito[i] == respostas[i]){&lt;br /&gt;
				resultado++;&lt;br /&gt;
			}&lt;br /&gt;
		}	&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	cout &amp;lt;&amp;lt; resultado &amp;lt;&amp;lt; endl;&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
				&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;h6&amp;gt;Contribuintes&amp;lt;/h6&amp;gt; ==&lt;br /&gt;
* Ana Elisa T. P. da Palma (Autor), Paulo Daniel Gonçalves (Autor), Mauro Henrique Mulati.&lt;br /&gt;
&lt;br /&gt;
[[Category:Principal | WIKI]]&lt;br /&gt;
[[Category:DECOMP ]]&lt;br /&gt;
[[Category:E2PC]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=0 cellpadding=0 cellspacing=0 style=&amp;quot;width:1000px&amp;quot; style=&#039;border-collapse: collapse;table-layout:fixed; width:100%&#039; bgcolor=&amp;quot;	#F5F5F5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;br&amp;gt;&amp;lt;center&amp;gt;Categorias: [[WIKI]] | [[DECOMP | DECOMP]] | [[Ensino Extracurricular de Programação de Computadores | E2PC]]&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15766</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15766"/>
		<updated>2018-02-17T00:58:05Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: /* Avaliação de Soluções: O Padrão de Julgamento das Maratonas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Competição entre os alunos do 1º do curso, realizada em 2017&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de Soluções: O Padrão de Julgamento das Maratonas ==&lt;br /&gt;
[[Arquivo: Maratonadeprogramacao2017.jpg|400px|thumb|right| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Regional de 2017 na UNICENTRO&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, confira os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problemas de Programação: Técnicas e Treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e de difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15765</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15765"/>
		<updated>2018-02-16T13:24:54Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: /* Problemas de Programação: Técnicas e Treinamento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Competição entre os alunos do 1º do curso, realizada em 2017&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de Soluções: O Padrão de Julgamento das Maratonas ==&lt;br /&gt;
[[Arquivo: Maratonadeprogramacao2017.jpg|400px|thumb|right| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Seletiva de 2017 na UNICENTRO&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, confira os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problemas de Programação: Técnicas e Treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e de difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=DECOMP&amp;diff=15764</id>
		<title>DECOMP</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=DECOMP&amp;diff=15764"/>
		<updated>2018-02-16T13:08:17Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Arquivo: LogoCC.png|300px|thumb|right| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Logo&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
=DECOMP - Departamento de Ciência da Computação=&lt;br /&gt;
&lt;br /&gt;
Página em construção...&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projetos de Extensão ==&lt;br /&gt;
&lt;br /&gt;
=== Ensino Extracurricular de Programação de Computadores - E2PC ===&lt;br /&gt;
O projeto visa oferecer oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, bem como, oferecer treinamento e reforçar conceitos aos alunos do ensino médio de colégios da região utilizando principalmente o ambiente online [[MOODLE| MOODLE]] para disponibilização de material, envio de atividades, fórum de discussões, bem como a realização de desafios disponíveis no site da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)] e no site [https://www.urionlinejudge.com.br URI Online Judge] que contam com ambiente de submissão e autojudge online, assim os alunos podem testar suas soluções e abrir discussões dentro do próprio [[MOODLE| MOODLE]] para que outros alunos possam interagir em conjunto.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Ensino_Extracurricular_de_Programação_de_Computadores| Clique aqui]] para saber mais sobre o projeto.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Projeto Smart-me ===&lt;br /&gt;
Os objetivos do projeto visam proferir palestras sobre navegação segura na Internet e aplicativos de utilidade pública, ministrar oficinas de curta duração sobre assuntos específicos sobre o uso da Internet, tais como privacidade, senhas, comércio eletrônico, redes sociais, dispositivos móveis, Internet cidadã (sites de utilidade pública e governo digital), fornecer, a partir das experiências e resultados do projeto, elementos que possam contribuir na formulação, implementação e acompanhamento das políticas públicas relacionadas   ao uso das TICs (em especial, na oficina &amp;quot;Internet Cidadã&amp;quot;), criar, organizar e estruturar o conteúdo das ações no [[MOODLE|MOODLE]], possibilitando a replicação das ações, possibilitar aos estudanes de Ciência da Computação oportunidades para identificação de demanda de novos aplicativos que contribuam nas atividades cotidianas dos cidadãos, que poderão ser objetos de trabalhos de conclusão de curso, de&lt;br /&gt;
Estágio Curricular, ou de outros projetos de extensão e difusão tecnológica, oferecer oportunidades de formação complementar exigida no Projeto Pedagógico do Curso de Ciência da Computação, possibilitar a formação técnico-científica, pessoal e social dos estudantes de graduação envolvidos no projeto e sistematizar, registrar as experiências e resultados do projeto para eventual divulgação&lt;br /&gt;
técnico-científica.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Projeto_Smart-me| Clique aqui]] para saber mais sobre o projeto.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=DECOMP&amp;diff=15763</id>
		<title>DECOMP</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=DECOMP&amp;diff=15763"/>
		<updated>2018-02-16T13:05:51Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Arquivo: LogoCC.png|300px|thumb|right| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Logo&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
=DECOMP - Departamento de Ciência da Computação=&lt;br /&gt;
&lt;br /&gt;
Página em construção...&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ensino Extracurricular de Programação de Computadores - E2PC ==&lt;br /&gt;
O projeto visa oferecer oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, bem como, oferecer treinamento e reforçar conceitos aos alunos do ensino médio de colégios da região utilizando principalmente o ambiente online [[MOODLE| MOODLE]] para disponibilização de material, envio de atividades, fórum de discussões, bem como a realização de desafios disponíveis no site da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)] e no site [https://www.urionlinejudge.com.br URI Online Judge] que contam com ambiente de submissão e autojudge online, assim os alunos podem testar suas soluções e abrir discussões dentro do próprio [[MOODLE| MOODLE]] para que outros alunos possam interagir em conjunto.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Ensino_Extracurricular_de_Programação_de_Computadores| Clique aqui]] para saber mais sobre o projeto.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projeto Smart-me ==&lt;br /&gt;
Os objetivos do projeto visam proferir palestras sobre navegação segura na Internet e aplicativos de utilidade pública, ministrar oficinas de curta duração sobre assuntos específicos sobre o uso da Internet, tais como privacidade, senhas, comércio eletrônico, redes sociais, dispositivos móveis, Internet cidadã (sites de utilidade pública e governo digital), fornecer, a partir das experiências e resultados do projeto, elementos que possam contribuir na formulação, implementação e acompanhamento das políticas públicas relacionadas   ao uso das TICs (em especial, na oficina &amp;quot;Internet Cidadã&amp;quot;), criar, organizar e estruturar o conteúdo das ações no [[MOODLE|MOODLE]], possibilitando a replicação das ações, possibilitar aos estudanes de Ciência da Computação oportunidades para identificação de demanda de novos aplicativos que contribuam nas atividades cotidianas dos cidadãos, que poderão ser objetos de trabalhos de conclusão de curso, de&lt;br /&gt;
Estágio Curricular, ou de outros projetos de extensão e difusão tecnológica, oferecer oportunidades de formação complementar exigida no Projeto Pedagógico do Curso de Ciência da Computação, possibilitar a formação técnico-científica, pessoal e social dos estudantes de graduação envolvidos no projeto e sistematizar, registrar as experiências e resultados do projeto para eventual divulgação&lt;br /&gt;
técnico-científica.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Projeto_Smart-me| Clique aqui]] para saber mais sobre o projeto.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15762</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15762"/>
		<updated>2018-02-15T17:40:37Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Competição entre os alunos do 1º do curso, realizada em 2017&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de Soluções: O Padrão de Julgamento das Maratonas ==&lt;br /&gt;
[[Arquivo: Maratonadeprogramacao2017.jpg|400px|thumb|right| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Seletiva de 2017 na UNICENTRO&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, confira os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problemas de Programação: Técnicas e Treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15761</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15761"/>
		<updated>2018-02-15T17:30:20Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Competição entre os alunos do 1º do curso, realizada em 2017&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
[[Arquivo: Maratonadeprogramacao2017.jpg|400px|thumb|right| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Seletiva de 2017 na UNICENTRO&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, confira os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15760</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15760"/>
		<updated>2018-02-15T17:29:59Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Competição entre os alunos do 1º do curso, realizada em 2017&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
[[Arquivo: Maratonadeprogramacao2017.jpg|400px|thumb|right| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Seletiva de 2017 na UNICENTRO&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, confira os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15759</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15759"/>
		<updated>2018-02-15T17:29:38Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Competição entre os alunos do 1º do curso, realizada em 2017&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
[[Arquivo: Maratonadeprogramacao2017.jpg|400px|thumb|right| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Seletiva de 2017 na UNICENTRO&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, confira os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15758</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15758"/>
		<updated>2018-02-15T17:28:31Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Competição entre os alunos do 1º do curso, realizada em 2017&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
[[Arquivo: Maratonadeprogramacao2017.jpg|400px|thumb|right|Seletiva de 2017 na UNICENTRO]]&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, confira os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15757</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15757"/>
		<updated>2018-02-15T17:27:59Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Competição entre os alunos do 1º do curso, realizada em 2017&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
[[Arquivo: Maratonadeprogramacao2017.jpg|400px|Seletiva de 2017 na UNICENTRO|right|]]&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, confira os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15756</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15756"/>
		<updated>2018-02-15T17:27:35Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Competição entre os alunos do 1º do curso, realizada em 2017&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
[[Arquivo: Maratonadeprogramacao2017.jpg|400px|Seletiva de 2017 na UNICENTRO|right|]]&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, confira os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15755</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15755"/>
		<updated>2018-02-15T17:25:47Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Competição entre os alunos do 1º do curso, realizada em 2017&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
[[Arquivo: Maratonadeprogramacao2017.jpg|400px||right|]]&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Arquivo:Maratonadeprogramacao2017.jpg&amp;diff=15754</id>
		<title>Arquivo:Maratonadeprogramacao2017.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Arquivo:Maratonadeprogramacao2017.jpg&amp;diff=15754"/>
		<updated>2018-02-15T17:25:07Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15753</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15753"/>
		<updated>2018-02-15T17:12:03Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Competição entre os alunos do 1º do curso, realizada em 2017&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15752</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15752"/>
		<updated>2018-02-15T16:31:56Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15751</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15751"/>
		<updated>2018-02-15T16:30:36Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1024 Criptografia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1168 LED] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1238 Combinador] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1069 Diamantes e Areia] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1068 Balanço de Parênteses I] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1259 Pares e Ímpares] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1161 Soma de Fatoriais] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1028 Figurinhas] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1170 Blobs] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1029 Fibonacci, Quantas Chamadas?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1034 Festival de Estátuas de Gelo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1310 Lucro] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1195 Árvore Binária de Busca] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1152 Estradas Escuras] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1148 Países em Guerra] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1039 Flores de Fogo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1124 Elevador] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1292 Problema com um Pentágono] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dê uma olhada na classificação de alguns problemas [[Classificação de problemas|aqui]].&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15750</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15750"/>
		<updated>2018-02-15T16:19:35Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15749</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15749"/>
		<updated>2018-02-15T16:18:23Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1026 Carrega ou não Carrega?] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1030 A Lenda de Flavious Josephus] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Dama] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15748</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15748"/>
		<updated>2018-02-15T16:16:05Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15747</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15747"/>
		<updated>2018-02-15T16:14:38Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001    Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002    Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003    Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15746</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15746"/>
		<updated>2018-02-15T16:12:13Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1004 Produto Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15745</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15745"/>
		<updated>2018-02-15T16:11:15Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;b&amp;gt; Exemplos: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1001 Extremamente Básico] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1002 Área do Círculo] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1003 Soma Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; [https://www.urionlinejudge.com.br/judge/pt/problems/view/1004 Produto Simples] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15744</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15744"/>
		<updated>2018-02-15T16:06:28Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN3.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN4.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN5.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN6.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN7.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN8.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Arquivo:UriN8.jpg&amp;diff=15743</id>
		<title>Arquivo:UriN8.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Arquivo:UriN8.jpg&amp;diff=15743"/>
		<updated>2018-02-15T16:04:20Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Arquivo:UriN7.jpg&amp;diff=15742</id>
		<title>Arquivo:UriN7.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Arquivo:UriN7.jpg&amp;diff=15742"/>
		<updated>2018-02-15T16:03:49Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Arquivo:UriN6.jpg&amp;diff=15741</id>
		<title>Arquivo:UriN6.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Arquivo:UriN6.jpg&amp;diff=15741"/>
		<updated>2018-02-15T16:03:09Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: Hgardin enviou uma nova versão de &amp;amp;quot;Arquivo:UriN6.jpg&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Arquivo:UriN6.jpg&amp;diff=15740</id>
		<title>Arquivo:UriN6.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Arquivo:UriN6.jpg&amp;diff=15740"/>
		<updated>2018-02-15T16:01:21Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Arquivo:UriN5.jpg&amp;diff=15739</id>
		<title>Arquivo:UriN5.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Arquivo:UriN5.jpg&amp;diff=15739"/>
		<updated>2018-02-15T16:00:41Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Arquivo:UriN4.jpg&amp;diff=15738</id>
		<title>Arquivo:UriN4.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Arquivo:UriN4.jpg&amp;diff=15738"/>
		<updated>2018-02-15T16:00:13Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Arquivo:UriN3.jpg&amp;diff=15737</id>
		<title>Arquivo:UriN3.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Arquivo:UriN3.jpg&amp;diff=15737"/>
		<updated>2018-02-15T15:59:35Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15736</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15736"/>
		<updated>2018-02-15T15:58:18Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15735</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15735"/>
		<updated>2018-02-15T15:57:04Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15734</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15734"/>
		<updated>2018-02-15T15:55:16Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15733</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15733"/>
		<updated>2018-02-15T15:45:00Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15732</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15732"/>
		<updated>2018-02-15T15:43:59Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px||left|]]&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15731</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15731"/>
		<updated>2018-02-15T15:42:52Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left|]]&lt;br /&gt;
&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px|thumb|left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15730</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15730"/>
		<updated>2018-02-15T15:40:54Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px||right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN1.jpg]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px|thumb|left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15729</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15729"/>
		<updated>2018-02-15T15:39:42Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px|thumb|right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px||left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN1.jpg]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px|thumb|left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15728</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15728"/>
		<updated>2018-02-15T15:38:45Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px|thumb|right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN1.jpg]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px||left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px|thumb|left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15727</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15727"/>
		<updated>2018-02-15T15:37:18Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px|thumb|right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN1.jpg]] São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px|thumb|left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15726</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15726"/>
		<updated>2018-02-15T15:36:11Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px|thumb|right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px|thumb|left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px|thumb|left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15725</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15725"/>
		<updated>2018-02-15T15:35:26Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px|thumb|right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px|thumb|left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px|thumb|left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15724</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15724"/>
		<updated>2018-02-15T15:33:30Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px|thumb|right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN1.jpg|150px|thumb|left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
[[Arquivo: UriN2.jpg|150px|thumb|left| &lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Arquivo:UriN2.jpg&amp;diff=15723</id>
		<title>Arquivo:UriN2.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Arquivo:UriN2.jpg&amp;diff=15723"/>
		<updated>2018-02-15T15:29:56Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Arquivo:UriN1.jpg&amp;diff=15722</id>
		<title>Arquivo:UriN1.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Arquivo:UriN1.jpg&amp;diff=15722"/>
		<updated>2018-02-15T15:29:03Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15721</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15721"/>
		<updated>2018-02-15T15:14:32Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px|thumb|right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Matemática &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que normalmente apresentam enunciado bem contextualizado para facilitar (ou dificultar, em alguns casos) a realização. Como proposto, utilizam conceitos matemáticos, fórmulas e lógica matemática no algoritmo. Se assemelham ao ad-hoc por possuir grande variação na dificuldade, tal como, desde as quatro operações básicas até a utilização de integrais.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Paradigmas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais complexos e difícil detecção de qual estrutura ou caminho seguir, se não for explicitado no enunciado. Usando algoritmos de busca comuns, ou busca de soluções ótimas. Por exemplo programação dinâmica, algoritmos gulosos, backtracking ou busca binária.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Grafos &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que utilizam estruturas para representar um modelo em que existem relações entre os objetos de uma certa coleção ou conjunto. Há diversos algoritmos presentes na literatura para se lidar com problemas desse tipo. Como Matriz de adjacência, Algoritmo de Kruskal, Algoritmo de Prim, Algoritmo de Floyd-Warshall, etc... Normalmente, problemas nessa categoria possuem maior dificuldade de realização. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Geometria Computacional &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que envolvem Geometria Computacional na sua resolução, isto é, algoritmos e estruturas de dados para a resolução computacional de problemas geométricos. São, em essência, complexos e difícil realização.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15720</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15720"/>
		<updated>2018-02-15T14:45:23Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px|thumb|right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
&lt;br /&gt;
A maioria dos problemas de programação possuem padrões de entrada/saída sugeridos em casos de teste que, por vezes, conseguimos identificar tanto o tipo de dado quanto se o problema faz uso uma estrutura, como repetição, vetor, matriz, etc... Dessa forma é possível classificá-los quanto ao conhecimento necessário para a realização e qual estrutura (caso haja) predomina no problema. Sendo assim, estas são possíveis categorias empregadas à maioria dos desafios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Iniciante: &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas mais fáceis de resolução, é o começo para quem está se habituando aos padrões de competições de maratonas de programação, como a contextualização do problema e funcionamento de entrada/saída de dados. Para resolver problemas nessa categoria, normalmente  é necessário apenas o conhecimento dos tipos de dados, estruturas de seleção/repetição e operações matemáticas básicas que são vistas durante o colegial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Ad-Hoc &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas muito específicos, que não dependem de estruturas de dados, algoritmos ou técnicas genéricas. Cada problema ad-hoc possui sua própria característica de resolução, sendo assim, tem uma alta variação de dificuldade. Podendo serem resolvidos com simples estruturas de seleção e lógica ou até mesmo, usar cálculos avançados tornando difícil a resolução. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Strings &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que trabalham, em essência, com a manipulação de caracteres e palavras, sendo necessário desenvolver algoritmos para os mais diversificados propósitos, a diferença de resolução desses problemas pode variar significativamente dependendo da linguagem de programação utilizada, por conta das funções existentes dentro de cada linguagem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Estruturas e Bibliotecas &amp;lt;/b&amp;gt;&lt;br /&gt;
São problemas que fazem utilização de estruturas bem definidas na literatura (p.e. Lista, Pilha, Fila, Árvore, Mapas, etc) e que podem ser facilmente encontradas em livros ou internet. A estratégia aqui é conhecer e saber aplicar diferentes estruturas que realizam as mesmas tarefas, todavia, que tem diferenças de desempenho e gasto computacional, pois todos os problemas possuem um tempo determinado de execução, caso o tempo de execução seja excedido, a submissão não é válida.&lt;br /&gt;
&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
	<entry>
		<id>https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15719</id>
		<title>Ensino Extracurricular de Programação de Computadores</title>
		<link rel="alternate" type="text/html" href="https://wiki.unicentro.br/index.php?title=Ensino_Extracurricular_de_Programa%C3%A7%C3%A3o_de_Computadores&amp;diff=15719"/>
		<updated>2018-02-15T13:30:02Z</updated>

		<summary type="html">&lt;p&gt;Hgardin: /* Publicações do projeto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Arquivo: E2pc_logo.png|700px|thumb|right| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
== O Projeto ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: Img1.jpg|400px|thumb|left| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
Vinculado ao Departamento de Ciência da Computação da Universidade Estadual do Centro-Oeste, o projeto &amp;quot;Ensino Extracurricular de Programação de Computadores&amp;quot; oferece oportunidades extracurriculares de treinamento em Programação de Computadores aos alunos do Bacharelado em Ciência da Computação e demais acadêmicos interessados, segundo a metodologia das Maratonas de Programação onde são realizados encontros quinzenais para que os alunos possam se reunir e resolver desafios propostos para praticar algum conteúdo abordado naquele encontro ou um conjunto de desafios para aprimorar as habilidades de programação. [[Leia mais]]&lt;br /&gt;
&lt;br /&gt;
Contando com o auxílio da plataforma online [[MOODLE| MOODLE]], para que sejam disponibilizados os conteúdos e problemas relacionados, assim como videoaulas e interação em fóruns de discussões/dúvidas. Utilizando também ambientes de submissão e auto-julgamento online para dinamizar a correção das atividades.&lt;br /&gt;
&lt;br /&gt;
Outro enfoque do projeto é proporcionar treinamento para alunos do ensino técnico que possuem maior interesse em programação, sobretudo, que participam da [http://olimpiada.ic.unicamp.br/info/geral Olimpíada Brasileira de Informática (OBI)].&lt;br /&gt;
&lt;br /&gt;
[http://www2.unicentro.br/e2pc/ Web site do projeto]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sobre a Olimpíada Brasileira de Informática ==&lt;br /&gt;
&lt;br /&gt;
O objetivo da OBI é despertar nos alunos o interesse por uma ciência importante na formação básica hoje em dia (no caso, ciência da computação), através de uma atividade que envolve desafio, engenhosidade e uma saudável dose de competição. A organização da OBI está cargo do Instituto de Computação da UNICAMP.&lt;br /&gt;
&lt;br /&gt;
A OBI está organizada em três modalidades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Iniciação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até sétimo ano do Ensino Fundamental e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até nono ano do Ensino Fundamental. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Programação: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível Júnior, para alunos do ensino fundamental, &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 1, para alunos até o primeiro ano do ensino médio e &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Nível 2, para alunos até o terceiro ano do ensino médio. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; Modalidade Universitária: &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Para alunos que estejam cursando, pela primeira vez, o primeiro ano de um curso de graduação. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade. &lt;br /&gt;
&lt;br /&gt;
Texto na íntegra presente no [http://olimpiada.ic.unicamp.br/info/geral site oficial].&lt;br /&gt;
&lt;br /&gt;
== Conteúdos Abordados no projeto ==&lt;br /&gt;
&lt;br /&gt;
=== Entrada/Saída de Dados ===&lt;br /&gt;
Comandos de entrada e saída de dados são os que permitem uma interação com o usuário através de dispositivos de saída, por exemplo, o monitor e por dispositivos de entrada de dados, como o teclado. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sh_fBYbWXSA&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Seleção ===&lt;br /&gt;
É uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=sVkU_wXwO9s&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Se (condição) Então&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Se&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Estruturas de Repetição ===&lt;br /&gt;
As estruturas de repetição também são conhecidas como laços (loops) e são utilizados para executar, repetidamente, uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=iGCccMqmJZ0&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição pré-testada:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Enquanto (condição) Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Enquanto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sintaxe de repetição com variável de controle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Para V De Vi Até Vf Faça&lt;br /&gt;
    (bloco de código)&lt;br /&gt;
Fim Para&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vetores ===&lt;br /&gt;
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura [https://www.youtube.com/watch?v=B6MUlVNzWQQ&amp;amp;feature=youtu.be aqui].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Avaliação de soluções: o padrão de julgamento das maratonas ==&lt;br /&gt;
Ambientes de avaliação automáticos executam o código submetido a partir de um conjunto de dados de entrada e comparam os dados de saída com os dados de saída de uma solução correta. Portanto, antes de submeter sua solução a um desses ambientes, é recomendável testa-la em seu próprio ambiente. Para saber mais, veja os tópicos abaixo:&lt;br /&gt;
* [[Redirecionamento de entrada e saída]]&lt;br /&gt;
* [[Como comparar arquivos de texto]]&lt;br /&gt;
* [[Leitura e escrita de dados]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas de programação: técnicas e treinamento ==&lt;br /&gt;
* [[Melhorando suas habilidades com entrada e saida de dados]]&lt;br /&gt;
* [[Classificação de problemas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publicações do projeto ==&lt;br /&gt;
&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/II-SIEPE-resumo-2011.pdf Anais da II SIEPE – Semana de integração ensino, pesquisa e extensão 27 a 29 de setembro de 2011.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Resumo-Anais-ISSN-2236-7098-v2-n3-2013.pdf Anais da III SIEPE – Semana de integração ensino, pesquisa e extensão 24 a 26 de setembro de 2013.]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/11/SIEPE-LucasPadilha.pdf Anais da IV SIEPE – Semana de integração ensino, pesquisa e extensão 26 a 30 de setembro de 2015.]&lt;br /&gt;
* [http://br-ie.org/pub/index.php/wcbie/article/view/6276 Anais dos Workshops do IV Congresso Brasileiro de Informática na Educação (CBIE 2015).]&lt;br /&gt;
* [http://www2.unicentro.br/e2pc/files/2015/07/Educação-ENSINO-EXTRACURRICULAR-DE-PROGRAMAÇÃO-DE-COMPUTADORES.pdf 31ª SEURS - Seminário de extensão universitária da região sul, 2013.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coordenação:&#039;&#039;&#039;&lt;br /&gt;
* Ana Elisa T. P. da Palma&lt;br /&gt;
* Mauro Henrique Mulati&lt;br /&gt;
* Mauro Miazaki&lt;br /&gt;
* Tony Alexander Hild&lt;br /&gt;
* Daniel Kikuti (DIN/UEM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Monitores:&#039;&#039;&#039;&lt;br /&gt;
* Moises Alonso Prestes (2017 - )&lt;br /&gt;
* Higor Gardin (2016 - )&lt;br /&gt;
* João Vitor Mas Urtado (2016 - )&lt;br /&gt;
* Lucas Fernando Didur (2015 - 2017)&lt;br /&gt;
* Lucas Padilha (2014 - 2016)&lt;br /&gt;
* Lucas Prestes (2013 - 2014)&lt;br /&gt;
* Everson Joay (2013 - 2014)&lt;br /&gt;
* Paulo Daniel Gonçalves (2012 - 2014)&lt;br /&gt;
* Ricardo Henrique Remes de Lima (2012)&lt;br /&gt;
* Marcelo Araújo (2012)&lt;br /&gt;
* Alexandre Silvestre Ferreira (2012)&lt;br /&gt;
* Paulo Roberto Urio (2011)&lt;br /&gt;
* Lucas Marcondes Pavelski (2011)&lt;br /&gt;
* Alessandro Dias Batista (2011)&lt;/div&gt;</summary>
		<author><name>Hgardin</name></author>
	</entry>
</feed>