Você está na página 1de 17

Anhanguera Educacional S.

A
Faculdade Anhanguera

PARADIGMAS DE LINGUAGEM DE PROGRAMAO


Relao de 10 problemas de lgicas
Evoluo
das
linguagens
de
programao
Orientador:
Coordenador:

SANTO ANDRE
2015

SUMRIO
LISTA DE ILUSTRAES...........................................................................................
RESUMO......................................................................................................................
1

QUESTES DE LGICA.......................................................................................

REFERNCIAS...........................................................................................................

LISTA DE ILUSTRAES
FIGURA 1 POPULARIDADE...................................................................................

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

QUESTES DE LGICA

1) Preencha os 16 quadrados da figura abaixo com os algarismos de 1 a 16 de


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 4
5 6 7 8
9 10 11 12
13 14 15 16
e depois s inverter as diagonais:
16
5
9
4

2
11
7
14

3 13
10 8
6 12
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 o seguinte:
Do 1 ao 10, o algarismo 2 s aparece uma vez como algarismo das unidades.
Do 11 ao 20 o 2 tambm s aparece uma vez como algarismo das unidades. Do
21 ao 30 tambm a mesma coisa. Como existem 10 algarismos, a cada dez
nmeros o algarismo 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
10 nmeros. Como em cada grupo o 2 s aparece uma vez como algarismo
das unidades, no total o 2 aparece 100 vezes como algarismo das unidades.
4) O professor Epaminondas, no primeiro dia de aula, apostou que, entre os
alunos daquela classe, pelo menos dois fariam aniversrio no mesmo dia do ms.
O professor tinha certeza de que ganharia a aposta, pois naquela classe o
nmero de alunos era maior ou igual a:
a) 15

b) 32

c) 28

d) 31

e) 30

Resoluo:
Nessa questo, para voc ter certeza de que o professor ia ganhar a
aposta,precisamos ter 32 alunos na classe. Pois se tivermos apenas 31 alunos,
cada um pode fazer aniversrio num dia do ms e no repetir ningum.
Se tivermos mais um aluno, ou seja 32, esse ltimo ter que fazer aniversrio no
mesmo dia que um dos outros 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 25 de
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 14
17 13 9
12 11 16
A, 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
4
25
24
7

20 3 18
12 17 10
11 13 15
16 9 14
6
23 8

19
22
1
2
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, 36
1, 2, 18
1, 3, 12
1, 4, 9
1, 6, 6
2, 2, 9
2, 3, 6
3, 3, 4
Como 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 soma
1, 1, 36 38
1, 2, 18 21
1, 3, 12 16
1, 4, 9
14
1, 6, 6
13 **
2, 2, 9
13 **
2, 3, 6
11
3, 3, 4
10
Ento 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

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

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

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

Links acessados em 29/03/2015

Você também pode gostar