Laboratório de Programação (DPADF 0063) -...

63
Laboratório de Programação (DPADF 0063) Aula 1 Motivação e Introdução Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno

Transcript of Laboratório de Programação (DPADF 0063) -...

Page 1: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Laboratório de Programação

(DPADF 0063)Aula 1 – Motivação e Introdução

Universidade Federal de Santa Maria

Colégio Agrícola de Frederico Westphalen

Curso Superior de Tecnologia em Sistemas para Internet

Prof. Bruno B. Boniati – www.cafw.ufsm.br/~bruno

Page 2: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Objetivos

• Formular soluções para os algoritmos

propostos, visando à obtenção dos resultados

por computador. Escrever programas, utilizando

uma linguagem de programação imperativa.

Apresentar a estrutura e a funcionalidade de

linguagens de programação.

Page 3: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Programa

I. Introdução à Programação de Computadores;

II. Características Básicas de uma Linguagem de Programação;

III. Tipos de Dados;

IV. Entrada e Saída de Dados;

V. Formatação e posicionamento de tela;

VI. Elementos fundamentais de controle;

VII. Funções e comandos internos de uma Linguagem de Programação;

VIII.Modularização;

IX. Tipos de dados estruturados;

X. Arquivos.

Page 4: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Material de Aula

• Apostila:

• Página da Disciplina:www.cafw.ufsm.br/~bruno/disciplinas/lab_programacao

• Recomenda-se a utilização de um caderno e um pen-drive

Page 5: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Avaliação (individual)

• Avaliação 1 (50% do semestre)

▫ Sistematização 1 (Peso 30%)

▫ Trabalho 1 (Peso 20%)

• Avaliação 2 (50% do semestre)

▫ Sistematização 2 (Peso 30%)

▫ Trabalho 2 (Peso 20%)

• Pontuação extra (pela participação em aula, resolução de

exercícios e entrega de exercícios desafio)

Page 6: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Laboratório de Programação

(DPADF 0063)Aula 1 – Motivação e Introdução

Universidade Federal de Santa Maria

Colégio Agrícola de Frederico Westphalen

Curso Superior de Tecnologia em Sistemas para Internet

Prof. Bruno B. Boniati – www.cafw.ufsm.br/~bruno

Page 7: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

por Rodrigo StraussTexto retirado do blog www.1bit.com.br

Page 8: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Antes de mais nada ...

• Estude ... estude ... estude ...

• Quanto tiver absorvido uma boa

quantidade de informações ...

• Coloque-a em prática.

Page 9: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Arrume um computador ...

• Isso não significa comprar um computador

(embora isso possa ser um investimento

interessante em você);

• Para aprender a programar você não precisa de

um computador de última geração;

• Computador lento não é uma desculpa válida

para não programar;

• Para aprender a programar não é necessário

gastar com aquisição de software;

Page 10: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Antes de começar a programar

• Se antes de ser um bom programador você

precisa ao menos ser um programador;

• Antes de ser um programador você precisa ser ao

menos um bom usuário;

• Tente descobrir como as coisas funcionam e os

motivos para funcionarem dessa forma.

• A maior virtude de um programador é a

curiosidade, querer saber como as coisas

funcionam.

Page 11: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Se você tem dificuldade

para configurar uma

impressora ou para criar

um usuário é bem capaz

que você tenha mais

dificuldade do que o

normal para programar,

uma vez que estará

programando uma

máquina/sistema com a

qual você não conhece.

Page 12: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Começando a programar ...

• Aprenda uma linguagem de programação!

• Mas qual? Resposta: QUALQUER UMA.

▫ Não importa a linguagem e sim o seu empenho.

• Uma boa forma para escolher uma linguagem é

pela quantidade de informação disponível que

você encontrar sobre ela;▫ A coisa mais importante para aprender alguma coisa é

conseguir informações sobre aquilo que se está

estudando, e com programação não é diferente.

Page 13: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

por Rodrigo Strauss

Page 14: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Falta de dinheiro ...

Você acha que, se eu tivesse dinheiro

para ter um carro com 18 anos, eu

passaria madrugadas na frente do

computador? Com certeza eu

passaria as madrugadas com meus

amigos, e mais importante, com

muuuitas amigas :-)Rodrigo Strauss (autor do texto)

• Aprender a programar não requer investimento;

• Essa característica talvez lhe permita ganhar um

bom dinheiro programando nas horas vagas (não

vai gastar nem com matéria prima);

Page 15: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Falta de tempo ...

Quando seu chefe perceber que você

arruma os computadores da empresa

melhor do que o cara da manutenção, é

