ELABORAÇÃO DE UM CRONÔMETRO, EM TEMPO REAL, PARA UTILIZAÇÃO EM APLICAÇÕES HIPERMÍDIA IMPLEMENTADAS COM TOOLBOOK 1

Documentos relacionados
Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Primeiro Trabalho de Sistemas Digitais

SSC510 Arquitetura de Computadores 1ª AULA

Linguagem Computacional. Estruturas de Controle: Estruturas de Repetição. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Linguagem C Princípios Básicos (parte 1)

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Estrutura de decisão

Assistente de Instalação & Manual do Usuário

Linguagem e Ambiente Scratch. Introdução à Laboratório Prof.Alfredo Parteli Gomes

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 10. Algoritmos e Programação. Enquanto (Teste no início) Repeat (Teste no final)

MANUAL DE INSTALAÇÃO DO GERENCIADOR DO CARTÃO CRIPTOGRÁFICO E TOKEN SAFRAN SAFESIGN

Estruturas de Repetição

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

FACCAT Sistemas de Informação. Estruturas de Dados

Ambiente de desenvolvimento

MANUAL DE INSTRUÇÕES RELÓGIO MORMAII DIGITAL YP9458

Estrutura do programa

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Resumindo As estruturas de repetição são utilizadas quando necessitamos realizar comandos diversas vezes

Aula 5 Controle do Fluxo de Execução

MANUAL MORMAII REF. M882AA

Linguagem de Programação

Programação I A Linguagem C. Prof. Carlos Alberto

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

Controle de consistência utilizando Cálculo em BASIC

Tutorial de Utilização do Software- Mini CLP FIT

Introdução a Sistemas Abertos. Shell Script

Calc. Interface, Formatação e Cálculos

Estruturas de Repetição

COMANDOS DE DECISÕES. O COMANDO if. O comando if instrui o computador a tomar uma decisão simples. Forma Geral: if (expressão de teste) instrução;

MANUAL MORMAII REF.SO8039. Cronógrafo Unidade de medida: 1/100 de segundos Capacidade máxima de medição: 23 horas, 59 minutos e 59 segundos.

Programação de Computadores:

Programação WEB I Funções

Linguagem C Estruturas de Repetição

Aula 4 Introdução ao C

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Macros no LibreOffice

Working 03 : Conceitos Básicos II

AULA 4 - FLUXOGRAMAS PARTE 1 Noções sobre a ferramenta Flowgorithm para construção de fluxogramas

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

Working 03 : Conceitos Básicos II

Conceitos Básicos Linguagem C

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Programação de Computadores III

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

Algoritmos e Programação

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Programação de Computadores III

VISEDU: JOGO DE REALIDADADE AUMENTADA DE LETRAS COM CONTEÚDO DINÂMICO

WINDOWS. O que é o Windows?

Oficina de Programação de Drones Fundamentos de Python Prof. Me. José Carlos Perini

MANUAL DE INSTRUÇÕES RELÓGIO MORMAII DIGITAL D92I70/D92I78

Programação Procedimental

Programação de Computadores II

Aula 10 Comandos de Repetição

Aula 3: Algoritmos: Formalização e Construção

Introdução à Informática. Professor: Francisco Ary

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

FACULDADE DE TECNOLOGIA SENAC PELOTAS. Trabalho de Shellscript Atividade 5 Introdução a Informática

Projeto Lógico de Computadores. Profa. MSc. Carolina Melo Santana

Programação de Computadores:

3 a Lista de Exercícios

Avisos legais KYOCERA Document Solutions Inc.

Delphi 7 Aula 03 Progressão Geométrica

Semana 2 Estruturas de Condição, Seleção e Repetição. Prof. Tiago Jesus de Souza

Procedimentos e Funções

Shell Script. Rafael Silva Guimarães

Como funciona o OA Percepção Espacial

CRONOMETRO PROFISSIONAL COM MEMÓRIA PARA 100 VOLTAS.

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO SISTEMA OPERACIONAL: PROCESSOS E ARQUIVOS PROFESSOR CARLOS MUNIZ

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Procedimentos e Funções

Apostila de Fortran. É uma pseudo-linguagem a qual oferece recursos para que o programador possa codificar e testar os seus algoritmos.

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Lógica de Programação

INTRODUÇÃO A PROGRAMAÇÃO PARA WEB

Material reorganizado e adaptado por: Suéllen Rodolfo Martinelli. Disponibilizado em:

Unidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri

CONCEITOS DE ALGORITMOS

Laboratório de Programação I

Organização e Arquitetura de Computadores I

Capítulo 7. Expressões e Sentenças de Atribuição

Características da Linguagem C

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

