A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Smalltalk Grupo Anderson Bistafa Hugo Carlos

Apresentações semelhantes


Apresentação em tema: "Smalltalk Grupo Anderson Bistafa Hugo Carlos"— Transcrição da apresentação:

1 Smalltalk Grupo Anderson Bistafa 419980-4 Hugo Carlos 279453-5
Danilo Hideki Saito Paulo Mattos Paulo Rossi Robson Vilarouca Silas Lima Duarte Thiago Emilio

2 História Smalltalk começou a ser desenvolvido no final dos anos 60, pelo Alan Kay que era integrante do Learning Reserch Group da Xerox. A linguagem é simples e ideal para iniciantes.

3 História SmallTalk 71 SmallTalk 72
SmallTalk 76, adicionado funcionalidades multimídia SmallTalk 80, desenvolvido pro mercado, utilizado por diversas companhias (HP, Apple, IBM). Xerox desenvolveu novas versões do Smalltalk, ObjectWorks e depois VisualWorks.

4 Domínios de Aplicação Smalltalk é uma linguagem muito versátil e suporta todos os tipos de domínios. (Ex. Didático, Comercial, etc.)

5 Compilação No Smalltalk pode mudar um método da "imagem" e todas as aplicações que usam esse método serão alteradas pois o que temos é uma espécie de máquina virtual que faz uma compilação do script "just in time". Cuidado então quando mudar uma Classe da sua imagem. Se preferência não faça isso: crie uma subClass. É usual que o nome de uma Classe comece com maiúscula. Nomes de métodos começam com minúscula e podem ter maiúsculas no meio. Se um parâmetro de um método é um string, é colocado entre apóstrofos st Student new. st name:'Carlos Silva'.

6 Versões Versões existentes: Versões Open Source & Livres
- Visual Works e ObjectStudio - GsTools for VA 7.0 - GsTools for VW5i - GsTools for VA 5.0, 4.0 e 3.0 and beyond - GsTools for Smalltalk Express - Squeak Emulation for VA 5.0 Versões Comerciais Dolphin Smalltalk Object Connect's Smalltalk MT Cincom's VisualWorks Smalltalk

7 Interface Visual Works

8 Interface Visual Works

9 Aprendizado Smalltalk é relativamente fácil de aprender comparada a linguagem como C++ e ADA. O código-fonte Smalltalk é fácil de ler, o que o torna a linguagem de programação mais simples e pratica. Pois o Smalltalk foi desenvolvido para que iniciantes pudessem programar.

