=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Conceitos de Programaao O que e um programa? E um conjunto de instruoes que dizem ao computador o que azer! Esse conjunto de instruoes" escritas origina#mente pe#o programador" e c$amado de codigo -onte! E%istem &arias #inguagens que &c pode aprender com a ina#idade de escre&er programas! O programa de&e ser se#ecionado pe#a sua capacidade de rea#izar a tarea que &c deseja que e#a e%ecute! Os tipos de programas inc#uem p#ani#$as" processadores de t%t" programas de editoraao e#etronica" 'anco de dados e muitos outros! Como uncionam os programas? O (O) *(is+ Operating ),stem- e em essencia o cere'ro do computador! O sistema operaciona# e um programa de computador! )em e#e" seu computador nao poderia uncionar! E#e e%ecuta instruoes armazenadas em um arqui&o de programa e%ecuta&e#! Essas instruoes proporcionam as unoes normais de e%i'iao ao disco! .s intruoes codiicadas no (O) em nada se parecem com as instruoes do programa origina#/ e#as estao escritas em codigo de maquina! Codigo de 0aquina Para que um computador possa compreender um programa" as instruoes desse programa de&em ser traduzidas para a #inguagem de maquina" uma serie de &a#ores 1 e 2 c$amados numeros 'inarios! Esses numeros 'inarios representam instruoes no programa! Imagine um computador como um dip#omata dos E3. que so a#a ara'e! Para entender discursos em outros idiomas" o dip#omata de&e usar os ser&ios de um tradutos! Os programadores usam compi#adores para traduzir suas instruoes de programa em uma orma #egi&e# por um sistema operaciona#/ essa orma e c$amada de codigo de maquina Compi#adores e Interpretadores 3m programador tem uti#izar um compi#ador ou um interpretador a im de traduzir o codigo-onte de a#to ni&e# em codigo de maquina de 'ai%o ni&e#! . principa# dierena entre um compi#ador e um interpretador esta na maneira como e%ecutam um programa! 3m compi#ador traduz todo o programa em #inguagem de maquina antes de iniciar a e%ecuao das instruoes! .o contrario" um interpretador #e e e%ecuta uma instruao de cada &ez! . &antagem da e%ecuao pe#o compi#ador e que e#a e muito mais rapido do que a e%ecuao eita pe#o interpretador! . des&antagem de um compi#ador e que o programador precisa esperar ate que todo o programa seja compi#ado antes de ser possi&e# identiicar qua#quer erro *nao importando o quanto esse erro seja pequeno-! Interace O termo interace se reere ao aspecto de um programa para seus usuarios! 4a maioria dos casos" um programa e projetado com a ina#idade de ser uti#izado por outros! Interace e o termo generico usada para designar como o programa e &ista na te#a do usuario e a maneira pe#a qua# o usuario se comunica com e#e! 5aria&eis Para que se possa entender programaao" e necessario sa'er o que sao &aria&eis e pra que ser&em! . &aria&e# e um dos e#ementos undamentais em qua#quer #inguagem de programaao! 5oce de&e se #em'rar da a#ge'ra e#ementar" aque#a que &c odeia" 6e6e6e6e" entao" &aria&e# em programaao e quase a mesma coisa! Os computadores uti#izam &aria&eis de maneira muito seme#$ante ao modo como sao usadas em a#ge'ra! Os dados armazenados em uma &aria&e# podem se modiicar! Em a#ge'ra" uma e%pressao tipica e , = %78! O &a#or , se modiica conorme o &a#or %/ % e , sao c$amados de &aria&eis porque seus &a#ores podem se a#terar! 9ipos de Intruoes . medida que &c comea a escre&er programas" passa a con$ecer &arios tipos dierentes de instuoes de programaao! Entre e#as temos : ----; Intruoes de Entrada ----; Intruoes de )aida ----; Intruoes Condicionais ----; Intruoes de )e#eao de caso ----; Intruoes de .tri'uiao ----; Intruoes de C$amada a )u'-<otina ----; =unao ----; Comentarios ----; >oops Instruoes de Entrada 9odas as #inguagens de programaao tem instruoes de entrada" que sao instruoes para #e&ar inormaoes a um programa! 3ma #ista de compras e um e%emp#o simp#es de instruao de entrada! 5c entra com cada item que p#aneja adquirir no mercado" e seu programa instrui o computador para imprimir a #ista em sua impressora! Instruoes de )aida 4ao importa o quanto o seu programa seja 'om" ninguem o con$ecera se e#e nao ti&er instruoes de saida! Pode-se airmar que a ina#idade de um programa e sua saida/ um programa de&e e%i'ir seus resu#tados! Contudo" saida signiica mais que a#go impresso na te#a! (a mesma orma que as instruoes de entrada ser&em para que o programa rece'a dados de entrada de dierentes maneiras" as instruoes de saida podem en&iar a saida de mais uma maneira! 4os programas que tem entrada mas nao apresentam saida" as inormaoes podem ser reco#$idas e manipu#adas" mas o codigo nao tem qua#quer eeito! .o adicionar uma saida ao seu programa" &c pode &er o resu#tado nas aoes do programa/ pode en&iar essas inormaoes para a te#a" a impressora" um arqui&o" etc! Instruoes Condicionais ?)e nao pode aguentar o ca#or" ique ora da cozin$a!? Essa e uma instruao condiciona#! )eu nome &em do ato de que e#a a&a#ia uma condiao e entao e%ecuta uma aao com 'ase nessa condiao! Por e%emp#o"se*&c nao aguenta o ca#or-" entao ique ora da cozin$a! Instuoes de )e#eao de Caso ou )e#ect Case .s instruoes case sao uma orma a're&iada de escre&er instruoes condicionais! )e &c precisar a&a#iar uma e%pressao #onga ou comp#icada e ti&er de compara-#a com dois ou mais &a#ores condicionais *dois ou mais testes so're a e%pressao-" &c pode su'stituir os testes por uma instruao de se#ecao de caso! Instruoes de .tri'uiao .s instruoes de atri'uiao designam &a#ores a uma &aria&e#! 3m sina# de igua#dade * = - e a orma usada com mais requencia para azer uma atri'uiao! 5c pode atri'uir um &a#or a qua#quer &aria&e# do mesmo tipo! .s e%pressoes . = @ e 9ota# = 0edia sao instruoes de atri'uiao! 5c pode atri'uir qua#quer &aria&e# a uma outra &aria&e# do mesmo tipo" determinar o &a#or de uma e%pressao e considerar uma &aria&e# igua# a e#a" e tam'em deinir uma &aria&e# como resu#tado de uma unao! Intruoes de C$amada a )u'-<otina Auando e necessario uma aao repetiti&a que uti#iza duas ou mais instruoes" esse grupo de instruoes e um orte candidato a se transormar em uma su' -rotina! 3ma su'-rotina e" na rea#idade" uma seao separada de codigo" ora da sequencia de e%ecuao principa# do programa! Para dizer ao seu programa que e%ecute a su'-rotina" e uti#izada a pa#a&ra-c$a&e C.>> na maior parte das #inguagens! =unao 3ma unao e seme#$ante a uma su'-rotina no ato de que e um grupo de instruoes re#acionadas que podem ser e%ecutadas por uma unica instruao de atri'uiao! Como &c ja sa'e" uma su'-rotina retorna ao programa principa# quando termina sua tarea! 3ma unao az a mesma coisa/ a unica dierena e que traz com e#a um &a#or! Comentarios 3m comentario e uma anotaao ou e%p#icaao do codigo e e$ uma parte importante da cai%a de erramentas do programdor! Escre&er comentarios junto com seu codigo pode ajudar &c ou qua#quer pessoa que #eia seu programa a compreender o que az cada seao do programa! . seguir segue a#guns e%emp#os de comentarios em Pasca#" C e C77: Pasca# BEste e um e%emp#o de comentario em Pasca#" o comentario pode continuar por &arias #in$a ate c$egar a c$a&e ina#!C C DE Este e um comentario em C! 9udo que esti&er escrito na sequencia de 'arra e asterisco*DE e DE- serao ignorados pe#o programa! .ssim como no Pasca#" o comentario so aca'a quando c$egar a 'arra e asterisco que segue! ED C77 DD Este e um comentario em C77" e dierente das outras #inguagens" para cada DD#in$a de comentario se uti#iza duas 'arras antes de inciar a rase! >oops 3m #oop repete uma instruao ou um conjunto de instuoes ate que uma condiao que &c especiicou seja satiseita! E%istem &arias especies de instruoes de #oop/ com e#as" &c pode contro#ar o #u%o do seu programa! 9ipos de (ados )imp#es e Operadores E#ementares Os computadores oram criados para processar dados! Os programas de computador rece'em dados 'rutos *em gera# do tec#ado ou de um arqui&o de disco-" processam esses dados e produzem inormaoes com signiicao! .'ai%o segue um mode#o 'asico de um programa de computador: FFFFFFFFF FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF G G G G G G G Entrada G -------; G Processa a Entrada G -----------; G Produz a )aida G GFFFFFFFFFG GFFFFFFFFFFFFFFFFFFFFG GFFFFFFFFFFFFFFFFFFG 3m programa tem de ser capaz de armazenar sua entrada em a#gum #ugar" para que possa tra'a#$ar com os dados e processa=#os" produzindo a#guma saida uti# para o usuario! 9odos os dados processados por um programa sao armazenados no programa como uma &aria&e# ou uma constante! 5aria&eis e Constantes Como o nome ja$ diz" &aria&eis sao aque#as que podem &ariar! Em outras pa#a&ras" as &aria&eis possuem dados que se modiicam com o decorrer do programa ja as constantes sao &a#ores que nunca se a#teram! 9ipos de (ados Os dados" estejam contidos em &aria&eis ou constantes" podem ser de dierentes tipos! 5eja a ta'e#a a seguir: FFFFFF4omeFFFFFFF G G G Inteiros G G Inteiros #ongos G G <eias G GFFFFFFFFFFFFFFFFFG .rra,s (epois de estar programando por a#gum tempo" &c poderia desco'rir a necessidade de um tipo especia# de &aria&ei#" denominada arra,! Imagine que &c tem de contro#ar uma centena e &a#ores e pontos em um torneio de cross-crountr," e de&e computar a media entre os pontos" determinar a maior e menor contagem de pontos" a#em de ca#cu#ar mais a#gums estatisticas! .p#icando o que &c sa'e ate agora" &c precisaria de cem &aria&eis para armazenar as cem contagens de pontos! Entretanto" &c nao gostaria de ter que criar uma centena de nomes dierentes de &aria&eis para guardar todos os totais de pontos/ isso seria muito tra'a#$oso! .#em disso" se quisesse somar todos esses &a#ores" seria preciso uma instruao seme#$ante a esta: tota#2 = pontos2 7 pontos8 7 pontosH 7 !!!!!!!! 7 pontos211 (epois de &c ter somado os cem &a#ores de pontos" essa instruao espa#$aria por di&ersas #in$as em um programa! .s #inguagens de programaao oerecem uma a#ternati&a muito me#$or: os arra,s! 3ma arra, e uma #ista de &aria&eis que tem todas o mesmo nome! 3m arra, contem mais de uma &aria&e#" cada uma de#as com o mesmo noem das outras" mas $a um orma pe#a qua# &c e seu programa podem distinguir uma &aria&e# da outra! Por az-se necessario o uso de um su'scrito! )u'scrito e um numero de sequencia" que comea em 1 ou 2" dependendo da #inguagem" e que inorma ao computador quais dentre as &aria&ei% do arra, &c deseja uti#izar! . seguir tem um e%emp#o de arra,: pontos*2- G pontos*8- G pontos*H- G !!!!!! G pontos*211- O@)!: em a#gumas #inguagens como C" se az uso de [] ao in&es de *-! 9a aeI o t%t! )e &c c$ego ate aqui para'ens" e$ um t%t grande! )o quero dize$ +i isso e$ tudo que eu sei de programaao" ou me#$or" introduao a programaao! =az poco tempo que me en&o#&o com issso! =#I aeI! 9e%to escrito por : dJrIin dJrIinK'o#!com!'r * irc!'rasnet!org - Lmotd Lmercenaries Lp$rea+ - nic+: dJrIin -