Buscar

Linguagem Estruturada aula2 - Cláudio

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 16 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 16 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 16 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

TT 130 – Algoritmos e
Programac¸a˜o de Computadores I
Prof. Cla´udio Alessandro de Carvalho Silva
cacs@ft.unicamp.br
Aula 02
Linguagem Estruturada
Conteu´do
1 Exerc´ıcio Inicial
2 Dados e Identificadores
3 Estrutura Sequ¨encial
4 Estrutura Sequ¨encial em C
5 Introduc¸a˜o ao Ambiente de Trabalho
6 Hands On
7 Refereˆncias
U¨bersicht
1 Exerc´ıcio Inicial
2 Dados e Identificadores
3 Estrutura Sequ¨encial
4 Estrutura Sequ¨encial em C
5 Introduc¸a˜o ao Ambiente de Trabalho
6 Hands On
7 Refereˆncias
Exerc´ıcio
Elabore um algoritmo que mova os treˆs discos de tamanhos (1, 2, 3)
mostrados na figura para outra das hastes (a, b, c) obedecendo as regras:
1 Pode-se mover apenas um disco de cada vez.
2 Pode-se mover apenas o disco do topo de cada haste.
3 Na˜o se pode colocar um disco maior sobre um disco menor.
U¨bersicht
1 Exerc´ıcio Inicial
2 Dados e Identificadores
3 Estrutura Sequ¨encial
4 Estrutura Sequ¨encial em C
5 Introduc¸a˜o ao Ambiente de Trabalho
6 Hands On
7 Refereˆncias
Dados e Abstrac¸a˜o da Realidade
Para resolver um problema com ou sem computadores e´
necessa´rio uma abstrac¸a˜o da realidade:
 conjunto de dados e operac¸o˜es representando a
situac¸a˜o real.
Conjunto de dados: depende do problema e da
ferramenta.
Na˜o e´ trivial em problemas relevantes e reais.
..
Qualquer que seja o modelo externo, a representac¸a˜o
interna do computador digital e´ bina´ria.
Linguagens de programac¸a˜o: abstrac¸o˜es do
computador.
Situam-se entre o programador e o conjunto
hardware-software que compo˜e um computador real.
Baixo n´ıvel: pro´ximo da representac¸a˜o da ma´quina
Alto n´ıvel: pro´ximo de modelos de reprentac¸a˜o humanos.
Tipos de Dados
Classificar a varia´veis de acordo com suas caracter´ısticas
e´ usual na Matema´tica.
E´ ainda mais importante na computac¸a˜o.
 cada valor, expressa˜o ou func¸a˜o deve ter um tipo.
