Mini Curso DESCOMPLICANDO C# Professor Hélio
Requisitos Para o Curso Não é necessário conhecimentos prévios em programação Matemática Básica Nível básico de operador Bom senso
Objetivos do Curso Esse curso não irá ensinar a programar. Dará uma visão geral sobre o tema demonstrando a parte técnica.
Objetivos do Curso com x 0 Simplifica os denominadores Elimina a parte comum Isola a variável Passa pro outro lado dividindo
Objetivos do Curso Por isso que não ensina necessariamente a programar Uma visão geral com exemplos que possam compreender Até que ponto devem compreender?
Objetivos do Curso Parte do Programa
Objetivos do Curso Entender como essas partes são feitas
Objetivos do Curso Tela Dados
Objetivos do Curso
Objetivos do Curso Um pouquinho da história Alcance (desktop, mobile, xna, web) Mitos Dicas como aprender a programar Basico sobre erros Perspectivas sobre como ver a programação Exemplos práticos em diferentes temas
História Algo desenhado para isso Executar várias tarefas, Dependendo da instrução
História Linguagem de Máquina Linguagem de Assembly Linguagem de Alto nível +1300042774 +1400593419 +1200274027 salariobruto = salariobase + bofinicacao Ou 0100011100 0000111000 load salariobase add bonificacao store salariobruto
História Assembly C C++ Objective-C Java C# Web (Java, C#, Javascript, python, etc)
História Cool Project Java x C#
História Linguagem Compilada S.O Código Compila exe
História Linguagem Interpretada S.O Interpretador Código codigo Interpretador Executa o código direto
História C# Código Compila S.O.Net Framework MSI
Alcance Desktop API do Windows
Alcance Mobile
Alcance XNA
Alcance Web
Paradigmas e Mitos Um bom matemático é um bom programador Necessário saber inglês para saber programar Programar é difícil Código bom é código indecifrável Um bom programador tem que saber tudo de cabeça
Como aprender a programar Abrace a confusão Evitar decorar bolos de código Entender o porquê das coisas Algumas coisas são porque sim, mas evitar quando for possível As vezes as coisas nos computadores não fazem sentido Programar se aprende programando
Como aprender a programar Montar ambiente Aprender output básico Pegar algum tutorial para ver algo básico Acompanhar livros com provas
Como vou demonstrar Código Memória Tela Contexto 01 Instrução A Instrução B Efeito Z Efeito O Efeito X Efeito W Contexto 2 Instrução A Instrução B
Hello Word MessageBox.Show("Hello Word");
Hello Word Código Memória Tela Metodo, dentro do Form MessageBox.Show("Hello Word");
Variável string texto; int numero; int numero; Tipo Nome Final da instrução
Variável Código Memória Tela Dentro da área de código int a; a = 10; a = -1000; a a 10 a -1000
Variável Código Memória Tela Metodo, dentro do Form string texto = "Hello Word"; Texto "Hello Word" MessageBox.Show(texto);
Variável int float bool string -2,147,483,648 até 2,147,483,647 ±1.5 10 45 to ±3.4 10 38 true ou false "Texto "
Variável int meuint; string minhastring; meuint = 10; minhastring = a; ERRO!!! meuint minhastring Valores Numéricos (unidades) (-2,147,483,648 até 2,147,483,647) Representação de um caractere "10" -> Representação gráfica de 10
Variável int meuint; string minhastring; meuint = 10; minhastring = a.tostring();
Variável Código Memória Tela meuint Dentro de metodo int meuint; string minhastring; meuint = 10; minhastring = a.tostring(); 10 minhastring "10"
Variável int int.tostring() float float.tostring() bool bool.tostring()
Variável int meuint; string minhastring; minhastring = "10"; meuint = minhastring; meuint ERRO!!! minhastring Valores Numéricos (unidades) (-2,147,483,648 até 2,147,483,647) Representação de um caractere "10" -> Representação gráfica de 10
Variável Código Memória Tela meuint Dentro de metodo int meuint; string minhastring; minhastring = "10"; meuint = minhastring; 10 minhastring "10"
Variável int a = 10; string b = "" + a;
Alguns Componentes Básicos Botão
Componente Botão Código private void button1_click(object sender, EventArgs e) { MessageBox.Show( Hello Word"); } Tela click
Componente Texto Nome que será usado no código Código
Componente Texto Código Tela Dentro de algum metodo textbox1.text = "algo";
Programação Estruturada Estruturas de Sequencia Estruturas de Decisão Estruturas de Repetição
Estruturas de Sequencia instrução01; instrução02; instrução03;... instruçãon;
Estruturas de Decisão instrução01; OU instrução02; if If/else switch
Estruturas de Repetição instrução01; N vezes for while
Funções (Metodos) Classe Variaveis Funcões
Funções Funcões Variaveis E instruções: instrução01; instrução02;... etc;
Funções (Metodos) instrução01; Instrução02; instrução03;... etc; metodo01 Executa metodo01
Funções (Metodos) private void fazalgo() { } nome instruções modificador retorno
Funções (Metodos) instrução01; Instrução02; instrução03;... etc; Gera um valor
Funções (Metodos) private int fazalgo() {... return 10; } void -> não retorna nada int bool string float etc
Funções (Metodos) Ei função calcula 2 + 2 para mim Agora calcula 8 + 6 Entra Valores instrução01; Instrução02; instrução03;... etc; Gera Resultado
Funções (Metodos) private void fazalgo(int numero, string nome) { } Entra um int chamado numero E um string chamado nome
Array int arr = new int[4];
Salvar Arquivo string caminho = "d:\\t.txt"; string texto = "linha 01" + Environment.NewLine + "linha 02"; System.IO.File.AppendAllText(caminho, texto);
string caminho; caminho = "d:\\t.txt"; string texto; Ler Arquivo texto = System.IO.File.ReadAllText(caminho); MessageBox.Show(texto);
Eventos Click Tecla Mouse
Erros Por notificação Step in code
Fluxo da Aplicação Metodo01 instrução01; instrução02; Metodo02 Instrucao; metodo03; instrucao; metodo02; metodo03; Metodo03 instrucao03;
Fluxo da Aplicação 1 Inicia Executa todas instruções iniciais: inicial01 inicial02... Etc;
Fluxo da Aplicação 2 Sistema em espera
Fluxo da Aplicação 3 Eventos Sequencia de Metodos
Fluxo da Aplicação Inicia Instruções Iniciais Espera Eventos Instrucoes de cada evento
Animação simples
POO
POO Classe Dados Lógica
POO Classe Dados Objeto01 Objeto02 Objeto03 Lógica
POO Joao Pessoa Maria Jose
POO BotaoOK Botao BotaoCancelar BotaoOpcoes
POO Fluxo Inicio Fim Executa funcao do objeto 01 Executa funcao do objeto N Executa funcao do objeto 01
Look and Feel Logica Lógica só da tela
Bibliografia
Recomendações http://stackoverflow.com/ C# How to Program (Deiltel) C# for dummies Head First C# (Use a Cabeça C#)