met comp´ compiladores c metodos computacionais …helder/metcomp/2017-1/aula2/aula2.pdf ·...
TRANSCRIPT
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Metodos Computacionais em Fısica
Jose Helder Lopes e Sandra Amato
Instituto de FısicaUniversidade Federal do Rio de Janeiro
Primeiro Semestre de 2017
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
O que e um Programa
Ü Um programa e a transcricao de um algoritmo parauma serie de instrucoes que podem ser executadaspor um computador.
Ü E preciso criar um modo de transcrever comandoscompreensıveis para humanos
programa fonteem comandos executaveis por uma CPU
programa executavelIsso depende da CPU e de um codigo pre-definido(linguagem).
8 O transcritor e chamado de compilador.8 A linguagem de programacao usada na disciplina
sera o C.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
O que e um Programa
Ü Um programa e a transcricao de um algoritmo parauma serie de instrucoes que podem ser executadaspor um computador.
Ü E preciso criar um modo de transcrever comandoscompreensıveis para humanos
programa fonteem comandos executaveis por uma CPU
programa executavelIsso depende da CPU e de um codigo pre-definido(linguagem).
8 O transcritor e chamado de compilador.8 A linguagem de programacao usada na disciplina
sera o C.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
O que e um Programa
Ü Um programa e a transcricao de um algoritmo parauma serie de instrucoes que podem ser executadaspor um computador.
Ü E preciso criar um modo de transcrever comandoscompreensıveis para humanos
programa fonteem comandos executaveis por uma CPU
programa executavelIsso depende da CPU e de um codigo pre-definido(linguagem).
8 O transcritor e chamado de compilador.
8 A linguagem de programacao usada na disciplinasera o C.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
O que e um Programa
Ü Um programa e a transcricao de um algoritmo parauma serie de instrucoes que podem ser executadaspor um computador.
Ü E preciso criar um modo de transcrever comandoscompreensıveis para humanos
programa fonteem comandos executaveis por uma CPU
programa executavelIsso depende da CPU e de um codigo pre-definido(linguagem).
8 O transcritor e chamado de compilador.8 A linguagem de programacao usada na disciplina
sera o C.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Criando um programa executavel
8 O programa fonte e escrito em ascii.Ü Letras (maiusculas 6= minusculas)Ü Algarismos 0-9Ü Sımbolos: "#$%&’()*+,-. / : ;<=>?@[\]ˆ_‘ {|} !
8 O nome do arquivo que contem o codigo fonte tera aextensao *.c
8 Um arquivo executavel e criado quando compilamos oprograma usando o comando:gcc programa.c -o programa(Nesse processo ocorrem 3 etapas: pre-processamento,compilacao e linkagem com bibliotecas)
8 Para executar o programa, usamos o comando:./programa
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Linguagem C - Visao geral
Ü A linguagem C foi inicialmente desenvolvida por DennisRitchie, dos Laboratorios Bell, entre 1969 e 1973.
Ü Fornece uma eficiente relacao com instrucoes tıpicasde linguagem de maquina ou linguagens de baixonıvel, como o assembly.
Ü Foi logo utilizada para codificar inumeros aplicativos,desde sistema operacionais ate software parasupercomputadores. E portavel e eficiente.
Ü A origem do C esta interligada com a do sistemaoperacional UNIX, posteriormente re-escrito em C.
Ü Muitas outras linguagens herdaram caracterısticas doC: C++, Java, LPC, C#, Objective-C, Perl, PHP, Python,a Unix’s C shell, . . . .
Ü C e uma linguagem de proposito generico. E a maislargamente utilizada de todos os tempos.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
O Primeiro Programa em C
8 Escolha um editor detexto (vi, gedit ...) paracriar um arquivo: *.c
8 O programa principaldeve ficar entre {}
8 Inclua biblioteca padraode entrada e saıda (I/O)
8 Inclua os comandos8 printf→ funcao que
imprime texto8 \n e notacao de nova
linha
gedit primeiroPrograma.c &
#include <stdio.h>int main( ){
printf(”Funciona!\n”);return 0;
}
8 A execucao da funcao termina ao encontrar o return
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
O Primeiro Programa em C
8 Escolha um editor detexto (vi, gedit ...) paracriar um arquivo: *.c
8 O programa principal(main) deve ficar entre {}
8 Inclua biblioteca padraode entrada e saıda (I/O)
8 Inclua os comandos8 printf→ funcao que
imprime texto8 \n e notacao de nova
linha
#include <stdio.h>
int main( ){
printf(”Funciona!\n”);return 0;
}
8 A execucao da funcao termina ao encontrar o return
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
O Primeiro Programa em C
8 Escolha um editor detexto (vi, gedit ...) paracriar um arquivo: *.c
8 O programa principaldeve ficar entre {}
8 Inclua biblioteca padrao(standard) de entrada esaıda (I/O)
8 Inclua os comandos8 printf→ funcao que
imprime texto8 \n e notacao de nova
linha
#include <stdio.h>int main( ){
printf(”Funciona!\n”);return 0;
}
8 A execucao da funcao termina ao encontrar o return
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
O Primeiro Programa em C
8 Escolha um editor detexto (vi, gedit ...) paracriar um arquivo: *.c
8 O programa principaldeve ficar entre {}
8 Inclua biblioteca padraode entrada e saıda (I/O)
8 Inclua os comandos
8 printf→ funcao queimprime texto
8 \n e notacao de novalinha
#include <stdio.h>int main( ){
printf(”Funciona!\n”);
return 0;
}
8 A execucao da funcao termina ao encontrar o return
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
O Primeiro Programa em C
8 Escolha um editor detexto (vi, gedit ...) paracriar um arquivo: *.c
8 O programa principaldeve ficar entre {}
8 Inclua biblioteca padraode entrada e saıda (I/O)
8 Inclua os comandos8 Note o ;
8 printf→ funcao queimprime texto
8 \n e notacao de novalinha
#include <stdio.h>int main( ){
printf(”Funciona!\n”);return 0;
}
8 A execucao da funcao termina ao encontrar o return
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
O Primeiro Programa em C
8 Escolha um editor detexto (vi, gedit ...) paracriar um arquivo: *.c
8 O programa principaldeve ficar entre {}
8 Inclua biblioteca padraode entrada e saıda (I/O)
8 Inclua os comandos8 printf→ funcao que
imprime texto
8 \n e notacao de novalinha
#include <stdio.h>int main( ){
printf(”Funciona!\n”);return 0;
}
8 A execucao da funcao termina ao encontrar o return
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
O Primeiro Programa em C
8 Escolha um editor detexto (vi, gedit ...) paracriar um arquivo: *.c
8 O programa principaldeve ficar entre {}
8 Inclua biblioteca padraode entrada e saıda (I/O)
8 Inclua os comandos8 printf→ funcao que
imprime texto8 \n e notacao de nova
linha
#include <stdio.h>int main( ){
printf(”Funciona!\n”);return 0;
}
8 A execucao da funcao termina ao encontrar o return
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
O Primeiro Programa em C
8 Escolha um editor detexto (vi, gedit ...) paracriar um arquivo: *.c
8 O programa principaldeve ficar entre {}
8 Inclua biblioteca padraode entrada e saıda (I/O)
8 Inclua os comandos8 printf→ funcao que
imprime texto8 \n e notacao de nova
linha
#include <stdio.h>int main( ){
printf(”Funciona!\n”);return 0;
}
8 A execucao da funcao termina ao encontrar o return
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
8 Um programa em C se organiza em funcoes.8 Temos uma funcao especial: main(). Todo programa
em C deve ter uma e somente uma funcao main(), oprograma comeca a ser executado no inıcio dela.
8 As expressoes que compoem uma funcao saoenvolvidas por {}
8 Usualmente a funcao main() chamara outras funcoes.Neste exemplo temos apenas uma: printf
8 Um metodo de comunicacao entre funcoes e passaruma lista de valores, chamados argumentos e que saocolocados entre parentesis. Neste exemplo a funcaomain() nao tem argumentos e a funcao printf recebecomo argumento o que se deseja imprimir na tela.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Exercıcio 1
Escreva e rode um programa usando o comando printf.
Experimente alguns dos seguintes caracteres de escape nolugar do \n:\t: horizontal tab, \v: vertical tab, \b: backspace,\r: carriage return, \f: formfeed, \a: bell, \\ : backslash,\?: question mark , \’: single quote, \” : double quote.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Valores literais em C
Como devemos escrever os dados num programa em C ?Ü Inteiros de precisao simples: 3, 540, ...Ü Inteiros de precisao dupla: 120l, 15L ( l ou L→ long)Ü Reais no formato decimal: 10.3, 102.5761, ...
O ponto decimal e obrigatorio.Ü Reais no formato exponencial: 1.e-3, 13E-5, 1.7e-6, ...
O ponto decimal nao e obrigatorioÜ Reais de precisao dupla: 14.6L, 1.8025e-2L, ...Ü Caracteres: A letra entre “plics”: ’a’, ’G’, ’9’, ’\n’, ’\t’, ...Ü Sequencia de caracteres ou String: Caracteres entre
aspas: “Bom dia”, “Tudo\tbem?\n”, ...
Outros (pesquise): 13u, 57ul, 036, 0x25dF, ’\u03C0’, ...
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Valores literais em C
Como devemos escrever os dados num programa em C ?Ü Inteiros de precisao simples: 3, 540, ...Ü Inteiros de precisao dupla: 120l, 15L ( l ou L→ long)Ü Reais no formato decimal: 10.3, 102.5761, ...
O ponto decimal e obrigatorio.Ü Reais no formato exponencial: 1.e-3, 13E-5, 1.7e-6, ...
O ponto decimal nao e obrigatorioÜ Reais de precisao dupla: 14.6L, 1.8025e-2L, ...Ü Caracteres: A letra entre “plics”: ’a’, ’G’, ’9’, ’\n’, ’\t’, ...Ü Sequencia de caracteres ou String: Caracteres entre
aspas: “Bom dia”, “Tudo\tbem?\n”, ...Outros (pesquise): 13u, 57ul, 036, 0x25dF, ’\u03C0’, ...
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Valores literais em C
Observacoes:’a’ e diferente de ”a”1 e diferente de ’1’ ou ”1”e de 1.0E muito melhor escrever 1e-6 do que 0.000001 ...
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Identificadores em C
Ü Na linguagem C usamos nomes arbitrarios para designarvariaveis, constantes e funcoes, chamados deidentificadores.Nenhum identificador e reconhecido pelo programa antes deser declarado.
Ü No inıcio de cada bloco de codigo sao feitas as declaracoesde variaveis e constantes, onde definimos seus nomes etipos. Precisamos especificar o tipo de todas as variaveis.
Ü Os nomes dos identificadores devem refletir seusignificado!
Ü Na escolha dos identificadores as letras minusculas saodiferenciadas das maiusculas, os nomes podem conterletras e numeros, mas devem iniciar por uma letra.
Ü O uso de letras minusculas e uma tradicao em C. Paranomes compostos sugere-se usar o “ ” (sublinhado) ouletras maiusculas como separador.Ex.: velocidade media ou velocidadeMedia
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis em C
Ü Todas os identificadores usados em umprograma devem ser declarados
Ü Exemplos de declaracao de variaveis:int certos, errados;long contador;float sigma;double massa, velocidade;
Outros tipos: short, unsigned int, char, ...
Ü Exemplos de declaracao de variaveiscom inicializacao:char letra = ’c’;double aceleracao = 1.2e+2;
Ü Exemplos de declaracao de constantes:const double pi=3.141592654;const int N=3;
Escolha bemos nomes dassuas variaveis
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis em C
Ü Todas os identificadores usados em umprograma devem ser declarados
Ü Exemplos de declaracao de variaveis:int certos, errados;long contador;float sigma;double massa, velocidade;
Outros tipos: short, unsigned int, char, ...
Ü Exemplos de declaracao de variaveiscom inicializacao:char letra = ’c’;double aceleracao = 1.2e+2;
Ü Exemplos de declaracao de constantes:const double pi=3.141592654;const int N=3;
Escolha bemos nomes dassuas variaveis
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis em C
Ü Todas os identificadores usados em umprograma devem ser declarados
Ü Exemplos de declaracao de variaveis:int certos, errados;long contador;float sigma;double massa, velocidade;
Outros tipos: short, unsigned int, char, ...
Ü Exemplos de declaracao de variaveiscom inicializacao:char letra = ’c’;double aceleracao = 1.2e+2;
Ü Exemplos de declaracao de constantes:const double pi=3.141592654;const int N=3;
Escolha bemos nomes dassuas variaveis
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis em C
Ü Todas os identificadores usados em umprograma devem ser declarados
Ü Exemplos de declaracao de variaveis:int certos, errados;long contador;float sigma;double massa, velocidade;
Outros tipos: short, unsigned int, char, ...
Ü Exemplos de declaracao de variaveiscom inicializacao:char letra = ’c’;double aceleracao = 1.2e+2;
Ü Exemplos de declaracao de constantes:const double pi=3.141592654;const int N=3;
Escolha bemos nomes dassuas variaveis
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis em C
Ü Todas os identificadores usados em umprograma devem ser declarados
Ü Exemplos de declaracao de variaveis:int certos, errados;long contador;float sigma;double massa, velocidade;
Outros tipos: short, unsigned int, char, ...
Ü Exemplos de declaracao de variaveiscom inicializacao:char letra = ’c’;double aceleracao = 1.2e+2;
Ü Exemplos de declaracao de constantes:const double pi=3.141592654;const int N=3;
Escolha bemos nomes dassuas variaveis
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Essas expressoes tem o efeito de solicitar que sejamreservados espacos de memoria com o tamanho eestrutura especıficos de cada tipo de dado, eassocia-los aos nomes que escolhemos.
O valor inicial das variaveis em geral e algum lixo,essencialmente o conteudo que ja existia naquela posicaode memoria.
Ü Atribuicao de um valor a uma variavel (ja declaradaanteriormente):errados = 0;velocidade = 10.34;k = 3;forca = k*x;
Ü Cuidado! Uma variavel esta associada a uma regiao damemoria. Se voce nao definir um valor inicial adequado, oprograma usa o valor que ja existia nessa posicao
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Essas expressoes tem o efeito de solicitar que sejamreservados espacos de memoria com o tamanho eestrutura especıficos de cada tipo de dado, eassocia-los aos nomes que escolhemos.
O valor inicial das variaveis em geral e algum lixo,essencialmente o conteudo que ja existia naquela posicaode memoria.
Ü Atribuicao de um valor a uma variavel (ja declaradaanteriormente):errados = 0;velocidade = 10.34;k = 3;forca = k*x;
Ü Cuidado! Uma variavel esta associada a uma regiao damemoria. Se voce nao definir um valor inicial adequado, oprograma usa o valor que ja existia nessa posicao
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis em C
Ü Para imprimir uma variavel:printf(”resposta = %d \n”, errados);
printf(”item: %d valor: %f \n”, i, val);
Especificacoes de formato:%d: inteiro,%f: float, notacao decimal%g: float,notacao decimal ou cientıfica,%c: caracter.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis em C
Ü Para imprimir uma variavel:printf(”resposta = %d \n”, errados);printf(”item: %d valor: %f \n”, i, val);
Especificacoes de formato:%d: inteiro,%f: float, notacao decimal%g: float,notacao decimal ou cientıfica,%c: caracter.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis em C
Ü Para imprimir uma variavel:printf(”resposta = %d \n”, errados);printf(”item: %d valor: %f \n”, i, val);
Especificacoes de formato:%d: inteiro,%f: float, notacao decimal%g: float,notacao decimal ou cientıfica,%c: caracter.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis em C
Ü Para imprimir uma variavel:printf(”resposta = %d \n”, errados);printf(”item: %d valor: %f \n”, i, val);
Especificacoes de formato:%d: inteiro,%f: float, notacao decimal%g: float,notacao decimal ou cientıfica,%c: caracter.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Exercıcio 2
Escreva um programa que imprima varios tipos de variaveisantes e apos o valor ser atribuıdo
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis e Memoria
Ü O tamanho da area de memoria reservada para cadatipo de variavel pode ser obtido atraves do operadorsizeof
Ü O comando abaixo imprime a area reservada paravariaveis do tipo int.
printf(”um inteiro tem %d bytes\n”,sizeof(int));Ü Baixe os programas sizes.c e limits.c da pagina do
curso. Veja o conteudo, compile, rode cada um.Observe o resultado.
Ü Recomendamos o uso de tipo double para variaveisreais
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis e Memoria
Ü O tamanho da area de memoria reservada para cadatipo de variavel pode ser obtido atraves do operadorsizeof
Ü O comando abaixo imprime a area reservada paravariaveis do tipo int.
printf(”um inteiro tem %d bytes\n”,sizeof(int));
Ü Baixe os programas sizes.c e limits.c da pagina docurso. Veja o conteudo, compile, rode cada um.Observe o resultado.
Ü Recomendamos o uso de tipo double para variaveisreais
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis e Memoria
Ü O tamanho da area de memoria reservada para cadatipo de variavel pode ser obtido atraves do operadorsizeof
Ü O comando abaixo imprime a area reservada paravariaveis do tipo int.
printf(”um inteiro tem %d bytes\n”,sizeof(int));Ü Baixe os programas sizes.c e limits.c da pagina do
curso. Veja o conteudo, compile, rode cada um.Observe o resultado.
Ü Recomendamos o uso de tipo double para variaveisreais
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Variaveis e Memoria
Ü O tamanho da area de memoria reservada para cadatipo de variavel pode ser obtido atraves do operadorsizeof
Ü O comando abaixo imprime a area reservada paravariaveis do tipo int.
printf(”um inteiro tem %d bytes\n”,sizeof(int));Ü Baixe os programas sizes.c e limits.c da pagina do
curso. Veja o conteudo, compile, rode cada um.Observe o resultado.
Ü Recomendamos o uso de tipo double para variaveisreais
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Exemplo
Programa sizes.c
#include <stdio.h>int main(){printf("um caracter tem %d bytes\n",sizeof(char));printf("um inteiro tem %d bytes\n",sizeof(int));printf("um inteiro curto tem %d bytes\n",sizeof(short));printf("um inteiro longo tem %d bytes\n",sizeof(long));printf("um real tem %d bytes\n",sizeof(float));printf("um real duplo tem %d bytes\n",sizeof(double));return 0;
}
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes Aritmeticas Simples
Os operadores aritmeticos binarios sao +, -, *, / e %.
Exemplo de operacao
double x, a; Ü Memoria e alocada para x e aa = 2.0; Ü O valor 2.0 e atribuıdo a ax = 10.5; Ü O valor 10.5 e atribuıdo a xx = a*x; Ü O produto (21.0) e atribuıdo a x
Exemplo com inteiros
int i=3, j=2, k;k = i/j; Ü k passa a valer 1 e nao 1.5k = j/i; Ü k passa a valer 0 e nao 0.66...
% e o operador modulo ou resto: calcula o resto da divisaodo primeiro operando pelo segundo. Os operandos devemser inteiros: 3%2 = 1, 4%2 = 0
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes Aritmeticas Simples
Os operadores aritmeticos binarios sao +, -, *, / e %.
Exemplo de operacaodouble x, a; Ü Memoria e alocada para x e a
a = 2.0; Ü O valor 2.0 e atribuıdo a ax = 10.5; Ü O valor 10.5 e atribuıdo a xx = a*x; Ü O produto (21.0) e atribuıdo a x
Exemplo com inteiros
int i=3, j=2, k;k = i/j; Ü k passa a valer 1 e nao 1.5k = j/i; Ü k passa a valer 0 e nao 0.66...
% e o operador modulo ou resto: calcula o resto da divisaodo primeiro operando pelo segundo. Os operandos devemser inteiros: 3%2 = 1, 4%2 = 0
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes Aritmeticas Simples
Os operadores aritmeticos binarios sao +, -, *, / e %.
Exemplo de operacaodouble x, a; Ü Memoria e alocada para x e aa = 2.0; Ü O valor 2.0 e atribuıdo a ax = 10.5; Ü O valor 10.5 e atribuıdo a x
x = a*x; Ü O produto (21.0) e atribuıdo a x
Exemplo com inteiros
int i=3, j=2, k;k = i/j; Ü k passa a valer 1 e nao 1.5k = j/i; Ü k passa a valer 0 e nao 0.66...
% e o operador modulo ou resto: calcula o resto da divisaodo primeiro operando pelo segundo. Os operandos devemser inteiros: 3%2 = 1, 4%2 = 0
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes Aritmeticas Simples
Os operadores aritmeticos binarios sao +, -, *, / e %.
Exemplo de operacaodouble x, a; Ü Memoria e alocada para x e aa = 2.0; Ü O valor 2.0 e atribuıdo a ax = 10.5; Ü O valor 10.5 e atribuıdo a xx = a*x; Ü O produto (21.0) e atribuıdo a x
Exemplo com inteiros
int i=3, j=2, k;k = i/j; Ü k passa a valer 1 e nao 1.5k = j/i; Ü k passa a valer 0 e nao 0.66...
% e o operador modulo ou resto: calcula o resto da divisaodo primeiro operando pelo segundo. Os operandos devemser inteiros: 3%2 = 1, 4%2 = 0
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes Aritmeticas Simples
Os operadores aritmeticos binarios sao +, -, *, / e %.
Exemplo de operacaodouble x, a; Ü Memoria e alocada para x e aa = 2.0; Ü O valor 2.0 e atribuıdo a ax = 10.5; Ü O valor 10.5 e atribuıdo a xx = a*x; Ü O produto (21.0) e atribuıdo a x
Exemplo com inteirosint i=3, j=2, k;
k = i/j; Ü k passa a valer 1 e nao 1.5k = j/i; Ü k passa a valer 0 e nao 0.66...
% e o operador modulo ou resto: calcula o resto da divisaodo primeiro operando pelo segundo. Os operandos devemser inteiros: 3%2 = 1, 4%2 = 0
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes Aritmeticas Simples
Os operadores aritmeticos binarios sao +, -, *, / e %.
Exemplo de operacaodouble x, a; Ü Memoria e alocada para x e aa = 2.0; Ü O valor 2.0 e atribuıdo a ax = 10.5; Ü O valor 10.5 e atribuıdo a xx = a*x; Ü O produto (21.0) e atribuıdo a x
Exemplo com inteirosint i=3, j=2, k;k = i/j;
Ü k passa a valer 1 e nao 1.5k = j/i; Ü k passa a valer 0 e nao 0.66...
% e o operador modulo ou resto: calcula o resto da divisaodo primeiro operando pelo segundo. Os operandos devemser inteiros: 3%2 = 1, 4%2 = 0
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes Aritmeticas Simples
Os operadores aritmeticos binarios sao +, -, *, / e %.
Exemplo de operacaodouble x, a; Ü Memoria e alocada para x e aa = 2.0; Ü O valor 2.0 e atribuıdo a ax = 10.5; Ü O valor 10.5 e atribuıdo a xx = a*x; Ü O produto (21.0) e atribuıdo a x
Exemplo com inteirosint i=3, j=2, k;k = i/j; Ü k passa a valer 1 e nao 1.5
k = j/i; Ü k passa a valer 0 e nao 0.66...
% e o operador modulo ou resto: calcula o resto da divisaodo primeiro operando pelo segundo. Os operandos devemser inteiros: 3%2 = 1, 4%2 = 0
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes Aritmeticas Simples
Os operadores aritmeticos binarios sao +, -, *, / e %.
Exemplo de operacaodouble x, a; Ü Memoria e alocada para x e aa = 2.0; Ü O valor 2.0 e atribuıdo a ax = 10.5; Ü O valor 10.5 e atribuıdo a xx = a*x; Ü O produto (21.0) e atribuıdo a x
Exemplo com inteirosint i=3, j=2, k;k = i/j; Ü k passa a valer 1 e nao 1.5k = j/i;
Ü k passa a valer 0 e nao 0.66...
% e o operador modulo ou resto: calcula o resto da divisaodo primeiro operando pelo segundo. Os operandos devemser inteiros: 3%2 = 1, 4%2 = 0
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes Aritmeticas Simples
Os operadores aritmeticos binarios sao +, -, *, / e %.
Exemplo de operacaodouble x, a; Ü Memoria e alocada para x e aa = 2.0; Ü O valor 2.0 e atribuıdo a ax = 10.5; Ü O valor 10.5 e atribuıdo a xx = a*x; Ü O produto (21.0) e atribuıdo a x
Exemplo com inteirosint i=3, j=2, k;k = i/j; Ü k passa a valer 1 e nao 1.5k = j/i; Ü k passa a valer 0 e nao 0.66...
% e o operador modulo ou resto: calcula o resto da divisaodo primeiro operando pelo segundo. Os operandos devemser inteiros: 3%2 = 1, 4%2 = 0
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes Aritmeticas Simples
Os operadores aritmeticos binarios sao +, -, *, / e %.
Exemplo de operacaodouble x, a; Ü Memoria e alocada para x e aa = 2.0; Ü O valor 2.0 e atribuıdo a ax = 10.5; Ü O valor 10.5 e atribuıdo a xx = a*x; Ü O produto (21.0) e atribuıdo a x
Exemplo com inteirosint i=3, j=2, k;k = i/j; Ü k passa a valer 1 e nao 1.5k = j/i; Ü k passa a valer 0 e nao 0.66...
% e o operador modulo ou resto: calcula o resto da divisaodo primeiro operando pelo segundo. Os operandos devemser inteiros: 3%2 = 1, 4%2 = 0
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Precedencia
Ü Numa expressao composta de varias operacoesaritmeticas, a ordem com que elas sao executadasdepende da precedencia dos operadores.
Ü *, / e % tem a mesma precedencia, e temprecedencia sobre as operacoes + e−.
Ü No caso de operacoes com mesma precedencia, aexecucao e feita da esquerda para a direita.
double x,y;x = 1.0;
y = 1./x+1.0;
A operacao 1./x serarealizada primeiro, e o valorde y sera
2.0
Para executar a divisao porx + 1.0 e preciso usar ().O valor de y sera 0.5
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Precedencia
Ü Numa expressao composta de varias operacoesaritmeticas, a ordem com que elas sao executadasdepende da precedencia dos operadores.
Ü *, / e % tem a mesma precedencia, e temprecedencia sobre as operacoes + e−.
Ü No caso de operacoes com mesma precedencia, aexecucao e feita da esquerda para a direita.
double x,y;x = 1.0;
y = 1./x+1.0;
A operacao 1./x serarealizada primeiro, e o valorde y sera
2.0
Para executar a divisao porx + 1.0 e preciso usar ().O valor de y sera 0.5
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Precedencia
Ü Numa expressao composta de varias operacoesaritmeticas, a ordem com que elas sao executadasdepende da precedencia dos operadores.
Ü *, / e % tem a mesma precedencia, e temprecedencia sobre as operacoes + e−.
Ü No caso de operacoes com mesma precedencia, aexecucao e feita da esquerda para a direita.
double x,y;x = 1.0;
y = 1./x+1.0;
A operacao 1./x serarealizada primeiro, e o valorde y sera 2.0
Para executar a divisao porx + 1.0 e preciso usar ().O valor de y sera 0.5
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Precedencia
Ü Numa expressao composta de varias operacoesaritmeticas, a ordem com que elas sao executadasdepende da precedencia dos operadores.
Ü *, / e % tem a mesma precedencia, e temprecedencia sobre as operacoes + e−.
Ü No caso de operacoes com mesma precedencia, aexecucao e feita da esquerda para a direita.
double x,y;x = 1.0;
y = 1./(x+1.0);
A operacao 1./x serarealizada primeiro, e o valorde y sera 2.0
Para executar a divisao porx + 1.0 e preciso usar ().O valor de y sera
0.5
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Precedencia
Ü Numa expressao composta de varias operacoesaritmeticas, a ordem com que elas sao executadasdepende da precedencia dos operadores.
Ü *, / e % tem a mesma precedencia, e temprecedencia sobre as operacoes + e−.
Ü No caso de operacoes com mesma precedencia, aexecucao e feita da esquerda para a direita.
double x,y;x = 1.0;
y = 1./(x+1.0);
A operacao 1./x serarealizada primeiro, e o valorde y sera 2.0
Para executar a divisao porx + 1.0 e preciso usar ().O valor de y sera 0.5
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes entre Variaveis de TiposDistintos
6 Um operador atua entre operandos de tipos distintosÜ o operando de tipo mais restrito sera promovido aotipo menos restrito.
6 Cuidado quando o resultado e atribuıdo a uma variavelde tipo mais restrita!
double x,y,z,w;int a,b;x = 2.0;a = 1;
y = a/x; y vale 0.5b = a/x; b vale 0w = a/2; w vale 0.z = 1/2; z vale 0.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes entre Variaveis de TiposDistintos
6 Um operador atua entre operandos de tipos distintosÜ o operando de tipo mais restrito sera promovido aotipo menos restrito.
6 Cuidado quando o resultado e atribuıdo a uma variavelde tipo mais restrita!
double x,y,z,w;int a,b;x = 2.0;a = 1;
y = a/x; y vale 0.5b = a/x; b vale 0w = a/2; w vale 0.z = 1/2; z vale 0.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes entre Variaveis de TiposDistintos
6 Um operador atua entre operandos de tipos distintosÜ o operando de tipo mais restrito sera promovido aotipo menos restrito.
6 Cuidado quando o resultado e atribuıdo a uma variavelde tipo mais restrita!
double x,y,z,w;int a,b;x = 2.0;a = 1;
y = a/x; y vale 0.5b = a/x; b vale 0w = a/2; w vale 0.z = 1/2; z vale 0.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes entre Variaveis de TiposDistintos
6 Um operador atua entre operandos de tipos distintosÜ o operando de tipo mais restrito sera promovido aotipo menos restrito.
6 Cuidado quando o resultado e atribuıdo a uma variavelde tipo mais restrita!
double x,y,z,w;int a,b;x = 2.0;a = 1;y = a/x;
y vale 0.5b = a/x; b vale 0w = a/2; w vale 0.z = 1/2; z vale 0.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes entre Variaveis de TiposDistintos
6 Um operador atua entre operandos de tipos distintosÜ o operando de tipo mais restrito sera promovido aotipo menos restrito.
6 Cuidado quando o resultado e atribuıdo a uma variavelde tipo mais restrita!
double x,y,z,w;int a,b;x = 2.0;a = 1;y = a/x; y vale 0.5
b = a/x; b vale 0w = a/2; w vale 0.z = 1/2; z vale 0.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes entre Variaveis de TiposDistintos
6 Um operador atua entre operandos de tipos distintosÜ o operando de tipo mais restrito sera promovido aotipo menos restrito.
6 Cuidado quando o resultado e atribuıdo a uma variavelde tipo mais restrita!
double x,y,z,w;int a,b;x = 2.0;a = 1;y = a/x; y vale 0.5b = a/x;
b vale 0w = a/2; w vale 0.z = 1/2; z vale 0.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes entre Variaveis de TiposDistintos
6 Um operador atua entre operandos de tipos distintosÜ o operando de tipo mais restrito sera promovido aotipo menos restrito.
6 Cuidado quando o resultado e atribuıdo a uma variavelde tipo mais restrita!
double x,y,z,w;int a,b;x = 2.0;a = 1;y = a/x; y vale 0.5b = a/x; b vale 0
w = a/2; w vale 0.z = 1/2; z vale 0.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes entre Variaveis de TiposDistintos
6 Um operador atua entre operandos de tipos distintosÜ o operando de tipo mais restrito sera promovido aotipo menos restrito.
6 Cuidado quando o resultado e atribuıdo a uma variavelde tipo mais restrita!
double x,y,z,w;int a,b;x = 2.0;a = 1;y = a/x; y vale 0.5b = a/x; b vale 0w = a/2;
w vale 0.z = 1/2; z vale 0.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes entre Variaveis de TiposDistintos
6 Um operador atua entre operandos de tipos distintosÜ o operando de tipo mais restrito sera promovido aotipo menos restrito.
6 Cuidado quando o resultado e atribuıdo a uma variavelde tipo mais restrita!
double x,y,z,w;int a,b;x = 2.0;a = 1;y = a/x; y vale 0.5b = a/x; b vale 0w = a/2; w vale 0.
z = 1/2; z vale 0.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes entre Variaveis de TiposDistintos
6 Um operador atua entre operandos de tipos distintosÜ o operando de tipo mais restrito sera promovido aotipo menos restrito.
6 Cuidado quando o resultado e atribuıdo a uma variavelde tipo mais restrita!
double x,y,z,w;int a,b;x = 2.0;a = 1;y = a/x; y vale 0.5b = a/x; b vale 0w = a/2; w vale 0.z = 1/2;
z vale 0.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operacoes entre Variaveis de TiposDistintos
6 Um operador atua entre operandos de tipos distintosÜ o operando de tipo mais restrito sera promovido aotipo menos restrito.
6 Cuidado quando o resultado e atribuıdo a uma variavelde tipo mais restrita!
double x,y,z,w;int a,b;x = 2.0;a = 1;y = a/x; y vale 0.5b = a/x; b vale 0w = a/2; w vale 0.z = 1/2; z vale 0.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Operador cast
A operacao cast forca explicitamente a conversao:(tipo) expressao
double f = 102.32;int i;i = (int) f;
Sera atribuıdo a variavel i a parte inteira de f
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Exercıcio
Baixe o programa intfloat.c. Veja o seu conteudoAnote o que voce acha que sera impressoCompile, execute e verifique o resultado
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Organizacao de um Programa
6 Escolha um nome quefacilite a identificacaodo programa
6 Comente o programausando // ou /*seguido de */
prog.c
media.c/*Programa para calcularmedia ponderadaAutor: */
å E muito importante que o programa fonte seja bemcomentado, tanto para voce quanto para quem vai le-lo!
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Organizacao de um Programa
6 Escolha um nome quefacilite a identificacaodo programa
6 Comente o programausando // ou /*seguido de */
prog.c——— media.c
/*Programa para calcularmedia ponderadaAutor: */
å E muito importante que o programa fonte seja bemcomentado, tanto para voce quanto para quem vai le-lo!
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Organizacao de um Programa
6 Escolha um nome quefacilite a identificacaodo programa
6 Comente o programausando // ou
/*seguido de */
media.c// Programa para calcular// media ponderada// Autor:
/*Programa para calcularmedia ponderadaAutor: */
å E muito importante que o programa fonte seja bemcomentado, tanto para voce quanto para quem vai le-lo!
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Organizacao de um Programa
6 Escolha um nome quefacilite a identificacaodo programa
6 Comente o programausando // ou /*seguido de */
media.c/*Programa para calcularmedia ponderadaAutor: */
å E muito importante que o programa fonte seja bemcomentado, tanto para voce quanto para quem vai le-lo!
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Organizacao de um Programa
6 Escolha um nome quefacilite a identificacaodo programa
6 Comente o programausando // ou /*seguido de */
media.c/*Programa para calcularmedia ponderadaAutor: */
å E muito importante que o programa fonte seja bemcomentado, tanto para voce quanto para quem vai le-lo!
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Exemplo de Programa
Calculo da media ponderada entre dois numeros
¬ headers organise aslinhas® comentarios¯ identacao° Todas asdeclaracoesantes doprimeirocomandoexecutavel
/* Calculo da media ponderadaData: 09/04/2017 */
# include <stdio.h>
int main( ){int peso1 = 1; int peso2 = 2; double n1,n2;double numerador, denominador; double media; n1 = 2.1;n2 = 4.2;numerador = peso1*n1 + peso2*n2;denominador = peso1 + peso2;media = numerador / denominador ;printf(”A media de %f e %f com pesos %d e %d e %f \n”,n1, n2, peso1, peso2, media);return 0;
}
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Exemplo de Programa
Calculo da media ponderada entre dois numeros¬ headers
organise aslinhas® comentarios¯ identacao° Todas asdeclaracoesantes doprimeirocomandoexecutavel
/* Calculo da media ponderadaData: 09/04/2017 */
# include <stdio.h>int main( ){int peso1 = 1; int peso2 = 2; double n1,n2;double numerador, denominador; double media; n1 = 2.1;n2 = 4.2;numerador = peso1*n1 + peso2*n2;denominador = peso1 + peso2;media = numerador / denominador ;printf(”A media de %f e %f com pesos %d e %d e %f \n”,n1, n2, peso1, peso2, media);return 0;
}
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Exemplo de Programa
Calculo da media ponderada entre dois numeros
¬ headers organise aslinhas
® comentarios¯ identacao° Todas asdeclaracoesantes doprimeirocomandoexecutavel
/* Calculo da media ponderadaData: 09/04/2017 */
# include <stdio.h>int main( ){int peso1 = 1;int peso2 = 2;double n1,n2;double numerador,denominador;double media;n1 = 2.1;n2 = 4.2;numerador = peso1*n1 + peso2*n2;denominador = peso1 + peso2;media = numerador / denominador ;printf(”A media de %f e %f com pesos %d e %d e %f \n”,n1, n2, peso1, peso2, media);return 0;
}
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Exemplo de Programa
Calculo da media ponderada entre dois numeros
¬ headers organise aslinhas® comentarios
¯ identacao° Todas asdeclaracoesantes doprimeirocomandoexecutavel
/* Calculo da media ponderadaData: 09/04/2017 */
# include <stdio.h>int main( ){int peso1 = 1;int peso2 = 2; // pesosdouble n1,n2; // valores de entradadouble numerador,denominador;double media;n1 = 2.1;n2 = 4.2;
/* Calculo da media ponderada: */numerador = peso1*n1 + peso2*n2;denominador = peso1 + peso2;media = numerador / denominador ;
// Impressao do resultadoprintf(”A media de %f e %f com pesos %d e %d e %f \n”,n1, n2, peso1, peso2, media);return 0;
}
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Exemplo de Programa
Calculo da media ponderada entre dois numeros
¬ headers organise aslinhas® comentarios¯ identacao
° Todas asdeclaracoesantes doprimeirocomandoexecutavel
/* Calculo da media ponderadaData: 09/04/2017 */
# include <stdio.h>int main( ){
int peso1 = 1;int peso2 = 2; // pesosdouble n1,n2; // valores de entradadouble numerador,denominador;double media;n1 = 2.1;n2 = 4.2;
/* Calculo da media ponderada: */numerador = peso1*n1 + peso2*n2;denominador = peso1 + peso2;media = numerador / denominador ;
// Impressao do resultadoprintf(”A media de %f e %f com pesos %d e %d e %f \n”,
n1, n2, peso1, peso2, media);return 0;
}
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Exemplo de Programa
Calculo da media ponderada entre dois numeros
¬ headers organise aslinhas® comentarios¯ identacao° Todas asdeclaracoesantes doprimeirocomandoexecutavel
/* Calculo da media ponderadaData: 09/04/2017 */
# include <stdio.h>int main( ){
int peso1 = 1;int peso2 = 2; // pesosdouble n1,n2; // valores de entradadouble numerador,denominador;double media;n1 = 2.1;n2 = 4.2;
/* Calculo da media ponderada: */numerador = peso1*n1 + peso2*n2;denominador = peso1 + peso2;media = numerador / denominador ;
// Impressao do resultadoprintf(”A media de %f e %f com pesos %d e %d e %f \n”,
n1, n2, peso1, peso2, media);return 0;
}
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Exemplo de Programa
Calculo da media ponderada entre dois numeros
¬ headers organise aslinhas® comentarios¯ identacao° Todas asdeclaracoesantes doprimeirocomandoexecutavel
/* Calculo da media ponderadaData: 09/04/2017 */
# include <stdio.h>int main( ){
int peso1 = 1;int peso2 = 2; // pesosdouble n1,n2; // valores de entradadouble numerador,denominador;double media;n1 = 2.1;n2 = 4.2;
/* Calculo da media ponderada: */numerador = peso1*n1 + peso2*n2;denominador = peso1 + peso2;media = numerador / denominador ;
// Impressao do resultadoprintf(”A media de %f e %f com pesos %d e %d e %f \n”,
n1, n2, peso1, peso2, media);return 0;
}
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Leitura de Dados
å A funcao para leitura
e seus argumentos:1 String com os campos de formatacao, correspondentes
a cada variavel a ser lida, na ordem2 lista de enderecos das variaveis. A lista e separada por
vırgulas
scanf();
å O operador & fornece o endereco da memoria de umadeterminada variavel
å Mais especificacoes de formato para o scanf,%ld: long int, %lf ou %lg: double.Obs.: Nao sao necessarias para o printf
å A string de formatacao deve conter apenas asespecificacoes de formato. Nao usar \n, virgula ouqualquer outro caracter.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Leitura de Dados
å A funcao para leitura e seus argumentos:1 String com os campos de formatacao, correspondentes
a cada variavel a ser lida, na ordem
2 lista de enderecos das variaveis. A lista e separada porvırgulas
scanf("%f %d");
å O operador & fornece o endereco da memoria de umadeterminada variavel
å Mais especificacoes de formato para o scanf,%ld: long int, %lf ou %lg: double.Obs.: Nao sao necessarias para o printf
å A string de formatacao deve conter apenas asespecificacoes de formato. Nao usar \n, virgula ouqualquer outro caracter.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Leitura de Dados
å A funcao para leitura e seus argumentos:1 String com os campos de formatacao, correspondentes
a cada variavel a ser lida, na ordem2 lista de enderecos das variaveis. A lista e separada por
vırgulasscanf("%f %d", &posicao, &contador);
å O operador & fornece o endereco da memoria de umadeterminada variavel
å Mais especificacoes de formato para o scanf,%ld: long int, %lf ou %lg: double.Obs.: Nao sao necessarias para o printf
å A string de formatacao deve conter apenas asespecificacoes de formato. Nao usar \n, virgula ouqualquer outro caracter.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Leitura de Dados
å A funcao para leitura e seus argumentos:1 String com os campos de formatacao, correspondentes
a cada variavel a ser lida, na ordem2 lista de enderecos das variaveis. A lista e separada por
vırgulasscanf("%f %d", &posicao, &contador);
å O operador & fornece o endereco da memoria de umadeterminada variavel
å Mais especificacoes de formato para o scanf,%ld: long int, %lf ou %lg: double.Obs.: Nao sao necessarias para o printf
å A string de formatacao deve conter apenas asespecificacoes de formato. Nao usar \n, virgula ouqualquer outro caracter.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Leitura de Dados
å A funcao para leitura e seus argumentos:1 String com os campos de formatacao, correspondentes
a cada variavel a ser lida, na ordem2 lista de enderecos das variaveis. A lista e separada por
vırgulasscanf("%f %d", &posicao, &contador);
å O operador & fornece o endereco da memoria de umadeterminada variavel
å Mais especificacoes de formato para o scanf,%ld: long int, %lf ou %lg: double.Obs.: Nao sao necessarias para o printf
å A string de formatacao deve conter apenas asespecificacoes de formato. Nao usar \n, virgula ouqualquer outro caracter.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Observacoes Relativas ao Comando scanf
Ü O programa ficara esperando a digitacao de tantosdados quantos forem especificados na lista deformatos.
Ü Espacos em branco, tabs e caracteres de nova linha(tecla enter) sao ignorados na leitura.
Ü E aconselhavel colocar sempre um printf com umamensagem avisando que o programa esta esperandouma certa variavel.
Ü As principais fontes de erro no uso de scanf sao:6 colocar o nome da variavel e nao seu endereco,6 ter listas de formatos incompatıvel com a lista de
enderecos, seja por numero de campos seja portipo de variavel.
Esses erros em geral nao sao detectados nacompilacao!
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Exercıcios
å Baixe da pagina do curso o programa mostrascanf.c.Estude seu conteudo, compile-o e execute-o. Analise seuresultado.
å Escreva um algoritmo para resolver cada um dosproblemas abaixo. Depois escreva um programa C queimplemente o seu algoritmo
1 Escreva um programa que pede o valor de um anguloem graus, pelo teclado, calcula e escreve na tela seuvalor em radianos.
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Funcoes Matematicas - math.h
å Em C ha um header com definicoes de funcoesmatematicas:#include <math.h>
l sin(x)→ x em radianosl cos(x)→ x em radianosl acos(x)→ [0, π]l atan(x)→ [−π/2, π/2]l sqrt(x)→
√x
l exp(x)l log(x)→ log na base el log10(x)→ log na base 10l cbrt(x)→ 3
√x
l fabs(x)→ |x |
Define tambem algumas constantes uteis:π: M_PI,
√2: M_SQRT2, ...
å Para usa-las e necessario linkar o programa com abiblioteca matematica:gcc programa.c -o programa -lm
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Funcoes Matematicas - math.h
å Em C ha um header com definicoes de funcoesmatematicas:#include <math.h>
l sin(x)→ x em radianosl cos(x)→ x em radianosl acos(x)→ [0, π]l atan(x)→ [−π/2, π/2]l sqrt(x)→
√x
l exp(x)l log(x)→ log na base el log10(x)→ log na base 10l cbrt(x)→ 3
√x
l fabs(x)→ |x |
Define tambem algumas constantes uteis:π: M_PI,
√2: M_SQRT2, ...
å Para usa-las e necessario linkar o programa com abiblioteca matematica:gcc programa.c -o programa -lm
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Funcoes Matematicas - math.h
å Em C ha um header com definicoes de funcoesmatematicas:#include <math.h>
l sin(x)→ x em radianosl cos(x)→ x em radianosl acos(x)→ [0, π]l atan(x)→ [−π/2, π/2]l sqrt(x)→
√x
l exp(x)l log(x)→ log na base el log10(x)→ log na base 10l cbrt(x)→ 3
√x
l fabs(x)→ |x |
Define tambem algumas constantes uteis:π: M_PI,
√2: M_SQRT2, ...
å Para usa-las e necessario linkar o programa com abiblioteca matematica:gcc programa.c -o programa -lm
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2
12
2 6 02 3 01 11 1 0 0
Ü Parte fracionariaX,22 0,4
2 0,82 1,6
2 1,22 0,4
X, ( 0 0 1 1 )
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2 12
2
6 0
2 3 01 11 1 0 0
Ü Parte fracionariaX,22 0,4
2 0,82 1,6
2 1,22 0,4
X, ( 0 0 1 1 )
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2 122 6 0
2
3 0
1 11 1 0 0
Ü Parte fracionariaX,22 0,4
2 0,82 1,6
2 1,22 0,4
X, ( 0 0 1 1 )
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2 122 6 0
2 3 01 1
1 1 0 0
Ü Parte fracionariaX,22 0,4
2 0,82 1,6
2 1,22 0,4
X, ( 0 0 1 1 )
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2 122 6 0
2 3 01 11 1 0 0
Ü Parte fracionariaX,22 0,4
2 0,82 1,6
2 1,22 0,4
X, ( 0 0 1 1 )
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2 122 6 0
2 3 01 11 1 0 0
Ü Parte fracionariaX,2
2 0,42 0,8
2 1,62 1,2
2 0,4X, ( 0 0 1 1 )
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2 122 6 0
2 3 01 11 1 0 0
Ü Parte fracionariaX,22 0,4
2 0,82 1,6
2 1,22 0,4
X, ( 0 0 1 1 )
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2 122 6 0
2 3 01 11 1 0 0
Ü Parte fracionariaX,22 0,4
2 0,8
2 1,62 1,2
2 0,4X, ( 0 0 1 1 )
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2 122 6 0
2 3 01 11 1 0 0
Ü Parte fracionariaX,22 0,4
2 0,82 1,6
2 1,22 0,4
X, ( 0 0 1 1 )
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2 122 6 0
2 3 01 11 1 0 0
Ü Parte fracionariaX,22 0,4
2 0,82 1,6
2 1,2
2 0,4X, ( 0 0 1 1 )
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2 122 6 0
2 3 01 11 1 0 0
Ü Parte fracionariaX,22 0,4
2 0,82 1,6
2 1,22 0,4
X, ( 0 0 1 1 )
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2 122 6 0
2 3 01 11 1 0 0
Ü Parte fracionariaX,22 0,4
2 0,82 1,6
2 1,22 0,4
X,
(
0 0 1 1
)
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas 1
Converter 12,210 para a base 2.
Ü Parte inteira
2 122 6 0
2 3 01 11 1 0 0
Ü Parte fracionariaX,22 0,4
2 0,82 1,6
2 1,22 0,4
X, ( 0 0 1 1 )
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira
3
9
3 3 01 01 0 0
Ü Parte fracionaria
X,(3)3 1,0X, 1
9, (3)10 ⇒ 100,139,3310 ⇒ 100,0222203...
12,210 ⇒
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira3 9
3
3 0
1 01 0 0
Ü Parte fracionaria
X,(3)3 1,0X, 1
9, (3)10 ⇒ 100,139,3310 ⇒ 100,0222203...
12,210 ⇒
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira3 9
3 3 01 0
1 0 0
Ü Parte fracionaria
X,(3)3 1,0X, 1
9, (3)10 ⇒ 100,139,3310 ⇒ 100,0222203...
12,210 ⇒
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira3 9
3 3 01 01 0 0
Ü Parte fracionaria
X,(3)3 1,0X, 1
9, (3)10 ⇒ 100,139,3310 ⇒ 100,0222203...
12,210 ⇒
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira3 9
3 3 01 01 0 0
Ü Parte fracionaria
X,(3)
3 1,0X, 1
9, (3)10 ⇒ 100,139,3310 ⇒ 100,0222203...
12,210 ⇒
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira3 9
3 3 01 01 0 0
Ü Parte fracionaria
X,(3)3 1,0
X, 1
9, (3)10 ⇒ 100,139,3310 ⇒ 100,0222203...
12,210 ⇒
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira3 9
3 3 01 01 0 0
Ü Parte fracionaria
X,(3)3 1,0X, 1
9, (3)10 ⇒ 100,139,3310 ⇒ 100,0222203...
12,210 ⇒
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira3 9
3 3 01 01 0 0
Ü Parte fracionaria
X,(3)3 1,0X, 1
9, (3)10 ⇒ 100,13
9,3310 ⇒ 100,0222203...
12,210 ⇒
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira3 9
3 3 01 01 0 0
Ü Parte fracionaria
X,(3)3 1,0X, 1
9, (3)10 ⇒ 100,139,3310 ⇒
100,0222203...
12,210 ⇒
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira3 9
3 3 01 01 0 0
Ü Parte fracionaria
X,(3)3 1,0X, 1
9, (3)10 ⇒ 100,139,3310 ⇒ 100,0222203...
12,210 ⇒
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira3 9
3 3 01 01 0 0
Ü Parte fracionaria
X,(3)3 1,0X, 1
9, (3)10 ⇒ 100,139,3310 ⇒ 100,0222203...
12,210 ⇒ 1100, (0011)2
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira3 9
3 3 01 01 0 0
Ü Parte fracionaria
X,(3)3 1,0X, 1
9, (3)10 ⇒ 100,139,3310 ⇒ 100,0222203...
12,210 ⇒ 1100,00112
Met Comp
Compiladores
C
Exercıcio
C: Literais
C: Variaveis
Exercıcio
C: Memoria
Exemplo
Operacoes
Exercıcio
Leitura
Exercıcio
Funcoes
Bases
Voltando as bases: Dızimas Periodicas - 2
Converter 9, (3)10 para a base 3.
Ü Parte inteira3 9
3 3 01 01 0 0
Ü Parte fracionaria
X,(3)3 1,0X, 1
9, (3)10 ⇒ 100,139,3310 ⇒ 100,0222203...
12,210 ⇒ 1100,00112 ⇒ 12,187510!