paradigmas de linguagens de programação

22
Anhanguera Educacional S.A Faculdade Anhanguera PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO Relação de 10 problemas de lógicas Evolução das linguagens de programação Orientador: Coordenador:

Upload: tiago

Post on 29-Sep-2015

216 views

Category:

Documents


0 download

DESCRIPTION

10 questoes de logica

TRANSCRIPT

Teses e Dissertaes

Anhanguera Educacional S.AFaculdade Anhanguera

PARADIGMAS DE LINGUAGEM DE PROGRAMAO

Relao de 10 problemas de lgicasEvoluo das linguagens de programao

Orientador: Coordenador:

santo andre2015

Sumrio

LISTA DE ILUSTRAESiiiResumoiv1QUESTES DE LGICA5Referncias16

LISTA DE ILUSTRAES

figura 1 POPULARIDADE15

Resumo

Elaborar 10 exercicios de lgica com suas respectivas solues.Pesquisa sobre a Evoluo dos computadores.

x

QUESTES DE LGICA

1) Preencha os 16 quadrados da figura abaixo com os algarismos de 1 a 16de uma forma que a soma nas horizontais, verticais e diagonais seja 34.

Resoluo:Esse tem uma resposta bem simples de fazer que colocar os nmeros na sequncia:1 2 3 45 6 7 89 10 11 1213 14 15 16e depois s inverter as diagonais:

16 2 3 135 11 10 89 7 6 124 14 15 1

2)Mexer apenas um palito para formar um quadrado.

Resoluo:

3)Quando se escreve a sucesso dos nmeros naturais, de 1 a 1000, quantas vezes aparece o algarismo 2 como algarismos das unidades ?

Resoluo:O mtodo mais prtico que encontrei para calcular esse problema foi oseguinte:Do 1 ao 10, o algarismo 2 s aparece uma vez como algarismo das unidades. Do11 ao 20 o 2 tambm s aparece uma vez como algarismo das unidades. Do 21 ao30 tambm a mesma coisa. Como existem 10 algarismos, a cada dez nmeros oalgarismo 2 s aparece uma vez como algarismo das unidades.Ento precisamos saber quantos grupos de 10 nmeros temos do 1 ao 1000.Dividindo 1000 por 10, encontramos 100. Portanto existem 100 grupos de 10nmeros. Como em cada grupo o 2 s aparece uma vez como algarismo dasunidades, no total o 2 aparece100 vezescomo algarismo das unidades. 4)O professor Epaminondas, no primeiro dia deaula,apostou que, entre os alunos daquela classe, pelomenos dois fariam aniversrio no mesmo dia do ms. Oprofessor tinha certeza de que ganharia a aposta,poisnaquela classe o nmero de alunos era maior ou iguala:

a)15 b)32 c)28 d)31 e)30

Resoluo:Nessa questo, para voc ter certeza de que oprofessor ia ganhar a aposta,precisamos ter 32 alunosna classe. Pois se tivermos apenas 31 alunos, cada umpode fazer aniversrio num dia do ms e no repetirningum.Se tivermos mais um aluno, ou seja 32, esse ltimoter que fazer aniversrio no mesmo dia que um dosoutros 31.

5)Nos 3 casos abaixo, mexa um palito para a conta ficar certa.

Resoluo:1- Faa o 99 virar 69 mexendo um palito no primeiro nove.2 - Faa a conta virar 7 - 1 = 6, tirando um palito do sinal de mais (que vira menos) e colocando no 1 para ele virar 7.3 - Faa a conta virar 9 + 6 = 15, tirando um palito do 8 (para que ele vire 6) e colocando no sinal de menos para ele virar mais. 10)Preencha os 25 quadrados da figura abaixo com os algarismos de 1 a 25de uma forma que a soma nas horizontais, verticais e diagonais seja 65.

Resoluo:Para completar este quadrado, uma boa maneira pegar apenas os nmeros centrais e primeiro completar um quadrado com 9 casas apenas, sendo que a soma das linhas, colunas e diagonais deve ser, no caso, 39. Assim:10 15 1417 13 912 11 16A, voc vai pegar os nmeros que faltam e formar pares que somem 26, para somarmos com os 39 e dar 65:1 e 25; 2 e 24; 3 e 23; 4 e 22; 5 e 21; 6 e 20; 7 e 19; 8 e 18 5 20 3 18 19 4 12 17 10 2225 11 13 15 124 16 9 14 2 7 6 23 8 21

7)Quem filho de seu pai que no seu irmo?Resoluo:Voc. 8)Voc est participando de uma corrida e ultrapassa o segundo colocado. Em que posio voc fica?

