acadêmica: karly schubert vargas orientadora: joyce...
TRANSCRIPT
![Page 1: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/1.jpg)
Acadêmica:Karly Schubert Vargas
Orientadora:Joyce Martins
![Page 2: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/2.jpg)
Introdução
Objetivos
Ensino no computador
Linguagens de programação
Compiladores
Trabalhos correlatos
Requisitos
Especificação da ferramenta e da linguagem
Implementação e Operacionalidade da ferramenta
Critérios de qualidade
Resultados
Conclusão
Extensões
![Page 3: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/3.jpg)
Ensino de programação
Despertar a criatividade
Desenvolver a lógica do aluno
Representação do algoritmo
Fluxograma
Portugol
Uso do papel
![Page 4: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/4.jpg)
Disponibilizar analisadores léxico, sintático e semântico;
Efetuar detecção/tratamento de erros, emitindo mensagens capazes de auxiliar a correção dos algoritmos elaborados;
Possibilitar a execução dos algoritmos passo a passo, com opção para visualizar os valores das variáveis declaradas;
Utilizar os padrões de qualidade para o desenvolvimento de softwares educacionais.
![Page 5: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/5.jpg)
Ensino assistido por computador
Tutorial
Aprendizado socialmente distribuído
Internet
Ambientes interativos de aprendizagem
Modelagem/Simulação
Ambientes de programação
Prolog, Logo e Pascal
![Page 6: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/6.jpg)
LINGUAGENS
Declarativa
Imperativa
FuncionalExemplo: Lisp
LógicaExemplo: Prolog
ProcedimentosExemplo: Pascal
ObjetosExemplo: Java
![Page 7: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/7.jpg)
Programa fonte
Análise léxica
Análise sintática
Análise semântica
Geração de código
Definições regulares
BNF
Esquemas de tradução
Notação polonesa
letra: [a-z]identificador:(letra)+
<item> → identificador | numero
<item> → identificador #1 | numero #2
(a+b)*c → ab+c*
Programa objeto
![Page 8: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/8.jpg)
Ambiente de Apoio ao Aprendizado de Programação (AMBAP)
Ambiente de Simulação e Animação de Algoritmos (ASA)
Software para o auxílio ao aprendizado de algoritmos
Ferramenta de apoio ao ensino de algoritmos (CIFluxProg)
![Page 9: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/9.jpg)
Editor de texto
Possuir uma interface seguindo padrões de qualidade
Compilar algoritmos em português e estruturados
Informar erros encontrados
Gerar código intermediário
Executar o código intermediário, com opção passo a passo
![Page 10: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/10.jpg)
TForm
TAbout
TAcao
Exception
EAnalysisError
TAreaInstrucoes
TInterpretador
TCompilador
TForm
TFAbertura
TForm
TFExecucao
TForm
TFCompilador
TFuncoes
TInstrucaoELexicalError
TLexico
TLinha
TMatriz
TMatrizes
TMemoria
TPilha
ESemanticError
TSemantico
TSimbolo
TSintatico
ESyntaticError
TTabela
TToken
10..*
1
1
11 1 1
1
1
11
1
1
1
1
11
10..*
1 1
1 1
1
1
1
1
1 1
1
1
1 1
1 1
1
1
1
1
1 11 1
1 11 0..*
![Page 11: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/11.jpg)
Exception
Classes::EAnalysisError
- token: TToken
+ «constructor» create(string, TToken)+ «constructor» create(string)+ getMessage() : string+ getToken() : TToken
Classes::TCompilador
+ msgDeErro: string+ tokenErrado: TToken+ semantico: TSemantico- lexico: TLexico- sintatico: TSintatico
+ chamada(string)
Classes::ELexicalError
+ «constructor» create(string, TToken)+ «constructor» create(string)
Classes::TLexico
- input: string- position: integer- endPos: integer
+ «constructor» create()+ «constructor» create(string)+ setInput(string)+ setPosition(integer)+ setEnd(integer)+ nextToken() : TToken- nextState(char, integer) : integer- tokenForState(integer) : integer- lookupToken(integer, string) : integer- hasInput() : boolean- nextChar() : char
Classes::ESemanticError
+ «constructor» create(string, TToken)+ «constructor» create(string)
Classes::TSemantico
+ acao: TAcao
+ «constructor» create()+ «destructor» destroy()+ executeAction(integer, TToken)
Classes::TSintatico
- stack: TList- currentToken: TToken- previousToken: TToken- scanner: TLexico- semanticAnalyser: TSemantico
+ «constructor» create()+ «destructor» destroy()+ parse(TLexico, TSemantico)- step() : boolean- pushProduction(integer, integer) : boolean- isTerminal(integer) : boolean- isNonTerminal(integer) : boolean- isSemanticAction(integer) : boolean
Classes::ESyntaticError
+ «constructor» create(string, TToken)+ «constructor» create(string)
Classes::TToken
- id: integer- lexeme: string- position: integer
+ «constructor» create(integer, string, integer)+ getId() : integer+ getLexeme() : string+ getPosition() : integer
1
1
1
1
1
1
11
1
1
1
1
1
1
11
1 1
11
1
1
![Page 12: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/12.jpg)
Classes::TAcao
+ instrucoes: TAreaInstrucoes+ tabela: TTabela+ tipo: TMatrizes- contexto: char- vt: integer- vp: integer- ponteiro: integer- tupla: array of TSimbolo- verificacaoTipos: array of integer- sinal: char- linha: TLinha- pilha: TPilha- desvio: string
+ nomeEquivalente(byte) : string+ acao1(TToken)+ acao105(TToken)- gerarInstrucao(string, string, integer)
Classes::TAreaInstrucoes
- vetInstrucoes: array of TInstrucao
+ «constructor» create()+ adicionarInstrucao(TInstrucao)+ alterarInstrucao(integer) : boolean+ alterarInstrucao(integer, string) : integer+ recuperarInstrucao(integer) : TInstrucao+ getTamanho() : integer
Classes::TInstrucao
- numero: integer- linhaCodigo: integer- codigo: string- parametro: string
Classes::TLinha
- vetLinhas: array of integer
+ «constructor» create()+ localizar(integer) : integer
Classes::TMatriz
- nome: string- inicio: integer- fim: integer- categoria: integer- vetVariaveis: array of TVetor
Classes::TMatrizes
- vetMatrizes: array of TMatriz
+ «constructor» create()+ incluirMatriz(TMatriz)+ recuperarMatriz(integer) : TMatriz+ alterarMatriz(string, byte, integer) : boolean+ existeMatriz(string) : boolean+ getTamanhoMatriz() : integer
Classes::TPilha
- pilha: array of integer
+ «constructor» create()+ empilhar(integer)+ desempilhar() : integer
Classes::TSimbolo
- nome: string- categoria: integer- atributo: integer- usado: boolean- inicializado: boolean
Classes::TTabela
- vetSimbolos: array of TSimbolo
+ «constructor» create()+ existeSimboloNaoTitulo(string) : boolean+ adicionarSimbolo(TSimbolo)+ alterarSimbolo(string, byte, boolean) : boolean+ recuperarSimbolo(integer) : TSimbolo+ getTamanho() : integer
1
0..*
1
0..*
1 11
1
11
1
1
11
10..*
![Page 13: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/13.jpg)
TInterpretador
- memoria: TMemoria- ponteiro: integer
+ «constructor» create()+ proximaInstrucao()+ chamada_rea()+ reiniciarExecucao()- andC(TInstrucao)- wrt(TInstrucao)- verificarCompatibilidade(byte, byte) : boolean
TForm
TFExecucao
TMemoria
- memoria: array of string- topo: integer
+ «constructor» create()+ alocar(string, integer)+ alterar(string, integer)+ desalocar()+ recuperar(integer) : string+ getTopo() : integer
1
1
1 1
![Page 14: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/14.jpg)
CONSTANTE_INTEIRO : {DIGITO}+CONSTANTE_REAL : {DIGITO}+ "." {DIGITO}+CONSTANTE_LITERAL : ' ([^'\n])* 'COMENTARIO : "{" [^"}"]*"}"IDENTIFICADOR : {LETRA}({LETRA}|{DIGITO}|"_" )*
<algoritmo> → algoritmo IDENTIFICADOR ;<declaracao_tipo><declaracao_variaveis>
inicio <lista_comandos>
fim .
![Page 15: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/15.jpg)
ação#1: Adicionar o nome do algoritmo na tabela de símbolos .
ação#2: Informar a linha onde iniciam os comandos do algori tmo.
ação#3: Gerar a instrução STP (final do algoritmo). Informar se alguma variável não foi utilizada ou in icializada.
<algoritmo> → algoritmo IDENTIFICADOR #1 ;<declaracao_tipo><declaracao_variaveis>
inicio #2<lista_comandos>
fim. #3
![Page 16: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/16.jpg)
ALGORITMO CÓDIGO INTERMEDIÁRIOALGORITMOoi_mundo ;INÍCIO
ESCREVA( 'oi mundo!' );FIM .
0 LDS 'oi mundo!' 31 WRT 0 32 STP 0 4
CÓDIGO PARÂMETRO FUNCIONAMENTO
LDS constante Alocar uma posição na memória. Armazenar a constante passada por parâmetro nesta posição.
STP 0 Encerrar a execução.
WRT 0 Escrever na tela o valor armazenado na última posição da memória.Desalocar a última posição da memória.
![Page 17: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/17.jpg)
DELPHI 7 GALS
![Page 18: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/18.jpg)
procedure TAcao.acao3(token : TToken);...begin
gerarInstrucao('STP','0', token.getPosition);for ind:= 0 to tabela.getTamanho-1 do begin
if tabela.recuperarSimbolo(ind).getUsado <> true thenaviso:= 'AVISO: A variável "' + tabela.recuperarSi mbolo(ind).getNome
+ '" não foi utilizada. Ela é necessária?'else if (tabela.recuperarSimbolo(ind).getInicializado <> true) then begin
aviso:= 'AVISO: A variável "' + tabela.recuperarSi mbolo(ind).getNome + '" não foi inicializada.';
... end;
end;end;
ação#3: Gerar a instrução STP (final do algoritmo).
Informar se alguma variável não foi utilizada ou in icializada.
![Page 19: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/19.jpg)
procedure TInterpretador.lds(instrucao: TInstrucao);...begin
tryconstante_sem_aspas:=instrucao.getParametro;memoria.alocar(constante_sem_aspas,memoria.getTopo) ;ponteiro:=ponteiro+1;proximaInstrucao;
except funcao.imprimirTela('ERRO DURANTE A EXECUÇÃO: Impos sível carregar
constantedo tipo CADEIA.');
end;end;
LDS constante Alocar uma posição na memória. Armazenar a constante passada por parâmetro nesta posição.
![Page 20: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/20.jpg)
![Page 21: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/21.jpg)
![Page 22: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/22.jpg)
![Page 23: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/23.jpg)
![Page 24: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/24.jpg)
wine Compilador.exe
![Page 25: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/25.jpg)
Possui ajuda;
Informa erros;
É adequada ao currículo;
Possui execução passo a passo;
Não perde informações;
Fácil leitura;
Desperta interesse;
Faz uso de cores.
![Page 26: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/26.jpg)
Aceitação por parte dos alunos e do professor de Introdução à Programação (BCC/FURB)
Trabalhos correlatos
Interface amigável (AMBAP)
Portugol (ASA)
Digitação de algoritmos (Software para o auxílio ao aprendizado de algoritmos)
Tratamento de erros (CIFluxProg)
![Page 27: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/27.jpg)
Desafio do ensino de programação
Ambiente interativo de aprendizagem personalizado
Diagnóstico de erros
Experiências não possíveis em sala de aula
![Page 28: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/28.jpg)
Mensagens e tratamento de erros
Registros
Matrizes multidimensionais
Subrotinas (funções e procedimentos)
Versão para Linux
![Page 29: Acadêmica: Karly Schubert Vargas Orientadora: Joyce Martinsdsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1karlyschubertvarg… · Ambientes interativos de aprendizagem Modelagem/Simulação](https://reader036.vdocuments.site/reader036/viewer/2022081406/5f0dd7be7e708231d43c5c38/html5/thumbnails/29.jpg)
Não é digno de saborear o mel, aquele que se afasta da colméia com medo das picadelas das abelhas.Willian Shakespeare