Introdução ao ASP.NETIntrodução ao ASP.NET
Tecnologia para WebTecnologia para WebEnrique PimentelEnrique [email protected]@aes.edu.br
AgendaAgenda
O que é o ASP.NET?O que é o ASP.NET?
Componentes do ASP.NETComponentes do ASP.NET
Elementos chaves para programação Elementos chaves para programação ASP.NETASP.NET
Vantagens do ASP.NETVantagens do ASP.NET
Partes de uma aplicação ASP.NETPartes de uma aplicação ASP.NET
Web FormWeb Form
Componentes do Web FormComponentes do Web Form
Organizando projetos com o IISOrganizando projetos com o IIS
Características de aplicações WebCaracterísticas de aplicações Web
O que é o ASP.NET?O que é o ASP.NET?
ASP.NET é a plataforma usada para ASP.NET é a plataforma usada para criar aplicações Web e serviços Web criar aplicações Web e serviços Web que rodam abaixo do IISque rodam abaixo do IIS
ASP.NET não é a única tecnologia ASP.NET não é a única tecnologia usada para criar aplicações Web, usada para criar aplicações Web, outras tecnologias também são outras tecnologias também são usadas, tais como JSP, PHP, CGI e Perlusadas, tais como JSP, PHP, CGI e Perl
O que torna o ASP.NET especial é a O que torna o ASP.NET especial é a sua integração com a plataforma sua integração com a plataforma MicrosoftMicrosoft
Componentes do ASP.NETComponentes do ASP.NET
O ASP.NET faz parte da .NET O ASP.NET faz parte da .NET Framework e é composto por diversos Framework e é composto por diversos componentes:componentes:
Ferramentas de desenvolvimento Web do Ferramentas de desenvolvimento Web do Visual Studio .NETVisual Studio .NET
System.WebSystem.Web namespaces namespaces
Controles de ServidorControles de Servidor
Controles HTMLControles HTML
Elementos chaves – ASP.NETElementos chaves – ASP.NET
Microsoft Internet Information Microsoft Internet Information Services (IIS)Services (IIS)
Linguagens de programaçãoLinguagens de programaçãoMicrosoft Visual Basic .NETMicrosoft Visual Basic .NET
Microsoft Visual C#Microsoft Visual C#
Microsoft Visual J#Microsoft Visual J#
.NET Framework.NET Framework
Microsoft ADO.NETMicrosoft ADO.NET
Microsoft Application Center Test Microsoft Application Center Test (ACT)(ACT)
Vantagens do ASP.NETVantagens do ASP.NET
Integração com Windows Server e ferramentas Integração com Windows Server e ferramentas de programaçãode programação
Com o ASP.NET é mais fácil criar, depurar e Com o ASP.NET é mais fácil criar, depurar e instalar aplicações Web porque essas tarefas são instalar aplicações Web porque essas tarefas são realizadas em um único ambiente de realizadas em um único ambiente de desenvolvimento (Visual Studio .NET)desenvolvimento (Visual Studio .NET)
As aplicações são compiladas e, portanto, As aplicações são compiladas e, portanto, executam mais rapidamente do que scripts executam mais rapidamente do que scripts interpretadosinterpretados
Atualizações podem ser feitas a qualquer Atualizações podem ser feitas a qualquer momento e dispensam reinicialização do momento e dispensam reinicialização do servidorservidor
Utilização da .NET Framework, o que simplifica Utilização da .NET Framework, o que simplifica muitos aspectos da programação para Windowsmuitos aspectos da programação para Windows
Vantagens do ASP.NETVantagens do ASP.NET
Gerenciamento automático de estado para Gerenciamento automático de estado para controles de uma página Web (chamados controles de uma página Web (chamados server server controlscontrols), os quais têm comportamento muito ), os quais têm comportamento muito parecido com controles Windowsparecido com controles Windows
Possibilidade de criar controles de servidor Possibilidade de criar controles de servidor novos e personalizadosnovos e personalizados
Métodos de autenticação/autorização nativosMétodos de autenticação/autorização nativos
Integração com ADO.NET que oferece acesso à Integração com ADO.NET que oferece acesso à bancos de dadosbancos de dados
Total suporte à Extensible Markup Language Total suporte à Extensible Markup Language (XML), Cascading Style Sheets (CSS) e outros (XML), Cascading Style Sheets (CSS) e outros padrões da Webpadrões da Web
Detecta as características do browser utilizado Detecta as características do browser utilizado pelo clientepelo cliente
Partes de uma Aplicação WebPartes de uma Aplicação Web
O ASP.NET divide uma aplicação Web O ASP.NET divide uma aplicação Web em três partes:em três partes:
ConteúdoConteúdo
Programa lógicoPrograma lógico
ConfiguraçãoConfiguração
Partes da Aplicação ASP.NETPartes da Aplicação ASP.NET
ParteParte Tipos de arquivosTipos de arquivos DescriçãoDescrição
ConteúdoConteúdo Web forms, HTML, Web forms, HTML, imagens, áudio, imagens, áudio, vídeo e outrosvídeo e outros
Arquivos de conteúdo determinam Arquivos de conteúdo determinam a aparência de uma aplicação a aparência de uma aplicação Web. Eles podem conter textos Web. Eles podem conter textos estáticos e imagens assim como estáticos e imagens assim como elementos que são criados durante elementos que são criados durante a execução da aplicação pelo a execução da aplicação pelo programa lógico.programa lógico.
Programa Programa lógicológico
Arquivos Arquivos executáveis e executáveis e scriptsscripts
O programa lógico determina como O programa lógico determina como a aplicação responde às ações do a aplicação responde às ações do usuário. Aplicações ASP.NET usuário. Aplicações ASP.NET possuem uma dynamic-link library possuem uma dynamic-link library (DLL) que roda no servidor e (DLL) que roda no servidor e também podem incluir scripts que também podem incluir scripts que rodam na máquina clienterodam na máquina cliente
ConfiguraçãoConfiguração Arquivo de Arquivo de configuração Web, configuração Web, folhas de estilo e folhas de estilo e configurações do IISconfigurações do IIS
Os arquivos de configuração Os arquivos de configuração determinam como a aplicação roda determinam como a aplicação roda no servidor, quem tem acesso, no servidor, quem tem acesso, como os erros são tratados e como os erros são tratados e outros detalhes.outros detalhes.
Web FormWeb Form
O Web form é o elemento chave de uma O Web form é o elemento chave de uma aplicação Webaplicação Web
Um Web form é o cruzamento entre uma Um Web form é o cruzamento entre uma página HTML e um Windows formpágina HTML e um Windows form
Um Web form tem a mesma aparência e Um Web form tem a mesma aparência e comportamento similar à uma página comportamento similar à uma página HTML, mas ele também tem controles HTML, mas ele também tem controles que respondem a eventos e rodam que respondem a eventos e rodam código como um Windows formcódigo como um Windows form
Execução da Aplicação ASP.NETExecução da Aplicação ASP.NET
Em uma aplicação ASP.NET, a parte Em uma aplicação ASP.NET, a parte executável de um Web form é armazenada em executável de um Web form é armazenada em um assembly (.dll) que roda sobre o controle um assembly (.dll) que roda sobre o controle do ASP.NET worker process (asp_wp.exe), o do ASP.NET worker process (asp_wp.exe), o qual roda em conjunto com o IISqual roda em conjunto com o IIS
Seqüência de execução:Seqüência de execução:IIS inicia o ASP.NET worker process se ele não estiver IIS inicia o ASP.NET worker process se ele não estiver rodando. Este por sua vez carrega o assembly rodando. Este por sua vez carrega o assembly associado ao Web formassociado ao Web form
O assembly constrói a resposta ao usuário baseado O assembly constrói a resposta ao usuário baseado no conteúdo do Web form e nos programas lógicos no conteúdo do Web form e nos programas lógicos que provêm conteúdo dinâmicoque provêm conteúdo dinâmico
IIS retorna a resposta ao usuário no formato HTMLIIS retorna a resposta ao usuário no formato HTML
Componentes do Web FormComponentes do Web Form
ComponentComponentee
ExemplosExemplos DescriçãoDescrição
Server Server controlscontrols
TextBox, Label, Button, TextBox, Label, Button, ListBox, DropDownListListBox, DropDownList
Estes controles respondem a Estes controles respondem a eventos do usuário rodando eventos do usuário rodando procedures no servidor. Server procedures no servidor. Server controls podem manter seu controls podem manter seu estado.estado.
HTML HTML controlscontrols
TextArea, Table, Image, TextArea, Table, Image, Submit Button, Reset Submit Button, Reset ButtonButton
Representam os elementos Representam os elementos padrões HTML. HTML controls padrões HTML. HTML controls são usados quando não é são usados quando não é necessário o conjunto completo necessário o conjunto completo de características dos server de características dos server controls.controls.
Data Data controlscontrols
SqlConnection, SqlConnection, SqlCommand, SqlCommand, OleDbConnection, OleDbConnection, OleDbCommand, OleDbCommand, DataSetDataSet
Data controls oferecem Data controls oferecem maneiras para se conectar, maneiras para se conectar, executar comandos e recuperar executar comandos e recuperar dados de BDs e arquivos XMLdados de BDs e arquivos XML
System System componentscomponents
FileSystemWatcher, FileSystemWatcher, EventLog, EventLog, MessageQueueMessageQueue
Estes componentes oferecem Estes componentes oferecem acesso à vários eventos de acesso à vários eventos de sistema que ocorrem no sistema que ocorrem no servidorservidor
Componentes do Web FormComponentes do Web Form
Server controls e HTML controls são Server controls e HTML controls são usados para criar a interface com o usados para criar a interface com o usuário em um Web formusuário em um Web form
Data controls e System controls Data controls e System controls aparecem no Web form somente em aparecem no Web form somente em tempo de projeto para prover uma tempo de projeto para prover uma maneira visual de alterar suas maneira visual de alterar suas propriedades e tratar seus seus eventospropriedades e tratar seus seus eventos
Em tempo de execução Data controls e Em tempo de execução Data controls e System controls não têm uma System controls não têm uma representação visualrepresentação visual
Organizando seu projeto com o IISOrganizando seu projeto com o IIS
Aplicações Web somente podem existir em Aplicações Web somente podem existir em uma localização que tenha sido publicada pelo uma localização que tenha sido publicada pelo IIS como um diretório virtual (virtual directory)IIS como um diretório virtual (virtual directory)
Um diretório virtual é um recurso Um diretório virtual é um recurso compartilhado identificado por um alias que compartilhado identificado por um alias que representa uma localização física no servidorrepresenta uma localização física no servidor
O diretório virtual //localhost é o diretório Web O diretório virtual //localhost é o diretório Web raiz em um computadorraiz em um computador
Por padrão, o IIS instala o diretório raiz no boot Por padrão, o IIS instala o diretório raiz no boot drive em \Inetpub\wwwrootdrive em \Inetpub\wwwroot
Características de Aplicações WebCaracterísticas de Aplicações Web
ControlesControlesWeb forms não podem conter controles Web forms não podem conter controles Windows padrões. Ao invés disso, eles usam Windows padrões. Ao invés disso, eles usam Server controls e HTML controls criados Server controls e HTML controls criados especialmente para Webespecialmente para Web
Interface com UsuárioInterface com UsuárioA aparência de um Web form é determinada A aparência de um Web form é determinada pelo browser que o exibepelo browser que o exibe
Diferentes browsers suportam diferentes Diferentes browsers suportam diferentes características do HTML, o que pode mudar a características do HTML, o que pode mudar a aparência e o comportamento dos Web forms, aparência e o comportamento dos Web forms, mas não é preciso preocupar-se pois o ASP.NET mas não é preciso preocupar-se pois o ASP.NET trata a trata a maioriamaioria dessas diferenças dessas diferenças
Características de Aplicações WebCaracterísticas de Aplicações Web
Tempo de vidaTempo de vidaWindows forms são instanciados, permanecem Windows forms são instanciados, permanecem na memória o tempo que for necessário e são na memória o tempo que for necessário e são destruídosdestruídos
Web forms parecem se comportar da mesma Web forms parecem se comportar da mesma forma, mas eles são instanciados, enviados para forma, mas eles são instanciados, enviados para o browser e, em seguida, destruídoso browser e, em seguida, destruídos
Isso significa que todas as variáveis e objetos Isso significa que todas as variáveis e objetos declarados em um Web form não estão declarados em um Web form não estão disponíveis após ele ser exibidodisponíveis após ele ser exibido
ExecuçãoExecuçãoO browser é o único software instalado no O browser é o único software instalado no cliente e toda lógica de negócio roda no servidorcliente e toda lógica de negócio roda no servidor
Arquivos de um projeto ASP.NETArquivos de um projeto ASP.NET
Nome do ArquivosNome do Arquivos ConteúdoConteúdoAssemblyInfo.vbAssemblyInfo.vbAssemblyInfo.csAssemblyInfo.cs
Todos os atributos que são escritos no assembly compilado, incluindo a Todos os atributos que são escritos no assembly compilado, incluindo a versão, o nome da empresa , GUID e etc.versão, o nome da empresa , GUID e etc.
Global.asaxGlobal.asaxEventos glocais que ocorrem na sua aplicação Web, tais quando a aplicação Eventos glocais que ocorrem na sua aplicação Web, tais quando a aplicação inicia ou termina. Você pode ter somente um arquivo Global.asax por projeto inicia ou termina. Você pode ter somente um arquivo Global.asax por projeto na pasta raiz do projeto.na pasta raiz do projeto.
Global.asax.vbGlobal.asax.vbGlobal.asax.csGlobal.asax.cs
O código usado em Global.asax. Este arquivo não é mostrado no Solution O código usado em Global.asax. Este arquivo não é mostrado no Solution Explorer.Explorer.
Styles.cssStyles.css As definições de estilo para usar com o HTML gerado pelo seu projeto. Este As definições de estilo para usar com o HTML gerado pelo seu projeto. Este arquivo aparece somente nos projetos Visual Basic .NET.arquivo aparece somente nos projetos Visual Basic .NET.
Web.configWeb.config As configurações que o seu servidor web usa quando processa o projeto. As configurações que o seu servidor web usa quando processa o projeto. Projectname.vsdiscoProjectname.vsdisco Descrições de Web Services que o projeto fornece.Descrições de Web Services que o projeto fornece.WebForm1.aspxWebForm1.aspx A descrição visual de um Web form.A descrição visual de um Web form.WebForm1.aspx.vbWebForm1.aspx.vbWebForm1.aspx.csWebForm1.aspx.cs O código que responde aos eventos no Web Form.O código que responde aos eventos no Web Form.
WebForm1.aspx.resxWebForm1.aspx.resx Os recursos da linguagem XMl usado pelo Web Form.Os recursos da linguagem XMl usado pelo Web Form.Projectname.vbprojProjectname.vbprojProjectname.csprojProjectname.csproj
O arquivo de projeto listando os arquivos e configurações usadas em tempo O arquivo de projeto listando os arquivos e configurações usadas em tempo de desenho.de desenho.
Projectname.vbproj.webProjectname.vbproj.webinfoinfoProjectname.csproj.webProjectname.csproj.webinfoinfo
Este arquivo trata o diretório virtual raiz para a aplicação web.Este arquivo trata o diretório virtual raiz para a aplicação web.
Arquivos de um projeto ASP.NETArquivos de um projeto ASP.NET
Extensão de Extensão de arquivoarquivo
Item de Item de ProjetoProjeto DescriçãoDescrição
.aspx.aspx Web formWeb form
Cada Web Form constitui uma página web ASP.NET na sua Cada Web Form constitui uma página web ASP.NET na sua aplicação. As aplicações podem ter uma ou muitos formulários aplicação. As aplicações podem ter uma ou muitos formulários web. Os Web Forms possuem arquivos de código associados web. Os Web Forms possuem arquivos de código associados com eles com a extensão .aspx.vb ou aspx.cs para C#.com eles com a extensão .aspx.vb ou aspx.cs para C#.
.htm.htm página HTMLpágina HTML Páginas web que não possuem código do servidor e podem Páginas web que não possuem código do servidor e podem aparecer como páginas HTML no seu projeto.aparecer como páginas HTML no seu projeto.
.vb or .cs.vb or .cs Classe ou Classe ou modulomodulo
Código que define objetos na sua aplicação e esta Código que define objetos na sua aplicação e esta armazenado em clases.armazenado em clases.
.ascx.ascx Web user Web user controlcontrol
Controles de usuário que são construídos a partir de outros Controles de usuário que são construídos a partir de outros web forms e controles de servidor.web forms e controles de servidor.
.asmx.asmx Web serviceWeb service Web services que exibem classes para execução remota sobre Web services que exibem classes para execução remota sobre a rede.a rede.
.xml.xml arquivo XMLarquivo XML Arquivos de dados que armazenam informação usada pela Arquivos de dados que armazenam informação usada pela sua aplicação. sua aplicação.
.xsd.xsd XML SchemaXML Schema Arquvios de esquema que descrevem o formato e restrições a Arquvios de esquema que descrevem o formato e restrições a serem aplicados no armazenamento de dados.serem aplicados no armazenamento de dados.
.xslt.xslt XML Style XML Style SheetSheet
Regras de formatação a serem aplicadas para exibir dados Regras de formatação a serem aplicadas para exibir dados XMLXML
Arquivos de ConfiguraçõesArquivos de Configurações
Existem dois arquivos que são usados Existem dois arquivos que são usados em ASP.NET para configurar a em ASP.NET para configurar a aplicação Web: global.asax e aplicação Web: global.asax e web.config.web.config.
global.asaxglobal.asax
O arquivo global.asax é uma arquivo O arquivo global.asax é uma arquivo (classe) opcional utilizado na (classe) opcional utilizado na configuração de uma aplicação Web. configuração de uma aplicação Web. Este arquivo deve estar presente no Este arquivo deve estar presente no diretório raiz da aplicação Web.diretório raiz da aplicação Web.
Funciona de maneira semelhante as Funciona de maneira semelhante as páginas *.aspx. páginas *.aspx.
É utilizado para sincronizar qualquer É utilizado para sincronizar qualquer evento exposto pela classe evento exposto pela classe HttpApplicationHttpApplication..
web.configweb.config
O arquivo web.config é um arquivo de O arquivo web.config é um arquivo de configurações para aplicações Web no configurações para aplicações Web no formato XML.formato XML.
Assim como o global.asax não é Assim como o global.asax não é obrigatório para que a aplicação Web obrigatório para que a aplicação Web funcione. Se ele não existir o ASP.NET usa funcione. Se ele não existir o ASP.NET usa um arquivo chamado machine.config como um arquivo chamado machine.config como padrão.padrão.
Geralmente o arquivo web.config é Geralmente o arquivo web.config é colocado na raiz da aplicação junto com o colocado na raiz da aplicação junto com o arquivo global.asax.arquivo global.asax.
web.config - Configuraçõesweb.config - Configurações
SeçãoSeção DescriçãoDescrição
<appSettings><appSettings> Utilizada para armazenar suas próprias configurações Utilizada para armazenar suas próprias configurações personalizadas de Aplicativo.personalizadas de Aplicativo.
<authentication><authentication> Configura como o ASP.NET autentica seus usuários.Configura como o ASP.NET autentica seus usuários.
<authorization><authorization> Configura a autorização de recursos no ASP.NET.Configura a autorização de recursos no ASP.NET.
<connectionStrin<connectionStrings>gs>
Responsável por controlar as configurações do componente de Responsável por controlar as configurações do componente de capacidades do navegador.capacidades do navegador.
<compilation><compilation> Responsável por todas as configurações de compilação.Responsável por todas as configurações de compilação.
<customErrors><customErrors> Indica como exibir erros no navegador.Indica como exibir erros no navegador.
<globalization><globalization> Responsável por configurar as opções de globalização.Responsável por configurar as opções de globalização.
<httpHandlers><httpHandlers> Responsável pelo mapeamento de URLs de entrada em classes Responsável pelo mapeamento de URLs de entrada em classes IHttpHandlerIHttpHandler..
<httpModules><httpModules> Responsável por configurar Módulos de HTTP dentro de um Responsável por configurar Módulos de HTTP dentro de um aplicativo.aplicativo.
<identity><identity> Controla como o ASP.NET acessa seus recursos.Controla como o ASP.NET acessa seus recursos.
<location><location> Controla como as configurações se aplicam a um diretório.Controla como as configurações se aplicam a um diretório.
<pages><pages> Controla configurações de páginas.Controla configurações de páginas.
<processModel><processModel> Configura as configurações de modelo de processo do ASP.NET em Configura as configurações de modelo de processo do ASP.NET em Sistemas de Servidor da Web do IIS.Sistemas de Servidor da Web do IIS.
<sessionState><sessionState> Configura o Estado de Sessão.Configura o Estado de Sessão.
<trace><trace> Configura o Trace (Rastreamento).Configura o Trace (Rastreamento).
<webServices><webServices> Controla as configurações dos Serviços da Web.Controla as configurações dos Serviços da Web.
Armazenando configurações no web.configArmazenando configurações no web.config
Existem duas formas de criar uma Existem duas formas de criar uma chave no web configchave no web config
A primeira é através da edição do próprio A primeira é através da edição do próprio web.configweb.configA segunda é através da aplicação A segunda é através da aplicação ASP.NET ConfigurationASP.NET Configuration, acessível , acessível através do menu Website.através do menu Website.
Essa aplicação permite criar várias Essa aplicação permite criar várias configurações para o website, entre configurações para o website, entre elas elas Application ConfigurationApplication Configuration, , onde é possível gerenciar as chaves onde é possível gerenciar as chaves existentes no web.config.existentes no web.config.
Acessando as configuraçõesAcessando as configurações
Para acessar as configurações via Para acessar as configurações via programação, são necessários:programação, são necessários:
Incluir o namespace Incluir o namespace System.Web.ConfigurationSystem.Web.Configuration
Acessar a propriedade AppSettings da Acessar a propriedade AppSettings da classe estática classe estática WebConfigurationManagerWebConfigurationManager
Exercícios ASP.NETExercícios ASP.NET
1.1. Criar uma aplicação em ASP.NET que Criar uma aplicação em ASP.NET que realize a conversão de moedas. A realize a conversão de moedas. A aplicação deverá converter valores aplicação deverá converter valores das seguintes moedas: real, dollar das seguintes moedas: real, dollar (R$ 2,27), euro (R$ 2,92) e libra (R$ 2,27), euro (R$ 2,92) e libra (4,26); (4,26);
2.2. Altere o programa anterior de modo Altere o programa anterior de modo que o usuário seja capaz de que o usuário seja capaz de cadastrar moedas e suas respectivas cadastrar moedas e suas respectivas cotações em Reais em tempo de cotações em Reais em tempo de execução.execução.
Torres de HanoiTorres de Hanoi
As Torres de Hanoi são um quebra-As Torres de Hanoi são um quebra-cabeca muito antigo e conhecido. Ele cabeca muito antigo e conhecido. Ele é constituído de um conjunto de N é constituído de um conjunto de N discos de tamanhos diferentes e três discos de tamanhos diferentes e três pinos verticais, nos quais os discos pinos verticais, nos quais os discos podem ser encaixados.podem ser encaixados.
Torres de HanoiTorres de Hanoi
Cada pino pode conter uma pilha com Cada pino pode conter uma pilha com qualquer número de discos, desde qualquer número de discos, desde que cada disco não seja colocado que cada disco não seja colocado acima de outro disco de menor acima de outro disco de menor tamanho. A configuracão inicial tamanho. A configuracão inicial consiste de todos os discos no pino 1. consiste de todos os discos no pino 1. O objetivo é mover todos os discos O objetivo é mover todos os discos para um dos outros discos, sempre para um dos outros discos, sempre obedecendo à restricão de não obedecendo à restricão de não colocar um disco sobre outro menor.colocar um disco sobre outro menor.
Torres de HanoiTorres de Hanoi
Um algoritmo recursivo para resolver Um algoritmo recursivo para resolver este problema é o seguinte:este problema é o seguinte:
procedimento Hanoi(N, Orig, Dest, Temp) procedimento Hanoi(N, Orig, Dest, Temp)
se N = 1 então se N = 1 então
mover o menor disco do pino Orig para o pino Dest; mover o menor disco do pino Orig para o pino Dest;
senão senão
Hanoi(N-1, Orig, Temp, Dest); Hanoi(N-1, Orig, Temp, Dest);
mover o N-ésimo menor disco do pino Orig para o pino mover o N-ésimo menor disco do pino Orig para o pino Dest; Dest;
Hanoi(N-1, Temp, Dest, Orig); Hanoi(N-1, Temp, Dest, Orig);
fim-se fim-se
fimfim
Exercício ASP.NETExercício ASP.NET
Criar uma aplicação web, que dado o Criar uma aplicação web, que dado o número de discos, exiba em um número de discos, exiba em um listbox todos os passos para transferir listbox todos os passos para transferir os discos do pino 1 para o pino 3, e o os discos do pino 1 para o pino 3, e o número de passos necessários para número de passos necessários para executar a tarefa.executar a tarefa.
Deverá ser criada uma classe para Deverá ser criada uma classe para implementar o algoritmo. implementar o algoritmo.