bem capaz que você deixe de ser

balconista..Rodrigo Strauss (autor do texto)

• Divida seu tempo: estudo, trabalho, lazer ...

• Todo mundo tem tempo, é só se dedicar;

• Se você pega ônibus para ir ao trabalho, leia no ônibus.

• Trabalha de balconista? Leia enquanto não tem clientes para

atender;

Page 16: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Idade

• Você tem mais de 30 anos?

• Mais de 40?

• Mais ainda?

• Se seu cérebro ainda funciona, a idade não

importa.

Page 17: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

"É muito complicado"

• Não precisa ser um gênio para ser

programador.

• Mas vai te exigir dedicação!

▫ Isso te interessa?

• Você é um homem (ou mulher) ou um rato?

• A vida é sua, você tem a opção de arrumar um emprego

de balconista e ficar lá até o resto da sua vida (ou até eles

te trocarem por uma máquina).

Page 18: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

por Marcelo Cohen & João Batista S. de Oliveira

Page 19: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Para ser reprovado em Laboratório de Programação

Não leia os materiais ...

• NÃO LEIA nenhuma delas, pois isso

desfaz imediatamente o campo e

você não vai aprender nada!

• Baixe todos os materiais da disciplina, e depois

carregue na pasta o tempo todo, pois elas criam

um campo magnético onde você aprende por

osmose.

Page 20: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Para ser reprovado em Laboratório de Programação

Faça os trabalhos na carona ...

• Lembre-se de que mais

tarde você vai ter de fazer

prova, e não deve estar

esgotado de tanto pensar

em algoritmos!

• Quando fizer trabalho em grupo, pendure-se em

um grupo qualquer e não levante um dedo pra

fazer o trabalho.

Page 21: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Para ser reprovado em Laboratório de Programação

Não vá na biblioteca

• Nunca entre na

biblioteca, nem pra

devolver livro dos outros.

• Você pode achar algo

interessante pra ler, e

isso arruinaria o seu final

de semana.

Page 22: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Para ser reprovado em Laboratório de Programação

Não faça os exercícios

• Listas de exercícios são para os incompetentes,

por isso você pode ignorá-las.

• Dê risada quando

encontrar alguém

fazendo.

Page 23: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Para ser reprovado em Laboratório de Programação

Converse durante as aulas

• Use a aula pra colocar a conversa em dia,

afinal você nunca sabe quando vai ver seus

amigos outra vez.

Page 24: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Para ser reprovado em Laboratório de Programação

Não faça anotações em aula

• Se você for guri, não anote nada e copie o

caderno de uma guria.

• Se você for guria, não

anote nada e copie de

outra guria.

• Afinal, para ir bem nas

provas basta decorar a

matéria!

Page 25: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Para ser reprovado em Laboratório de Programação

Copie trabalhos da internet

• Entregar qualquer coisa com uma capinha legal

e espaçamento duplo é certeza de boa nota.

• Junte suas páginas preferidas da Internet e não

esqueça de usar um clips colorido.

• Afinal, na Internet sempre

tem o trabalho que você

precisa, e o professor não

vai nem olhar mesmo...

Page 26: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Para ser reprovado em Laboratório de Programação

Não estude para as provas

• Só os incompetentes estudam muitos dias

antes da prova. Os feras de verdade nem

estudam, e evitam ficar com olheiras.

Page 27: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Para ser reprovado em Laboratório de Programação

Evite material em idioma estrangeiro

• Se recuse a ler qualquer coisa

que esteja escrita em inglês!

• Afinal, você só vê filme

estrangeiro se tiver legenda, e

com livros deveria ser a mesma

coisa... Até mesmo porque tudo

que você precisa pode ser

encontrado nos livros em

português.

Page 28: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Conclusão

• Programar não se aprende

• Copiando

• Lendo programas

• Programar se aprende

• Escrevendo e testando

programas

Page 29: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Não fique esperando a ficha cair por si só ...

Faça a sua parte

Page 30: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Você já pensou em treinar um cão?

Como você acha que ele aprende?

Page 31: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Você já pensou em aprender a tocar

violão?(ou outro instrumento)

Experimente ...

É possível aprender?

Page 32: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Exercícios não ajudam?

Já pensou ou tentou emagrecer?

Page 33: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Precisará de muita prática para ser um bom jogador

Que tal aprender Xadrez?

Page 34: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Você já ficou alguma noite sem dormir pensando

em um algoritmo/programa?

É uma excelente experiência.

Com programação não é diferente!

Page 35: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Conceitos iniciais

Page 36: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Algoritmo

• Sequência de instruções organizadas e sistematizadas

