Buscar

Aula_001 - Introdução

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Professores:
Dante Corbucci Filho
Alexandre Plastino
Fundamentos de Programação
2
Fundamentos de Programação
Livro Texto:
"Pascal e Técnicas de Programação"
 Eber Assis Schmitz e
 Antônio Anibal de Souza Teles
 LTC editora
3
Fundamentos de Programação
Objetivo:
 Capacitar o aluno no uso de uma 
linguagem de programação (no caso, Pascal)
para implementar, executar e testar as diferentes
soluções concebidas para resolver um problema.
4
Fundamentos de Programação
Ao final da disciplina:
 O aluno deverá estar apto a implementar,
testar, analisar e documentar programas de 
computador em uma linguagem imperativa.
5
Ementa:
→ Concepção e construção de programas
→ Comandos básicos 
 → atribuição, leitura e escrita
→ Estruturas de controle
 → seqüência, seleção e repetição
→ Recursividade
→ Representação de dados
 → vetores, matrizes, registros, conjuntos e arquivos
→ Procedimentos, funções e passagem de parâmetro
→ Uso de ponteiros
→ Alocação dinâmica de memória
→ Noções de complexidade de algoritmo
→ Prática em laboratório
6
Aula 1
Professores:
Dante Corbucci Filho
Alexandre Plastino
Conteúdo:
- Introdução
- Comandos Básicos
 - Comando de Atribuição
 - Comandos de Leitura
 - read, readln
 - Comandos de Escrita
 - write, writeln
7
Introdução
Algoritmo [Guim 94]
 "Descrição de um padrão de comportamento,
especificado em termos de um conjunto bem definido
e finito de ações primitivas que podem ser executadas."
Programa = Algoritmo + Estruturas de Dados
8
Introdução
Programação Estruturada [Guim 94]
Metodologia de projeto de programas que visa:
 1. Facilitar o desenvolvimento dos programas;
 2. Facilitar a leitura (entendimento) dos programas;
 3. Permitir a validação a priori dos programas;
 4. Facilitar a manutenção e modificação dos programas.
9
Introdução
Ciclo de Vida do Software [Koff 94]
1. Especificar os requisitos do problema
 • Preparar uma especificação completa e não ambígua.
Problema
1.Especificar
2.Analisar
3.Projetar
4.Implementar
5.Testar e Validar
6.Manter e Atualizar Solução
10
Introdução
Ciclo de Vida do Software [Koff 94]
2. Analisar o problema
 • Entender o problema,
 • Avaliar soluções alternativas,
 • Escolher a solução mais adequada.
Problema
1.Especificar
2.Analisar
3.Projetar
4.Implementar
5.Testar e Validar
6.Manter e Atualizar Solução
11
Introdução
Ciclo de Vida do Software [Koff 94]
3. Projetar o programa para solucionar o problema
 • Realizar um projeto top-down do sistema,
 • Para cada módulo, identificar as principais estruturas de 
 dados e procedimentos e funções associados,
 • Desenvolver os algoritmos e estruturas de dados dos 
 procedimentos e funções.
Problema
1.Especificar
2.Analisar
3.Projetar
4.Implementar
5.Testar e Validar
6.Manter e Atualizar Solução
12
Introdução
Ciclo de Vida do Software [Koff 94]
4. Implementar o projeto
 • Codificar a solução,
 • Corrigir erros de codificação.
Problema
1.Especificar
2.Analisar
3.Projetar
4.Implementar
5.Testar e Validar
6.Manter e Atualizar Solução
13
Introdução
Ciclo de Vida do Software [Koff 94]
5. Testar e validar o programa
 • Testar o código e validá-lo, se correto.
Problema
1.Especificar
2.Analisar
3.Projetar
4.Implementar
5.Testar e Validar
6.Manter e Atualizar Solução
14
Introdução
Ciclo de Vida do Software [Koff 94]
6. Manter e atualizar o problema
 • Executar o sistema,
 • Avaliar seu desempenho,
 • Remover novos erros identificados, assim que detectados,
 • Realizar modificações de forma a manter o sistema atualizado,
 • Validar as modificações.
Problema
1.Especificar
2.Analisar
3.Projetar
4.Implementar
5.Testar e Validar
6.Manter e Atualizar Solução
15
Comando de Atribuição
 Em um comando de atribuição, uma variável 
