Smalltalk Grupo Anderson Bistafa Hugo Carlos

Slides:



Advertisements
Apresentações semelhantes
PRÓ-INFORMÁTICA QUALIFICAÇÃO PROFISSIONAL
Advertisements

Algoritmo Exemplo: faça um algoritmo para tocar todas as músicas de um cd. Após o usuário apertar o play Algoritmo Para as músicas de 1 até última música.
Paulo Marques Hernâni Pedroso
Algoritmo e Programação
Tipos de dados, Variáveis, Expressões e Operadores
1 Introdução à Programação Linguagem R. 2 Introdução A aprendizagem de uma linguagem de programação desenvolve a capacidade de raciocínio e análise do.
Introdução à Programação Linguagem R
Introdução à Programação Linguagem R
O Essencial sobre Linguagens de Programação Luís Caires Maio 2005.
Programação para Engenharia I
Programando com Alice Tim Margush Department of Computer Science University of Akron © 2006.
Introdução a Programação Renata Freire
Padrão de Projeto Interpreter
Introdução à Programação Pascal - Começando Prof. Filipo Studzinski Perotto 2009.
Programação para Engenharia I
Disciplina: AAM Profa. Ana Watanabe 03/13 vol.2
LPG – I Prof. Flavio Marcello
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
O Portal do Estudante de Computação
O Portal do Estudante de Computação
JAVA: Conceitos Iniciais
Aula prática 7 Strings Monitoria de Introdução à Programação
Informática Teórica Engenharia da Computação
Smalltalk Grupo 8 Diogo Krejci Frederico Argolo Vitor Macedo.
PHP Tipos de dados Constantes.
Linguagens imperativas: Aula prática
Fábio de Oliveira Borges
Linguagem de Programação JAVA
Prof. Daniel Aula 03.  Criar Projeto  Criar Pacote  Criando classes  Meu primeiro programa  Compilar  Comentários  Variáveis.
Utilizando Testes Unitários Gleibson Rodrigo “dartanham” Fontes: antiga apresentação de testes da disciplina de ESS e na curso de testes do PDesigner.
Prototipagem rápida de gameplay
Operadores e Atribuições Capítulo 3
Linguagem de Programação JAVA
Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat Universidade.
Professor: Márcio Amador
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery.
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Lógica Estruturada Aplicada
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Paradigmas de Linguagens de Programação Aula 2
Definições de Esquemas, Restrições básicas e buscas
Algoritmos e Estrutura de Dados I Jean Carlo Mendes
Java Kickstart, day 2 Semelhanças com linguagem C.
Aula Prática 4 Monitoria IP/CC (~if669).
Acabias Marques Luiz. I - Introdução ao Ruby Parte 1 – Introdução a linguagem  O que é Ruby  Instalação  O IRB  Operadores Aritméticos  Tipos de.
William Ivanski Curso de Programação C#. Sumário  Exercícios para Fixação  Utilizando uma IDE  Elementos da Linguagem C#  Valores  Variáveis  Tipos.
Linguagem I Strings.
SmallTalk Caio Cezar Rodrigues Quirino Daniel Mário Adamis Fabio Venicius Oliveira Rafael Barbosa Januzi Roger Wellington.
JAVA Sintaxe.
Smalltalk Grupo 8 Diogo Krejci Frederico Argolo Vitor Macedo.
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Critérios de Avaliação das Linguagens de Programação
Fundamentos de linguagens de programação
Artur Lira Diego Lemos Lucas Figueiredo Thiago Rocha
Programação de Computadores - 1
Introdução Sintaxe Básica da Linguagem JAVA
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
Linguagem de Programação I DELPHI Professor: João Fábio de Oliveira (41)
JAVASCRIPT Programação Web. O que é  E uma linguagem interpretada que e executada na maquina do cliente  Não esta associada ao framework java  Não.
Paradigmas das Linguagens de Programação - História
Programação para Web I Aula 3 CONSTANTES & OPERADORES.
Smalltalk Artur Lira Diego Lemos Lucas Figueiredo Thiago Rocha.
VARIÁVEIS Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP.
Raniere ferreira do prado
Programação e Sistemas da Informação 48 tempos IPTrans, Novembro 2009 Prof. Marisa Gomes.
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Transcrição da apresentação:

Smalltalk Grupo Anderson Bistafa 419980-4 Hugo Carlos 279453-5 Danilo Hideki Saito 339646-0 Paulo Mattos 391515-8 Paulo Rossi 280888-9 Robson Vilarouca 279530-2 Silas Lima Duarte 275870-9 Thiago Emilio 276470-9

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.

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.

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

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'.

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

Interface Visual Works

Interface Visual Works

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.

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 = { 24. new integer(12), 25. new String(?foo?), 26. new integer(5), 27. new Boolean(true)

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 #: #(40 41 42)

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.

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"

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’

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

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' ]

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.

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.

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

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

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.

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.

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; };

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.

Exemplo de Programas 1º Programa 

Exemplo de Programas 2º Programa 

Exemplo de Programas 3º Programa 

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