utilizadas para resolver um problema;

• Um algoritmo não representa, necessariamente, um

programa de computador, e sim os passos necessários

para realizar uma tarefa.

Page 37: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Programa de Computador

• Instruções formalizadas em uma linguagem de

programação que são transformados em um código de

máquina que é interpretado pelo computador;

program OlaMundo;

begin

writeln('Olá, Mundo!');

end.

Código em uma

Linguagem de Programação Compilador daquela Linguagem de

programação (e para determinada arquitetura e sistema operacional)

Relatório

de Erros

Executável

Page 38: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Tudo começa com um bom projeto

Etapas:• Definição do problema;

• Análise de requisitos;

• Método;;

• Projeto do algoritmo;

• Validação;

• Otimização;

• Implementação;

Page 39: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Programar é como marcenaria ...

• Assim como um marceneiro um programador precisa

conhecer as ferramentas que dispõe e a melhor forma de

utilizá-las.

• As ferramentas do programador são os recursos que

linguagem de programação lhe oferece ...

▫ Expressões;

▫ Estruturas de Decisão;

▫ Laços de Repetição;

▫ Modularização.

Page 40: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

O que é uma linguagem de programação?

Page 41: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Linguagem de Programação

• Método padronizado utilizado para

expressar instruções a um computador;

• Não é um software e sim um conjunto de

regras sintáticas e semânticas que irão

definir um programa de computador.

Page 42: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Sintaxe = Forma• A sintaxe são as regras que definem o formato de

uma linguagem, estabelecendo com são

compostas e combinadas suas palavras.

• Compõe-se de:▫ Regras léxicas que descrevem combinações de

caracteres válidas para formar os tokens (palavras

reservadas, operadores, comandos);

▫ E regras sintáticas que descrevem como as palavras

podem ser combinadas para formar instruções válidas.

Page 43: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Semântica = Significado• A semântica diz respeito ao significado das

construções sintáticas;

• Um programa pode estar sintaticamente correto

mesmo com erros semânticos.

▫ Erros semânticos comuns ...

Utilizar uma variável que não foi declarada;

Acessar uma posição inválida em uma lista (vetor);

Atribuir um conteúdo inválido em uma variável;

Page 44: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Nível de uma LP

• Linguagem de baixo nível

▫ Suas construções aproximam mais da linguagem

de máquina;

▫ Ex. Assembly

WRITE_CHAR PROC

push AX ;coloca na pilha o valor do registrador AX

mov AH,2 ;coloca o valor hexadecimal 2 no registrador AH

int 21h ;interrupção 21h

pop AX ;extrai da pilha o valor de AX

ret ;retorna o controle ao procedimento que chamou

WRITE_CHAR ENDP

Page 45: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Nível de uma LP (cont.)

• Linguagem de alto nível

▫ Linguagens que fornecem abstrações e adoção de

tipos de dados, palavras reservadas, funções e

comandos de uso comum e mais próximos da

linguagem natural.

▫ Ex. C, Pascal, Java, PHP, Python

program Exemplo

begin

write("Sejam bem vindos");

end;

Page 46: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Compilação x Interpretação

Page 47: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Linguagens Interpretadas

• Em uma linguagem de programação interpretada um

programa é executado instrução a instrução;

• O comando precisa ser primeiramente traduzido para

linguagem de máquina para só então executado;

• Sua execução é necessariamente mais lenta que

linguagens que são executadas diretamente em código

de máquina (em função da etapa de tradução);

• O código-fonte precisa ficar disponível para ser

interpretado;

Page 48: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Linguagens Compiladas

• Em uma linguagem compilada o programa é executado

somente após toda sua tradução ter sido completada;

• Somente o programa executável precisa ser

disponibilizado (o código-fonte não é necessário para a

execução);

• A compilação de um programa fonte (texto escrito

diretamente na linguagem de alto nível) prevê que o

mesmo seja traduzido para a linguagem da máquina

correspondente antes da execução (processo conhecido

por compilação).

Page 49: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Etapas da compilação

1. Depuração sintática

▫ Avalia se o código produzido no programa-fonte está

codificado corretamente;

2. Geração do código de máquina

▫ Transforma o código-fonte linguagem de montagem;

3. Ligação ou Linkagem▫ Empacota o código produzido com o conjunto de bibliotecas

utilizadas e gera um programa executável independente;

Page 50: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Etapas da compilação

Programa

Fonte Compilador

Ligador

(Linker)

Código de Bibliotecas

Programa

Executável

Page 51: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Linguagem de Programação Pascal

Page 52: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Breve histórico

