Top Banner
et Comp Compiladores C Exerc´ ıcio C: Literais C: Vari´ aveis Exerc´ ıcio C: Mem ´ oria Exemplo Operac ¸˜ oes Exerc´ ıcio Leitura Exerc´ ıcio Func ¸˜ oes Bases etodos Computacionais em F´ ısica Jos ´ e Helder Lopes e Sandra Amato Instituto de F´ ısica Universidade Federal do Rio de Janeiro Primeiro Semestre de 2017
114

Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

Oct 08, 2018

Download

Documents

buimien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 2: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 3: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 4: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 5: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 6: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 7: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 8: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 9: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 10: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 11: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 12: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 13: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 14: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 15: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 16: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 17: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 18: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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’, ...

Page 19: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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’, ...

Page 20: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 21: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 22: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 23: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 24: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 25: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 26: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 27: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 28: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 29: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 30: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 31: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 32: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 33: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 34: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 35: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 36: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 37: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 38: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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;

}

Page 39: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 40: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 41: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 42: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 43: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 44: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 45: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 46: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 47: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 48: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 49: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 50: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 51: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 52: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 53: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 54: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 55: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 56: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 57: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 58: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 59: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 60: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 61: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 62: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 63: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 64: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 65: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 66: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 67: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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!

Page 68: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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!

Page 69: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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!

Page 70: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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!

Page 71: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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!

Page 72: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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;

}

Page 73: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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;

}

Page 74: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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;

}

Page 75: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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;

}

Page 76: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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;

}

Page 77: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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;

}

Page 78: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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;

}

Page 79: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 80: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 81: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 82: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 83: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 84: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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!

Page 85: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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.

Page 86: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 87: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 88: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 89: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 90: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 91: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 92: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 93: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 94: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 95: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 96: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 97: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 98: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 99: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 100: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 101: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 102: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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 ⇒

Page 103: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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 ⇒

Page 104: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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 ⇒

Page 105: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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 ⇒

Page 106: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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 ⇒

Page 107: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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 ⇒

Page 108: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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 ⇒

Page 109: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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 ⇒

Page 110: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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 ⇒

Page 111: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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 ⇒

Page 112: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 113: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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

Page 114: Met Comp´ Compiladores C Metodos Computacionais …helder/MetComp/2017-1/Aula2/Aula2.pdf · Compiladores C Exerc´ıcio C: Literais ... Objective-C, Perl, PHP, Python, a Unix’s

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!