Em texto matema´tico, o tipo pode ser declarado mas
muitas vezes pode ser deduzido do contexto ou da
notac¸a˜o.
Na maioria das limguagens e´ necessa´rio que o tipo seja
sempre declarado.
Tipos de Dados Primitivos
Cada linguagem possui um conjunto de tipos ba´sicos
pre´-definidos na linguagem.
Em geral e´ poss´ıvel definir tipos de varia´veis de acordo
com o problema a ser resolvido compondo os tipos
ba´sicos.
Os tipos de dados primitivos mais comuns sa˜o:
nume´rico
lo´gico
literal ou caractere
Nume´rico
Inteiros e reais.
O tamanho depende da plataforma/compilador e do
subtipo selecionado na declarac¸a˜o de tipo. Exemplos:
Inteiro de 2 bytes: 28 × 28 = 216 = 65536
possibilidades de inteiros diferentes. Atualmente, 4
ou 8 bytes.
Real de 4 bytes: 28 × 28 × 28 = 232 possibilidades
de reais diferentes. Atualmente, 4, 8 ou 16 bytes.
Lo´gico
Falso ou verdadeiro. 1 byte.
Em C na˜o ha´ um tipo espec´ıfico. Em expresso˜es
booleanas, 0 e´ falso e na˜o-zero e´ verdadeiro.
Literal
Caractere ou cadeia de caracteres. 1 byte por caractere.
Constante
Um dado e´ constante quando na˜o sofre nenhuma variac¸a˜o no
decorrer do tempo, ou seja, seu valor e´ constante desde o
in´ıcio ate´ o fim da execuc¸a˜o do algoritmo, assim como e´
constante para execuc¸o˜es diferentes no tempo.
Varia´vel
Um dado e´ classificado como varia´vel quando ha´ a
possibilidade de ser alterado em algum instante no decorrer do
tempo, durante a execuc¸a˜o ou para execuc¸o˜es diferentes.
Identificadores: Nomes de Constantes e Varia´veis
Devem comec¸ar com uma letra.
Caracteres que pode ser usados: nu´meros, letras e trac¸o
baixo.
Na˜o sa˜o permitidos espac¸os em branco e caracteres
especiais (, $, +, -, %, !).
Na˜o podem ser usadas as palavras reservadas da
linguagem.
Exemplos
Identificadores va´lidos:
Alpha, X, BJ153, K7, notas, media, ABC, INPS.
Caracteres inva´lidos:
5X, E(13), A:B, X-Y, AWQ*, P&AA.
U¨bersicht
1 Exerc´ıcio Inicial
2 Dados e Identificadores
3 Estrutura Sequ¨encial
4 Estrutura Sequ¨encial em C
5 Introduc¸a˜o ao Ambiente de Trabalho
6 Hands On
7 Refereˆncias
Estrutura Sequ¨encial em Algoritmos
1: Algoritmo
2: Declare
3: Bloco de comandos
4: Fim
Declarac¸a˜o de Varia´veis em Algoritmos
1: Declare inteiro x
2: Declare literal y, z
3: Declare lo´gico teste
Atribuic¸a˜o em Algoritmos
1: x← 4
2: x← x+ 2
3: y ← “aula”
4: teste← falso
Comando de Entrada em Algoritmos
1: Leia x
2: Leia y
Comando de Sa´ıda em Algoritmos
1: Escreva x
2: Escreva “Conteu´do de y = ”, y
Exerc´ıcio
Escreva um algoritmo que receba treˆs notas e seus respectivos
pesos, calcule e mostre a me´dia ponderada dessas notas.
Exerc´ıcio
Escreva o algoritmo para as Torres de Hano´i em
pseudo-co´digo.
U¨bersicht
1 Exerc´ıcio Inicial
2 Dados e Identificadores
3 Estrutura Sequ¨encial
4 Estrutura Sequ¨encial em C
5 Introduc¸a˜o ao Ambiente de Trabalho
6 Hands On
7 Refereˆncias
1 #include <nome_da_biblioteca_externa.h>
2
3 int main()/* main () significa "Comece aqui"*/
4 { /* Chaves definem blocos de comandos */
5
6 bloco de comandos; /* Comentarios */
7
8 return( 0 ); /* Retorne zero em execucao correta */
9
10 } /* Chaves definem blocos de comandos */
1 #include <stdio.h> /* Biblioteca externa */
2
3 /* Meu primeiro programa em C */
4
5 int main()
6 {
7 printf("Benvindo ao C!\n"); /* Comando da biblioteca */
8
9 return( 0 );
10 }
Declarac¸a˜o de Varia´veis em C
1 int x;
2 float num;
3 char y;
4 char z[30];
5 unsigned int teste;
Atribuic¸a˜o em C
1 x = 4 ;
2 x = x + 2;
3 num = 2.5;
4 y = ’M’;
5 strcpy( z, "Joao"); /* Biblioteca string.h */
6 teste = 0;
Comando de Entrada em C
1 scanf( &x );
Comando de Sa´ıda em C
1 printf( "%d", x );
2 printf( "\tConteu´do de y = %c\n", y );
3 printf( "%f", num );
U¨bersicht
1 Exerc´ıcio Inicial
2 Dados e Identificadores
3 Estrutura Sequ¨encial
4 Estrutura Sequ¨encial em C
5 Introduc¸a˜o ao Ambiente de Trabalho
6 Hands On
7 Refereˆncias
Ambiente de Trabalho Ba´sico
Gnu/Linux
Editor de texto
GCC
Uso do GCC
Compilar:
$ gcc -c programa.c
Linkar:
$ gcc -o programa programa.o
Executar:
$ ./programa
U¨bersicht
1 Exerc´ıcio Inicial
2 Dados e Identificadores
3 Estrutura Sequ¨encial
4 Estrutura Sequ¨encial em C
5 Introduc¸a˜o ao Ambiente de Trabalho
6 Hands On
7 Refereˆncias
Exerc´ıcios
Em todos os exerc´ıcios, fac¸a o algoritmo em fluxograma ou pseudoco´digo e depois
implemente em C.
1 Fac¸a o programa “Benvindo ao C” para testar o ambiente.
2 Fac¸a um programa que implemente o algoritmo que receba treˆs notas e seus
respectivos pesos, calcule e mostre a me´dia ponderada dessas notas.
3 Fac¸a um programa que calcule e mostre a a´rea de um c´ırculo.
4 Fac¸a um programa que receba um nu´mero positivo maior que zero, calcule e
mostre:
O nu´mero digitado ao quadrado.
O nu´mero digitado ao cubo.
A raiz quadrada do nu´mero digitado.
A raiz cu´bica do nu´mero digitado.
5 Fac¸a um programa que receba o ano de nascimento de uma pessoa e o ano
atual e mostre a idade da pessoa e sua idade em 2027.
6 Fac¸a um programa que receba um nu´mero real, calcule e mostre:
A parte inteira.
A parte decimal.
O arredondamento.
U¨bersicht
1 Exerc´ıcio Inicial
2 Dados e Identificadores
3 Estrutura Sequ¨encial
4 Estrutura Sequ¨encial em C
5 Introduc¸a˜o ao Ambiente de Trabalho
6 Hands On
7 Refereˆncias
Refereˆncias
ASCENCIO, A. F. G., CAMPOS, E. A. V., Fundamentos da
Programac¸a˜o de Computadores – Algoritmos, Pascal e C/C++,
Pearson Prentice Hall, 2003. Cap. 2.
DEITEL, H. M., DEITEL, P. J., Como Programar em C. Rio de
Janeiro: LTC, 1999. Cap. 2.
	Exercício Inicial
	Dados e IdentificadoresEstrutura Seqüencial
	Estrutura Seqüencial em C
	Introdução ao Ambiente de Trabalho
	Hands On
	Referências

Outros materiais