Resoluo:Em segundo. Para ficar em primeiro precisa ultrapassar o primeiro!

9)O pai de Maria tem cinco filhas: Lal, Lel, Lili, Lol e quem a quinta filha?Resoluo:Maria. 10)Dois amigos matemticos, que h muito no se viam, se encontraram na rua. Depois de muita conversa, tiveram esse dilogo:M1: Voc tem filhos?M2: Tenho trs filhas.M1: Qual a idade delas?M2: O produto de suas idades 36.M1: Mas isso no suficiente.M2: A soma das idades delas o nmero daquela casa ali (e apontou a casa para o amigo ver o nmero).M1: Mas isso no suficiente.M2: A mais velha toca piano.M1: Ahhh...agora sim!Qual a idade delas?

Resoluo:Sendo o produto das 3 idades iguais a 36, temos 8 possibilidades, por isso essa informao no suficiente:1, 1, 361, 2, 181, 3, 121, 4, 91, 6, 62, 2, 92, 3, 63, 3, 4Como dando a soma das idades no dava pra saber, a soma das idades deve ser um nmero que aparece como a soma de duas das possibilidades acima, ou ento o matemtico j descobriria as idades. Vamos ver as somas:idades soma1, 1, 36 381, 2, 18 211, 3, 12 161, 4, 9 141, 6, 6 13 **2, 2, 9 13 **2, 3, 6 113, 3, 4 10Ento a soma das idades s poderia ser 13. Mas como h uma filha mais velha, as idades no podem ser 1, 6 e 6, pois nesse caso h duas mais velhas.Ento as idades so 2, 2 e 9 anos.EVOLUO DAS LINGUAGENS DE PROGRAMAO

Linguagens de programao, pela sua prpria natureza, so criadas e mudam muito rapidamente. Cada nicho, necessidade e mercado criam oportunidades para o desenvolvimento de novas formas. Um documento escrito no comeo de 1995 listava a existncia de 2350 diferentes linguagens. Outra pgina, mantida para ilustrar um programa em particular, lista mais de 500.

Mesmo com essa abundncia de linguagens, a sobreposio dos conceitos comuns muito grande. Se observamos a criao de linguagens nos ltimos dez anos, fcil perceber que h pouqussima evoluo em termos de estruturas e conceitos.Perl, Python, PHP, Java, C, C++, C# e Delphi apresentam diferenas mnimas entre si. E, na maioria das vezes, essas diferenas no passam de um acar sinttico que simplesmente mudam a maneira de escrever determinadas construes, sem alterar a semntica das mesmas. Pelas listas mencionadas anteriormente, pode-se tambm perceber que muitas linguagens no passam de pequenas ligeiras variaes de uma linguagem base. Para esclarecer, a palavra evoluo aqui est sendo usada para denotar reais mudanas de conceitos em oposio s mudanas que ocorrem devido escolha de caractersticas para uma linguagem em funo de necessidades e/ou gostos pessoais. Embora as linguagens citas acima sejam todas imperativas, o mesmo padro repetido em outras classes de linguagens. Por exemplo, a maioria das linguagens funcionaisno ultrapassam muito dos paradigmas vistos em LISP. Para compensar essa homogeneidade, o foco de desenvolvimento parece ter mudado atualmente para a criao de metodologias que empregam melhor as linguagens j existentes.Extreme Programming e UML so exemplos dessa tendncia. So tcnicas que se encaixam em praticamente qualquer tipo de linguagem de programao, mas no alteram fundamentalmente as mesmas. Um outro foco a criao de grandes bibliotecas que cercam, muitas vezes de maneira inferior, as limitaes de algumas linguagens.

Uma exceo ao padro acima a lenta adoo de conceitos com programao orientada a aspectos, design por contrato e genricos. Embora esses conceitos no sejam novos, a implementao dos mesmos ainda relativamente rara. Certas linguagens como Smalltalk, por exemplo apresentam alguns desses conceitos de maneira natural, mas a vasta maioria das outras linguagens permanece estacionada em locais prximos s suas origens. Um exemplo o Delphi, uma variante do Object Pascal, usada na ferramenta homnima da Borland. Depois de tornar-se uma linguagem orientada a objetos o que aconteceu por volta de 1989 pouca coisa nova foi acrescentada mesma. Outras linguagens, como Beta, esto realmente procurando criar novos paradigmas, mas em geral permanecem no domnio acadmico e tm pouco foco comercial.

