UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE CURSO: CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: LINGUAGENS DE PROGRAMAÇÃO PROFESSOR: JOHNI DOUGLAS MARANGON POO – Linguagem de Programação 1. Linguagem de programação Lista de linguagens de programação catalogadas. http://en.wikipedia.org/wiki/List_of_programming_languages#A 1.1. TIOBE Index for July 2014 é um site especializado que mede a popularidade das linguagens de programação, o principal critério de classificação utilizado são as buscas feitas na web, cobre buscas no Google, Yahoo, MSN, Wikipedia, Youtube. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html 1.2. #Code2013 foi uma pesquisa feita no Twitter sobre a linguagem de programação utilizadas pelos profissionais em 2013. #code2013 Ruby, JavaScript, SQL http://code2013.herokuapp.com/ 1.3. IEEE Spectrum’s é uma revista relacionada a tecnologia que explorara i desenvolvimento de aplicações e o impacto de tecnologias. Foi publicado um ranking da linguagem de programação mais populares, utilizando 12 indicadores. http://spectrum.ieee.org/static/interactive-the-top-programming-languages 2. Dicas para estudo Java 2.1. Revista Easy Java http://www.devmedia.com.br/revista-easy-java-magazine/edicoes 2.2. GUJ É um site voltado para perguntas e respostas de assuntos relacionadas à tecnologia de informação. http://www.guj.com.br/ 2.3. Stackoverflow Site para perguntas e respostas de assuntos relacionados a programação. http://pt.stackoverflow.com/ http://stackoverflow.com/ 2.4. Podcast http://youtuner.co/ http://podflix.com.br/ http://www.podpods.com.br/ 2.5. InfoQ – Vídeos É uma comunidade independente, focada na disseminação de inovação e conhecimento no desenvolvimento de software, possui material para estudo incluindo vídeos de palestras. http://www.infoq.com/br/presentations 3. For-each Loop É um tipo de loop utilizado para fazer interação entre coleções de objetos(listas), é uma construção simples e expressiva. Nesse tipo de construção o objetivo é substituir o tradicional loop for. A variável indicando o índice da lista NÃO está presente nesse tipo de construção, esse contador e implícito. Exemplo em Java char[] grades = "Ola".toCharArray(); for(int i = 0; i < grades.length; i++) System.out.print(grades[i]); for(char grade : grades) System.out.print(grade); Retirado de http://stackoverflow.com/questions/85190/how-does-the-java-for-each-loop-work Exemplo em C int main(int argc,char* argv[]){ char* s1 = "abcdefg"; char* s2 = "123456789"; foreach (p1, s1) { printf("loop 1 %c\n",*p1); } foreach (p2, s2){ printf("loop 2 %c\n",*p2); } exit(0); return(0); } Retirado de http://en.wikipedia.org/wiki/Foreach_loop Exemplo C++ #include <iostream> int main() { int myint[] = {1,2,3,4,5}; for (int &i: myint) { std::cout << i << std::endl; } } Retirado de http://en.wikipedia.org/wiki/Foreach_loop Exemplo JavaScript var sum = 0; var obj = {prop1: 5, prop2: 13, prop3: 8}; for each (var item in obj) { sum += item; } print(sum); // prints "26", which is 5+13+8 Retirado de https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for_each...in Exemplo Delphi var s: string; c: char; begin s:=' Delphi Rocks!'; for c in s do begin ShowMessage(c); end; Retirado de http://stackoverflow.com/questions/2669173/did-delphi-ever-get-a-for-each-loop 4. Operador ternário. É utilizado para expressar de forma simples uma expressão condicional, possui uma representação simplificada de um condicional if / else. O operador ternário é representado por três operandos. Construção de um operador ternário: condição ? valor_verdadeiro : valor_falso ; Outra construção de um operador ternário. valor_verdadeiro if condicao else valor_falso Exemplos de uso de operador ternário: Em C# - http://eduardopires.net.br/2012/07/c-sharp-iniciantes-operadores-ternarios/ int valor1 = 10; int valor2 = 15; bool resultado = valor1 == valor2 ? true : false; int valor1 = 10; int valor2 = 15; bool resultado; if (valor1 == valor2) { resultado = true; } else { resultado = false; } Em C - http://linguagemc.com.br/o-operador-ternario-em-c/ #include <stdio.h> #include <conio.h> int main (void ) { int numero; printf("Digite um numero: "); scanf("%d",&numero); numero >= 0 ? numero++ : numero--; printf("O novo valor de numero e: %d",numero); getch(); return(0); } if (numero > = 0) Numero ++; else Numero --; Em JScript - http://msdn.microsoft.com/pt-br/library/vstudio/zakwfxx4(v=vs.100).aspx var now = new Date(); var msg = "Good" + ((now.getHours() > 17) ? " evening." : " day."); var now = new Date(); var greeting = "Good"; if (now.getHours() > 17) greeting += " evening."; else greeting += " day."; Em PHP - http://picandocodigo.net/2009/operador-ternario-operador-condicional/ $variable = ($haceFrio) ? "Hace frío" : "No hace frío"; if ($haceFrio) { $variable = "Hace frío"; } else { $variable = "No hace frío"; } Em Python - http://www.aprendapython.com.br/2010/11/operador-ternario.html print 'a é menor' if a < b else 'a não é menor' if a < b: print 'a é menor' else: print 'a não é menor' Em Java (i < 10) ? texto.append("i é MENOR que 10") : texto.append("i é MAIOR que 10"); Resolva a seguinte instrução do operador ternário (http://www.guj.com.br/java/241781-duvida-operadorternario) Caso 1: Boolean c = false; String valor = (c = !c) ? (c = !c)? "verdadeiro":"falso" : (c = !c)? "verdadeiro":"falso"; Caso 2: Boolean c = true; String valor = (c = !c) ? (c = !c)? "verdadeiro":"falso" : (c = !c)? "verdadeiro":"falso";