FredTeixeira Posted August 22, 2012 at 12:02 AM Report Share #473108 Posted August 22, 2012 at 12:02 AM boas, estou encalhado neste se me puderem ajudar agradecia. aqui vai o exercicio. Specifications Sample Transport Simulator O objectivo é a criação de um simulador de trabalho para um sistema que transporta as amostras na fila da fila para a pipeta, em que a pipeta é baixada para dentro do frasco de amostra. O sistema de transporte é também capaz de limpar a pipeta, por conseguinte, um recipiente de resíduos pequeno será colocada por baixo da pipeta. Estas funcionalidades são incorporadas ao simulador como tarefas que levam algum tempo e depois ligar de volta que a tarefa seja concluída. Preparations Um conjunto de interfaces e classes predefinidos ou para ser usado por um pedaço de software que faz a simulação: /// <summary>Base class for a task on the sample tranport system. /// </summary> public abstract class BaseTask { } /// <summary>Delegate for the transport system task event. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The event arguments.</param> public delegate void TaskDelegate(ISampleTransporter sender, TaskEventArgs e); /// <summary>Event arguments for the <see cref="T:TaskStarted"/> event. /// </summary> public class TaskEventArgs : EventArgs { /// <summary> Creates a new instance of <see cref="T:TaskStartedEventArgs"/> /// </summary> public TaskEventArgs(BaseTask task) { this.Task = task; } /// <summary>Gets or sets the task involved with the action. /// </summary> /// <value>The task.</value> public BaseTask Task { get; private set; } } /// <summary>Interface for the sample transport system. /// </summary> public interface ISampleTransporter { /// <summary>Queues a task on the transporter system. /// </summary> /// <param name="task">The task to queue.</param> void QueueTask(BaseTask task); /// <summary>Aborts all queued tasks. /// </summary> void AbortAllTasks(); /// <summary>Occurs when a task is started. /// </summary> event TaskDelegate TaskStarted; /// <summary>Occurs when a task is finished. /// </summary> event TaskDelegate TaskFinished; } Additional specifications: - A tarefa de transportar um samlpe de A para B consiste nas seguintes etapas: o Etapa 1: Recolha pipeta da amostra: 250ms de duração. o Passo 2: Mova a amostra: 500ms de duração. o Passo 3: Coloque a pipeta para o frasco seguinte: 250ms de duração. - A opção de auto-limpeza existe uma das seguintes etapas: o recipiente Extrato: 1s de duração. Recolher o recipiente: 1s de duração. - Quando abortar as tarefas (AbortAllTasks é chamado), a tarefa atualmente em execução será concluída, mas as tarefas subsequentes serão removidos da fila de tarefas. The simulator Criar um simulador, esta deve ser uma classe que implementa a interface: ISampleTransporter. Para testar o simulador, criar um aplicativo de console para controlar a instância do simulador, através da interface ISampleTransporter: - Ao pressionar 'M' ou 'm' a tarefa de transporte de amostra é adicionado a uma fila no simulador, que será executado quando todas as tarefas anteriores terminar. - Ao pressionar 'C' ou 'c' uma tarefa de limpeza é enfileirado. - 'A' ou 'a' aborta as tarefas. - Pressionando Fuga faz o programa para sair. - Toda vez que uma tarefa começa ou termina, uma linha com algumas informações sobre a tarefa deve ser impresso para a tela. Você pode usar o seguinte código para lidar com teclas no aplicativo de consola. ConsoleKeyInfo? keyInfo = null; while (!keyInfo.HasValue || keyInfo.Value.Key != ConsoleKey.Escape) { keyInfo = Console.ReadKey(true); switch (keyInfo.Value.Key) { case ConsoleKey.A: ... break; default: break; } } obrigado Link to comment Share on other sites More sharing options...
pikax Posted August 22, 2012 at 08:35 AM Report Share #473117 Posted August 22, 2012 at 08:35 AM O que ja fizeste??? Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast." Link to comment Share on other sites More sharing options...
M6 Posted August 22, 2012 at 09:18 AM Report Share #473121 Posted August 22, 2012 at 09:18 AM FredTeixeira, aqui não se fazem trabalhos para os outros, ajuda-se a resolver problemas. Por isso coloca as tuas dúvidas de forma clara. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now