recebe o resultado de uma expressão.
Saldo := Deposito - Saque
variável expressão
16
Comando de Atribuição
Diagrama sintático:
Expressão:=Variável
17
Comando de Atribuição
Outros Exemplos:
Ind := 5
Preco := 10 * Quantidade
Total := Total + Preco
18
Expressão
 Uma expressão especifica o cálculo 
de um valor. É definida por operandos e operadores.
Deposito - Saque
operador
operando operando
19
Operandos
 Operandos podem ser constantes, variáveis 
ou resultados de funções. 
( A + 10 ) * Maior(X,Y)
funçãovariável
constante
20
Operadores
 Operadores podem ser unários ou binários,
dependendo se admitem um ou dois operandos,
respectivamente.
( - A + 10 ) * Maior(X,Y)
operadores binários
operador unário
21
Operadores Unários
→ operador numérico positivo ("+")
 operando deve ser numérico 
→ operador numérico negativo ("-")
 operando deve ser numérico
→ operador lógico negação ("not")
 operando deve ser booleano
+ 5.75 - A not fim
constante real variável numérica variável booleana
22
Operadores Binários Aritméticos
operadores aditivos
operadores 
multiplicativos
 soma ("+")
 subtração ("-")
 produto (" ")
 divisão real ("/")
 divisão inteira ("div")
 resto da divisão inteira ("mod")
*
( 5.75 + ( A mod B ) - 7 ) / 8.1
23
Operadores Binários Lógicos
 disjunção ou soma lógica ("or")
conjunção ou produto lógico ("and")
operador multiplicativo
( P or Q ) and R
operador aditivo
24
Operadores Binários Relacionais
 igual ("=")
 diferente ("<>")
 maior que (">")
 menor que ("<")
 maior ou igual (">=")
 menor ou igual ("<=")
 pertence a um conjunto ("in") 
 O resultado de uma operação
relacional é um valor booleano.
 (2 + 2) = 5 é Falso! 
A = 5 B <= 6 + C X <> Y 
25
Precedência dos Operadores
 Operadores unários têm precedência maior 
do que os binários.
A and not B equivale a A and (not B)
26
Precedência dos Operadores
5.75 + A mod B - 7 / 8.1 
 equivale a 
5.75 + (A mod B) - (7 / 8.1)
 Operadores multiplicativos (" ", "/", "mod", 
"div", "and") têm precedência maior do que os 
operadores aditivos ("+", "-", "or") e estes têm
precedência maior do que os relacionais.
*
27
Precedência dos Operadores
 Entre operadores de mesma classe, o que
ocorre à esquerda tem maior precedência.
 5 * A mod B / 8.1
 equivale a 
((5 * A) mod B) / 8.1
28
Comandos de Entrada e Saída
Arquivo (ou dispositivo) de entrada padrão: input
 • em geral, associado ao teclado
Arquivo (ou dispositivo) de saída padrão: output
 • em geral, associado ao terminal de vídeo
read(<arquivo-entrada>, <parâmetros>) 
readln(<arquivo-entrada>, <parâmetros>) 
write(<arquivo-saída>, <parâmetros>) 
writeln(<arquivo-saída>, <parâmetros>)
29
Comando de leitura read
 O comando read lê valores do arquivo de entrada,
armazenando-os em variáveis do programa.
 O comando read acima lê dois valores do teclado, 
separados por brancos, e os armazena nas variáveis 
Valor1 e Valor2, nesta ordem, após digitada a tecla <enter>.
 Os valores de entrada e as variáveis onde estes
serão armazenados podem ser do tipo inteiro, real, caracter 
ou cadeia de caracteres.
read(input, Valor1, Valor2)
30
Comando de leitura read
Considere o seguinte comando read.
Considere ainda osseguintes valores digitados no teclado.
 Após a execução do comando read, as variáveis 
A, B e C terão os valores 123,’ x’ e 45.6; respectivamente.
123 x 45.6 <enter>
read(input, A, B, C)
31
Comando de leitura read
Diagrama sintático:
 (
Variável
Arquivo de Entradaread
 , )
32
Comando de leitura readln
 O comando readln é uma variante do comando read 
que, além de ler os valores do arquivo de entrada, pula para
a linha seguinte deste arquivo.
 O comando readln acima considera o arquivo de
