Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina POO Material IV-Bimestre Tratamento de Números, Caracteres, Gráficos e Banco de Dados http://www1.univap.br/~wagner Prof. Responsável Wagner Santos C. de Jesus 1 Conceito de Funções Matemáticas 2 Conceito Definimos função como a relação entre dois ou mais conjuntos, estabelecida por uma lei de formação, isto é, uma regra geral. Os elementos de um grupo devem ser relacionados com os elementos do outro grupo, através dessa lei. 3 Computacionalmente Uma função vem a ser uma subrotina que retorna um valor para um programa principal. 4 Acesso ao Sistema Operacional System SO 5 System Acessa classe de baixo nível do sistema C# System Classe Matemática Classe Gráfico Classe Acesso SGBD Classe String Classe Data e Hora 6 Funções Matemáticas As funções matemáticas são utilizadas em expressões e cálculos que envolvem valores numéricos e encontram-se definidas na classe System.Math. 7 Sintaxe das funções Matemáticas Sintaxe Geral: <VarN> = System.Math.Função( <parâmetros>); 8 Método: Sign() Faz uma analise do parâmetro e retorna -1 se o número for negativo e 1 se for positivo e 0 caso seja nulo. 9 Exemplo Sign() Exemplo: int p = System.Math.Sign(49); Retorna p = 1 10 Método abs() Determina o valor absoluto (módulo) do número especificado. Retorna sempre um número real superior ou igual a zero. 11 Exemplo abs() Exemplo: int x = System.Math.Abs(-3); Resultado x = 3 12 toString() Realiza a conversão de um número de qualquer tipo em uma string. Sintaxe: <VarM> = <VarTiposG>.toString(); 13 Função round() Arredonda valores reais para números especificados de casas decimais. <Varm> = System.Math.Round(<ExpN>,<ExpN>|<ExpM>); 14 Argumento da função Round Nome Descrição Obrigatório Tipo VALUE Expressão numérica a ser Sim arredondado Double DIGITS Número de casas decimais Não pretendidas int MODE Modo de arredondamento Não para valores com cinco decimais. ArrayFromZero para arredondamento do digito mais afastado de zero, ToEven para arredondar para o digito par mais próximo de zero. MidpintRounding 15 Exemplos: double n = System.Math.Round(8.5998999,1); MessageBox.Show(n.ToString()); n = 8,6 double n = System.Math.Round(8.5998999,0, MidpointRounding.AwayFromZero); MessageBox.Show(n.ToString()); n=9 16 Função sqrt() Calcula a raiz quadrada de um número, devido ser passado como parâmetro um número superior ou igual a zero. 17 Sintaxe sqrt() Sintaxe: <Varm> = System.Math.sqrt(<ExpN>); 18 Exemplo double x = System.Math.Sqrt(4949); MessageBox.Show(x.ToString()); Resultado x = 70,3491293478462 19 Função pow() Permite elevar um número a outro. Possui dois argumentos obrigatórios x (a base) e y (o expoente). Sintaxe : <Varm> = System.Math.pow(<ExpN1,<ExpN2>); <ExpN1> x <ExpN2> y 20 Exemplo: pow() double x = System.Math.Pow(4, 2); MessageBox.Show(x.ToString()); Resultado x = 16 21 Função log10() Realiza o cálculo do logaritmo na base 10 de um número. Estas funções aceitam como argumento de um valor ≥ 0. Sintaxe: <varm> = System.Math.Log10(<ExpN>); 22 Exemplo Log10() double x = System.Math.Log10(100); MessageBox.Show(x.ToString()); Resultado: x = 2 23 Funções Trigonométricas 24 Relação Seno e Cosseno sin( ) tan cos( ) Medido em radiano. 25 Ângulos Notáveis 26 Função: sin() Calcula o seno mediante a um ângulo dado. Sintaxe: <varn> = System.Math.sin(<ExpN>); 27 Exemplo: sin() Calculo do seno do ângulo de 30 graus. double x = System.Math.Sin(30*System.Math.PI/180); Resultado x = 0.5 28 Função: cos() Calcula o cosseno mediante a um ângulo dado. Sintaxe: <varn> = System.Math.cos(<ExpN>); 29 Exemplo: cos() Calculo do seno do ângulo de 30 graus. double x = System.Math.cos(30*System.Math.PI/180); Resultado x = 0.866 30 Função: tan() Calcula a tangente mediante a um ângulo dado. Sintaxe: <varn> = System.Math.tan(<ExpN>); 31 Exemplo: Tan() Calculo do seno do ângulo de 45 graus. double x = System.Math.Tan(45*System.Math.PI/180); Resultado x = 1 32 Função de Formatação de Números 33 Conceito de formatação Todos os objetos e tipos de dados possuem uma função denominada toString, que permite representá-los sob a forma de uma string. Por sua vez essa função possui um parâmetro (Format). 34 Sintaxe toString() (formtação) Sintaxe: <varS>= num.ToString(<ExpS>); <ExpS> : Formatação do número. 35 Exemplo: toString() float num = 12.5f; String formata = num.ToString("0.00"); MessageBox.Show(formata); 36 Exemplo-2: toString() DateTime data = new DateTime(2015, 09, 27); MessageBox.Show(data.ToString("dd-MM-yy")); Resultado: 27/09/15 37 ToString() <data>. ToString("dd-MM-yy"); ddd - Retorna o dia da semana (extenso) pertencente a uma data. MMM – Retorna o mês correspondente (extenso) pertenente a uma data. yyyy – Retorna o ano pertencente a uma data contendo quatro dígitos. 38 Formatação usando o tipo string de forma direta. 39 Sintaxe <varm> = String.Format(<ExpF>); <ExpF>: Expressão de formatação de dados de saída. 40 String.format() Formato {0:C2} Descrição {0:G} Formata com moeda corrente. Formato genérico. {0:F3} Formato de ponto Flutuante 41 Exemplo formatação double valor = 17.36; String s = String.Format("Valor = {0:C2} ", valor); MessageBox.Show(s); Resultado: R$ 17,36 s = String.Format("Valor = {0:G} ", valor); MessageBox.Show(s); Resultado: 17,36 42 Formata dado com 3 casa decimais s = String.Format("Valor = {0:F3} ", valor); MessageBox.Show(s); 43 Funções de Manipulação 44 Conceito São utilizadas quando expressões cujos conteúdos representar datas e/ou horas definidas na classe DateTime. existem podem estando 45 Função DateTime Permite realizar a atribuição de datas e horas a uma variável. Sintaxe: <VarD> = DateTime(<ExpIA>,<ExpIM>,<ExpID>); ou <VarD> = DateTime(<ExpIA>,<ExpIM>,<ExpID>,<HH>,<MM>,<SS>); 46 Propriedades de uma data Propriedades Descrição Day Captura o dia de uma data. Captura o mês de uma data. Captura o ano de uma data. Month Year As propriedades descrita acima retornam valores do tipo inteiro. 47 Exemplo DateTime data = new DateTime(2015, 10, 05); int dia = data.Day; int mes = data.Month; int ano = data.Year; String = dia+”/”+mes+”/”+ano 48 Efetuando cálculo com Datas 49 Métodos de Calculo de datas. Propriedades AddYears() AddMonths AddDays Descrição Adiciona valores e calcula ano. Adiciona valores e calcula mês. Adiciona valores e calcula dias. 50 Exemplo DateTime data = new DateTime(2015, 10, 4); DateTime datasaida; datasaida = data.AddYears(-2); MessageBox.Show(datasaida.ToString() ); Resultado: 04/10/2013 51 Exemplo DateTime data = new DateTime(2015, 10, 4); DateTime datasaida; datasaida = data.AddMonths(4); MessageBox.Show(datasaida.ToString() ); Resultado: 04/02/2016 52 Exemplo DateTime data = new DateTime(2015, 10, 4); DateTime datasaida; datasaida = data.AddDays(30); MessageBox.Show(datasaida.ToString() ); Resultado: 03/11/2015 53 Propriedades de Hora Propriedades Hour Minute Second Descrição Captura o hora. Captura minutos. Captura segundos. As propriedades descrita acima retornam valores do tipo inteiro. 54 Exemplo captura de hora DateTime data = new DateTime(2015, 1, 1,12,59,00); int hh = data.Hour; int mm = data.Minute; int ss = data.Second; MessageBox.Show(hh+"-"+mm+"-"+ss); 55 Efetuando cálculo com Horas 56 Métodos de cálculos com Horas Propriedades Descrição AddHours Realiza calculo com horas. Realiza calculo de minutos. Realiza calculo de segundos. AddMinutes AddSeconds 57 Exemplo: AddHours() DateTime data = new DateTime(2015, 10, 4,13,54,0); DateTime datasaida; datasaida = data.AddHours(-2); MessageBox.Show(datasaida.ToString() ); Saída: 11:54:00 58 Exemplo: AddMinutes() DateTime data = new DateTime(2015, 10, 4,13,54,0); DateTime datasaida; datasaida = data.AddMinutes(2); MessageBox.Show(datasaida.ToString() ); Saída: 13:56:00 59 Exemplo: AddSeconds() DateTime data = new DateTime(2015, 10, 4,13,54,0); DateTime datasaida; datasaida = data.AddSeconds(30); MessageBox.Show(datasaida.ToString() ); Saída: 13:56:30 60 Métodos DayOfWeek() Retorna o dia da semana em inglês pertencente a uma data. Deverá ser criado um objeto da classe DayOfWeek. Sintaxe: DayOfWeek semana = new DayOfWeek(); 61 Exemplo Prático - DayOfweek DateTime data = new DateTime(2015,10,4); DayOfWeek semana = new DayOfWeek(); semana = data.DayOfWeek; MessageBox.Show(semana.ToString() ); Saída: Sunday 62 Retorna um inteiro correspondente ao dia da semana: Valor (0 – 6) DateTime data = new DateTime(2015,10,4); DayOfWeek semana = new DayOfWeek(); semana = data.DayOfWeek; int dia = (int)data.DayOfWeek; MessageBox.Show(dia.ToString() ); Saída: dia = 0 - (Domingo) 63 Funções de Manipulação de String 64 Conceito São utilizadas em operações que envolvem cadeias de caracteres. Estas funções são encapsuladas pelo tipo de dados string. 65 Conceito de Encapsulamento VARIÁVEIS Métodos: São operações criadas para executar tarefas nas variáveis internas (Objetos). 66 Sintaxe Geral do tipo String <Var> = <ExpS>.método(); A variável de memória poderá ser uma string ou um número isso irá ocorrer de acordo com a função aplicada. 67 Método: ToLower() Retorna com uma String convertida de maiúsculo para minúsculo. Sintaxe: <varS> = <ExpS>.ToLower() 68 Exemplo: ToLower() String str = "ABACAXI E BANANA"; string dado = str.ToLower() ; MessageBox.Show(dado); 69 Método: ToUpper() Retorna com uma String convertida de minúsculo para maiúsculo. Sintaxe: <varS> = <ExpS>.ToUpper() 70 Exemplo: ToUpper() String str = "uva melancia"; string dado = str.ToUpper() ; MessageBox.Show(dado); 71 Retirando bytes do inicio e fim da String. 72 Método TrimStart() Retorna uma string sem os espaços iniciais. Sintaxe: <Varm> = <ExpS>.TrimStart(); 73 Exemplo: TrimStart() String str = " melancia“; string dado ="AAA"+ str.TrimStart() ; MessageBox.Show(dado); 74 Método TrimEnd() Retorna uma string sem os espaços finais. Sintaxe: <Varm> = <ExpS>.TrimEnd(); 75 Método TrimEnd() String str = " melancia "; string dado ="AAA"+ str.TrimEnd()+"AAA"; MessageBox.Show(dado); 76 Método Trim() Retorna uma string sem os espaços no inicio e no final. Sintaxe: <Varm> = <ExpS>.Trim(); 77 Método Trim() String str = " melancia "; string dado ="AAA"+ str.Trim()+"AAA" ; MessageBox.Show(dado); 78 Função substring() Permite obter uma parte da cadeia de string de uma determinada substring especificada. Sintaxe: <VarmS> = <ExpS>.substring(<ExpN1,<ExpN2>); <ExpN1> : Determina a posição inicial onde será capturada a string. <ExpN2>: Determina o número de caracteres a serem capturados partindo da ExpN1. 79 Exemplo substring() String str = "Morango"; string dado = str.Substring(2,3); MessageBox.Show(dado); Saída: ran 80 Método StartsWith() Retornar verdadeiro se uma substring especificada estiver no inicio da string. Sintaxe: <Varm. = <Exps>.StartsWith(<ExpS>); 81 Exemplo StartsWith() String str = "Visual Studio"; bool res = str.StartsWith("Vi"); MessageBox.Show(res.ToString()); Saída: True 82 Método EndsWith() Retornar verdadeiro se uma substring especificada estiver no final da string. Sintaxe: <Varm. = <Exps>EndsWith(<ExpS>); 83 Exemplo EndsWith() String str = "Visual Studio“; bool res = str.EndsWith("di"); MessageBox.Show(res.ToString()); Saída: False 84 Método Contains() Retorna verdadeiro se uma determinada substring for encontrada em qualquer parte da string. Sintaxe: <Varm> = <ExpS>.Contains(<ExpS>); 85 Exemplo Contains() String str = "Visual Studio"; bool res = str.Contains("di"); MessageBox.Show(res.ToString()); Saída: True 86 Método Replace() Localiza uma substring em uma string e efetua substituição. Sintaxe: <Varm> = <ExpS>.replace(<ExpS1>,<ExpS2>); <ExpS1> : String da cadeia original a ser substituída. <ExpS2> : String de substituição. 87 Exemplo Replace() String str = "Marta"; String res = str.Replace("a", "o"); MessageBox.Show(res.ToString()); Saída: Morto 88 Método indexOf() Retorna com o índice referente a primeira ocorrência em uma string. Caso não exista nenhum ocorrência retorna -1. Sintaxe: <Varm> = <ExpS>.indexOf(<ExpS>); 89 Exemplo indexOf() String str = "Departamento de Informática CTI"; int res = str.IndexOf("CTI"); MessageBox.Show(res.ToString()); Saída: 28 90 Método LastindexOf() Retorna com o índice referente a ultima ocorrência em uma string. Caso não exista nenhum ocorrência retorna -1. Sintaxe: <Varm> = <ExpS>.LastindexOf(<ExpS>); 91 Exemplo LastIndexOf() String str = "Marilia"; int res = str.LastIndexOf("a"); MessageBox.Show(res.ToString()); Saída: 6 92 Introdução a Criação de Gráficos 93 Conceito de Gráfico O conceito provém do latim graphicus (“relativo à escrita; feito a primor”), embora tenha origem grega. Quando aplicado a uma descrição, operação ou demonstração, trata-se daquilo que se representa através de figuras ou simbolos. 94 Gráfico Cartesiano Um ponto num sistema de dois eixos tem duas coordenas. À primeira coordenada designamos por abcissa e à segunda por ordenada. 95 Usando componente Chart. Possibilita a criação de gráficos para análises estatísticas. 96 Pacote Charting. As funções para controle de gráficos encontram-se no pacote DataVisualization (charting). using System.Windows.Forms.DataVisualization.Charting; 97 Aplicando Componente Gráfico Chart 98 Objeto Chart 1 – Selecione caixa de ferramentas (Toolbox). 2 – Selecione o controle do tipo Chart. 99 Propriedade :Titles Adiciona um título no gráfico. intermédio do método Add(). Por Sintaxe: chart1.Titles.Add(<ExpS>); 100 Classe: Font Determina a fonte e o tamanho para o título. Sintaxe: chart1.Titles[0].Font = new Font(<ExpS>, <ExpN>); <ExpS> - Determina o tipo da fonte a ser usada. <ExpN> - Determina o tamanho da fonte. 101 Propriedade Series A propriedade Series determina as características para formação do gráfico. Exemplo: Series[<ExpN>] 102 ChartType Propriedade que determina o tipo do gráfico. Tipo Descrição Column Gráfico de Colunas Verticais. Bar Gráfico de Barras Horizontais Line Gráfico de Linha Pie Gráfico de Setores Area Gráfico de áreas 103 Exemplo atribuição de tipo de gráfico Exemplo: chart1.Series[0].ChartType = SeriesChartType.Column; 104 Points: Determinação do ponto Propriedade que permite controle de ponto atribuídos ao gráfico: chart Points 105 Propriedade: Color Atribui uma cor para um determinado ponto em um gráfico. Exemplo: chart1.Series[0].Points[0].Color = Color.Magenta; 106 AddXY()/Add() Add – Método que permite adicionar valore de Y para traçar o gráfico. AddXY – Método que permite adicionar um ponto ao gráfico. 107 Exemplo Add() e AddXY Adiciona o valor de Y (Ordenada) para o gráfico. chart1.Series[0].Points.Add(<ExpN>); Adiciona os valores de (X,Y) Abscissa e Ordenad para o gráfico. chart1.Series[0].Points.AddXY(<ExpN1>,<ExpN2); 108 Exemplo Prático int ap = 10; int rp = 5; chart1.Titles.Add("Alunos da Turma"); chart1.Titles[0].Font = new Font("Arial", 10); chart1.Series[0].ChartType = SeriesChartType.Pie; chart1.Series[0].Points.Add(ap); chart1.Series[0].Points[0].Color = Color.Magenta; chart1.Series[0].Points[0].LegendText = "Alunos Aprovados - 66,6"; chart1.Series[0].Points.Add(rp); chart1.Series[0].Points[1].Color = Color.Blue; chart1.Series[0].Points[1].LegendText = "Alunos Reprovados - 33,3%"; chart1.Series[0].LegendText = "Espaços Utilizados"; 109 Manipulação de Banco de Dados 110 Servidor de Banco de Dados Trafego de Dados Aplicação C# 111 Criação de Conexão com a Base de Dados 112 Instalar Connector/Net Connector/Net é uma referencia que permite que o C# trabalhe com o SGDB MySQL. Pode ser feito download do conector em: – http://dev.mysql.com/downloads/connector/net/6.0.html 113 Adicionando referencias. • Clique com o botão direito do mouse sobre o nome do projeto. • Selecione a opção add Reference 114 Adicionando referencias. 115 Importação do pacote Montagem de um cliente para conexão com o SGBD. Exemplo: using MySql.Data.MySqlClient; 116 String de conexão SERVER – Identifica o servidor onde a base de dados está hospedada. DATABASE – Identifica o Banco de dados físico criado no gerenciador. UID – Identifica o nome do usuário administrador da base de dados. PASSWORD – Senha do administrador da base de dados. 117 Exemplo de String de Conexão Os dados em vermelho pertencentes a String de conexão são variáveis conforme as configurações do servidor. Exemplo Prático: string database = "SERVER=localhost;DATABASE=test;UID=root;PASSWORD=;"; 118 Efetuando a conexão MySqlConnection 119 Conexão (MySqlConnection) Aplicação C# String Conexão MySqlConnection 120 Exemplo prático de conexão Exemplo de tentativa de conexão com a base de dados local. Exemplo: string database = "SERVER=localhost;DATABASE=test;UID=root;PASSWORD=;"; MySqlConnection connection = new MySqlConnection(database); 121 Realizando a conexão O método Open() cria a conexão entre a aplicação e o banco de dados. Exemplo: connection.Open(); 122 Envio de comandos para conexão MySqlCommand Aplicação C# String Conexão MySqlCommand 123 Exemplo objeto para envio de comandos Exemplo de CreateCommand() método que cria um objeto para Envio de instruções para base de dados. Exemplo: MySqlCommand command = connection.CreateCommand(); 124 String de comandos SQL CommandText : Propriedade que encapsula a instrução SQL que será executada pelo banco. Exemplo: command.CommandText = "select * from tabela"; 125 Capturando os dados enviados pelo banco (MySqlDataReader) . Aplicação C# Dados do Banco MySqlDataReader 126 Criação do objeto de captura de dados. Criação de um objeto para recepção dos dados. Exemplo: MySqlDataReader Query; 127 Retorna com o resultado da instrução SQL (ExecuteReader()) Retorna um objeto MySqlDataReader. da classe Exemplo: Query = command.ExecuteReader(); 128 Método Read() Efetua a leitura uma tabela retornada do banco de dados. Exemplo: bool registro = Query.Read(); 129 Método GetString() Retorna com o conteúdo referente a campo do registro corrente. sintaxe: <objQuery>.GetString(<ExpS>|<ExpN>); 130 Exemplo Prático acesso ao BD string database = "SERVER=localhost;DATABASE=test;UID=root;PASSWORD=;"; MySqlConnection connection = new MySqlConnection(database); MySqlCommand command = connection.CreateCommand(); connection.Open(); command.CommandText = "select * from tabela"; MySqlDataReader Query = command.ExecuteReader(); string nome = ""; while (Query.Read()) { nome = Query.GetString("nome"); lista.Items.Add(nome); } connection.Close(); 131