interessante notar que algumas das linguagens mais usadas no mundo sairam de sua infncia procedural h relativamente pouco tempo. PHP um exemplo desse tipo de linguagem. Outras, embora j tendo nascido orientadas a objetos, no acrescentaram nenhuma novidade ao conceito. Neste caso, Python e Java seria exemplos tpicos. Isso quer dizer que muitas linguagens esto repetindo um ciclo evolutivo que j antigo.

Apesar de todos esses fatos, um questionamento pode ser feito: at que ponto a evoluo das linguagens necessria para determinados tipos de tarefa? Smalltalk, por exemplo, permanece significativamente inalterada por dcadas e mesmo assim se mostra incrivelmente capaz de se adaptar s novas realidades da programao. De maneira similar, LISP capaz de dobrar-se s mais diversas tarefas sem mudanas significativas no ncleo da linguagem. um fato interessante notar que ambas a linguagens so consideradas como segredos bem-guardados por algumas empresas que se utilizam da produtividamente das mesmas para manter vantagens competitivas. Estaria o futuro da programao em um forte retorno comercial dessas linguagens? Smalltalk e LISP possuem uma caracterstica em comum que pode explicar o fato de ambas permanecerem atuais: a simplicidade. Smalltalk conta com apenas cinco palavras-chave e umas poucas regras sintticas para expressar suas construes. Ainda assim, o nmero de linhas requerido para implementar uma determinada tarefa em Smalltalk patentemente menor do que na maioria das outras linguagens imperativas. LISP segue o mesmo padro. As expressesque constituem o cerne da linguagem permitem uma flexibilidade enorme na programao e so capazes de representar praticamente qualquer construo requerida. Essa flexibilidade confere a LISP a mesma capacidade de implementar uma tarefa em menor quantidade de linhas e tempo mostrada por Smalltalk. O fato de ambas usam o conceito de uma imagem que contm o ambiente de desenvolvimento dinamicamente tambm contribui enormemente para a eficincia das mesmas. Embora a evoluo das linguagens permanea aparentemente restrita, uma tendncia atual pode ter um impacto positivo no desenvolvimento e aperfeioamento dos conceitos de programao. Essa tendncia a adoo em maior escala de mquina virtuais. A era da ineficincia ficou para trs e as novas mquina virtuais, que combinam compilao e interpretao para aproveitar eficientemente os recursos da mquina, apresentam excelente desempenho e fornecem um bom campo para a experimentao e uso de conceitos que no ficam restritos aos tradicionais ambientes profundamente ligados s suas origens de baixo nvel. notrio tambm o fato de que tanto Smalltalk quanto LISP so normalmente implementadas usando mquina virtuais. Algumas linguagens modernas tm procurado ganhar a mesma flexibilidade introduzindo novas palavras-chave s custas de um aumento na complexidade geral das mesmas.

Um outro conceito que tambm vem ganhando fora nos ltimos anos o de tipos dinmicos, determinados em tempo de execuo, versus o conceito de tipos estticos, determinados em tempo de compilao. Muitas das linguagens atuais (PHP, Python, Perl) optaram por tipos dinmicos para ganhar flexibidade e produtividade. curioso que Java e C#, linguagens criadas apenas com preocupaes mercadolgicas, usem tipos estticos e apresentem vrios recursos para violar esses conceitos em virtude de falhas bvias (boxing um desses recursos, que procura remediar o fato de que nem todos os valores nessas linguagens so objetos). Mais uma vez podemos observar que tanto Smalltalk quanto LISP estavam frente de seu tempo nesse aspecto.

Assim, qual ser o caminho evolucionrio que as nova linguagens seguiro? Obviamente, as necessidades atuais em termos de programao no permanecero constantes. Ser que os modelos procedurais e/ou orientados a objeto, tais como existem hoje sero capazes de atender a essas necessidades? Ser que linguagens como Smalltalk e LISP, que provaram-se resistentes passagem do tempo, sero capazes de se manter atuais sem mudanas significativas em sua sintaxe e semntica? Quais sero os grandes temas futuros das linguagens de programao? Essas so perguntas que no sei nem por onde comear a responder, mas que acredito serem cruciais para o futuro do desenvolvimento de aplicaes. Popularidade das linguagens de Programao

Popularidade das linguagens de Programao

figura 1 POPULARIDADE

18LGICA E EVOLUO DE LINGUAGENS DE PROGRAMAO

Referncias

http://www.ceviu.com.br/blog/info/noticias/estudo-revela-quais-as-linguagens-de-programacao-mais-populares-da-atualidade/http://www.ppgia.pucpr.br/~alekoe/APB/Evolucao-Justino.pdf

Links acessados em 29/03/2015