Introdução à Informática. Professor: Francisco Ary

SUPERPROVAS - NOVOS RECURSOS DA VERSÃO Pesquisar usando simultaneamente o filtro básico, o filtro avançado e o filtro textual.

05/11/2018. Linguagem de Programação e Estruturada

Introdução ao Fortran 90-3

MANUAL DE PROCEDIMENTOS - UTILIZAÇÃO DO APLICATIVO TICOMIA COMERCIAL FRANQUEADO MP CL UN 02-00

ACH5531 Introdução à Computação Estruturas de repetição

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

COMANDO DE DECISÃO EM LÓGICA DE PROGRAMAÇÃO Decision s Command for Logic Programming

Linguagem de Programação

Cartões de Mídia Externos Guia do Usuário

Visual Basic.NET Image Lists, Tree e List Views, Toolbars, Status e Progress Bars e Tab Controls Lista de Exercícios

NOTAS DE AULA NE7720 SISTEMAS DIGITAIS - II AULA

Universidade Veiga de Almeida Algoritmos e Linguagem I

Transcrição:

Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 5, n. 1, p. 119-126, 2004. 119 ISSN 1519-0625 ELABORAÇÃO DE UM CRONÔMETRO, EM TEMPO REAL, PARA UTILIZAÇÃO EM APLICAÇÕES HIPERMÍDIA IMPLEMENTADAS COM TOOLBOOK 1 DESIGN OF A CHRONOMETER, IN REAL TIME, TO USE IN HYPERMIDIAS CREATED WITH TOOLBOOK Lucas Mariano Schneider 2, Alberto Pessoa da Costa 3 e Gilberto Orengo de Oliveira 4 RESUMO Neste trabalho, é descrita a implementação de um cronômetro digital, para uso em um aplicativo hipermídia, construído na plataforma do software ToolBook. A principal contribuição está na simplicidade do script desenvolvido, o qual permitirá a utilização do cronômetro para contagem de intervalos de tempo, em tempo real, sendo que, com pequenas adaptações, é possível a implementação em outras linguagens de programação. Palavras-chave: ToolBook, cronômetro, script. ABSTRACT In this work is described the implementation of a digital chronometer to use in hypermidias, constructed with ToolBook software. The main contribution is in the simplicity of script developed, which will allow its use for counting of time intervals, in real time, and with small adaptations is possible the implementation in other programming languages. Keywords: ToolBook, chronometer, script. 1 Trabalho de Iniciação Cientí ca PROBIC. 2 Acadêmico do Curso de Física Médica UNIFRA. 3 Co-orientador - UNIFRA. 4 Orientador UNIFRA.

120 Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 5, n. 1, p. 119-126, 2004. INTRODUÇÃO O ToolBook [ASYMETRIX 1999], software utilizado para criação de aplicações hipermídia, possui uma programação direcionada para objetos. Nele é possível criar aplicações que são divididas em páginas, contendo objetos, tais como botões, textos, animações, vídeos e sons, entre outros. Este software possui linhas de programação, scripts, nos quais se programam ações e, ou modi cações sobre o próprio aplicativo e sobre os objetos contidos, em uma linguagem de programação chamada de open script [CORTÊS, 1997]. Neste trabalho, é descrito o desenvolvimento de um cronômetro, um objeto utilizado em ToolBook, de programação simples e clara, que, facilmente, pode ser adaptada a qualquer aplicação desenvolvida em ToolBook e, com algumas modi cações, a outras linguagens de programação. O CRONÔMETRO A criação deste cronômetro é constituída por dois aspectos: a construção de um campo de texto, no qual serão exibidos os intervalos de tempos (Figura 1a), e o script (Figura 1b), responsável por transformá-lo em um contador digital. (a) (b) Figura 1 - (a) Campo de texto e (b) seu script, componentes responsáveis pelo funcionamento do contador de tempo. A estratégia adotada para a programação do cronômetro, que está explicitada nas seis primeiras linhas do script, pode ser descrita da

Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 5, n. 1, p. 119-126, 2004. 121 seguinte forma: inicialmente, ele captura o horário do relógio interno do sistema do computador, no formato hora:minuto:segundo. A seguir, repetese o mesmo procedimento, em um intervalo de milésimos de segundo, e compara-se este valor com o obtido anteriormente. Se forem iguais, nada é executado, mas se forem diferentes é somada uma unidade ao valor de uma variável, previamente de nida. Dessa forma, a variável funciona como um contador de segundos, pois cada vez que o tempo do sistema mudar (valores anterior e posterior diferentes), é porque transcorreu um segundo. Assim, a essencial função de um cronômetro, que é registrar o tempo real transcorrido, é satisfeita. Cotidianamente, porém, os intervalos de tempo não são fornecidos somente em segundos, mas sim, no formato hora, minuto e segundo. Então, foram desenvolvidas as últimas quatorze linhas do script, que constituem um algoritmo para transformação de segundos no formato H:M:S. A EVOLUÇÃO DA PROGRAMAÇÃO SCRIPT O SCRIPT INICIAL O script criado inicialmente é apresentado a seguir. Ainda não contém a transformação para o formato H:M:S e corresponde a um campo de texto com nome de TEMPOHMS. NotifyBefore Idle -- linha 1 System t -- linha 2 System Long TM -- linha 3 IF (t<>systime) THEN -- linha 4 TM = TM + 1 -- linha 5 END -- linha 6 t = Systime -- linha 7 Text of self = TM -- linha 8 End -- linha 9 Na linguagem do ToolBook, a Open Script, o comando NotifyBefore Idle indica o início de um bloco de instruções que serão repetidas continuamente. Esse bloco é nalizado pela instrução End, na linha 9. O comando System é utilizado para declaração de variáveis globais, que podem ser utilizadas em vários scripts, e o Long, na linha 3, é um parâmetro que indica que a variável é do tipo inteira longo (32-bit). O IF, na linha 4, é o comando usado para criar uma condição, na qual o