10 Manuais A Grande maioria dos manuais são em inglês e dificilmente são achados em português. Os programadores vão descobrindo erros em SmallTalk em desenvolvimento de softwares. A linguagem Smalltalk é totalmente explicada, bem como a biblioteca de classes e do ambiente de programação. Não existe manual de erro para Smalltalk ,mas geralmente em provas e teste ocorrem muitas pegadinhas. Exemplo Uma diz: 23. Object [] myObjects = { new integer(12), 25. new String(?foo?), 26. new integer(5), 27. new Boolean(true)

11 Tipos de Dados Caracteres Um caracter é uma letra individual do alfabeto. É representado por um símbolo alfanumérico precedido do sinal $: $D $+ $9 $x $% Strings Uma string é uma sequência de caracteres limitada por plicas: 'string de exemplo' Símbolos Um símbolo é um objecto que representa uma string usada para um nome em Smalltalk. O símbolo é único. É representado pelo sinal # e pode ser limitado por plicas, opcionalmente. Arrays de literais São rodeados por ( ) e precedidos do sinal #. Um array embutido noutro pode evitar o uso do sinal #: #( )

12 Tipos de Expressões Literais Nomes de variáveis Mensagens Blocos
O que descrevem objetos constantes (números, caracteres, strings, símbolos ou arrays). Nomes de variáveis Mensagens O valor da expressão é determinado pelo método que irá ser invocado no objecto que vai receber a mensagem. Blocos Muito usados para as estruturas de controlo.

13 Operadores Para comparações, usamos: > "greater than"
< "less than" = "igual em valor" ~= "não igual em valor" >= "greater than ou igual“ <= "less than ou igual Os sinais de operações aritméticas são:      +      "adição"       -      "subtração"       *      "multiplicação"       /      "divisão"       //     "divisão com truncagem"       \\     "resto da divisão"

14 Entrada e saída de dados
Entrada de dados:  Dialog request: 'Introduza um número'  Saída de dados:  Transcript show: ‘Texto a ser exibido’

15 Tipos Smalltalk tem somente um tipo Tudo no sistema são objetos
Portanto variáveis são referencias para objetos

16 Comandos condicionais
IfTrue: ifFalse É utilizada quando desejamos selecionar qual,entre duas seqüência de expressões, será executada, dependendo de uma condição ser verdadeira ou falsa. Sintaxe: (numero \\ 2) = 0 ifTrue: [ paridade := 'par' ] ifFalse:[ paridade := 'impar' ]

17 Repetição simples - timesRepeat:
Para repetir um número determinado de vezes uma sequência de expressões, onde o argumento é um bloco que contém a sequência de expressões a repetir. Sintaxe: 3 timesRepeat: [n := n * n] faz com que o valor de n seja elevado à quarta potência.

18 Comandos condicionais
WhileTrue: WhileFalse: Smalltalk implementa a repetição condicional de um bloco de expressões através do envio da mensagem whileTrue: (ou whileFalse:) . i := 1. [i <= lista size] whileTrue: [ lista at: i put: 0. i := i + 1 ] A mensagem whileFalse: produz efeito inverso, fazendo com que as expressões do bloco argumento sejam repetidas enquanto o valor do receptor for igual a false.

19 Linguagem Na programação estruturada não se utiliza os comandos de desvio incondicional e Variantes EX. (GOTO <label>) A execução de um programa estruturado é feita sempre para adiante, sem desvios e sem retornos, pois a seqüência lógica das instruções coincide com a ordem física em que elas são escritas Características de um programa estruturado: Facilidade de manutenção Fácil entendimento

20 Linguagem Sobrecarga só existe em linguagens com herança múltipla.
Smalltalk é herança única

21 Declaração e Definição
Sub-Rotinas Assim com o C# a linguagem Smalltalk não faz diferença entre métodos e subrotinas. Portanto usam-se as mesmas sintaxes para declarar os métodos e as subrotinas.

22 Abstrato de Dados Tipo composto por dados simples e agregados.
Abstrai a implementação através de interface funcional e controle dos acessos Permite a separação entre interface e implementação Melhor a legibilidade dos tipos compostos.

23 Abstrato de Dados Tipo de abstrato de dado para o ponto. Class point {
Public: Point(int a, in b){x=a; x=b; }//Inicializa as coordenadas de um novo ponto Void move X (int a) {x+=a;}// Move o ponto horizontalmente Void moveY (int+b) {y+=b;}//Move o ponto verticalmente Void rest() {x=0; y=0;}//Move o ponto para a origem Private; Int x, y; };

24 Escopos Permitidos Variável – Identificador de zona de memória que contém ou referencia um objeto de determinado tipo. Normalmente as variáveis têm o tempo de vida definido pelo seu escopo; Exemplo: Chamadas de funções dentro de funções; Variáveis static . O tempo de vida dos objetos pode ou não estar definido pelo escopo que o criou.

25 Exemplo de Programas 1º Programa 

26 Exemplo de Programas 2º Programa 

27 Exemplo de Programas 3º Programa 

28 Conclusão Smalltalk é uma linguagem de programação completa e uma das mais puras linguagens orientadas a objeto existentes atualmente.


Carregar ppt "Smalltalk Grupo Anderson Bistafa Hugo Carlos"

Apresentações semelhantes


Anúncios Google