• Linguagem de programação estruturada;

• Criada em 1970 pelo suíço Niklaus Wirth;

• Surgiu com o intuito de ser uma linguagem de

programação simples para ser utilizada

academicamente no ensino de programação.

• Seu nome é uma homenagem ao matemático Blaise

Pascal (inventor das primeiras máquinas lógicas);

Niklaus Wirth

Page 53: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Características

• Imperativa (baseada em um programa principal que

eventualmente executa sub-rotinas);

• Compilada (produz um executável independente);

• Fortemente tipada (as variáveis precisam ser

declaradas com seus tipos de dados associados);

• Não é case sensitive (não há diferenciação entre letras

maiúsculas e minúsculas);

Page 54: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Pascal na atualidade

• Evoluiu para a linguagem Object Pascal, utilizada em ambientes

desenvolvimento como Delphi, Kylix e Lazarus;

• Continua sendo uma excelente linguagem para aprendizado de

programação;

Fonte: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Ranking de

Popularidade das

Linguagens

de Programação

(Agosto/2010)

Page 55: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Estrutura básica de um programa

PASCAL

program nome_programa;

uses crt; //bibliotecas

var //Declaração de variáveis

instituicao : string;

begin //Início do programa

instituicao := “UFSM”;

write(instituicao);

end.

Page 56: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Compilador PASCAL

• Existe uma extensa lista de compiladores de linguagem

Pascal ... http://pascaland.org/pascall.htm

• Dois em especial nos interessam ...

Borland Turbo Pascal Lançado comercialmente em 1983 para atingir o mercado de

micro computadores (em plena expansão na época). É o

grande responsável pela popularização do Pascal;

Free Pascal Iniciativa da comunidade de software livre, disponível para

download no endereço www.freepascal.org.

Page 57: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Compilador Free Pascal

• Etapas de compilação1. Edite o código em um editor de textos ou ambiente de desenvolvimento;

2. Salve o arquivo em uma pasta de sua preferência com extensão .PAS

3. Abra uma janela de interpretador de comandos do sistema operacional

(prompt de comandos, no Windows ou tela de terminal no Linux);

4. Execute o comando para compilação:

fpc OlaMundo.pas <enter>

5. O resultado da compilação será um arquivo OlaMundo.o (código objeto)

e o arquivo executável: OlaMundo.exe

program OlaMundo;

begin

write('Olá, Mundo!');

end. OlaMundo.pas

Page 58: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

IDE – Ambiente de Desenvolvimento(Integrated Development Environment)

• Oferece recursos de produtividade ao desenvolvedor:

▫ Indicação de sintaxe (syntax highlighting);

▫ Código automático (code completion);

▫ Integração das etapas de compilação;

Geany IDE Editor de código gratuito e multi-plataforma;

Oferece recursos para diferentes linguagens de programação;

Disponível em: http://www.geany.org/

Page 59: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Geany IDE

Page 60: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Exercícios para fixação

Page 61: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Compilar e Executar

• Compile e execute o código abaixo e verifique o que está

irá aparecer na tela;program DeQuePaisEhEssaBandeira ;

uses crt;

var i: integer;

begin

for i:=1 to 640 do

begin

textcolor (9);

write (#178);

end;

for i:=1 to 720 do

begin

textcolor (15);

write (#178);

end;

for i:=1 to 640 do

begin

textcolor (4);

write (#178);

end;

end.

Page 62: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Comentários

• Reescreva o código

ao lado indicando

para cada linha, o

que é esperado que

ela faça.

program Test;

uses crt;

var a, b: integer;

begin

textbackground(2);

textcolor(1);

clrscr;

gotoxy(15,10);

write('Type a number for A...: ');

read(a);

gotoxy(15,12);

write('Type a number for B...: ');

read(b);

gotoxy(15,14);

if (a > b) then

writeln('A is greater than B')

else if (a < b) then

writeln('B is greater than A')

else

writeln('B is equals A');

readkey;

end.

Page 63: Laboratório de Programação (DPADF 0063) - cafw.ufsm.brbruno/disciplinas/lab_programacao/slides/aula1... · •Apostila: •Página da ... Programar é como marcenaria ... •Assim

Jogo dos 7 erros

• Identifique e corrija os sete erros do código abaixo:

program SquareRoot;

var raiz: real;

begin

write('Informe um numero: ');

read(x)

if (x<0) then

writeln('Numeros negativos nao sao permitidos!)

else

begin

raiz := Sqrt(x);

writeln('O raiz de ', x:0:4, ' e ', raiz:0:4);

writeln('Bom dia';

readkey;

end;