122 Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 5, n. 1, p. 119-126, 2004. termo THEN delimita o argumento. Somente serão executadas as linhas compreendidas entre o IF e o END, na linha 6, se a expressão lógica do argumento for verdadeira. O Systime, linhas 4 e 7, é uma função que captura o horário instantâneo do sistema do computador. No processo, são declaradas duas variáveis, t e TM, em que TM armazenará valores inteiros e t será do tipo do primeiro valor que lhe for atribuído. No primeiro ciclo, t não possuirá nenhum valor, então, será diferente de qualquer valor que a ela for comparado. Ao chegar à linha 4, será feita a comparação entre o valor de t e o valor de Systime, horário do sistema, sendo eles diferentes, a variável TM será incrementada de um. Ao sair da condição IF, na linha 6, é atribuído à variável t o valor referente ao Systime. Então, no próximo ciclo, a variável TM somente será incrementada se tiver passado um segundo, ou seja, se t <> Systime (se t for diferente de Systime ). Com isso, TM torna-se um contador de segundos. A linha 8 torna o texto do campo igual ao valor de TM, exibindo o tempo. Os caracteres -- que antecedem as linhas de instrução indicam comentário, isto é, não serão executadas. CRIANDO AÇÕES SOBRE O CRONÔMETRO Até o momento, somente foi exibida a possibilidade de criação e funcionamento de um cronômetro, mas como manipulá-lo? Com esse algoritmo, é muito simples criar botões ou ações que possam iniciar ou parar a contagem. A seguir, serão apresentados alguns scripts para serem utilizados em botões, mas que também podem ser adaptados e utilizados em qualquer ação possível no ToolBook. Para criar um botão que inicie a contagem o script do cronômetro foi modi cado, como mostram as seguintes linhas: NotifyBefore Idle -- linha 1 System t, start -- linha 2 System Long TM -- linha 3 IF (start = ok ) THEN -- linha 4 If (t<>systime) Then -- linha 5 TM = TM + 1 -- linha 6 End -- linha 7 t = Systime -- linha 8 END -- linha 9 text of self = TM -- linha 8 End -- linha 10

Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 5, n. 1, p. 119-126, 2004. 123 Neste script, foi adicionada uma condição para que o cronômetro comece a contagem. Agora, para iniciar, é necessário que a nova variável start seja igual a ok. Nessas condições, um botão que inicie a contagem deve possuir o seguinte script: To handle ButtonClick -- linha 1 System start -- linha 2 start = ok -- linha 3 End -- linha 4 Nesse, o comando To Handle ButtonClick corresponde à ação de clicar sobre o botão. Então, quando o botão for clicado, start será igual a ok e o cronômetro iniciará a contagem. Para ter início outra ação, essa deve conter, em seu script, as linhas 2 e 3. Um botão, que pare ou reinicie a contagem, deve possuir o seguinte script: To handle ButtonClick -- linha 1 System start, TM -- linha 2 IF (start = ok ) THEN -- linha 3 Start = pause -- linha 4 ELSE -- linha 5 TM = 0 -- linha 6 Text of eld TEMPOHMS = 0 -- linha 7 END -- linha 8 End -- linha 9 Neste botão, com um clique é acionada a parada da contagem. Se o botão for novamente clicado, o cronômetro será reiniciado e a contagem começará a partir do zero. Na linha 3, é veri cado se o cronômetro está ativo, ou seja, se start é igual a ok ; é executada a linha 4 que atribui o valor de pause à variável start (que é diferente de ok ), parando a contagem. Caso contrário, o comando ELSE (interno à estrutura IF ) indicará que o contador já está parado e executará as linhas 6 e 7, zerando o contador TM e o campo de texto do cronômetro. A IMPLEMENTAÇÃO DA CONTAGEM REGRESSIVA O cronômetro faz somente contagem de tempo progressiva, mas dependendo do aplicativo, pode ser necessário que a contagem de tempo