entrada padrão. Desta forma, lê dois valores do teclado,
armazenando-os nas variáveis Valor1 e Valor2, após ser
digitada a tecla <enter>, e salta para a linha seguinte.
readln(input, Valor1, Valor2)
33
Comando de leitura readln
Considere os seguintes comandos readln.
Considere ainda os seguintes valores digitados no teclado.
 Após a execução dos comandos readln, as 
variáveis A e B terão os valores 123 e 45.6.
123 <enter>
45.6 <enter>
readln(input, A)
readln(input, B)
34
Comando de leitura readln
Diagrama sintático:
 (
Variável
Arquivo de Entrada
 , )
readln
35
Comando de escrita write
 O comando write escreve no arquivo de saída
valores definidos por expressões.
 O comando write acima escreve no terminal de 
vídeo a constante alfanumérica ’custo = ’ seguida do 
valor resultante da expressão C + 20.
 Os valores resultantes das expressões devem ser 
do tipo inteiro, real, cadeia de caracteres ou booleano.
write(output, ’custo = ’, C + 20)
36
Comando de escrita write
Considere as variáveis A, B e C contendo os valores
432, 45.6 e false, e o comando write abaixo.
 Após a execução do comando write, os seguintes
valores serão escritos no terminal de vídeo.
write(output, 123,’ ’, A, B:5:1,’ ’ , C,’ ’ , ’x’) 
123 432 45.6 false x
37
Comando de escrita write
Diagrama sintático:
 (
 , )
write Arquivo de Saída
Expressão
38
Comando de escrita writeln
 O comando writeln é uma variante do comando write 
Que escreve os valores no arquivo de saída e,em seguida,
passa para a linha seguinte do arquivo.
 O comando writeln acima considera o arquivo de
Saída padrão. Desta forma, escreve no terminal de vídeo 
a constante alfanumérica ’custo = ’, o valor resultante da 
expressão C + 20 e salta para a linha seguinte.
writeln (output, ’custo = ’, C + 20)
39
Comando de escrita writeln
Considere as variáveis A e B contendo os valores
432 e 45.6, e os comandos writeln abaixo.
 Após a execução dos comandos writeln, os 
seguintes valores serão escritos no terminal de vídeo.
writeln (output, 1, ’ ’ , A)
writeln (output, 2, ’ ’ , B:4:1)
1 432
2 45.6
40
Comando de escrita writeln
Diagrama sintático:
 (
 , )
Arquivo de Saída
Expressão
writeln
41
Formatação na saída dos resultados
 Os comandos write e writeln permitem a 
especificação do formato de saída de cada expressão 
a ser impressa.
 Após a especificação de cada expressão, deverá 
aparecer o separador ":" e um valor inteiro indicando o 
tamanho do campo, em número de caracteres, dentro do 
qual a expressão deverá ser impressa.
42
Formatação na saída dos resultados
O valor a ser impresso 
é ajustado à direita e 
espaços extras são 
preenchidos com 
brancos.
Resultado (supondo C=2005):
valor = 2005
10 posições 5 posições
write (output, ’valor = ’:10, C:5)
43
Formatação na saída dos resultados
 Na formatação de expressões do tipo real, um
segundo parâmetro pode ser especificado, que indica o
tamanho da parte fracionária. Caso não seja especificado,
o número real será impresso na notação de ponto flutuante.
write(output, 123.45:6:2)
write(output, 123.45:8)
Resultado: 123.45
Resultado: 1.23e+02
44
Comando de escrita write(ln) com formatação
 ( Arquivo de Saídawrite
 , )Expressão
 : Expressão
 : Expressão
45
Aula 1
Professores:
Dante Corbucci Filho
Alexandre Plastino
Conteúdo apresentado:
- Introdução
- Comandos Básicos
 - Comando de Atribuição
 - Comandos de Leitura
 - read, readln
 - Comandos de Escrita
 - write, writeln
46
Aula 1
Professores:
Dante Corbucci Filho
Alexandre Plastino
Referências Bibliográficas:
[Guim 94] Guimarães & Lages
 Algortimos e Estruturas de Dados
 LTC Editora, 1994
[Koff 94] Koffman, Elliot B.
 Turbo Pascal 7.0
 Addison-Wesley, 1994

Outros materiais