124 Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 5, n. 1, p. 119-126, 2004. seja regressiva. Um exemplo é o de uma da aplicação que executa um teste de múltipla escolha, no qual o usuário dispõe de um tempo determinado para concluir sua resposta. O processo, para criação da contagem regressiva, é muito semelhante ao desenvolvido anteriormente, modi cando-se apenas alguns detalhes no script do campo de texto do cronômetro, como mostra o novo script: NotifyBefore Idle -- linha 1 System t -- linha 2 System Long TM -- linha 3 If (TM <> 0) Then -- linha 4 IF (t<>systime) THEN -- linha 5 TM = TM - 1 -- linha 6 END -- linha 7 End -- linha 8 t = Systime -- linha 9 text of self = TM -- linha 10 End -- linha 11 Nesta programação, a variável TM, se diferente de zero, está sendo diminuída de uma unidade a cada segundo. No entanto, deve-se estipular um tempo inicial por alguma ação. No caso do exemplo citado anteriormente (teste de múltipla escolha), o usuário terá cinco minutos para concluir o teste após entrar na página da questão 1. Portanto, o script da página deve conter o seguinte: To handle EnterPage -- linha 1 System Long TM -- linha 2 TM = 300 -- linha 3 End -- linha 4 O comando da linha 1 refere-se à ação de entrar na página. Quando essa ação é executada, a variável TM tem o valor de 300, que é o valor de segundos correspondentes aos cinco minutos. O SCRIPT FINAL: em Horas, Minutos e Segundos A transformação do formato do tempo é necessária para melhor visualização. Não estamos acostumados a olhar para o relógio e dizer que se passaram 41400 segundos, mas sim, 11 horas e 30 minutos. Então, o

Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 5, n. 1, p. 119-126, 2004. 125 intervalo de tempo apresentado, no cronômetro, deve ser transformado para esse formato. O script, para o campo de texto do cronômetro, entre as linhas 8 e 23, são apresentadas a seguir: NotifyBefore Idle -- 1 System t -- 2 System Long TM -- 3 IF (t<>systime) THEN -- 4 TM = TM + 1 -- 5 END -- 6 t = Systime -- 7 --------TRANSFORMAÇÃO------ -- 8 Local s, m, h -- 9 s = TM -- s é o tempo em segundos --10 m = 0 -- m é o tempo em minutos --11 h = 0 -- h é o tempo em horas --12 do -- comando de inicio de ciclos --13 if (s>=60) then -- se s >= 60... --14 s = s 60 --...diminui-se 60 segundos e... --15 m = m + 1 --... soma-se 1 minuto. --16 end if --17 if (m>=60) then -- se s >= 60 --18 m = m 1 --...diminui-se 60 minutos e... --19 h = h + 1 --... soma-se 1 hora. --20 end if --21 until(s<60) -- se s<60 os ciclos são encerrados --22 text of self = h & : & m & : & s --h:m:s --23 End --24 Esta transformação também pode ser acoplada nos scripts citados anteriormente, na contagem regressiva e nas ações sobre o cronômetro. CONCLUSÃO Se forem utilizados os scripts descritos neste trabalho, é possível a criação de um contador de tempo, com praticidade e facilidade de manipulação, que pode ser muito útil em aplicações hipermídia. Também é possível utilizar os algoritmos descritos e adaptá-lo para outras linguagens de programação. Ressalte-se o fato de que este contador de tempo está baseado no clock interno do computador, assim, ele de ne um marcador de tempo real, independente da aplicação em si e não necessita de escalas

126 Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 5, n. 1, p. 119-126, 2004. de conversão. Essa característica torna-o uma poderosa ferramenta para simulações de movimentos e medidas de intervalos de tempos em experimentos computacionais. Deixa-se, portanto, a indicação da exploração dessa característica em trabalhos futuros. REFERÊNCIAS BIBLIOGRÁFICAS ASYMETRIX 1999. Learning System, Inc. Toolbook II 7.1 (build 7.10.329). Asymetrix CORTÊS, P. L. Conhecendo e trabalhando com o toolbook: asymetrix multimidia toolbook. São Paulo, SP: Érica, 1997.